Releases: passagemath/passagemath
passagemath-10.8.4
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.
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,soplexto 8.0.2,gcgto 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
Rich output in Jupyter notebooks with standard Python kernels
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
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.
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".
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.giacby @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,numpyto 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=gnu17by @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=gnu17by @mkoeppe in #2331 - passagemath-maxima: Fix dependencies, README, Maxima pexpect interface,
sage -maximaby @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
# needsby @mkoeppe in #2343
Full Changelog: passagemath-10.8.2...passagemath-10.8.3
passagemath-10.8.3.rc3
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=gnu17by @mkoeppe in #2331 - passagemath-maxima: Fix dependencies, README, Maxima pexpect interface,
sage -maximaby @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
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
- 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=gnu17by @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
Full Changelog: passagemath-10.8.3.rc1...passagemath-10.8.3.rc2
passagemath-10.8.3.rc1
What's Changed
- Defer lib("freegb.lib") from module-level to point of use by @cxzhong, backported by @mkoeppe in #2301
- Update
sage.libs.giacby @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,numpyto 2.4.3 by @mkoeppe in #2303
Full Changelog: passagemath-10.8.3.rc0...passagemath-10.8.3.rc1
passagemath-10.8.3.rc0
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
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.
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.tomlby @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, removepytzdependency 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,cvxoptto 1.3.3 by @mkoeppe in #2174- build/pkgs/{gcg,pygcgo...
passagemath-10.8.2.rc4
Rich output in marimo notebooks
What's Changed
- Fix NameError in Partitions.cardinality() when passagemath-flint is absent by @sacchen in #2253
- Fix doctest regressions by @mkoeppe in #2257
- pkgs/sagemath-combinat: Add
# needsby @mkoeppe in #2258 - build/pkgs/pkgconfig: Update to 1.6.0 by @mkoeppe in #2259
- build/pkgs/charset_normalizer: Update to 3.4.5 by @mkoeppe in #2261
- add marimo backend by @bezmi in #2255
New Contributors
Full Changelog: passagemath-10.8.2.rc3...passagemath-10.8.2.rc4
passagemath-10.8.2.rc3
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_LINKSby @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_tfor hashes by @gmou3, backported by @mkoeppe in #2252
New Contributors
Full Changelog: passagemath-10.8.2.rc2...passagemath-10.8.2.rc3