v0.11.0
The detailed Changelog below will be curated in the coming weeks.
A high-level summary of Python API changes is available here: https://github.com/FEniCS/dolfinx/blob/v0.11.0/python/doc/source/release_notes.md
What's Changed
- Backport from release branch. by @jhale in #3958
- Fix typing error by @mscroggs in #3961
- Bump versions to dev by @jorgensd in #3962
- Add version depndent intersphinx mapping by @jorgensd in #3960
- Final fixes to documentation build by @jhale in #3963
- More robust version check test by @jhale in #3965
AbstractCellmembers are now properties by @schnellerhase in #3926- Remove
build-requirements.txtby @schnellerhase in #3955 - Fix end-user images by @jhale in #3966
- Documentation typo in SNES setFunction by @a-latyshev in #3967
- Typo fixes by @mleoni-pf in #3969
- Fix Spack CI cache issue by @jhale in #3970
- Undefined call to cell_num_entities for point meshes. by @jorgensd in #3974
- Remove
num_entity_dofsandnum_entity_closure_dofsas they are inconsistent for pyramid/prism cells by @chrisrichardson in #3977 - Fix: copy drops function name by @schnellerhase in #3978
- More robust ctest setup for MPI C++ tests. by @jhale in #3984
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #3968
- Reflect change to UFCx version number in release instructions by @jhale in #3986
- Move to our Spack package fork. by @jhale in #3981
- Small further tweak to Spack CI by @jhale in #3987
- Fix
reprinAdjacencyListby @finsberg in #3990 - Allow stable tagging image to have different tags dev-env and end-users. by @jhale in #3991
- Add Conda 3.13 to weekly conda install check by @jhale in #3992
- Fix unsigned int bug in sort test and C++ standard library assertions by @jhale in #3996
- Adds
xfailtest for scotch partitioner by @schnellerhase in #4001 - Fix: single process input parallel mesh generation test by @schnellerhase in #4003
- Fix output file paths in VTXWriter by @jorgensd in #4008
- fix build with adios2 v2.11.0 by @qbisi in #4004
- Overlay Spack FEniCS package repo over upstream by @jhale in #4009
- Fix
clang@15compile by @schnellerhase in #4011 - Fix test_mpi_comm_refcount with Python 3.14 (#4014) by @AdrianBunk in #4016
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #3999
- Bump mpi4py/setup-mpi from 1.2.2 to 1.3.4 by @dependabot[bot] in #3911
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #4018
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #4019
- Expose max_facet_to_cell_links by @jorgensd in #4017
- Bump mpi4py/setup-mpi from 1.4.0 to 1.4.1 by @dependabot[bot] in #4020
- Compile time string definitions in
defines.hby @schnellerhase in #4021 - Improve some EM demos by @jorgensd in #4000
- Mleoni/typo fixes by @mleoni-pf in #4024
- Fix order of arguments in docstring of
dolfinx.mesh.create_meshby @finsberg in #4029 - Bump versions in docker by @schnellerhase in #4023
- Template SparsityPattern for MatrixCSR constructor by @chrisrichardson in #4028
- Test docstrings with ruff by @garth-wells in #4031
- Fix documentation by @schnellerhase in #4032
VTXWritercheck unique names by @schnellerhase in #4034- Small tweaks and update Conda Windows gotchas. by @jhale in #4037
- Improve demo dimension usage by @schnellerhase in #4039
- Fix for rank 1 dataset in HDF with chunking turned on. by @chrisrichardson in #4043
- PetscErrorCode can be an enum by @schnellerhase in #4044
- Simple fix for submesh interpolation by @garth-wells in #4048
- Fix: CI C++ test compile time by @schnellerhase in #4050
- Experimental binary wheel builder by @jhale in #4042
- Attempt to trigger SIGTRAP in CI by @jhale in #4051
- Fix logic and uses ranges in interpolate by @garth-wells in #4049
- Fix a bug in VTKHDF unit tests by @chrisrichardson in #4057
- Fix in PETSc pkgconfig setup by @jhale in #4055
- Use overlay on top of Spack upstream by @jhale in #4058
- SuperLU_DIST solver interface by @jhale in #4054
- Split SuperLU solver and matrix by @jhale in #4061
- Remove reserved keywords from class members by @jhale in #4062
- Tweaks to SuperLU constructors by @jhale in #4063
- Fix exterior facet integrals from meshtags by @jorgensd in #4041
- New ruff - switch to 0.15. by @jhale in #4068
- Experimental threaded mesh construction by @garth-wells in #4060
- Check fit for int_t on SuperLUDist boundary by @jhale in #4065
- Use filesystem path rather than strings for paths to VTKHDF writer by @jorgensd in #4067
- Nuke pkgconfig.py by @jhale in #4064
- Re-enable SonarCloud on main by @jhale in #4069
- Add type hinting and python wrapper around entity-map in Python by @jorgensd in #4071
- Wrap SuperLU_DIST solver options by @jhale in #4072
- Fix thread performance issue by @garth-wells in #4076
- Pin setuptools verison on macos CI (workaround petsc4py issue) by @garth-wells in #4077
- Bump mpi4py/setup-mpi from 1.4.1 to 1.4.2 by @dependabot[bot] in #4079
- Allow SuperLU_DIST to solve with repeated right-hand sides by @jhale in #4074
- Attempt to fix Windows CI by @jhale in #4080
- Fix dofmap builder performance fixes by @garth-wells in #4081
- Make low-level default args not-default by @garth-wells in #4082
- Fix Spack in install in CI by @garth-wells in #4087
- Fix dtype in interpolation test by @schnellerhase in #4092
- Fix some errors in geometry python constructor by @jorgensd in #4097
- add cpp stub files by @qbisi in #4096
- Radix sort template argument fix, provides performance boost by @garth-wells in #4099
- Revert "add cpp stub files (#4096)" by @jhale in #4100
- Apply new clang-format by @schnellerhase in #4104
- Fix wrong span extent in _lift_bc_interior_facets by @michalhabera in #4102
- Move nanobind declarations to header files by @michalhabera in #4084
- Expose JIT MPI communicator by @jhale in #4107
- Threaded mesh topology construction improvements by @garth-wells in #4083
- Improve Topology code readability by @garth-wells in #4109
- Improve C++ docs by @jorgensd in #4036
- Add overload type declaration for
AdjacencyListby @schnellerhase in #4094 - Add better error handling for
locate_dofs_topologicalby @jorgensd in #4033 - Mesh build performance improvements by @garth-wells in #4110
- Topology simplifications by @garth-wells in #4111
- Improve biharmonic demo by @jorgensd in #4108
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #4116
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #4122
- Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #4120
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in #4121
- Introduce threading for collision detection by @jorgensd in #4123
- Fix various asserts by @chrisrichardson in #4125
- Remove memory allocations from loops in GJK by @jorgensd in #4128
- Fix: pass args to
MatrixCSR.{set, add}asndarray(not list) by @schnellerhase in #4132 - Update some functions to use mixed-topology by @chrisrichardson in #4133
- Add
nb::argto mixed topology mesh constructor by @jorgensd in #4093 - Remove default behavior from non-affine pullback. by @jorgensd in #4117
- Remove NewtonSolver from hyperelasticity demo by @chrisrichardson in #3929
- Test on macOS against kahip
brewpackage by @schnellerhase in #4148 - Dockerimage: version bumps by @schnellerhase in #4147
- Remove
column_index_mapfrom SparsityPattern by @chrisrichardson in #4149 - fix: added missing thread import by @mattfil in #4150
- Matrix multiplication does not change MatrixCSR by @chrisrichardson in #4151
- Simplifying lifting by @chrisrichardson in #4136
- Add support for VTK biquadratic pyramid by @chrisrichardson in #4162
- Make lifting work for mixed meshes by @jorgensd in #4165
- Add missing throw in superlu_dist.cpp by @chrisrichardson in #4155
- Use
cmap(i)inGeometryby @chrisrichardson in #4169 - Fix: adios2 bug by @schnellerhase in #4158
- Add transfer tags to submesh by @jorgensd in #4172
- Correction to the mixed-mesh test fixture by @chrisrichardson in #4174
- Fixed very critical typo by @massimiliano-leoni in #4175
- MatrixCSR enhancements by @chrisrichardson in #4153
- Add missing include in
mesh/utils.hby @francesco-ballarin in #4178 - Add dtype coverage for mixed topology test by @Siya-05 in #4180
- Bump conda-incubator/setup-miniconda from 3 to 4 by @dependabot[bot] in #4181
- Remove now ancient ruff pin. by @jhale in #4182
- Transpose operation on
MatrixCSRby @chrisrichardson in #4179 - Update numpy lower bound by @jhale in #4183
- Add matrix free demo using PETSc by @jorgensd in #3938
- Minor bugfixes by @chrisrichardson in #4186
- Fix set_bc by @jorgensd in #4176
- Update ADIOS2 version to 2.12.0 by @jorgensd in #4188
- Bump adios to 2.12.1 by @schnellerhase in #4189
- Use PETSc CTX for SNES solver by @jorgensd in #4139
- Extend
mypychecks totest/anddemo/by @schnellerhase in #4154 - Add maximum marking by @schnellerhase in #4156
- Add real element to DOLFINx by @jorgensd in #4170
- Fix Spack on main weekly run by @jhale in #4190
- Re-enable macOS main CI run by @jhale in #4192
- Reenable Windows CI on main by @jhale in #4193
- dtype coverage for mixed topology tests by @Siya-05 in #4194
- Extend derivative block to derive residuals from functionals by @Joseabcd in #4118
- conda: avoid defaults channel by @minrk in #4195
- Add typing generics by @schnellerhase in #4131
- Add SuperLU_DIST LinearProblem class by @jhale in #4185
- Add point mesh constructor by @jorgensd in #4171
- Pass correct cell/facet index in tabulate_expression by @michalhabera in #4103
- Tweaks to new LinearProblem class by @jhale in #4198
- Fix Spack builds and Clang 22 with older version of Catch2 by @jhale in #4197
- Windows now has 0.10 packages by @jhale in #4201
- Update badge links in README.md by @jhale in #4202
- Fix Mesh.RecombineAll option from 2 to 1 by @jhale in #4204
- More debugging of Gmsh issue by @jhale in #4206
- Allow built-in meshes to be embedded in gdim >= tdim by @jhale in #4203
- Remove zeros in sparse matrix multiplication by @chrisrichardson in #4200
- Mini typo by @massimiliano-leoni in #4207
- Doc typos by @massimiliano-leoni in #4209
- Add most linear and quadratic vtk cell types from VTK to IO by @jorgensd in #4212
- Finalise dtype parametric mixed top. tests by @schnellerhase in #4215
- Mypy check on non-isolated install by @schnellerhase in #4216
- Mixed topology assemble scalar and gmsh api + fix GMSH tests on AlmaLinux by @jorgensd in #4214
- Add AI contribution guide by @michalhabera in #4211
- Drop Python 3.10 support for upcoming release by @jhale in #4218
- Mini documentation fix in mesh.py by @massimiliano-leoni in #4221
- Extend
mypychecks totest/by @schnellerhase in #4135 - Switch to pydata-sphinx-theme by @jhale in #4219
- Enable doc build and push on push to main by @jhale in #4222
- Create new mesh with interpolation of existing mesh geometry by @jhale in #4205
- Make partitioner options explicit by @garth-wells in #4114
- Extend interpolate_geometry tests to GLL by @jhale in #4223
- Cleanup macOS CI by @jhale in #4225
- Version bump Dockerfile.test-env by @jhale in #4224
- Use PEP639 SPDX licensing by @jhale in #4226
- Add new UFL version bump instructions by @jhale in #4228
- Indexing of Geometry cmaps and dofmaps for multiple cell types by @chrisrichardson in #4227
- Allow expressions with submeshes by @jorgensd in #4140
- Align Functionspace.dofmap(s) interface by @schnellerhase in #4231
- Minor changes to PML by @jorgensd in #4232
- Add missing
#include <format>incpp/dolfinx/fem/pack.hby @francesco-ballarin in #4233 - Fix
WARNING: Unknown interpreted text role py. [myst.role_unknown]indemo_pmlby @francesco-ballarin in #4234 - Preliminary release notes for the upcoming release by @jorgensd in #4230
New Contributors
- @qbisi made their first contribution in #4004
- @AdrianBunk made their first contribution in #4016
- @mattfil made their first contribution in #4150
- @Siya-05 made their first contribution in #4180
- @Joseabcd made their first contribution in #4118
Full Changelog: v0.10.0...v0.11.0