Sage 9.6 Release Tour

Current development cycle (2022)

Manifolds

Symplectic manifolds

Symplectic structures have been added to Sage (#30362).

Number theory

Elliptic curves

Package upgrades

For a list of all packages and their versions, see

FLINT and arb

FLINT from 2.7.1 to 2.8.4, arb to 2.22.1 #32211, #33189

The FLINT 2.8 series brings major new algorithms and general speedups. https://github.com/wbhart/flint2/blob/flint-2.8/NEWS#L1262 Note that Sage accepts system installations of FLINT >= 2.6.x. Users on older distributions who want to benefit from the speed ups in FLINT 2.8.x may want to use ./configure --without-system-flint.

Meta-ticket #31408 tracks the effort to make use of new features added in recent FLINT releases in the Sage library.

New developer tools

Pre-built Docker containers on ghcr.io

Our portability CI on GitHub Actions builds Docker images for all tested Linux platforms (and system package configurations) and makes them available on ghcr.io. #39033

Since 9.6.beta1, the image version corresponding to the latest development release receives the additional Docker tag dev, see for example the Docker image for ubuntu-impish-standard. Thus, for example, the following command will work:

$ docker run -it ghcr.io/sagemath/sage/sage-docker-ubuntu-impish-standard-with-targets-optional:dev bash

Images whose names end with the suffix -with-targets-optional are the results of full builds and a run of make ptest. They also contain a copy of the source tree and the full logs of the build and test.

Smaller images corresponding to earlier build stages are also available:

Gitpod

Gitpod is a service that provides a development environment in the cloud based on VS Code. It is free to use for up to 50 hours per month. Sage now includes a configuration for Gitpod; see the new section Setting up your workspace in the Sage Developer's Guide. #33103

To launch Gitpod on a branch of a Trac ticket, you can use the new Gitpod badge in the ticket box.

New status badges on Trac tickets

We have now:

1. Linter that checks that the code of the current branch adheres to the style guidelines. In order to see details when it fails, you can click on it and then select the most recent workflow run.

2. Build & test that builds sage for the current branch (incrementally on top of the system packages of the develop branch) and runs the test. Details are again available by clicking on the badge. (This is currently still gray until #33263 is merged.)

3. Build documentation workflow that builds the HTML documentation for the current branch. If you click on it, you get the HTML output of the successful run. The idea is to use this to easily inspect changes to the documentation without the need to locally rebuild the docs yourself. If the doc build fails, you can go to the Actions tab of sagemath/sagetrac-mirror repo and choose the particular branch to see what went wrong.

The idea is that these three status badges complement the existing patchbots (and maybe even replace them in the future). In particular, they are supposed to always be green.

Sage patchbot on GitHub Actions

The Sage patchbot can now be run on GitHub Actions, on top of any of the Linux platforms for which we have prebuilt Docker images.#33253

Availability of Sage 9.6 and installation help

The first development release of the 9.6 series, 9.6.beta0, was tagged on 2022-02-06. The current development release is 9.6.beta1, tagged on 2022-02-13.

The Sage source code is available in the sage git repository.

More details