Sage 10.9.beta7 released

92 views
Skip to first unread message

Volker Braun

unread,
Feb 25, 2026, 6:36:09 PMFeb 25
to sage-release
As always, you can get the latest beta version from the "develop" git branch. Alternatively, the self-contained source tarball is at http://www.sagemath.org/download-latest.html


e37154cba14 (tag: 10.9.beta7, github/develop) Updated SageMath version to 10.9.beta7
f145d866c87 gh-41669: Fix the release trigger workflow name.
b9fb9553413 gh-41666: Deprecate sage.misc.sage_ostools.have_program()
7ea9baeefaa gh-41662: partial cython-lint cleanup in matrix/
0197fbe5abb gh-41661: use the correct name Erdős
f72920da31e gh-41660: cylint cleanup of Weil polynomials
2ba1ed5a7fc gh-41659: √élu: minor typo in docstring, plus Velu→Vélu
a9ac9b03d14 gh-41658: cython-lint cleanup in calculus and coding
c7e04df95e6 gh-41654: Fix PresentationComplex not working for certain groups
076afe00a0d gh-41652: small cleanup in pyx files in combinat
329c90e3978 gh-41651: refactor: collapse `M = <def>; return M` to `return <def>`
14b6130fab8 gh-41649: small cleanup in graphic_matroid
6b20ef9989c gh-41648: pep8 cleanup + typing in indexed_free_monoid
2cc59bd49cf gh-41647: Upload documentation tarballs to GitHub releases
ace54edd993 gh-41645: Remove some modularization docs
2f807091d6e gh-41644: make a doctest in dynamical_semigroup.py clearer
1f993d5d942 gh-41642: Make broken_circuit_complex return immutable SimplicialComplex
08bb0d2aee3 gh-41641: use sets instead of lists in the orbit decomposition
2c9688c2127 gh-41640: remove some deprecated stuff in number_fields
c0841b0a0ee gh-41639: remove one deprecation in logic/
1415e076b11 gh-41638: remove some deprecated stuff in schemes + typing
854ea0e546e gh-41637: Add *.pyi files to the meson.build files for LSP development
c78f432bbe5 gh-41636: Adding number fields for dual schemes
251767f9e69 gh-41633: Fix and enable some ruff PERF rules
3a9d793b86b gh-41632: bump `networkx` to version 3.6.1
b812b70c783 gh-41631: fix docstring in `src/sage/graphs/graph.py`
3fcadcd38ff gh-41630: matroids: use `Py_hash_t` for hashes
16367ebb3bf gh-41629: Delete install_{doc, dict} and lazy_import in combinat/all.py
d0928a9f6f4 gh-41624: Fix doctests related to singular: make them compatible with newer releases of Singular.
8562c126c16 gh-41622: Fix #40355: clarify shortest_vector returns exact SVP solution
fb435c15f11 gh-41620: Bracket ops in GapElement_List with GAP_Enter()/GAP_Leave()
c03c04f4fab gh-41618: Fix link to source installation guide in walkthrough
0fba325d8a9 gh-41616: build/pkgs/libpng: update to 1.6.55
826738456db gh-41608: Clean up two obsolete sagemath-foo references
9dea9ae0ef4 gh-41607: add parameter immutable to graph generators in `world_map.py`
3532450bd69 gh-41606: add parameter immutable to graph generators in `intersection.py`
d8b498add3c gh-41605: add parameter immutable to graph generators in `chessboard.py`
b314c29498f gh-41604: add parameter immutable to graph generators in `smallgraphs.py` (part 12)
b858f5d0f3c gh-41599: add parameter immutable to graph generators in families.py (part 8)
040e568c02a gh-41597: add parameter immutable to graph generators in families.py (part 7)
46ac1ccedd8 gh-41594: add parameter immutable to graph generators in families.py (part 6)
9c0059084ca gh-41593: add parameter immutable to graph generators in families.py (part 5)
cb3ab963240 gh-41573: add parameter immutable to method LCFGraph
c1f4a335586 gh-41572: Fix tests with giac 2.0.0.19
eb3e464f385 gh-41565: workaround for #38481: brute-force the kernel polynomial for bad characteristic-degree pairs
a18bad3ef1a gh-41549: Fix shadowed type annotations of builtins.list
02889124df9 gh-41514: add parameter immutable to graph generators in `smallgraphs.py` (part 9)
a5262245668 gh-41496: Do not inherit from hyperelliptic curves for padic elliptic curve code
3bf3d56be91 gh-41453: Add Unique Hess Jacobian model, and some cleanup to function fields code
5a0e2bb8ec8 gh-41419: introduce the spine of a semidistributive lattice
e878d45c2dd gh-41098: Upgrade pynormaliz to 2.24 and its dependencies
45f5e213d70 gh-40397: macOS: allow to use Accelerate framework instead of OpenBLAS
7faa604a7c6 (tag: 10.9.beta6) Updated SageMath version to 10.9.beta6

Marc Culler

