变更日志 | Changelog#

All notable changes to SpikingJelly are documented in this file.

SpikingJelly starts maintaining this standard changelog from 2.0.0.dev0. For older releases, see the historical fatal-bug record in bugs.md and the archived documentation linked from the project README.

Unreleased#

Features#

  • None.

Improvements#

  • None.

Bug Fixes#

  • None.

Breaking Changes and Notices#

  • None.

2.0.0.dev0 - 2026-07-09#

This entry summarizes the user-visible changes since the previous PyPI stable release, 0.0.0.0.14 (2941330), through 2.0.0.dev0 (b4f3b68).

Features#

ANN-to-SNN Conversion#

Module: spikingjelly.activation_based.ann2snn.

  • Added a redesigned conversion subsystem with recipe-based workflows.

  • Added conversion recipes and examples for LTB, STA-style Transformer conversion, and SpikeZIP QANN/Transformer experiments.

Few-Spike and Activation-Aware Neurons#

Modules: spikingjelly.activation_based.neuron

  • Added few-spike neuron for ann2snn research.

  • Added activation-aware IF neuron for ann2snn research.

Memory Optimization#

Module: spikingjelly.activation_based.memopt.

  • Added the training memory optimization pipeline with gradient checkpointing and spike compression.

Precision#

Module: spikingjelly.activation_based.precision.

  • Added a common precision policy interface for configuring precision behavior without depending on backend-specific implementation details.

Distributed Training#

Module: spikingjelly.activation_based.distributed.

  • Added distributed training and DTensor utilities for larger-scale SNN experiments.

Profiling and Energy Estimation#

Module: spikingjelly.activation_based.op_counter.

  • Added operation counting tools for profiling SNN models.

  • Added inference energy estimation tools.

Improvements#

  • Updated the package version scheme from legacy 0.0.0.0.X numbering to PEP 440 compatible V2 versions.

  • Raised the runtime baseline to Python >=3.11 and torch>=2.6.0.

  • Updated README and documentation pages for the V2 release policy, pre-release installation, and pre-V2 dependency pinning.

  • Refactored spikingjelly.visualizing into focused submodules.

  • Refactored the official website.

  • Added broader tutorials and API documentation.

  • Reworked public API documentation and docstrings across the project.

  • Refined datasets, timing-based modules, exchange utilities, backend kernels, model helpers, and training utilities across the V2 development line.

  • Added broader regression tests for V2.

Bug Fixes#

  • Fixed neuron initialization edge cases.

  • Fixed reset-state handling edge cases.

  • Fixed spiking RNN hidden-state dtype handling.

  • Fixed CuPy and Triton backend dispatch issues for neuron evaluation paths.

  • Fixed dataset preprocessing edge cases.

  • Fixed publication metadata cleanup edge cases.

  • Hardened ANN-to-SNN conversion validation and calibration.

  • Hardened ANN-to-SNN step-mode, mask-handling, download, and module-replacement paths.

  • Fixed documentation rendering, tutorial, and API navigation issues.

Breaking Changes and Notices#

  • V2 starts a new compatibility generation. Projects that must remain on the legacy release line should pin spikingjelly<2.

  • Some experimental or internal ANN2SNN conversion interfaces were refactored around the V2 recipe and operator model.

  • Documentation structure and public API pages were reorganized; external links to old generated API pages may need to be updated.

  • Before upgrading from 0.0.0.0.14, review this changelog and the V2 README installation notes.

  • Conservative projects should pin spikingjelly<2 until they are ready to validate V2 behavior.

  • To test published V2 pre-releases, install with pip install --pre spikingjelly.

  • For source installs, follow the current README and ensure the selected PyTorch build matches the target CPU/CUDA environment.