Skip to content

Releases

Connor Ward edited this page Jun 23, 2026 · 6 revisions

To make a new release, see the process detailed here.

Should my change go into main or release?

Since release is supposed to be stable w.r.t. API, only fixes and documentation changes should be merged into it. Any new features or API changes should be merged into main.

Exceptions can be made for new features provided that they either:

  • Provably do not modify the code paths for existing users (e.g. by adding a branch with a condition that will always evaluate to False for existing users).
  • Are modifications to brand new (only made available in the latest release) features. In such a case it is acceptable to merge things into release so users can use the new functionality faster and there is no way that established codes will break.

If you want your code to be available in both release and main then you should merge your code first into release and then:

  1. Create a branch off main.
  2. Merge release into your new branch.
  3. Resolve any conflicts.
  4. Create a PR to merge your new branch into main.

When should a new major version be released?

Major Firedrake releases are made roughly every 6 months. The releases are (ideally) timed to happen shortly after PETSc makes a minor release (e.g. 3.22.5 -> 3.23.0) such that any breaking API changes in the release may be fixed.

When should a patch release be made?

Patch releases are made in an ad hoc fashion when they are deemed necessary. This is usually the case if there is an upstream breakage that we have to adapt to.

Clone this wiki locally