unread,
Feb 28, 2026, 12:58:31 PMFeb 28
to sage-release
I was able to build 10.9beta7 with gcc 10 in a linux docker image, after removing the new gmp patch for gcc15 compaiibility, which also seems to break gcc 10 compatibility.

However, the documentation build fails on the [knots ] package (and on other packages - that is just the first one).  A traceback for that first failure is pasted from the log below,. (I am not allowed to attach files.) 

I think the relevant part is at the end:

[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]

There are similar failures in other plots.  For example:

sage.categories.finite_coxeter_groups.FiniteCoxeterGroups.ParentMethods.permutahedron:50: WARNING: Exception occurred in plotting finite_coxeter_groups-1

I think all of the exceptions I am seeing involve missing GAP functions.  For another example, with a missing method:

[spkg-install] [categorie]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [categorie]     GAP_Enter()
[spkg-install] [categorie] sage.libs.gap.util.GAPError: Error, no method found! Error, no 1st choice method found for `RealPart' on 1 arguments [docutils]

- Marc

========================= One full traceback ==========================================

[spkg-install] [knots    ] /var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/knots/knot.py:docstring of sage.knots.knot.Knot:26: WARNING: Exception occurred in plotting knot-1
[spkg-install] [knots    ]  from /var/tmp/sage-10.9/build/sage-distro/src/doc/en/reference/knots/sage/knots/knot.rst:
[spkg-install] [knots    ] Traceback (most recent call last):
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/matplotlib/sphinxext/plot_directive.py", line 552, in _run_code
[spkg-install] [knots    ]     exec(code, ns)
[spkg-install] [knots    ]     ~~~~^^^^^^^^^^
[spkg-install] [knots    ]   File "<string>", line 1, in <module>
[spkg-install] [knots    ]   File "sage/misc/lazy_import.pyx", line 413, in sage.misc.lazy_import.LazyImport.__call__
[spkg-install] [knots    ]     return self.get_object()(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 3659, in BraidGroup
[spkg-install] [knots    ]     return BraidGroup_class(names)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 2683, in __init__
[spkg-install] [knots    ]     free_group = FreeGroup(names)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 700, in FreeGroup
[spkg-install] [knots    ]     return FreeGroup_class(names, **kwds)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]
[spkg-install] [knots    ] /var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/knots/knot.py:docstring of sage.knots.knot.Knot.connected_sum:23: WARNING: Exception occurred in plotting knot-2
[spkg-install] [knots    ]  from /var/tmp/sage-10.9/build/sage-distro/src/doc/en/reference/knots/sage/knots/knot.rst:
[spkg-install] [knots    ] Traceback (most recent call last):
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/matplotlib/sphinxext/plot_directive.py", line 552, in _run_code
[spkg-install] [knots    ]     exec(code, ns)
[spkg-install] [knots    ]     ~~~~^^^^^^^^^^
[spkg-install] [knots    ]   File "<string>", line 1, in <module>
[spkg-install] [knots    ]   File "sage/misc/lazy_import.pyx", line 413, in sage.misc.lazy_import.LazyImport.__call__
[spkg-install] [knots    ]     return self.get_object()(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 3659, in BraidGroup
[spkg-install] [knots    ]     return BraidGroup_class(names)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/braid.py", line 2683, in __init__
[spkg-install] [knots    ]     free_group = FreeGroup(names)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 700, in FreeGroup
[spkg-install] [knots    ]     return FreeGroup_class(names, **kwds)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 320, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__
[spkg-install] [knots    ]     return cls.classcall(cls, *args, **kwds)
[spkg-install] [knots    ]   File "sage/misc/cachefunc.pyx", line 1045, in sage.misc.cachefunc.CachedFunction.__call__
[spkg-install] [knots    ]     w = self.f(*args, **kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 1195, in __classcall__
[spkg-install] [knots    ]     return super().__classcall__(cls, *args, **options)
[spkg-install] [knots    ]            ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/structure/unique_representation.py", line 598, in __classcall__
[spkg-install] [knots    ]     instance = typecall(cls, *args, **options)
[spkg-install] [knots    ]   File "sage/misc/classcall_metaclass.pyx", line 471, in sage.misc.classcall_metaclass.typecall
[spkg-install] [knots    ]     return (<PyTypeObject*>type).tp_call(cls, args, kwds)
[spkg-install] [knots    ]   File "/var/tmp/sage-10.9/local/lib/python3.14/site-packages/sage/groups/free_group.py", line 741, in __init__
[spkg-install] [knots    ]     gap_group = libgap.FreeGroup(generator_names)
[spkg-install] [knots    ]   File "sage/libs/gap/element.pyx", line 2698, in sage.libs.gap.element.GapElement_Function.__call__
[spkg-install] [knots    ]     GAP_Enter()
[spkg-install] [knots    ] sage.libs.gap.util.GAPError: Error, FreeGroup: function is not yet defined [docutils]

Dima Pasechnik

unread,
Feb 28, 2026, 2:57:11 PMFeb 28
to sage-r...@googlegroups.com
Why does one need to use an obsolete compiler? Gcc project only supports gcc 13+ nowadays.
We don't test with gcc 10.

Dima

Clemens Heuberger

unread,
Mar 5, 2026, 8:35:37 AMMar 5
to sage-r...@googlegroups.com
I get

src/bin/sage -t --long --warn-long 30.0
--random-seed=236529709376026400358404541455803228240 src/sage/calculus/calculus.py
**********************************************************************
File "src/sage/calculus/calculus.py", line 1877, in sage.calculus.calculus.laplace
Failed example:
laplace(t^n, t, s, algorithm='giac')
Expected:
s^(-n - 1)*gamma(n + 1)
Got:
laplace(t^n, t, s)

on two different linux mint machines.

install.log is available at
https://seafile.aau.at/f/d5229f00fea640aebcaa/?dl=1 .

Am 26.02.26 um 00:36 schrieb Volker Braun:
> --
> You received this message because you are subscribed to the Google Groups "sage-
> release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> to sage-release...@googlegroups.com <mailto:sage-
> release+u...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/sage-
> release/7a15e271-43c5-4228-b298-9a8439689031n%40googlegroups.com <https://
> groups.google.com/d/msgid/sage-release/7a15e271-43c5-4228-
> b298-9a8439689031n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Antonio Rojas

unread,
Mar 5, 2026, 10:00:34 AMMar 5
to sage-release
Older giac versions can't solve this. Should be fixed if you upgrade giac.

Clemens Heuberger

unread,
Mar 5, 2026, 10:48:43 AMMar 5
to sage-r...@googlegroups.com
Perhaps a stupid question, but how do I upgrade giac these days? I did a fresh
install of SageMath 10.9.beta7 via make configure; ./configure; make .



Am 05.03.26 um 16:00 schrieb Antonio Rojas:
> Older giac versions can't solve this. Should be fixed if you upgrade giac.
>
> El jueves, 5 de marzo de 2026 a las 14:35:37 UTC+1, Clemens Heuberger escribió:
>
> I get
>
> src/bin/sage -t --long --warn-long 30.0
> --random-seed=236529709376026400358404541455803228240 src/sage/calculus/
> calculus.py
> **********************************************************************
> File "src/sage/calculus/calculus.py", line 1877, in
> sage.calculus.calculus.laplace
> Failed example:
> laplace(t^n, t, s, algorithm='giac')
> Expected:
> s^(-n - 1)*gamma(n + 1)
> Got:
> laplace(t^n, t, s)
>
> on two different linux mint machines.
>
> install.log is available at
> https://seafile.aau.at/f/d5229f00fea640aebcaa/?dl=1 <https://seafile.aau.at/
> f/d5229f00fea640aebcaa/?dl=1> .
>
> Am 26.02.26 um 00:36 schrieb Volker Braun:
> > As always, you can get the latest beta version from the "develop" git
> branch.
> > Alternatively, the self-contained source tarball is at http://
> www.sagemath.org/ <http://www.sagemath.org/>
> <https://groups.google.com/d/msgid/sage->
> > release/7a15e271-43c5-4228-b298-9a8439689031n%40googlegroups.com
> <http://40googlegroups.com> <https://
> > groups.google.com/d/msgid/sage-release/7a15e271-43c5-4228- <http://
> groups.google.com/d/msgid/sage-release/7a15e271-43c5-4228->
> > b298-9a8439689031n%40googlegroups.com?utm_medium=email&utm_source=footer
> <http://40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google Groups "sage-
> release" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> to sage-release...@googlegroups.com <mailto:sage-
> release+u...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/sage-release/
> d76ece95-da30-4fb3-8316-1a7e56199dd7n%40googlegroups.com <https://
> groups.google.com/d/msgid/sage-release/d76ece95-
> da30-4fb3-8316-1a7e56199dd7n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Dima Pasechnik

unread,
Mar 5, 2026, 10:58:54 AMMar 5
to sage-r...@googlegroups.com
On Thu, Mar 5, 2026 at 9:48 AM 'Clemens Heuberger' via sage-release <sage-r...@googlegroups.com> wrote:
Perhaps a stupid question, but how do I upgrade giac these days? I did a fresh
install of SageMath 10.9.beta7 via make configure; ./configure; make . 

I guess Antonio means your system-wide giac package, which Sage would by default try to use.
 
You received this message because you are subscribed to the Google Groups "sage-release" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-release...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-release/195d209e-619e-48e0-ad29-639298809f46%40aau.at.

Clemens Heuberger

unread,
Mar 6, 2026, 4:54:47 AMMar 6
to sage-r...@googlegroups.com
I see, thank you. I uninstalled my system wide (provided by linux mint) giac
packages; this solved the problem.


Am 05.03.26 um 16:58 schrieb Dima Pasechnik:
> seafile.aau.at/f/d5229f00fea640aebcaa/?dl=1> <https://seafile.aau.at/
> <https://seafile.aau.at/>
> >     f/d5229f00fea640aebcaa/?dl=1> .
Reply all
Reply to author
Forward
0 new messages