Release Notes#
Version 0.0.7#
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).
Refactoring & Code Organization#
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
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.
Documentation#
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.
CI/CD#
Workflow Updates
Bumped versions for
actions/checkout,upload-artifact, anddownload-artifact.
Version 0.0.6#
This release focuses on major dependency updates, code modernization, and extensive refactoring to improve compatibility with the latest BrainPy ecosystem.
Breaking Changes#
Dependency Version Updates
Updated
brainstatefrom>=0.1.0to>=0.2.0Updated
brainpyfrom>=3.0.0to>=2.7.0These updates may require users to upgrade their BrainPy ecosystem packages
Refactoring & Code Improvements#
Core Architecture Simplification (2acd212)
Refactored
HHTypedNeuronto usebrainpydirectly for better integrationSimplified
_base.pywith significant code reduction (221 insertions, 282 deletions)Removed deprecated
_integrator_diffrax.pymodule (29 lines removed)Streamlined integrator implementations in
_integrator_runge_kutta.pyCleaned up
_single_compartment.pyand integration protocol
Parameter Initialization Migration (fa71171, a79c306, 18b053c, 77a11ac)
Migrated parameter initialization from
brainstate.nntobraintoolsacross the entire codebaseUpdated parameter initialization in ion channels (calcium, potassium, sodium, hyperpolarization-activated)
Refactored parameter initialization in synapse models (markov)
Updated HTC and EINet classes to use
braintoolsUpdated all example scripts and notebooks to use
braintoolsfor parameter initialization
API Migration (e84351a, bf50e6e)
Migrated from
brainstate.nntobrainpy.stateandbraintoolsFixed
_baseerrors in brainpy integrationUpdated
CurrentProjreferences across the codebase
Documentation#
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
Examples#
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
CI/CD#
Publishing Workflow Enhancement (2acd212)
Updated
.github/workflows/Publish.ymlwith improved configuration
Code Statistics#
Overall changes: 48 files changed, 1,307 insertions(+), 1,408 deletions(-)
Net reduction of ~100 lines while improving code quality and maintainability
Version 0.0.5#
This release brings significant performance improvements, new integration methods, enhanced morphology support, expanded documentation, and modernized packaging infrastructure.
New Features#
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
Performance Improvements#
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 consistencyStreamlined solver logic and improved code structure
Documentation#
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)
Infrastructure & Dependencies#
Packaging Modernization
Migrated from
setup.pyto modernpyproject.toml-only configurationUpdated license format to SPDX identifier (
Apache-2.0)Improved package metadata and dependency specifications
Dependencies
Added
brainpy>=3.0.0as core dependencyAdded
braintools>=0.1.0for enhanced toolingUpdated CI/CD configurations for Python 3.13 support
CI/CD Updates
Added Python 3.13 support (#50, #48)
Updated GitHub Actions: setup-python from 5 to 6, checkout from 4 to 5
Code Quality#
Refactoring & Improvements (#44)
Improved external current registration and error handling
Enhanced type hints across the codebase
Better code organization and readability
Examples & Testing#
Added linear solver test notebooks
Enhanced Golgi model simulation examples
Updated example scripts for better demonstration of features
Version 0.0.4#
Previous release with core functionality.
Version 0.0.1#
The first release of the project.