Skip to content

Releases: passagemath/passagemath

passagemath-10.8.4

19 Apr 19:06

Choose a tag to compare

Rich output in Jupyter notebooks with standard Python kernels

Previously only Jupyter notebooks using the custom SageMath kernel provided rich output. Now plots are also available in Jupyter notebooks using standard Python kernels, such as on Google Colab.

Screenshot 2026-04-16 at 11 47 47 AM

passagemath-highs updates

HiGHS was upgraded to version 1.14.0; release notes.

Package upgrades in passagemath's version of the Sage distribution

SCIP was upgraded to version 10.0.2 (release notes), SoPlex to 8.0.2 (release notes), and GCG to 4.0.2 (changelog).

What's Changed

  • build/pkgs/requests: Update to 2.33.1 by @mkoeppe in #2344
  • build/pkgs/pygments: Update to 2.20.0 by @mkoeppe in #2345
  • build/pkgs/pillow: Update to 12.2.0 by @mkoeppe in #2346
  • docs, tox: document check_unbound_imports and add tox env by @sacchen in #2292
  • build/pkgs/highs: Update to 1.14.0 by @mkoeppe in #2352
  • src/sage/numerical/backends/glpk_backend: document get_row_dual via MixedIntegerLinearProgram by @sacchen in #2353
  • Fix plot display in plain Python Jupyter kernels by @sacchen in #2351
  • Add missing sage.libs.linbox doctest guards in modsym and geometry/cone by @sacchen in #2354
  • affine_homset: fix complex-tolerance comparison in numerical point filtering by @sacchen in #2356
  • build/pkgs/scip: Update to 10.0.2, soplex to 8.0.2, gcg to 4.0.2 by @mkoeppe in #2361
  • build/pkgs/openblas/spkg-configure.m4: Check for flags incompatible with GNU libtool by @mkoeppe in #2364

Full Changelog: passagemath-10.8.3...passagemath-10.8.4

passagemath-10.8.4.rc0

16 Apr 02:22

Choose a tag to compare

Pre-release

Rich output in Jupyter notebooks with standard Python kernels

Screenshot 2026-04-16 at 11 47 47 AM

What's Changed

  • build/pkgs/requests: Update to 2.33.1 by @mkoeppe in #2344
  • build/pkgs/pygments: Update to 2.20.0 by @mkoeppe in #2345
  • build/pkgs/pillow: Update to 12.2.0 by @mkoeppe in #2346
  • docs, tox: document check_unbound_imports and add tox env by @sacchen in #2292
  • build/pkgs/highs: Update to 1.14.0 by @mkoeppe in #2352
  • src/sage/numerical/backends/glpk_backend: document get_row_dual via MixedIntegerLinearProgram by @sacchen in #2353
  • Fix plot display in plain Python Jupyter kernels by @sacchen in #2351
  • Add missing sage.libs.linbox doctest guards in modsym and geometry/cone by @sacchen in #2354
  • affine_homset: fix complex-tolerance comparison in numerical point filtering by @sacchen in #2356

Full Changelog: passagemath-10.8.3...passagemath-10.8.4.rc0

passagemath-10.8.3

30 Mar 05:25

Choose a tag to compare

Package upgrades, bugfixes, portability, more marimo integration.

Initial support for clang 21

As found in recent Xcode versions on macOS.

Initial support for autoconf 2.73

passagemath-maxima updates

Maxima was upgraded from version 5.47.0 to 5.49.0; changelog.

passagemath-modules updates

MPC was upgraded to version 1.4.0; changelog.

OpenBLAS was upgraded to version 0.3.32; changelog.

New package integrating JupyterLab and marimo notebooks

After installing the optional package marimo_jupyter_extension, JupyterLab provides access to marimo features.

Screenshot 2026-04-01 at 5 46 46 PM

Marimo notebooks are stored as .py files; to open them in the Marimo environment, right-click on them in the JupyterLab file browser and use the menu item "Open with Marimo".

Screenshot 2026-04-01 at 5 45 24 PM

New static analysis tool supporting modularization work

The new script tools/check_unbound_imports.py by @sacchen supports modularization work.

Package upgrades

database_knotinfo was upgraded to version 2026.3.1.

CVXPY was upgraded to version 1.8.2; release notes.

NumPy was upgraded to version 2.4.3; changelog.

