This release focuses on structural refactoring to improve codebase organization, specifically grouping morphology and integrator components into dedicated sub-packages (braincell.morph and braincell.quad).
-
Morphology Sub-package (
braincell.morph)- Moved and renamed morphology-related modules into
braincell/morph/:_morphology.py->morph/_morphology.py_morphology_branch_tree.py->morph/_branch_tree.py_morphology_from_asc.py->morph/_from_asc.py_morphology_from_swc.py->morph/_from_swc.py_morphology_utils.py->morph/_utils.py
- Moved and renamed morphology-related modules into
-
Integrator Sub-package (
braincell.quad)- Moved all integrator and solver modules into
braincell/quad/:_integrator*.pyfiles moved tobraincell/quad/.
- This improves the clarity of the top-level namespace.
- Moved all integrator and solver modules into
- Structure Updates
- Updated API documentation to reflect the new module structure.
- Simplified
index.rstand reorganized API reference pages. - Updated copyright to reflect membership in the BrainX Ecosystem.
- Workflow Updates
- Bumped versions for
actions/checkout,upload-artifact, anddownload-artifact.
- Bumped versions for
This release focuses on major dependency updates, code modernization, and extensive refactoring to improve compatibility with the latest BrainPy ecosystem.
- Dependency Version Updates
- Updated
brainstatefrom>=0.1.0to>=0.2.0 - Updated
brainpyfrom>=3.0.0to>=2.7.0 - These updates may require users to upgrade their BrainPy ecosystem packages
- Updated
-
Core Architecture Simplification (2acd212)
- Refactored
HHTypedNeuronto usebrainpydirectly for better integration - Simplified
_base.pywith significant code reduction (221 insertions, 282 deletions) - Removed deprecated
_integrator_diffrax.pymodule (29 lines removed) - Streamlined integrator implementations in
_integrator_runge_kutta.py - Cleaned up
_single_compartment.pyand integration protocol
- Refactored
-
Parameter Initialization Migration (fa71171, a79c306, 18b053c, 77a11ac)
- Migrated parameter initialization from
brainstate.nntobraintoolsacross the entire codebase - Updated parameter initialization in ion channels (calcium, potassium, sodium, hyperpolarization-activated)
- Refactored parameter initialization in synapse models (markov)
- Updated HTC and EINet classes to use
braintools - Updated all example scripts and notebooks to use
braintoolsfor parameter initialization
- Migrated parameter initialization from
-
API Migration (e84351a, bf50e6e)
- Migrated from
brainstate.nntobrainpy.stateandbraintools - Fixed
_baseerrors in brainpy integration - Updated
CurrentProjreferences across the codebase
- Migrated from
- Updated Documentation (#54, 2acd212)
- Updated braincell logo image
- Refreshed tutorial notebooks (cell, channel, ion tutorials in both English and Chinese)
- Updated advanced tutorial examples (sc02-sc05 notebooks)
- Revised quickstart concepts documentation
- Updated all documentation to reflect API changes and new parameter initialization patterns
- Example Updates
- Updated all example scripts to use new APIs:
SC01_fitting_a_hh_neuron.pySC03_COBA_HH_2007_braincell.pySC05_thalamus_single_compartment_neurons.pySC06_unified_thalamus_model.pySC07_Straital_beta_oscillation_2011.pyMC11_simple_dendrite_model.pyMC13_golgi_model/simulations
- Updated all example scripts to use new APIs:
- Publishing Workflow Enhancement (2acd212)
- Updated
.github/workflows/Publish.ymlwith improved configuration
- Updated
- Overall changes: 48 files changed, 1,307 insertions(+), 1,408 deletions(-)
- Net reduction of ~100 lines while improving code quality and maintainability
This release brings significant performance improvements, new integration methods, enhanced morphology support, expanded documentation, and modernized packaging infrastructure.
-
Pallas Kernel Acceleration (#51)
- Added Pallas kernel support for voltage solver to accelerate multi-compartment simulations
- Introduced optimized triangular matrix computation with GPU/CPU backend support
- Added debug kernels for Pallas backend testing
-
Backward Euler Solver (#49)
- Added backward Euler integration method for improved numerical stability
- Enhanced integration infrastructure with new solver options
-
Morphology Enhancements (#41, #46, #51)
- Added support for immutable sections
- Implemented DHS (Diagonal Hines Solver) support
- Added lazy loading of networkx for better performance
- Improved morphology branch tree handling and documentation
- Enhanced ASC/SWC file support for morphology loading
-
Sodium Channel Integration (da6697f, 7f91bbe, 7c218f1)
- Refactored sodium integration from backward Euler to RK4 solver for better accuracy
- Updated population size handling in simulations
- Optimized voltage solver performance
-
Integration System Refactoring (#47)
- Refactored integrators to get time from
brainstate.environfor better consistency - Streamlined solver logic and improved code structure
- Refactored integrators to get time from
-
Expanded Chinese Documentation (#45)
- Added comprehensive Chinese language documentation
- Included advanced tutorial examples and API references
-
New Documentation Structure (#40, #42)
- Added quickstart guides, tutorials, and advanced tutorials
- Reorganized documentation for better navigation
- Enhanced code documentation and type hints (#44)
-
Packaging Modernization
- Migrated from
setup.pyto modernpyproject.toml-only configuration - Updated license format to SPDX identifier (
Apache-2.0) - Improved package metadata and dependency specifications
- Migrated from
-
Dependencies
- Added
brainpy>=3.0.0as core dependency - Added
braintools>=0.1.0for enhanced tooling - Updated CI/CD configurations for Python 3.13 support
- Added
-
CI/CD Updates
- Added Python 3.13 support (#50, #48)
- Updated GitHub Actions: setup-python from 5 to 6, checkout from 4 to 5
- Refactoring & Improvements (#44)
- Improved external current registration and error handling
- Enhanced type hints across the codebase
- Better code organization and readability
- Added linear solver test notebooks
- Enhanced Golgi model simulation examples
- Updated example scripts for better demonstration of features
Previous release with core functionality.
The first release of the project.