Skip to content

Releases: chaobrain/braincell

Version 0.0.8

11 Mar 16:40
77867d3

Choose a tag to compare

Compatible with latest brainevent.

Version 0.0.7

19 Jan 04:37
bdf7eb8

Choose a tag to compare

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*.py files moved to braincell/quad/.
    • This improves the clarity of the top-level namespace.

Documentation

  • Structure Updates
    • Updated API documentation to reflect the new module structure.
    • Simplified index.rst and reorganized API reference pages.
    • Updated copyright to reflect membership in the BrainX Ecosystem.

CI/CD

  • Workflow Updates
    • Bumped versions for actions/checkout, upload-artifact, and download-artifact.

What's Changed

  • ⬆️ Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #57
  • ⬆️ Bump actions/download-artifact from 4 to 6 by @dependabot[bot] in #58
  • ⬆️ Bump actions/checkout from 5 to 6 by @dependabot[bot] in #59
  • ⬆️ Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #60
  • ⬆️ Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #61
  • ⬆️ Bump styfle/cancel-workflow-action from 0.12.1 to 0.13.0 by @dependabot[bot] in #62
  • Refactor morphology and integrators into morph/quad subpackages by @chaoming0625 in #63

Full Changelog: v0.0.6...v0.0.7

Version 0.0.6

13 Oct 15:06
3f93508

Choose a tag to compare

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 brainstate from >=0.1.0 to >=0.2.0
    • Updated brainpy from >=3.0.0 to >=2.7.0
    • These updates may require users to upgrade their BrainPy ecosystem packages

Refactoring & Code Improvements

  • Core Architecture Simplification (2acd212)

    • Refactored HHTypedNeuron to use brainpy directly for better integration
    • Simplified _base.py with significant code reduction (221 insertions, 282 deletions)
    • Removed deprecated _integrator_diffrax.py module (29 lines removed)
    • Streamlined integrator implementations in _integrator_runge_kutta.py
    • Cleaned up _single_compartment.py and integration protocol
  • Parameter Initialization Migration (fa71171, a79c306, 18b053c, 77a11ac)

    • Migrated parameter initialization from brainstate.nn to braintools across 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 braintools for parameter initialization
  • API Migration (e84351a, bf50e6e)

    • Migrated from brainstate.nn to brainpy.state and braintools
    • Fixed _base errors in brainpy integration
    • Updated CurrentProj references 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.py
      • SC03_COBA_HH_2007_braincell.py
      • SC05_thalamus_single_compartment_neurons.py
      • SC06_unified_thalamus_model.py
      • SC07_Straital_beta_oscillation_2011.py
      • MC11_simple_dendrite_model.py
      • MC13_golgi_model/ simulations

CI/CD

  • Publishing Workflow Enhancement (2acd212)
    • Updated .github/workflows/Publish.yml with 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

09 Oct 03:21
a434890

Choose a tag to compare

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.environ for better consistency
    • Streamlined 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.py to modern pyproject.toml-only configuration
    • Updated license format to SPDX identifier (Apache-2.0)
    • Improved package metadata and dependency specifications
  • Dependencies

    • Added brainpy>=3.0.0 as core dependency
    • Added braintools>=0.1.0 for enhanced tooling
    • Updated 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

What's Changed

  • Add morphology representation and splitting solvers by @TLDSZ in #28
  • Simplify HH neuron and simulation by @chaoming0625 in #31
  • Refactor documentation by @chaoming0625 in #32
  • Refactor diffrax integration into step methods by @chaoming0625 in #33
  • Refactor integrators and morphology; add implicit diffrax by @chaoming0625 in #34
  • Add independent exp euler solver; refactor and update examples by @chaoming0625 in #35
  • Add synapse models; refactor channels/integrators; reorganize examples by @chaoming0625 in #36
  • Refactor and modernize example scripts by @chaoming0625 in #37
  • Refactor morphology/MultiCompartment for ASC/SWC; add staggered solver by @chaoming0625 in #39
  • Add Documentation Structure: Quickstart, Tutorials, and Advanced Tutorials by @YangJesse in #40
  • Finished updating documentation; no modifications made to braincell code. by @YangJesse in #42
  • Standardize Units, Refactor Current Handling, and Enhance Examples by @chaoming0625 in #44
  • Refactor morphology; add immutable sections and DHS support by @chaoming0625 in #41
  • Expand Chinese documentation; add advanced examples & API refs by @chaoming0625 in #45
  • Refactor morphology branch tree: lazy load networkx and improve doc by @chaoming0625 in #46
  • Refactor integrators: Get time from brainstate.environ by @chaoming0625 in #47
  • ⬆️ Bump actions/checkout from 4 to 5 by @dependabot[bot] in #48
  • Add Backward Euler solver; refactor integrations & morphology by @chaoming0625 in #49
  • ⬆️ Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #50
  • Accelerate voltage solver with Pallas kernels; update morphology by @chaoming0625 in #51
  • Finished the english version of documents. by @YangJesse in #52
  • Compatible with brainstate>=0.2.0 by @chaoming0625 in #53

New Contributors

Full Changelog: v0.0.1...v0.0.5

Version 0.0.1

05 Mar 04:51
ce8d7e6

Choose a tag to compare

This release is the basic feature about braincell. It supports modeling of single-compartment neurons. (The full support for multi-compartment models will come in the next release).

New Features

  • Hierarchical structure for neuron - ion - channel.
  • Single compartment neuron modeling.
  • Numerical integration.

What's Changed

New Contributors

Full Changelog: https://github.com/chaobrain/braincell/commits/v0.0.1