|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## Version 2.7.1 |
| 4 | + |
| 5 | +**Release Date:** October 2025 |
| 6 | + |
| 7 | +This is a feature release that introduces new neuron and synapse models in the state-based API (`brainpy.state`) and enhances the Dynamics base class with improved input handling. |
| 8 | + |
| 9 | +### Major Changes |
| 10 | + |
| 11 | +#### New Neuron Models (brainpy.state) |
| 12 | +- **LIF (Leaky Integrate-and-Fire) Variants**: Added comprehensive set of LIF neuron models |
| 13 | + - `LIF`: Basic LIF neuron with exponential synaptic input |
| 14 | + - `LifRef`: LIF with refractory period |
| 15 | + - `ExpIF`: Exponential Integrate-and-Fire neuron |
| 16 | + - `ExpIFRef`: ExpIF with refractory period |
| 17 | + - `AdExIF`: Adaptive Exponential Integrate-and-Fire neuron |
| 18 | + - `AdExIFRef`: AdExIF with refractory period |
| 19 | + - `QuaIF`: Quadratic Integrate-and-Fire neuron |
| 20 | + - `QuaIFRef`: QuaIF with refractory period |
| 21 | + - `AdQuaIF`: Adaptive Quadratic Integrate-and-Fire neuron |
| 22 | + - `AdQuaIFRef`: AdQuaIF with refractory period |
| 23 | + - `GifRef`: Generalized Integrate-and-Fire with refractory period |
| 24 | + |
| 25 | +- **Izhikevich Neuron Models**: Added new Izhikevich neuron implementations |
| 26 | + - `Izhikevich`: Basic Izhikevich neuron model |
| 27 | + - `IzhikevichRef`: Izhikevich with refractory period |
| 28 | + |
| 29 | +- **Hodgkin-Huxley Model**: Added classic biophysical neuron model |
| 30 | + - `HH`: Classic Hodgkin-Huxley model with Na+ and K+ channels |
| 31 | + |
| 32 | +#### New Synapse Models (brainpy.state) |
| 33 | +- **BioNMDA**: Biological NMDA receptor with second-order kinetics |
| 34 | + - Implements two-state cascade dynamics (x and g variables) |
| 35 | + - Slower rise time compared to AMPA (biologically realistic) |
| 36 | + - Comprehensive documentation with mathematical formulation |
| 37 | + |
| 38 | +### Features |
| 39 | + |
| 40 | +#### Model Implementation |
| 41 | +- All new models use the brainstate ecosystem (HiddenState, ShortTermState, LongTermState) |
| 42 | +- Proper unit support with brainunit integration |
| 43 | +- Exponential Euler integration for numerical stability |
| 44 | +- Batch processing support across all models |
| 45 | +- Consistent API design following BrainPy v2.7+ architecture |
| 46 | + |
| 47 | +#### Dynamics Class Enhancements |
| 48 | +- Enhanced input handling capabilities in the Dynamics base class |
| 49 | +- Added new properties for better state management |
| 50 | +- Improved integration with brainstate framework |
| 51 | +- Refactored to use public methods instead of private counterparts for clarity |
| 52 | + |
| 53 | +#### Documentation |
| 54 | +- Added comprehensive Examples sections to all neuron classes in `_lif.py` |
| 55 | +- Each example includes: |
| 56 | + - Import statements for required modules |
| 57 | + - Basic usage with parameter specifications |
| 58 | + - State initialization examples |
| 59 | + - Update and spike generation examples |
| 60 | + - Network integration with `brainstate.nn.Sequential` |
| 61 | + - Notes highlighting key features |
| 62 | +- All 13 neuron classes in `_lif.py` now have complete documentation |
| 63 | +- Simplified documentation paths by removing 'core-concepts' and 'quickstart' prefixes in index.rst |
| 64 | + |
| 65 | +### Bug Fixes |
| 66 | +- Fixed import paths in `_base.py`: changed references from brainstate to brainpy for consistency (057b872d) |
| 67 | +- Fixed test suite issues (95ec2037) |
| 68 | +- Fixed test suite for proper unit handling in synapse models |
| 69 | + |
| 70 | +### Code Quality |
| 71 | +- Refactored module assignments to `brainpy.state` for consistency across files (06b2bf4d) |
| 72 | +- Refactored method calls in `_base.py`: replaced private methods with public counterparts (210426ab) |
| 73 | + |
| 74 | +### Testing |
| 75 | +- Added comprehensive test suites for all new neuron models |
| 76 | +- Added AMPA and GABAa synapse tests |
| 77 | +- Added tests for Izhikevich neuron variants |
| 78 | +- Added tests for Hodgkin-Huxley model |
| 79 | +- All tests passing with proper unit handling |
| 80 | + |
| 81 | +### Files Modified |
| 82 | +- `brainpy/__init__.py`: Updated version to 2.7.1 |
| 83 | +- `brainpy/state/_base.py`: Enhanced Dynamics class with improved input handling (447 lines added) |
| 84 | +- `brainpy/state/_lif.py`: Added extensive LIF neuron variants (1862 lines total) |
| 85 | +- `brainpy/state/_izhikevich.py`: New file with Izhikevich models (407 lines) |
| 86 | +- `brainpy/state/_hh.py`: New file with Hodgkin-Huxley model (666 lines) |
| 87 | +- `brainpy/state/_synapse.py`: Added BioNMDA model (158 lines) |
| 88 | +- `brainpy/state/_projection.py`: Updated for consistency (43 lines modified) |
| 89 | +- `brainpy/state/__init__.py`: Updated exports for new models |
| 90 | +- Test files added: `_lif_test.py`, `_izhikevich_test.py`, `_hh_test.py`, `_synapse_test.py`, `_base_test.py` |
| 91 | +- Documentation updates in `docs_state/index.rst` |
| 92 | + |
| 93 | +### Removed |
| 94 | +- Removed outdated documentation notebooks from `docs_state/`: |
| 95 | + - `checkpointing-en.ipynb` and `checkpointing-zh.ipynb` |
| 96 | + - `snn_simulation-en.ipynb` and `snn_simulation-zh.ipynb` |
| 97 | + - `snn_training-en.ipynb` and `snn_training-zh.ipynb` |
| 98 | + |
| 99 | +### Notes |
| 100 | +- This release significantly expands the `brainpy.state` module with biologically realistic neuron and synapse models |
| 101 | +- All new models are fully compatible with the brainstate ecosystem |
| 102 | +- Enhanced documentation provides clear usage examples for all models |
| 103 | +- The Dynamics class refactoring improves the foundation for future state-based model development |
| 104 | + |
| 105 | + |
| 106 | + |
| 107 | + |
3 | 108 | ## Version 3.0.1 |
4 | 109 |
|
5 | 110 | **Release Date:** October 2025 |
|
0 commit comments