Skip to content

Commit 0d35439

Browse files
committed
chore: update changelog for version 2.7.7 with brainevent API migration, bug fixes, and dependency updates
1 parent f917281 commit 0d35439

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

changelog.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# Changelog
22

3+
## Version 2.7.7
4+
5+
**Release Date:** March 12, 2026
6+
7+
This release migrates to the new `brainevent` binary backend API, fixes numerous bugs across neuron models, synapse dynamics, ODE integrators, and object transforms, and raises the minimum Python version to 3.11.
8+
9+
### Breaking Changes
10+
11+
#### Python Version Requirement
12+
- **Raised**: Minimum Python version from 3.10 to **3.11**
13+
- Dropped Python 3.10 support from classifiers and build metadata
14+
15+
#### brainevent API Migration (#817)
16+
- **Updated**: Event-driven operations to use the new `brainevent` binary backend
17+
- `EventArray` replaced by `BinaryArray` in all event CSR and jitconn operations
18+
- `JITCHomoR` replaced by `JITCScalarR` for homogeneous JIT connectivity
19+
- STDP weight update functions renamed:
20+
- `dense_on_pre` / `dense_on_post``update_dense_on_binary_pre` / `update_dense_on_binary_post`
21+
- `csr_on_pre` / `csr2csc_on_post``update_csr_on_binary_pre` / `update_csr_on_binary_post`
22+
- Affected layers: `Dense`, `AllToAll`, `MaskedLinear`, and all CSR-based layers
23+
24+
### Bug Fixes
25+
26+
#### Neuron Models
27+
- **Fixed**: All LIF-family neuron models (`LifLTC`, `LifRefLTC`, `ExpIFLTC`, `ExpIFRefLTC`, `AdExIFLTC`, `AdExIFRefLTC`, `QuaIFLTC`, `QuaIFRefLTC`, `AdQuaIFLTC`, `AdQuaIFRefLTC`, `GifLTC`, `GifRefLTC`) now raise descriptive `ValueError` messages for invalid `spk_reset` modes instead of bare `ValueError`
28+
29+
#### Synapse Models
30+
- **Fixed**: Synaptic variable updates in `DualExpon`, `Alpha`, and `NMDA` models
31+
- Replaced in-place `+=` operator with explicit `.value` assignment to prevent tracing issues under JAX transformations
32+
33+
#### ODE Integrators
34+
- **Fixed**: `BogackiShampine` adaptive Runge-Kutta coefficient typo — corrected `'4/0'` to `'4/9'` in the Butcher tableau
35+
- **Fixed**: `set_default_odeint` was incorrectly assigning to `_DEFAULT_ODE_METHOD` instead of `_DEFAULT_DDE_METHOD`
36+
37+
#### Object Transforms
38+
- **Fixed**: `Variable.varshape` used `self.batch_size` instead of `self.batch_axis` when computing non-batch shape dimensions
39+
- **Fixed**: `NodeDict.update()` and `VarDict.update()` referenced `args[1]` instead of `arg[1]` when updating from tuple arguments
40+
- **Fixed**: `NodeDict.__setitem__` duplicate key error message incorrectly displayed the new value instead of the existing one
41+
42+
#### Training
43+
- **Fixed**: `BPTrainer` did not raise `NoLongerSupportError` when `seed` parameter was passed (missing `raise` keyword)
44+
- **Fixed**: `BPTrainer` metric aggregation switched from `jnp.mean(bm.as_jax(...))` to `np.mean(np.asarray(...))` to avoid unnecessary JAX tracing overhead
45+
46+
#### Core
47+
- **Fixed**: `ShardedArray.value` setter used `_check_tracer()` instead of direct `_value` access
48+
- **Fixed**: `_slice_to_num` did not handle negative step values and raised no error on zero step
49+
- **Fixed**: `load_state` crashed with `KeyError` when state dict contained missing keys; now correctly reports them as missing
50+
51+
#### Code Quality
52+
- **Improved**: Narrowed bare `except` clauses to specific exception types (`ValueError`, `TypeError`, `ImportError`, `ModuleNotFoundError`) in convolution layers and Flax interoperation module
53+
54+
### Dependencies
55+
56+
- **Updated**: `brainevent` from `>=0.0.4` to `>=0.0.7`
57+
- **Updated**: `braintools` version spec corrected to `>=0.0.9`
58+
- **Updated**: `numpy` minimum version set to `>=1.15`
59+
- **Updated**: `brainpy_state` from `>=0.0.2` to `>=0.0.3`
60+
61+
### CI/CD
62+
63+
- **Updated**: `actions/upload-artifact` from v6 to v7 (#815)
64+
- **Updated**: `actions/download-artifact` from v7 to v8 (#816)
65+
66+
67+
---
68+
369
## Version 2.7.6
470

571
**Release Date:** January 21, 2026

0 commit comments

Comments
 (0)