What's Changed

  • Fix unbound pari NameError in five modules; lazy-import sympy in calculus_method by @sacchen in #2282
  • Fix pickling regression introduced by lazy_import in calculus_method.py by @sacchen in #2287
  • Fix unbound NameError in padic_extension_leaves and multi_polynomial_ideal; remove dead sympy try/except in chart_func; add AST checker by @sacchen in #2283
  • build/pkgs/jupyterlab: Update to 4.5.6, ... by @mkoeppe in #2281
  • build/pkgs/mpc: Update to 1.4.0 by @mkoeppe in #2286
  • polynomial_quotient_ring: add # needs sage.modules to string-conversion doctests by @sacchen in #2293
  • Correct DryGASCON256 S-box table by @hellman, backported by @mkoeppe in #2295
  • Fix power of Integer with modulus 0 by @MajoranaOedipus, backported by @mkoeppe in #2296
  • Fix typo in q-Pochhammer definition for negative n by @dkwo, backported by @mkoeppe in #2297
  • Update database_knotinfo to release 2026.3.1 by @soehms, backported by @mkoeppe in #2298
  • doc-build.yml: Update branch name to 'main' by @mkoeppe in #2294
  • Defer lib("freegb.lib") from module-level to point of use by @cxzhong, backported by @mkoeppe in #2301
  • Update sage.libs.giac by @orlitzky @cxzhong, rebased by @mkoeppe in #2300
  • build/pkgs/cvxpy: Update to 1.8.2 by @mkoeppe in #2302
  • build/pkgs/openblas: Update to 0.3.32, numpy to 2.4.3 by @mkoeppe in #2303
  • Defer lib("freegb.lib") from module-level to point of use by @cxzhong, backported (part 2) by @mkoeppe in #2304
  • build/pkgs/libpng: Update to 1.6.56 by @mkoeppe in #2310
  • Fix race condition in package installation by using tar instead of cp by @cxzhong, backported by @mkoeppe in #2312
  • build/pkgs/{glpk,libgd,libhomfly}/spkg-install.in: Use std=gnu17 by @mkoeppe in #2311
  • Upgrade to Maxima 5.49 by @antonio-rojas @cxzhong, backported by @mkoeppe in #2313
  • build/pkgs/pari/spkg-check.in [macOS]: Attempt to mitigate nondeterministic hangs by @mkoeppe in #2314
  • build/pkgs/perl_app_perlbrew/spkg-install.in: Retry on error by @mkoeppe in #2315
  • build/pkgs/marimo_jupyter_extension: New by @mkoeppe in #2319
  • build/bin/sage-bootstrap-python: Remove test for FancyURLopener by @mkoeppe in #2321
  • build/pkgs/ipython: Update to 9.10.1 by @mkoeppe in #2323
  • src/sage/libs/ecl.pyx: Use std=gnu17 by @mkoeppe in #2329
  • build/pkgs/gmp/spkg-install.in: Use std=gnu17 by @mkoeppe in #2331
  • passagemath-maxima: Fix dependencies, README, Maxima pexpect interface, sage -maxima by @mkoeppe in #2330
  • src/sage/calculus: Add # needs by @mkoeppe in #2332
  • build/pkgs/givaro: Apply linbox-team/givaro#240 for clang 21 support by @mkoeppe in #2334
  • src/sage/features/lcalc.py: Update doctest output for renamed feature by @mkoeppe in #2336
  • ci-linux.yml (optional): Install libuuid as a system package by @mkoeppe in #2340
  • build/pkgs/pari/spkg-check.in [macOS]: Do not run test-all by @mkoeppe in #2341
  • Make sage.interfaces.maxima work without passagemath-repl by @mkoeppe in #2342
  • src/sage/interfaces/maxima.py: Add # needs by @mkoeppe in #2343

Full Changelog: passagemath-10.8.2...passagemath-10.8.3

passagemath-10.8.3.rc3

27 Mar 21:53

Choose a tag to compare

Pre-release

What's Changed

  • build/pkgs/marimo_jupyter_extension: New by @mkoeppe in #2319
  • build/bin/sage-bootstrap-python: Remove test for FancyURLopener by @mkoeppe in #2321
  • build/pkgs/ipython: Update to 9.10.1 by @mkoeppe in #2323
  • src/sage/libs/ecl.pyx: Use std=gnu17 by @mkoeppe in #2329
  • build/pkgs/gmp/spkg-install.in: Use std=gnu17 by @mkoeppe in #2331
  • passagemath-maxima: Fix dependencies, README, Maxima pexpect interface, sage -maxima by @mkoeppe in #2330
  • src/sage/calculus: Add # needs by @mkoeppe in #2332

Full Changelog: passagemath-10.8.3.rc2...passagemath-10.8.3.rc3

