Skip to content

pybammsolvers 0.9.0

Choose a tag to compare

@BradyPlanden BradyPlanden released this 21 Jul 13:06
· 39 commits to main since this release
982fd38

First pybammsolvers release from the PyBaMM monorepo, tagged in the pybammsolvers-v* namespace. The published version comes from version.py (0.9.0); the release workflow's check_version job asserts the tag, version.py, pyproject.toml, and vcpkg.json all agree.

Breaking changes

  • The minimum supported NumPy version is now 2.0.0 (previously unpinned). NumPy 1.x is no longer supported. (#5647)

Features

  • Now ships Linux aarch64 (arm64) wheels, built on manylinux_2_34 native ARM runners. The libstdc++ std::string ABI (_GLIBCXX_USE_CXX11_ABI) is detected from the linked CasADi library instead of hard-coded, resolving the unresolved-symbol failure against CasADi's C++11-ABI aarch64 wheel. (#5653)
  • PyBaMM and pybammsolvers now develop in a single repository (a UV workspace under packages/) while continuing to release independently to PyPI. Release tags are namespaced (pybamm-v* and pybammsolvers-v*). (#5512)

Bug fixes

  • Fixed the Windows wheels failing to build: vcpkg's transitive reference-LAPACK/Fortran chain broke on a pruned upstream MSYS2 download (a 404). The Windows build now uses a suitesparse-klu-only sundials port and vcpkg 2026.06.24 on a windows-2025 runner. (#5650)
  • Fixed the source distribution bundling the SUNDIALS/SuiteSparse submodule trees (~291 MB, over PyPI's per-file limit) when built from a checkout with the submodules initialised; the sdist now excludes them. (#5623)
  • Fixed the editable auto-rebuild failing to configure when the SUNDIALS/SuiteSparse submodules are absent even though the libraries were already built in .idaklu. (#5623)
  • Fixed the Dependabot uv update job failing to resolve the workspace (ModuleNotFoundError: No module named 'scikit_build_core'): pybammsolvers now declares a static version in pyproject.toml, so build-tool-less resolvers read its metadata without invoking the scikit-build-core backend. version.py remains the single source of truth, mirrored into pyproject.toml and vcpkg.json by the sync-pybammsolvers-version pre-commit hook. (#5655)

Full changelog: https://github.com/pybamm-team/PyBaMM/blob/main/CHANGELOG.md