Releases: firedrakeproject/firedrake
2025.10.2
What's Changed
- Ignore flaky old hotel link by @connorjward in #4630
- Add [docs] dependency in developer install instructions by @pbrubeck in #4633
- replace obsolete intersphinx by @dham in #4141
- Add PyOP2 API docs back to conf.py by @connorjward in #4636
- fix
test_high_order_location_warped_interior_facetby @leo-collins in #4632 - BUG: fix reuse of matfree adjoint Interpolator by @pbrubeck in #4623
- test: skip regression/test_locate_cell.py::test_high_order_location_e… by @ksagiyam in #4642
- Fix Hessian calculation for
NonlinearVariationalSolverblock by @JHopeCollins in #4641 - BUG: Fix TransferManager reuse on VectorFunctionSpace components by @pbrubeck in #4649
- BUG: fix multigrid transfers for symmetric tensors by @pbrubeck in #4648
- Attach appctx to DirichletBCs by @pbrubeck in #4655
- Ksagiyam/disable temp by @ksagiyam in #4658
- Firedrake container on ARM by @connorjward in #4640
- Bug: Fix bcs for BaseFormOperator on MixedFunctionSpace by @pbrubeck in #4659
- Fix linkcheck by @connorjward in #4681
- BUG: Fix FormSum involving the output tensor by @pbrubeck in #4670
- Multicomponent demo update (into release) by @ABaierReinio in #4676
- Specialise G-ADOPT smoke tests for main and release by @connorjward in #4680
- Fix Thetis smoke tests by @connorjward in #4686
- Fix firedrake-check: tweak locations for cell location tests by @connorjward in #4692
- PCPatch: validate mesh overlap by @pbrubeck in #4684
- Add information about building with non-system MPIs by @connorjward in #4698
- Fix subfunction hessian by @JHopeCollins in #4705
- Leo/authors by @leo-collins in #4704
- Remove mailing list information from the website by @connorjward in #4691
- Fix Hypre auxiliary spaces by @pbrubeck in #4712
- Make VTK optional again by @connorjward in #4713
- fix
Function._ad_assign_numpyfor real space in parallel by @JHopeCollins in #4714 - Fix point evaluation API change by @leo-collins in #4675
- Fix the bug in implementing the AuxiliaryOperatorPC and add a note in… by @Molin-Han in #4717
New Contributors
- @Molin-Han made their first contribution in #4717
Full Changelog: 2025.10.1...2025.10.2
Firedrake: an automated finite element system
This release is specifically created to document the version of firedrake used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html
2025.10.1
What's Changed
- Distinguish firedrake-configure links without leading to git conflicts by @connorjward in #4625
- pyproject.toml: add immutabledict by @ksagiyam in #4622
- Move ensemble parallelism links by @connorjward in #4626
- SLATE: prevent Cofunction reassembly by @pbrubeck in #4377
Full Changelog: 2025.10.0...2025.10.1
2025.10.0
What's Changed
Adjoint
Interpolate/VertexOnlyMesh
- Dual interpolation from/into MixedFunctionSpace by @pbrubeck in #4197
- Cleanup Interpolate assembly by @pbrubeck in #4288
- Move
__future__interpolation intointerpolation.pyby @leo-collins in #4346 - Allow construction of interpolation matrix between a
VertexOnlyMeshand its input-ordering by @leo-collins in #4341 - Make
interpolatefunction avoid usingInterpolatorby @leo-collins in #4432 - Change VOM
missing_points_behaviourAPI by @leo-collins in #4524 - Cell location on non-simplicial higher-order meshes by @leo-collins in #4517
- Fix for vom-to-vom permutation matrix on Vector-valued function spaces by @leo-collins in #4510
- Cell location on simplicial higher-order meshes by @leo-collins in #4484
- introduce
PointEvaluatorobject by @leo-collins in #4516 - Remove
Interpolator.interpolateby @leo-collins in #4531 - deprecate
.at()by @leo-collins in #4543 - Warn users about
interpolateexpression renumbering by @leo-collins in #4572 - stop annotation inside PointEvaluator by @leo-collins in #4567
- Pass kwargs to Cofunction.interpolate by @pbrubeck in #4587
- Matfree adjoint interpolation by @pbrubeck in #4552
- Explicitly assemble the interpolate adjoint matrix by @pbrubeck in #4576
- MixedInterpolator by @pbrubeck in #4596
submesh
petsctools
- Use petsctools package by @connorjward in #4194
- Import
get_external_packagesfrompetsctoolsnotfiredrake.petscby @JHopeCollins in #4381 - Fixes for changes to petsctools OptionsManager API by @connorjward in #4418
- Use petsctools release by @connorjward in #4423
- Link to petsctools API documentation by @connorjward in #4569
- Use petsctools for citations by @connorjward in #4560
Ensemble
EnsembleFunctionandEnsembleFunctionSpace. by @JHopeCollins in #4025
Other
- BDDC: Fix block sizes by @pbrubeck in #4253
- Remove firedrake-install and friends by @connorjward in #4270
- Ksagiyam/rename sub elements by @ksagiyam in #4354
- use ufl.apply_coefficient_split() by @ksagiyam in #4349
- Speed up caching by @connorjward in #4383
- remove mesh.init() by @ksagiyam in #4201
- Change master to main (2) by @connorjward in #4445
- Stop casting Constants+domain to Real functions by @connorjward in #4497
- TSFC: Improved caching to remove ComponentTensors by @pbrubeck in #4503
- Avoid
dat_versionincrement withriesz_representation("l2")by @jrmaddison in #4504 - Expunge Vector by @connorjward in #4499
- fix snes_linesearch_type l2 -> secant by @ksagiyam in #4525
- RestrictedFunctionSpace: support Fieldsplit, multigrid, and python PC by @pbrubeck in #4169
- FixAtPointBC: support bendy meshes by @pbrubeck in #4532
- MG: rediscretize with a different coarse_mat_type by @pbrubeck in #4538
- Extruded plotting fixes by @danshapero in #4553
- Add support for deflation via firedrake.DeflatedSNES by @pefarrell in #4558
- Fix coarsening for R space by @pbrubeck in #3814
- delete
_from_cell_listby @leo-collins in #4557 - Coarsen SLATE Tensors by @pbrubeck in #2889
- VariationalSolver: support
sub_mat_typeby @pbrubeck in #4028 - Fix TransferManager reuse for mixed coefficients by @pbrubeck in #4600
Full Changelog: 2025.4.3...2025.10.0
2025.4.3
What's Changed
- Fix documentation issues by @dham in #4425
- Eikehmueller/gtmgpc restriction by @eikehmueller in #4373
- Clarify install docs by @connorjward in #4366
- Better check for VCS info in firedrake-zenodo by @connorjward in #4433
firedrake-run-split-testsuses python3 so that it works in the Docker containers by @JHopeCollins in #4428- Add initial Firedrake 26 information to the website by @connorjward in #4426
- Fix AUTHORS.rst by @connorjward in #4420
- Fix demo links by @pbrubeck in #4422
- payment links by @dham in #4435
- Dham/firedrake 25 payment by @dham in #4438
- Fix typos in point evaluation docs by @leo-collins in #4436
- Do not use Makefile for firedrake-check by @connorjward in #4391
- Knook/multicomponent by @KarsKnook in #4322
- Fix CI timeouts 🤞 by @connorjward in #4458
- Increase permissiveness of petsc_raises by @connorjward in #4449
- Acse ej321/gmsh demo update by @acse-ej321 in #4326
- document varying extrusion by changing coordinates by @dham in #4385
- Fix firedrake-check on macOS by @connorjward in #4466
- Avoid mpiexec -n 1 for firedrake-check by @connorjward in #4465
- Add extra guest info to Firedrake 25 page by @connorjward in #4472
- test for early cleanup of adjoint variables by @JHopeCollins in #4451
- Pbrubeck/fix/mg cofunction by @pbrubeck in #4474
- Demo created at Dartington Hall - Shape Optimization by @APaganini in #4307
- Fix broken Stokes test by @pbrubeck in #4469
- Do not set different cache directories per job by @connorjward in #4460
- Improve install docs by @connorjward in #4461
- Document solver options by @connorjward in #4434
- Dham/fix notebooks by @dham in #4323
- Add tests for 3D zany elements by @pbrubeck in #4459
- Dependency groups by @connorjward in #4463
- TensorFunctionSpace: support empty shape by @pbrubeck in #4470
- Amend .test_durations by @connorjward in #4464
- Change master to main (1) by @connorjward in #4444
- interpolate: sanitise submesh interpolate by @ksagiyam in #4482
- Fixes for making zenodo releases by @connorjward in #4488
- Revert "Dependency groups (#4463)" by @JHopeCollins in #4492
- Change abstract deadline for FD25 by @connorjward in #4501
- Debug external contributions by @connorjward in #4506
- link to proramme by @dham in #4523
- More flexible dockerfile and build dev containers on CI. by @JHopeCollins in #4533
- BaseFormAssembler: cast FormSum weights as numbers by @pbrubeck in #4534
- Fix typo in demo by @pbrubeck in #4520
- Use GitHub notebook preview instead of nbviewer by @connorjward in #4513
- Remove firedrake-jupyter Docker image as it is not used by @connorjward in #4512
- MassInvPC: update docstring by @pbrubeck in #4542
- Test FIAT empty permutations by @pbrubeck in #4468
- Add test durations back to CI by @connorjward in #4562
- Add a copy button to code snippets by @connorjward in #4563
- Remove dead links from Firedrake 25 conference by @connorjward in #4566
- Final updates to Firedrake 25 page by @connorjward in #4570
- Make VTK a hard dependency again by @connorjward in #4565
- Workflow changes now we have the new containers by @connorjward in #4539
- Use appropriate user in CI to avoid permissions errors on later runs by @connorjward in #4545
- Remove broken link to personal website by @connorjward in #4589
- Remove Sphinx version pin by @connorjward in #4599
- Also build dev containers for macOS by @connorjward in #4598
- Do not print out lots of caching and object finalisation info in CI by @connorjward in #4585
- Redo release workflow by @connorjward in #4609
New Contributors
- @acse-ej321 made their first contribution in #4326
Full Changelog: 2025.4.2...2025.4.3
Firedrake: an automated finite element system
This release is specifically created to document the version of firedrake used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html
Firedrake: an automated finite element system
This release is specifically created to document the version of firedrake used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html
2025.4.2
What's Changed
- Set version number to 2025.4.1 by @connorjward in #4355
- Set setuptools min version by @connorjward in #4357
- Fast diagonalization demo by @pbrubeck in #4309
- Fix homogeneous DirichletBC residual by @pbrubeck in #4370
- ImplicitMatrixContext: Fix dual space for matfree SLATE Inverse by @pbrubeck in #4360
- Fix typo in test by @pbrubeck in #4359
- ASM: support Extruded Periodic meshes by @pbrubeck in #4352
- Knook/EquationBC_GMG by @KarsKnook in #4338
- Add Firedrake 25 information to the website by @connorjward in #4371
- GTMGPC: use the new Interpolate by @pbrubeck in #4374
- Use petsc.org instead of mcs.anl.gov for PETSc links by @connorjward in #4379
- 'Fix' petsc raises by @connorjward in #4384
- Remove old link from docs by @JHopeCollins in #4417
- Bump PETSc and SLEPc versions by @connorjward in #4419
- bump pyadjoint dependency version by @dham in #4424
Full Changelog: 2025.4.1...2025.4.2
2025.4.1
What's Changed
- Point to PyPI version of Firedrake on website by @connorjward in #4266
- Fix linkcheck by @connorjward in #4269
- Release fixups by @connorjward in #4268
- Website hotfix by @connorjward in #4275
- Fix sdist by @connorjward in #4276
- Increment version number by @connorjward in #4280
- Add option to build Docker containers manually by @connorjward in #4272
- Only deploy master website in this repository by @connorjward in #4278
- Single source of truth by @connorjward in #4249
- Use correct hook to prepare firedrake-check for editable installs by @connorjward in #4289
- Add instruction to run pip cache remove firedrake by @connorjward in #4290
- Tighter solver tolerance for calculating Hessian taylor test by @JHopeCollins in #4291
- Fix docs banner by @connorjward in #4292
- Inc PETSc to 3.23.1 so macOs no longer needs to download CMake by @connorjward in #4277
- Add check for uncommitted changes to autogenerated files by @connorjward in #4281
- petsc4py docs hotfix by @connorjward in #4294
- Misc fixups by @connorjward in #4310
- cause actions to trigger when PR target is changed by @dham in #4312
- Put dual spaces in the manual by @indiamai in #4304
- Dham/status badge by @dham in #4311
- intersphinx the current fiat documentation by @dham in #4305
- pyproject: move spydump to script-files by @qbisi in #4301
- Fix license in pyproject.toml by @connorjward in #4324
- Fix typo in duals manual section by @indiamai in #4321
- demo for steady Boussinesq problem with integral constraints by @KarsKnook in #4318
- Fix minor typos in Boussinesq demo by @ABaierReinio in #4336
- Rckirby/patchdemo by @rckirby in #4317
- Fix Real space assembly by @pbrubeck in #4331
- Cjc/vp demo by @colinjcotter in #4320
- Add macOS compiler failure to install FAQ by @connorjward in #4345
- Use a different mirror to download apt packages by @connorjward in #4347
- Backport BC checkpointing fixes to release by @angus-g in #4351
- always() install system dependencies in CI by @connorjward in #4353
- SLATE: support dual space by @pbrubeck in #4342
- PETSc update by @connorjward in #4348
New Contributors
- @ABaierReinio made their first contribution in #4336
Full Changelog: 2025.4.0...2025.4.1
2025.4.0.post0
What's Changed
- Point to PyPI version of Firedrake on website by @connorjward in #4266
- Fix linkcheck by @connorjward in #4269
- Release fixups by @connorjward in #4268
- Website hotfix by @connorjward in #4275
- Fix sdist by @connorjward in #4276
- Increment version number by @connorjward in #4280
Full Changelog: 2025.4.0...2025.4.0.post0