passagemath-10.8.3.rc2

26 Mar 18:00

Choose a tag to compare

Pre-release

Initial support for autoconf 2.73

passagemath-maxima updates

Maxima was upgraded from version 5.47.0 to 5.49.0; changelog.

What's Changed

Full Changelog: passagemath-10.8.3.rc1...passagemath-10.8.3.rc2

passagemath-10.8.3.rc1

25 Mar 05:08

Choose a tag to compare

Pre-release

What's Changed

Full Changelog: passagemath-10.8.3.rc0...passagemath-10.8.3.rc1

passagemath-10.8.3.rc0

23 Mar 05:56

Choose a tag to compare

Pre-release

New static analysis tool supporting modularization work

The new script tools/check_unbound_imports.py by @sacchen supports modularization work.

What's Changed

  • Fix unbound pari NameError in five modules; lazy-import sympy in calculus_method by @sacchen in #2282
  • Fix pickling regression introduced by lazy_import in calculus_method.py by @sacchen in #2287
  • Fix unbound NameError in padic_extension_leaves and multi_polynomial_ideal; remove dead sympy try/except in chart_func; add AST checker by @sacchen in #2283
  • build/pkgs/jupyterlab: Update to 4.5.6, ... by @mkoeppe in #2281
  • build/pkgs/mpc: Update to 1.4.0 by @mkoeppe in #2286
  • polynomial_quotient_ring: add # needs sage.modules to string-conversion doctests by @sacchen in #2293
  • Correct DryGASCON256 S-box table by @hellman, backported by @mkoeppe in #2295
  • Fix power of Integer with modulus 0 by @MajoranaOedipus, backported by @mkoeppe in #2296
  • Fix typo in q-Pochhammer definition for negative n by @dkwo, backported by @mkoeppe in #2297
  • Update database_knotinfo to release 2026.3.1 by @soehms, backported by @mkoeppe in #2298
  • doc-build.yml: Update branch name to 'main' by @mkoeppe in #2294

Full Changelog: passagemath-10.8.2...passagemath-10.8.3.rc0

passagemath-10.8.2

10 Mar 19:29

Choose a tag to compare

Modularization milestone, marimo integration, new packages and upgrades, bug fixes.

Rich output in marimo notebooks

When passagemath-repl is imported in a marimo notebook, it now automatically installs a custom display manager, making rich output available. It can be customized by output type. See the updated marimo instructions in the README and various example marimo notebooks.

Screenshot 2026-03-09 at 11 54 05 AM

passagemath-highs updates

HiGHS has been updated to version 1.13.1.

passagemath-latte-4ti2 updates

4ti2 was updated to version 1.6.15.

passagemath-plantri updates

plantri was updated to version 5.8.

passagemath-singular updates

Singular has been updated to version 4.4.1p5.

passagemath-symbolics updates

As another modularization milestone, the dependencies of passagemath-symbolics on passagemath-maxima and passagemath-singular are now optional.

Use pip install "passagemath-symbolics[maxima,singular]" to install them.

Pynac (GiNaC) is now shipped directly by passagemath-symbolics.

New packages and upgrades in the Sage distribution

The passagemath project maintains an updated and rigorously portability-tested version of the Sage distribution, in part as a basis for building the self-contained wheels published on PyPI, and in part as a service to the Sage user community.

New packages

GCG and PyGCGopt are new optimization packages from the SCIP universe.

Package upgrades

PySCIPopt was upgraded to version 6.1.0.

SuiteSparse to 7.12.2, CVXOPT to 1.3.3

SciPy to 1.17.1

JupyterLab to 4.5.5, notebook to 7.5.4

Comparison with SageMath

Here is an overview of selected upgrades of packages in the Sage distribution, compared to SageMath 10.9.beta7, and of packages only available in passagemath's version of the Sage distribution.

