This maintenance release focuses on JAX compatibility cleanup, packaging improvements for brainevent, and documentation streamlining. It also removes duplicated internal JAXPR source-conversion code by relying on the shared brainstate implementation.
Improvements
JAX Compatibility and Internal Refactoring
- Updated: Replaced version-specific JAX imports with
brainstate._compatible_importacross math compatibility, backend environment utilities, surrogate operators, and vmap-removal helpers- Centralizes compatibility handling for
Primitiveand backend imports across newer JAX releases
- Centralizes compatibility handling for
- Updated:
brainpy.integratorsnow importsjaxpr_to_python_codefrombrainstate.transform- Removed the duplicated local
brainpy.integrators._jaxpr_to_source_codeimplementation - Keeps integrator math-expression generation aligned with the shared
brainstateimplementation
- Removed the duplicated local
- Updated:
bm.trapznow consistently maps tojax.scipy.integrate.trapezoid
Packaging
- Updated: Optional install extras now include matching
braineventextrasbrainpy[cpu]installsbrainevent[cpu]brainpy[cuda12]installsbrainevent[cuda12]brainpy[cuda13]installsbrainevent[cuda13]brainpy[tpu]installsbrainevent[tpu]
- Impact: Simplifies accelerator-specific installation and keeps event-backend dependencies aligned with the selected JAX platform
Documentation
- Added: Direct link to the external
brainpy.stateAPI reference in the docs API index (#822) - Removed: Legacy
brainpyandbrainpylibhistorical changelog pages from the main documentation navigation - Removed: Advanced operator-customization tutorial notebooks for CuPy, Numba, and Taichi from the documentation tree
- Updated: Refreshed quickstart simulation notebook content and documentation structure around
brainpy.state
Testing and CI/CD
- Improved: Disabled JAX traceback filtering in
brainpy.dnnlinear tests to make failures easier to diagnose - Updated: Raised the Sphinx upper bound for documentation builds from
<8.2.0to<9.1.0(#820) - Updated: Bumped
styfle/cancel-workflow-actionfrom0.13.0to0.13.1in CI (#819)
What's Changed
- chore(ci)(deps): bump styfle/cancel-workflow-action from 0.13.0 to 0.13.1 in the github-actions group by @dependabot[bot] in #819
- chore(deps)(deps): update sphinx requirement from <8.2.0,>=5 to >=5,<9.1.0 by @dependabot[bot] in #820
- chore: update documentation and dependencies for brainpy.state module by @chaoming0625 in #822
- chore:
JAX>=0.10.0compatibility by @chaoming0625 in #824
Full Changelog: V2.7.7...V2.7.8