10.2
SageMath version 10.2 (released Dec 3, 2023)
Release Notes
- major package upgrades, Cython 3
- removes support for Python 3.8 and GCC older than 8.4
What's Changed
- upgrade msolve to 0.5.0, update interface by @mezzarobba in #36103
- using mute variables in combinat by @fchapoton in #36107
- some details in quadratic forms by @fchapoton in #36108
- using
# needs
in posets folder by @fchapoton in #36114 - fix cardinality, #36119, #36118, #36116 by @mantepse in #36124
- python-style loops in
partn_ref.data_structures
(partial) + some pep8 by @fchapoton in #36140 - Drop support for GCC < 8.4, drop testing of
debian-buster
andfedora-29
by @mkoeppe in #35810 sage.categories
: Update# needs
by @mkoeppe in #35945- Initial implementation of dynamical semigroups by @MatheMagicianPi in #35947
- Implemented five new operations for dynamical semigroups by @MatheMagicianPi in #35988
- Working MCDS implementation using connectivity constraints by @MrBanananator in #35990
- Implement Goss polynomials of Drinfeld modules by @DavidAyotte in #35991
- New functions
is_chebyshev
andis_Lattes
for one dimensional projective dynamical systems by @guojing0 in #36000 - Fix tests with singular 4.3.2p4 by @antonio-rojas in #36018
- Implement algebra_containment from Singular (issue #34502) by @jhpalmieri in #36030
- Implemented two new methods for dynamical semigroups by @MatheMagicianPi in #36041
- Fix sqrt(sqrt(2)) memory leak in ginac numeric.cpp by @vbraun in #36046
- New GitHub workflow to continue our images on Docker Hub by @soehms in #36047
- normaliz: Update to 3.10.1 by @mkoeppe in #36050
- cython-lint : add note about unused imports by @fchapoton in #36053
sage.arith
: Update# needs
by @mkoeppe in #36057- Speed up the creation of submatrices of
Matrix_modn_dense_template
matrices by @marizee in #36059 sage.{cpython,data_structures,databases,ext,parallel,structure}
: Update# needs
by @mkoeppe in #36067sage.{matrix,modules,probability,stats,quadratic_forms,tensor}
: Update# needs
, modularization fixes by @mkoeppe in #36070- Correct typo in class name of
Polynomial_ZZ_pEX
in.pxd
file by @GiacomoPope in #36071 sage.{interacts,misc,repl,typeset}
: Update# needs
, modularization fixes by @mkoeppe in #36078- fix and activate pycodestyle E301 in pyx files by @fchapoton in #36079
- build/pkgs/jupyter_core: Update to 4.12.0 by @mkoeppe in #36083
- some details in coxeter groups by @fchapoton in #36085
- using python-style for-loops in modular folder by @fchapoton in #36086
- using python-style for loops in calculus by @fchapoton in #36087
sage.geometry.polyhedron
: fix doctest error due to modularization by @dcoudert in #36089- Speed-up the creation of a zero matrix of type
Matrix_modn_dense_template
by @marizee in #36093 - Height function for projective subvarieties by @MatheMagicianPi in #36094
- add ordered set partitions as supported findstat collection by @mantepse in #36096
- Add additional bindings from NTL to
Polynomial_ZZ_pEX
by @GiacomoPope in #36097 - Detect and use system MathJax-3.x by @orlitzky in #36098
sage.crypto
: Update# needs
, modularization fixes by @mkoeppe in #36106- build/pkgs/cython: Update to 0.29.36 by @mkoeppe in #35084
- libatomic_ops: Update to 7.8.0 by @ivmai in #35399
- Drop support for Python 3.8 by @tobiasdiez in #35404
sage.functions
: Decouple fromsage.symbolic.expression
andmpmath
, update# needs
by @mkoeppe in #35716- gc: update to 8.2.4 by @ivmai in #35743
- Implement cocharacter and primitive Eulerian polynomials for hyperplane arrangements by @tscrim in #35914
- Delete .zenodo.json by @dimpase in #36132
- add some links to python error classes in the doc by @fchapoton in #36088
- run GitHub actions locally using gh act by @dimpase in #36117
- Bandaid for polynomial evaluation by @fchapoton in #36127
sage.combinat.root_system
: Modularization fixes,# needs
by @mkoeppe in #36136- fix Conrey number of trivial Dirichlet character by @fchapoton in #36139
- python-style loops in
sage.graphs
by @dcoudert in #36142 - Fix two "Computational Math.." book doctests by @orlitzky in #36143
- build/pkgs/mathjax/distros/gentoo.txt: Fix by @mkoeppe in #36145
- Fixing many e305 by @fchapoton in #36147
- fix the 2 broken linters by @fchapoton in #36148
- Fix doctest in
src/sage/algebras/quantum_groups/quantum_group_gap.py
by @dcoudert in #36149 - random elt for colored permutations by @fchapoton in #36155
- detect the zero series when returning an exact stream by @mantepse in #36156
- some pep for E30 and more in quadratic forms by @fchapoton in #36157
- Fix documentation previews using mathjax cdns by @kwankyu in #36160
- build/pkgs/singular: Upgrade to 4.3.2p7, reject system Singular without FLINT by @mkoeppe in #35934
- Implementing a generic one method for unital algebras by @tscrim in #36095
sage.rings.finite_rings.element_*
: Remove unused imports by @mkoeppe in #36105- Prepare for updating Cython to 3.0.0 by @infmagic2047 in #36109
- small improvements for functorial composition by @mantepse in #36115
- improve performance of stream cauchy invert by @mantepse in #35338
- Update Zariski-van Kampen functions by @enriqueartal in #35376
- using PyLong API instead of legacy PyInt API by @fchapoton in #36111
- Upgrades: scipy 1.11 and dependencies by @mkoeppe in #36112
- Coxeter arrangement by @fchapoton in #36151
sage.rings
: Update# needs
by @mkoeppe in #36152- minor details in graph_plot by @fchapoton in #36162
- Fix the ascii art for the Heisenberg Lie algebras by @tscrim in #36170
- Fix quadratic memory of berlekamp_massey by @grhkm21 in #36173
- fix and activate pycodestyle E305 in py files by @fchapoton in #36177
- Improve methods in
sage.misc.rest_index_of_methods
to fix the documentation of graphs. by @dcoudert in #36179 - more fixes in quadratic forms by @fchapoton in #36180
- fix E228 and E225 in algebras/ by @fchapoton in #36182
sage.misc.sageinspect
: fix doctest warnings due to modularisation by @dcoudert in #36183- src/sage/tests: fix another "Computational Math..." doctest by @orlitzky in #36185
- use semi-primitive root when checking kernel polynomials of isogenies by @yyyyx4 in #36187
- fix E228 and E225 in schemes/ by @fchapoton in #36191
- fix E228 then E225 in rings/ by @fchapoton in #36192
- schemes/elliptic_curves: disable a test that takes too long by @tornaria in #36195
- Fixing the iterator of SemistandardMultiSkewTableaux by @tscrim in #36200
- some micro-details in Dyck words and Parking functions by @fchapoton in #36202
- Remove self-
cimport
s by @mkoeppe in #36207 - configure.ac: disable tzlocal with --disable-r by @orlitzky in #36208
- GH Actions: Run incremental portability tests on "c: packages: standard" PRs by @mkoeppe in #35380
- Deprecate rename_vertices parameter in disjoint_union by @OP5642 in #35907
- More improvements for braid groups involving permutations, and a 2-generator presentation by @enriqueartal in #35985
- Fix tests with gmp 6.3 by @antonio-rojas in #36006
- Improve method is_planar by @dcoudert in #36021
sage.schemes
: Update# needs
by @mkoeppe in #36102- Use system python packages with --enable-system-site-packages by @orlitzky in #36141
- Support for exponential and gamma distribution by @teschlg in #35939
- Drop obsolete html5lib package by @orlitzky in #36186
- Remove some obsolete "six" dependencies by @orlitzky in #36206
- configure.ac: disable mathjax with --disable-doc by @orlitzky in #36210
- singular: added missing #endif by @sheerluck in #36212
- Fix sync labels issues for step 2 going live by @soehms in #36213
- src/bin/sage-env: set PYDEVD_DISABLE_FILE_VALIDATION=1 by @orlitzky in #36218
- configure.ac: disable webencodings,tinycss2 with --disable-notebook by @orlitzky in #36219
- get rid of xrange again by @fchapoton in #36221
- Add cycle_type() and fix to_cycle() to SignedPermutation. by @tscrim in #36224
- improve the use of graphs in
sage/combinat/posets/*
by @dcoudert in #36225 - fix typo in documentation by @xcaruso in #36231
- Make
min_spanning_tree
robust to incomparable vertex labels by @dcoudert in #36232 - support for ecl 23.9.9 by @tornaria in #36235
sage -t
: Distinguish .pxd from .pyx in doctest basenames by @mkoeppe in #36238- Fix Python package metadata generated by
bootstrap
by @mkoeppe in #36240 - ⬆️ Bump myrotvorets/set-commit-status-action from 1.1.7 to 2.0.0 by @dependabot in #36241
- ⬆️ Bump actions/checkout from 3 to 4 by @dependabot in #36243
- fix E228 and E225 in categories/ by @fchapoton in #36247
- some care for unused variables in matrix/ by @fchapoton in #36248
- E228 and E225 in groups,interfaces,modules,plot by @fchapoton in #36249
- various details in sets/disjoint_set by @fchapoton in #36250
- numpy-1.25 compatibility by @orlitzky in #36255
- Support more system-site packages by @orlitzky in #36256
MPowerSeries
: Don't go through symbolics to compute exp(0), log(1) by @mkoeppe in #36260- Fix setuptools version bounds in generated
pyproject.toml
files by @mkoeppe in #36263 - New comparison mode to lazy series and better undefined check by @tscrim in #35485
- add .basis_matrix() wrapper to quaternion orders by @yyyyx4 in #35767
- Implementing moment angle complexes by @OP5642 in #35875
- Matroids: Don't forget to check rank in
equals
,is_isomorphism
by @mkoeppe in #35964 - src/sage/combinat/affine_permutation.py: Fix docstring markup by @mkoeppe in #35970
- Fix reduction of cusps for Gamma(N) by @JohnCremona in #36165
sage.groups
: Modularization fixes,# needs
, doctest cosmetics by @mkoeppe in #36168- build/pkgs/tox: Update, require tox >= 4.2.7, update dependencies by @mkoeppe in #36176
- build/pkgs/ipython/dependencies: drop jinja2 by @orlitzky in #36209
- Implement Milnor fiber and Coxeter complexes by @tscrim in #35038
- Implement infinite sums and products for lazy series by @tscrim in #35362
- Added hash function to elements of the fundamental group of an extended affine Weyl group by @65537 in #36122
sage --fixdoctests --update-known-test-failures
; silence modularized distributions in CI by @mkoeppe in #36264sage.graphs
: some care with return ... else statements in some .pyx files by @dcoudert in #36278- Support for matplotlib-3.8.0 by @tornaria in #36279
- fix E228 and E225 in combinat//.py by @fchapoton in #36280
- remove unused vars in matrix/ by @fchapoton in #36281
- CI: Remove ubuntu-kinetic (defunct) by @mkoeppe in #36282
- remove duplicate args in @options() in region_plot by @dimpase in #36296
- using more libgap instead of gap by @fchapoton in #36297
- Remove deprecated files from src/sage/homology (see #31925) by @jhpalmieri in #36300
- Remove
sage.finance
, deprecated in #32427 (2021) by @mkoeppe in #36303 sage.media
,sage.structure.graphics_file
: Remove; deprecated in #12673, #32988 by @mkoeppe in #36305sage.docs
: Remove; deprecated in #33763 by @mkoeppe in #36306sage.rings
: Remove code deprecated in #23204, #24483, #24371, #24511, #25848, #26105, #28481, #29010, #29412, #30332, #30372, #31345, #32375, #32606, #32610, #32612, #32641, #32660, #32750, #32869, #33602 by @mkoeppe in #36307- using itertools.product more often by @fchapoton in #36308
- Compute the characteristic varieties of a finitely presented group by @enriqueartal in #36128
- remove some old deprecation warnings in elliptic curves by @yyyyx4 in #36188
- build/pkgs: drop obsolete simplegeneric package by @orlitzky in #36205
- Python package upgrades, preparation for the Notebook 7 upgrade by @mkoeppe in #36220
- build/pkgs/networkx/dependencies: drop decorator by @orlitzky in #36230
- Disable more packages with various --disable-foo combinations by @orlitzky in #36239
- no generator for S1 by @fchapoton in #36252
- Fixes #35804 by computing the DDT of non-square sboxes properly. by @PTK12 in #36020
- more fixes for E228 and E225 in combinat and some other folders by @fchapoton in #36326
- src/sage/repl/load.py: replace tmp_dir() by @orlitzky in #36330
- using more itertools.product by @fchapoton in #36335
- add some class roles for linking Errors in doc by @fchapoton in #36336
- CI: Merge open blocker PRs in all CI workflows + other improvements by @mkoeppe in #36338
- fix expect interface for newer ptyprocess by @dimpase in #36339
ecm
: Work around build failure with Xcode 15 by @mkoeppe in #36345- Update Cython to 3.0.2 by @infmagic2047 in #36110
- Additions to the bigraded Betti number methods by @OP5642 in #36166
- Use patchelf from the system by @orlitzky in #36234
- Change
ipympl
/pkgconfig
/widgetsnbextension
to wheel packages, drop build deps by @mkoeppe in #36267 - full pep8 for modular/hecke by @fchapoton in #36270
sage.graphs.generic_graph
: some care with return ... else statements by @dcoudert in #36275- Yet more spkg_configure for standard python packages by @dimpase in #36276
- improve checks by @mantepse in #36284
- Generic implementation of fitting ideal by @miguelmarco in #36299
- build/pkgs/lrcalc_python: add standard python spkg-configure.m4 by @orlitzky in #36316
- build/pkgs/setuptools_scm_git_archive: Remove (obsolete) by @mkoeppe in #36319
- src/sage/combinat/words/words.py: replace tmp_dir() by @orlitzky in #36323
- fix the linter once more by @fchapoton in #36327
- Fix Sphinx markup in some file by @xuluze in #35537
- CI build.yml, doc-build.yml: Use output groups by @mkoeppe in #35866
- Upgrade numpy to 1.26.0, setuptools to 68.2.2 by @mkoeppe in #36123
sage.rings.padics
: Import fixes (modularization) by @mkoeppe in #36261sage.sets
: Update# needs
by @mkoeppe in #36272sage.graphs
,sage.combinat.{designs,posets}
,sage.sandpiles
: Update # needs by @mkoeppe in #36273sage.graphs
: some care with return ... else statements ingraph.py
,digraph.py
andbipartite_graph.py
by @dcoudert in #36277- add Rémy Oudompheng's implementation of the BMSS algorithm by @yyyyx4 in #36285
- Mod 2 (co)homology as a module over the Steenrod algebra by @jhpalmieri in #36310
- add q-Fuss-Catalan numbers by @fchapoton in #36314
- src/sage/tests/cmdline.py: replace tmp_dir() by @orlitzky in #36324
- src/sage/repl/interpreter.py: replace tmp_dir() by @orlitzky in #36343
- src/sage/misc/cython.py: replace tmp_dir() by @orlitzky in #36344
- .github/workflows/build.yml, doc-build.yml: Fix get_ci_fixes by @mkoeppe in #36348
- fix E228 and E225 in coding, crypto, dynamics, geometry, manifolds, modular by @fchapoton in #36352
- fixing pep8 E275 in rings/ and combinat/ by @fchapoton in #36355
- CI: Remove ci-wsl, ci-cygwin-standard by @mkoeppe in #36357
- CI: Fix the multi-stage build in ci-linux.yml, fix conda/centos/archlinux system packages by @mkoeppe in #36358
- a few details in combinat (designs) by @fchapoton in #36359
- a few more links to errors in the doc by @fchapoton in #36362
- Fix dependencies of
packaging
, updateflit_core
to 3.9.0,pip
to 23.2.1 by @mkoeppe in #36363 - Do not run sage-env more than once, for real. by @jhpalmieri in #36364
- Libgap cubegroup by @fchapoton in #36365
- Simplify experimental all-conda installation instructions via
pkgs/sage-conf_conda
by @mkoeppe in #36367 - partial cython-lint cleanup in padics/ by @fchapoton in #36369
- fix remaining W605 warnings in pxi files by @fchapoton in #36371
- Enable conda ci for all PRs and remove experimental label by @tobiasdiez in #36373
- refresh the cython file real_roots (pep8, range, etc) by @fchapoton in #36374
- src/sage/interfaces/gap_workspace.py: replace tmp_dir() by @orlitzky in #36375
- src/sage/databases/sql_db.py: replace tmp_dir() by @orlitzky in #36376
- clean one test file by @fchapoton in #36377
- Add README.md Table of Contents and Links by @marklyzhang in #36378
- Python package upgrades cherry-picked from notebook 7 upgrade PR by @mkoeppe in #36381
configure --enable-system-site-packages
: First check all non-site packages by @mkoeppe in #36382- Update flint to 2.9.0, arb to 2.23.0 by @mkoeppe in #36383
- fix typographic typos by @mantepse in #36388
- System package information tox ini gh actions for alpine linux by @dimpase in #35285
- Fix workflow "Build documentation (PDF)" by @mkoeppe in #35373
- compute traces of elliptic-curve endomorphisms by @yyyyx4 in #35546
- Upgrade pplpy to 0.8.9 by @videlec in #36161
- Implement Covering Arrays by @Aaron-Dwyer in #35008
- Enable merge_group trigger for merge queues by @tobiasdiez in #35062
- onetbb: Upgrade to 2021.9.0 + GCC13 patch by @mkoeppe in #35786
- added induced minor function to graph algorithms by @saatvikraoIITGN in #36354
- fix for ecl in distros/gentoo.txt by @sheerluck in #36389
- checking that the system maxima has working help by @dimpase in #36391
- a few details in combinat, as suggested by ruff by @fchapoton in #36392
sage --package list
: Sort output, add switches--{in,ex}clude-dependencies
by @mkoeppe in #36393- Deprecate the backslash operator by @jhpalmieri in #36394
- Fix element labeling in
OperationTable.color_table
by @rburing in #36397 - two minor details in groups by @fchapoton in #36398
- fixing category of ncsym and dual by @fchapoton in #36399
- bump cysignals to 1.11.4 by @dimpase in #36402
- Fix AttributeError doctests when output includes a suggestion (part of python 3.12 support) by @tornaria in #36403
bootstrap-conda
: Refactor, generate versioned environment files by @mkoeppe in #36405- Upgrade
scipy
to 1.11.3,meson_python
to 0.14.0,meson
to 1.2.2 by @mkoeppe in #36412 - various details in schemes by @fchapoton in #36413
- README: Recommend
configure --config-cache --enable-ccache
by @mkoeppe in #36415 - .github/workflows/docker.yml: Free more disk space by @mkoeppe in #36418
- fix for E702 in pyx outside rings by @fchapoton in #36420
- replace wrongly placed sig_on/off pair with sig_check by @dimpase in #36422
- adding some links for Errors in the doc by @fchapoton in #36424
- cleanup of gap3 interface file by @fchapoton in #36426
- build/pkgs/attrs: Change to wheel package, update dependencies by @mkoeppe in #36429
- tentative of random subset for random matrix by @fchapoton in #36313
- Refactor Drinfeld modules subclasses by @DavidAyotte in #36325
- fix the linters again by @fchapoton in #36461
- fix doctest in
src/sage/combinat/posets/posets.py
by @dcoudert in #36464 - Fix mamba install in conda ci workflow by @tobiasdiez in #36468
- refresh macaulay2 interface a little bit by @fchapoton in #36470
- add ruff to developer tools by @fchapoton in #36474
- Fix bootstrapping on
centos-7
,fedora-30
,ubuntu-xenial
by @mkoeppe in #36476 sage.symbolics
: Remove code deprecated in #18036, #29738, #32386, #32638, #32665, #34215 by @mkoeppe in #36304- Replace shell bunzip2 with library code by @orlitzky in #36315
- Update
matplotlib
to 3.8.0,pillow
to 10.0.1 by @mkoeppe in #36320 - Yet more more spkgs confs by @dimpase in #36332
- Revision of the knot theory colorings method by @soehms in #36333
- Fixes for the push_to_docker_hub workflow by @soehms in #36385
- build/pkgs/singular: Update to 4.3.2p8 by @mkoeppe in #36395
build/pkgs/setuptools_scm
: Update to 8.0.4, add fixes for version 8 by @mkoeppe in #36400- Allow lifting mvpolynomials over non-fields using singular by @alexjbest in #36401
- Support python 3.12 by @tornaria in #36407
- Fix conda install instructions after
setuptools
update by @mkoeppe in #36411 - fix and activate E225 and E228 by @fchapoton in #36423
- CI Linux: Run
ubuntu-focal-standard
without waiting for other platforms by @mkoeppe in #36430 - Retrieve upstream tarballs from GitHub release assets by @mkoeppe in #36435
- src/sage/misc/latex.py: replace tmp_dir() by @orlitzky in #36436
- src/sage/parallel/map_reduce.py: replace tmp_dir() by @orlitzky in #36437
- .github/workflows/dist.yml: Create release on release tag by @mkoeppe in #36438
- trying ruff on some posets files by @fchapoton in #36440
- CI: Refactor
build*.yml
through a new script.ci/retrofit-worktree.sh
by @mkoeppe in #36442 - fix ZeroDivisionError in gcd of sparse polynomials by @DaveWitteMorris in #36445
- tox.ini: Add gentoo-python3.12 by @sheerluck in #36451
make sagemath_categories-check
,make pypi-wheels-check
by @mkoeppe in #36452- Remove
tomli
from some build dependencies by @mkoeppe in #36454 - add default legend_color to eliminate KeyError when plotting arrow2d or disk by @DaveWitteMorris in #36460
- remove unused variables in pyx files in groups/ by @fchapoton in #36463
- Combine ci linter jobs by @tobiasdiez in #36467
- CI docbuild: Do not rebuild sagelib from scratch by @mkoeppe in #36473
- Fix GradedModularFormElement multiplication by @grhkm21 in #35978
build/pkgs/cython
: Update to 3.0.4 by @mkoeppe in #36416- upgrade cypari2 to 2.1.4 by @dimpase in #36444
- using ruff for UP004, UP008, UP028 by @fchapoton in #36462
- Run incremental linux ci only when packages changed by @tobiasdiez in #36466
- .github/workflows/doc-build.yml: Repair display of changes by @mkoeppe in #36475
- some details in pyx files in combinat by @fchapoton in #36478
- Loosen version requirement on fpylll and align its conda version by @tobiasdiez in #36482
- Remove spurious diffs in doc build changes by @kwankyu in #36483
- Fix typos in Italian docs by @pitmonticone in #36484
- Fix func_persist: do not use the (now removed) inspect.formatargspec, but instead use inspect.signature. by @jhpalmieri in #36488
- Fix size of varchenko_matrix by @DaveWitteMorris in #36491
- improve method
cycle_basis
for graphs with multiple edges by @dcoudert in #36493 - Conditional documentation by @mkoeppe in #36495
- build*.yml: Fix application of CI fixes broken in #36442 by @mkoeppe in #36496
- lint.yml: Always run all 3 linters by @mkoeppe in #36497
- Remove conda patchelf distro by @tobiasdiez in #36499
- Support launching notebook 7 by @tornaria in #36506
- Fix implicit noexcept warnings by @tornaria in #36507
- meson 1.2.3, numpy 1.26.1, require meson >= 1.2.0 by @mkoeppe in #36509
- Add pyright ci annotations by @tobiasdiez in #36510
- Exclude symlinks from vscode search config via glob pattern by @mkoeppe in #36511
networkx
,scipy
,ipywidgets
: Update version ranges inconda.txt
by @mkoeppe in #36513build/pkgs/sagenb_export
: Fix install-requires.txt by @mkoeppe in #36514sage.schemes.toric
: Remove pyright 'is possibly unbound' warnings by @mkoeppe in #36516pkgs/sagemath-{bliss,sirocco,tdlib}
: Fix sdists by @mkoeppe in #36520- GH Actions: Fix wheel build by @mkoeppe in #36521
- Fix linter failure E401 multiple imports on one line by @kwankyu in #36522
- some cleanup in quadratic forms by @fchapoton in #36528
pkgs/sagemath-standard
: Fix sdist by @mkoeppe in #36532- build/pkgs/openssl: Update to 3.0.12 by @mkoeppe in #36535
- refresh the maple(tm) interface by @fchapoton in #36537
build/pkgs/pip
: Increase lower version bound; upgradepip
,wheel
,packaging
,platformdirs
by @mkoeppe in #36540build/pkgs/nauty
: Upgrade to 2.8.6, require nauty >= 2.8 by @mkoeppe in #36541- expurge parent_old from cryptosystem by @fchapoton in #36547
- remove deprecated name parameter in category ; capital for Coxeter by @fchapoton in #36550
src/sage/misc/cython.py
: Fix the workaround for setuptools_scm by @mkoeppe in #36552- Add a hash function for the class TernaryQF. by @tornaria in #36553
- Speedup of the method to reduce ternary quadratic forms in the class TernaryQF by @tornaria in #36554
- Revive sage live doc using jupyter-sphinx by @kwankyu in #36144
- Use URLs to online Sage documents for JupyterLab by @kwankyu in #36246
sage.{dynamics,schemes}
: Modularization fixes, docstring cosmetics, update# needs
by @mkoeppe in #36271- Fix sync labels issues for step 2 going live completion by @soehms in #36292
- update pari to 2.15.4, drop patch by @dimpase in #35302
- Build CI: Fix configuration of coverage upload action by @mkoeppe in #36621
- CI Linux: Build the default platform in one job by @mkoeppe in #36627
- .ci/merge-fixes.sh: Reduce output by @mkoeppe in #36632
- permutation_normal_form : case of empty matrices by @fchapoton in #36634
- clean the file hexad.py by @fchapoton in #36635
- fix broken pyright in CI by @fchapoton in #36639
- fix random doctest error in
src/sage/rings/polynomial/skew_polynomial_finite_field.pyx
by @dcoudert in #36647 sage.misc.lazy_attribute
: Add typestub file for pyright by @mkoeppe in #36517- Cleanup conditional assert by @tornaria in #36543
- Support networkx 3.2 by @tornaria in #36544
- refine category of RAAGs by @fchapoton in #36546
- Support a few more Cython system packages by @orlitzky in #36548
- cleanup in number_field_element by @fchapoton in #36549
- refresh the file cluster_algebra by @fchapoton in #36555
- some fixes for pycodestyle E221 by @fchapoton in #36556
- src/doc/en/developer: Describe static typing workflow by @mkoeppe in #36557
- care for E702 in fast_arith.pyx by @fchapoton in #36559
pkgs/sagemath-{objects,categories,environment,repl}
: Move metadata fromsetup.cfg
topyproject.toml
by @mkoeppe in #36563- Limit wait for slow mirrors by @mkoeppe in #36565
sage.numerical
: Update# needs
by @mkoeppe in #36567sage.manifolds
,sage.tensor
: Update# needs
by @mkoeppe in #36568sage.matrix
,sage.modules
: Update# needs
by @mkoeppe in #36569- Add method to check whether a (di)graph is geodetic by @dcoudert in #36571
- Replace relative imports by absolute ones in structure by @tobiasdiez in #36573
- NetworkX: Allow version 3.2 by @mkoeppe in #36577
- add an example of a divisor on a curve by @dimpase in #36578
- Allow to import
sage.cpython
module multiple times by @tobiasdiez in #36590 - some cleanup in free algebras by @fchapoton in #36593
- Replace relative imports by absolute ones in
sage.{matrix,matroids,modules,stats}
by @mkoeppe in #36594 - Replace relative imports by absolute ones in
sage.{coding,combinat,graphs}
by @mkoeppe in #36595 - Replace relative imports by absolute ones in
sage.{geometry,groups,numerical,plot}
by @mkoeppe in #36596 - Relativize header imports by @tobiasdiez in #36598
- Support giac 1.9.0-67 by @tornaria in #36600
- Doc preview for all languages by @kwankyu in #36601
- Calculation of Maximum Leaf Number graph parameter by @MrBanananator in #36604
- Replace relative imports by absolute ones in
sage.libs.ntl
by @tobiasdiez in #36605 - ruff fix UP027 (list comprehension) by @fchapoton in #36606
- write Weyl with a capital letter by @fchapoton in #36607
- some changes by ruff UP by @fchapoton in #36608
- avoid using
itertools.pairwise
by @dcoudert in #36609 - fix the links to msolve spkg by @dimpase in #36611
- Replace relative imports by absolute ones in
sage.libs
except.ntl
by @mkoeppe in #36612 - .github/workflows/dist.yml: Fix deprecation message by @mkoeppe in #36613
- .github/workflows/doc-build-pdf.yml: Do not build HTML documentation, fix upload of PDFs by @mkoeppe in #36614
- CI Linux: Increase max_parallel for
standard-pre
, decrease forstandard
,minimal-pre
by @mkoeppe in #36616 sage.modular
: Update# needs
, doctest cosmetics by @mkoeppe in #36618sage.combinat
: Update# needs
by @mkoeppe in #36619- RSA primes must be odd (textbook code fix) by @dimpase in #36625
- some simplifications in doctest/ folder (ruff C4) by @fchapoton in #36628
sage.rings.padics
: Update# needs
by @mkoeppe in #36259- Exclude Cython 3.0.3 by @tobiasdiez in #36453
- fplll 5.4.5, fpylll 0.6 by @mkoeppe in #36477
- Added kth roots to Permutation by @GermainPoullot in #35053
- Implement characteristic polynomial computation for Drinfeld modules of any Rank by @ymusleh in #35269
pkgs/sage-conf_pypi
: Repair after #36400, #36435 by @mkoeppe in #36533- sage-env: identify the version of command-line tools (OS X) and set LDFLAGS accordingly by @jhpalmieri in #36599
- Deploy live doc on push to develop by @kwankyu in #36636
- CI macOS: Update by @mkoeppe in #36648
- src/sage/misc/sageinspect.py: Fix pycodestyle complaint by @mkoeppe in #36652
- prompt_toolkit: Set version constraint for conda by @mkoeppe in #36659
- .github/workflows/doc-build.yml: Fix live doc building by @kwankyu in #36661
- Upgrade
zeromq
to 4.3.5,pyzmq
to 25.1.1, patch out broken tests in setup by @mkoeppe in #36663 - CI Linux: Fix "optional", "experimental" jobs by @mkoeppe in #36668
- CI Linux: Fix
centos-7
after #36435, removegentoo-python3.12
for now, useconda-forge
with-python3.11
by @mkoeppe in #36534 - Sage knows Hadamard matrices <1201, not 1001 by @dimpase in #36669
- build/pkgs/openblas: Stop openblas from using explicit
make -j N
; but usemake -j 1
onubuntu-trusty
by @mkoeppe in #36671 - src/sage/combinat/root_system/coxeter_group.py: Fix typo in lazy_import by @mkoeppe in #36698
- src/sage/misc/latex.py: fix view() by @orlitzky in #36529
- Make doc-pdf separate from doc-html by @kwankyu in #36692
- Fix SSL timeout in doctest / internet feature by @tornaria in #36696
- CI Linux: Follow-up fix for conda-forge-python3.11 by @mkoeppe in #36699
build/pkgs/nauty
: HandleSAGE_FAT_BINARY
by @mkoeppe in #36707- CI Linux: Fixes for tests of optional packages by @mkoeppe in #36708
- CI macOS: Build following stages even when some job failed; adjust platforms by @mkoeppe in #36711
- .github/workflows/ci-linux.yml: Fine-tune max-parallel by @mkoeppe in #36660
- .github/workflows/docker.yml: Interrupt the build before the 6 hour cancellation by @mkoeppe in #36670
opensuse-tumbleweed-minimal
: Ensure gawk is present by @mkoeppe in #36712openblas
: Update to 0.3.25 by @mkoeppe in #36722- .github/workflows/macos.yml: Fix syntax by @mkoeppe in #36723
- CI: Make jobs more responsive to canceling by @mkoeppe in #36617
- fix doctest for nauty 2.8.8 by @tornaria in #36771
- Fix bug in QF.find_primitive_p_divisible_vector__next by @tornaria in #36551
build/pkgs/pillow
: Allow discovery of libjpeg, upgrade to 10.1.0 by @mkoeppe in #36731- Fix
make SPKG-uninstall
for Python packages after #36452 by @mkoeppe in #36737
New Contributors
- @MrBanananator made their first contribution in #35990
- @vbraun made their first contribution in #36046
- @GiacomoPope made their first contribution in #36071
- @ivmai made their first contribution in #35399
- @infmagic2047 made their first contribution in #36109
- @grhkm21 made their first contribution in #36173
- @teschlg made their first contribution in #35939
- @65537 made their first contribution in #36122
- @PTK12 made their first contribution in #36020
- @marklyzhang made their first contribution in #36378
- @Aaron-Dwyer made their first contribution in #35008
- @saatvikraoIITGN made their first contribution in #36354
- @rburing made their first contribution in #36397
- @pitmonticone made their first contribution in #36484
- @GermainPoullot made their first contribution in #35053
- @ymusleh made their first contribution in #35269
Release Manager: @vbraun
Full Changelog: 10.1...10.2