Package SageMath 10.9.beta7 passagemath 10.8.2
4ti2 1.6.10 1.6.15
boost_cropped 1.88.0
cmr 1.4
cvxopt 1.3.2 1.3.3
cvxpy 1.4.1 1.8.1
cylp 0.92.2 0.94.0
eigen 3.4.0
frobby 0.9.0 0.9.5
gap 4.14.0 4.15.1 passagemath provides full set of GAP packages
gdbm 1.26
gettext 0.26
giac 1.9.0.15 1.9.0.996
glucose 4.1 4.2.1
gmpy2 2.2.1 2.3.0
googletest 1.16.0
graphviz 14.0.0
gsl 2.7.1 2.8
highs 1.13.1
ipython 8.18.1 9.10.0
jupyterlab 4.1.3 4.5.5
kissat 3.1.0 4.0.2
macaulay2 1.25.11
matplotlib 3.10.5 3.10.8
mpfr 4.2.1 4.2.2
mpsolve 3.2.1
msolve 0.8.0 0.9.3
notebook 7.1.1 7.5.4
numpy 2.3.2 2.4.1
onetbb 2021.12.0 2022.1.0
openblas 0.3.28 0.3.31
openssl 3.2.2 3.2.4
papilo 2.2.1 3.0.0
pari 2.17.1 2.17.2 passagemath provides full set of PARI data packages
pillow 11.3.0 12.1.1
planarity 4.0.0.0 4.0.1.0
polymake 4.14 4.15
py4ti2 0.5.1
pygcgopt 1.0.0b0
pyscipopt 5.0.0 6.1.0
readline 8.1.2 8.2.p13
rw 0.9 0.10
scip 9.0.1 10.0.1
scipy 1.15.2 1.17.1
singular 4.4.1 4.4.1p5
soplex 7.0.1 8.0.1
suitesparse 7.8.0 7.12.2
sympow 2.023.6 2.023.7
sympy 1.13.2 1.14.0
xeus_gp 0.1.0

What's Changed

  • m4/sage_check_python_for_venv.m4: Isolate setuptools from metadata in pyproject.toml by @mkoeppe in #2156
  • build/pkgs/libpng: update to 1.6.55 by @striezel in #2157
  • ci-downstream-mingw.yml: Test passagemath-gsl, passagemath-highs by @mkoeppe in #2159
  • m4/sage_check_python_for_venv.m4: Fix up by @mkoeppe in #2164
  • build/pkgs/pillow: Update to 12.1.1 by @mkoeppe in #2165
  • build/pkgs/babel: Update to 2.18.0, remove pytz dependency by @mkoeppe in #2167
  • build/pkgs/setuptools: Update to 82.0.0 by @mkoeppe in #2162
  • Doctests: Undo renames after doctests by @mkoeppe in #2161
  • build/pkgs/babel/checksums.ini: Fix upstream_url by @mkoeppe in #2171
  • build/pkgs/highs: update to 1.13.1 by @striezel in #2168
  • build/pkgs/sqlite: update to 3.51.2 by @striezel in #2169
  • src/tox.ini (ruff-minimal): Ignore PLC0415; it conflicts with modularization techniques by @mkoeppe in #2172
  • build/pkgs/jupyterlab: Update to 4.5.4 by @mkoeppe in #2173
  • build/pkgs/suitesparse: Upgrade to 7.12.2, cvxopt to 1.3.3 by @mkoeppe in #2174
  • build/pkgs/{gcg,pygcgo...
Read more

passagemath-10.8.2.rc4

08 Mar 07:49

Choose a tag to compare

Pre-release

Rich output in marimo notebooks

What's Changed

New Contributors

Full Changelog: passagemath-10.8.2.rc3...passagemath-10.8.2.rc4

passagemath-10.8.2.rc3

06 Mar 05:03
1f9d889

Choose a tag to compare

Pre-release

passagemath-latte-4ti2 updates

4ti2 was updated to version 1.6.15.

passagemath-plantri updates

plantri was updated to version 5.8.

Package upgrade

PySCIPopt was upgrade to version 6.1.0.

What's Changed

  • src/sage/structure/category_object.pyx: Undo rename of unique representation object in doctest by @mkoeppe in #2234
  • pkgs/sagemath-lcalc: Ship the lcalc binary by @mkoeppe in #2235
  • build: replace pkg_resources with importlib.metadata in configure check by @sacchen in #2237
  • build/pkgs/4ti2: Update to 1.6.15 by @mkoeppe in #2241
  • Use bare absolute paths with PIP_FIND_LINKS by @mkoeppe in #2240
  • build/pkgs/pyscipopt: Update to 6.1.0 by @mkoeppe in #2245
  • pkgs/sagemath-fricas/pyproject.toml.m4: Add passagemath-maxima to test deps by @mkoeppe in #2248
  • build/pkgs/plantri: update to 5.8 by @striezel in #2246
  • build/bin/sage-logger: Use headers in log files, dump from last header on error by @mkoeppe in #2251
  • Use Py_hash_t for hashes by @gmou3, backported by @mkoeppe in #2252

New Contributors

Full Changelog: passagemath-10.8.2.rc2...passagemath-10.8.2.rc3