From c51d3d86668d1a1be8e8137c16ec568949643dd0 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 19:47:21 -0600 Subject: [PATCH 01/11] prep for release --- CHANGELOG.md | 10 ++++++++++ poetry.lock | 8 ++++---- pretext/__init__.py | 2 +- pyproject.toml | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0531821e..42f4d00b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,16 @@ Instructions: Add a subsection under `[Unreleased]` for additions, fixes, change ## [Unreleased] +### Changed + +- PreTeXt now uses MathJax 4 for rendering math in HTML output. + +### Fixed + +- Handouts and worksheets avoid a blank page at the end of a document in Chrome on Windows. +- Permalinks are no longer selected when copying blocks of text. +- "list-of" improvements (avoiding conflicts with prefigure names). + ## [2.38.3] - 2026-04-21 Includes updates to core through commit: [f22ebc5](https://github.com/PreTeXtBook/pretext/commit/f22ebc5d4ac96835c69e141ce89bd313c33210a2) diff --git a/poetry.lock b/poetry.lock index d90a6946..ca87efac 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2025,15 +2025,15 @@ reference = "pypi-public" [[package]] name = "prefig" -version = "0.5.14" +version = "0.6.1" description = "An authoring system for mathematical diagrams" optional = true python-versions = ">=3.10,<4.0" groups = ["main"] markers = "extra == \"prefigure\" or extra == \"all\"" files = [ - {file = "prefig-0.5.14-py3-none-any.whl", hash = "sha256:4825f341480a5b18db9775d0fa997be5d589e69c3a7eb4a3bf0c316de136f3ec"}, - {file = "prefig-0.5.14.tar.gz", hash = "sha256:40324fc2370fcade40d12b1361037e7da3cf79666905f6142ae33757a635105f"}, + {file = "prefig-0.6.1-py3-none-any.whl", hash = "sha256:50e41f692cd45772be4cc64bb14abad0ff58c0bc835fed2d4a91d5deee304cc8"}, + {file = "prefig-0.6.1.tar.gz", hash = "sha256:d41f548a5922464855999d8b6eacc895792c5ab9f80ee397c058cab1a229166a"}, ] [package.dependencies] @@ -3536,4 +3536,4 @@ prefigure = ["prefig"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "a23f1f822065def366bcfd6c105f2de9588108357e98344570e50c3bcc24c0dc" +content-hash = "878c006e0fac1d387ae2cd06e3ab9c97e62466c672ef19a1cd09872fe67946b6" diff --git a/pretext/__init__.py b/pretext/__init__.py index 938db3a9..b7fa05a9 100644 --- a/pretext/__init__.py +++ b/pretext/__init__.py @@ -19,7 +19,7 @@ VERSION = get_version("pretext", Path(__file__).parent.parent) -CORE_COMMIT = "f22ebc5d4ac96835c69e141ce89bd313c33210a2" +CORE_COMMIT = "b16942370f7710784c73c28349c62d4f368b3825" def activate() -> None: diff --git a/pyproject.toml b/pyproject.toml index 43d5a6c4..d0501148 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ plastex = "^3" jinja2 = "^3" coloraide = "^4" pelican = { extras = ["markdown"], version = "^4.10", optional = true } -prefig = { extras = ["text"], version = "^0.5.14", optional = true } +prefig = { extras = ["text"], version = "^0.6.1", optional = true } citeproc-py = "^0" From 4b4fe492fabe160a56d356d5dfaf7abd9dd50ffb Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 20:04:58 -0600 Subject: [PATCH 02/11] update testing workflow to use new pythons --- .github/workflows/tests.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8de0d69c..02e6b8d3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -106,17 +106,19 @@ jobs: broad-tests: needs: format-and-types strategy: - fail-fast: true + fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] os: [ubuntu-latest, windows-latest] exclude: - os: windows-latest python-version: "3.10" - os: windows-latest python-version: "3.11" - - os: ubuntu-latest + - os: windows-latest python-version: "3.12" + - os: windows-latest + python-version: "3.13" runs-on: ${{ matrix.os }} From f9deb347505cbef546e4e3b69246d67c8942d3b0 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 20:41:29 -0600 Subject: [PATCH 03/11] tweak tests --- .github/workflows/tests.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 02e6b8d3..0d3bb163 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -108,7 +108,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13"] os: [ubuntu-latest, windows-latest] exclude: - os: windows-latest @@ -117,8 +117,6 @@ jobs: python-version: "3.11" - os: windows-latest python-version: "3.12" - - os: windows-latest - python-version: "3.13" runs-on: ${{ matrix.os }} From ed456cd3cf3d376bf039bdf6ee7bacb0a709e99c Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 20:45:06 -0600 Subject: [PATCH 04/11] install additional resources in linux test suite --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0d3bb163..66b98394 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -152,7 +152,7 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get -y install python3-louis librsvg2-bin libcairo2-dev + sudo apt-get -y install gcc pkg-config python3-dev build-essential python3-louis librsvg2-bin libcairo2-dev - name: Install dependencies shell: bash From 12e814da53c1c3593c9bef6939d72de1b971c3de Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 20:58:08 -0600 Subject: [PATCH 05/11] use node 22 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 66b98394..6548e56b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -137,7 +137,7 @@ jobs: - name: set up node uses: actions/setup-node@v6 with: - node-version: '24' + node-version: '22' - name: Install poetry run: | From ae951a71c07ea1e03f4bb5d95ad672c5e5161a44 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sat, 9 May 2026 21:09:14 -0600 Subject: [PATCH 06/11] install additional resources in linux test suite --- .github/workflows/tests.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6548e56b..069837dc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -137,7 +137,7 @@ jobs: - name: set up node uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '24' - name: Install poetry run: | @@ -151,8 +151,16 @@ jobs: - name: Install build dependencies if on Linux if: runner.os == 'Linux' run: | - sudo apt-get update - sudo apt-get -y install gcc pkg-config python3-dev build-essential python3-louis librsvg2-bin libcairo2-dev + apt-get update + apt-get -y install \ + gcc pkg-config python3-dev build-essential \ + python3-louis librsvg2-bin libcairo2-dev \ + libcairo2 pango1.0-tools libpango-1.0-0 libpangocairo-1.0-0 + + - name: Ensure prefigure is installed + run: | + poetry run pip install prefigure + poetry run prefig --version - name: Install dependencies shell: bash From 1674b33e1a0d9e96c1280e42b42794e8224709ee Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sun, 10 May 2026 06:48:27 -0600 Subject: [PATCH 07/11] node 20 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 069837dc..3a9557d4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -137,7 +137,7 @@ jobs: - name: set up node uses: actions/setup-node@v6 with: - node-version: '24' + node-version: '20' - name: Install poetry run: | From 701b6bfb90105ef81944ab68b20f30a7c90fd1bb Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sun, 10 May 2026 06:56:08 -0600 Subject: [PATCH 08/11] another try --- .github/workflows/tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3a9557d4..012eb322 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -151,16 +151,16 @@ jobs: - name: Install build dependencies if on Linux if: runner.os == 'Linux' run: | - apt-get update - apt-get -y install \ + sudo apt-get update + sudo apt-get -y install \ gcc pkg-config python3-dev build-essential \ python3-louis librsvg2-bin libcairo2-dev \ libcairo2 pango1.0-tools libpango-1.0-0 libpangocairo-1.0-0 - name: Ensure prefigure is installed run: | - poetry run pip install prefigure - poetry run prefig --version + poetry run pip install prefig[pycairo] + poetry run prefig --help - name: Install dependencies shell: bash From c5aac76689b59fb4e12657ae25ad81ad406047a5 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sun, 10 May 2026 07:10:11 -0600 Subject: [PATCH 09/11] init prefig --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 012eb322..814ce86e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -137,7 +137,7 @@ jobs: - name: set up node uses: actions/setup-node@v6 with: - node-version: '20' + node-version: '24' - name: Install poetry run: | @@ -160,6 +160,7 @@ jobs: - name: Ensure prefigure is installed run: | poetry run pip install prefig[pycairo] + poetry run prefig init poetry run prefig --help - name: Install dependencies From 4ffd52590db8b8b0b6feedad080b4eea722c5471 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sun, 10 May 2026 07:23:19 -0600 Subject: [PATCH 10/11] downgrade prefig --- .github/workflows/tests.yml | 10 +--------- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 814ce86e..bc5a31e7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -153,15 +153,7 @@ jobs: run: | sudo apt-get update sudo apt-get -y install \ - gcc pkg-config python3-dev build-essential \ - python3-louis librsvg2-bin libcairo2-dev \ - libcairo2 pango1.0-tools libpango-1.0-0 libpangocairo-1.0-0 - - - name: Ensure prefigure is installed - run: | - poetry run pip install prefig[pycairo] - poetry run prefig init - poetry run prefig --help + gcc pkg-config python3-dev build-essential python3-louis librsvg2-bin libcairo2-dev - name: Install dependencies shell: bash diff --git a/poetry.lock b/poetry.lock index ca87efac..979be77d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2025,15 +2025,15 @@ reference = "pypi-public" [[package]] name = "prefig" -version = "0.6.1" +version = "0.5.15" description = "An authoring system for mathematical diagrams" optional = true python-versions = ">=3.10,<4.0" groups = ["main"] markers = "extra == \"prefigure\" or extra == \"all\"" files = [ - {file = "prefig-0.6.1-py3-none-any.whl", hash = "sha256:50e41f692cd45772be4cc64bb14abad0ff58c0bc835fed2d4a91d5deee304cc8"}, - {file = "prefig-0.6.1.tar.gz", hash = "sha256:d41f548a5922464855999d8b6eacc895792c5ab9f80ee397c058cab1a229166a"}, + {file = "prefig-0.5.15-py3-none-any.whl", hash = "sha256:3857f133a2e41c5b8918eb5c34c114f7339891ec8fad5654fd6ef4aa35028a12"}, + {file = "prefig-0.5.15.tar.gz", hash = "sha256:e54722774acae1814f749a6872685377d48b9df85cda7ad492d39cd4535a66bb"}, ] [package.dependencies] @@ -3536,4 +3536,4 @@ prefigure = ["prefig"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "878c006e0fac1d387ae2cd06e3ab9c97e62466c672ef19a1cd09872fe67946b6" +content-hash = "a23f1f822065def366bcfd6c105f2de9588108357e98344570e50c3bcc24c0dc" diff --git a/pyproject.toml b/pyproject.toml index d0501148..43d5a6c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ plastex = "^3" jinja2 = "^3" coloraide = "^4" pelican = { extras = ["markdown"], version = "^4.10", optional = true } -prefig = { extras = ["text"], version = "^0.6.1", optional = true } +prefig = { extras = ["text"], version = "^0.5.14", optional = true } citeproc-py = "^0" From c55990f506db214721b6db143ccb0367b71fab52 Mon Sep 17 00:00:00 2001 From: Oscar Levin Date: Sun, 10 May 2026 07:41:25 -0600 Subject: [PATCH 11/11] update schema test dep --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bc5a31e7..7d5f846d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -190,7 +190,7 @@ jobs: with: name: ${{ inputs.source-artifact }} path: . - - uses: awalsh128/cache-apt-pkgs-action@v1.4.3 + - uses: awalsh128/cache-apt-pkgs-action@latest with: packages: jing trang version: 1.0