Release 1.2.0
This release of Elephant marks the change to Numpy 2.x, while Numpy 1.x is no longer supported. Along with this change, a number of new features and improvements for existing functionality were added, in part related to the new concept for managing experimental trials using elephant.trials objects.
New Features
- For the spike times extraction methods in the
spike_train_generationmodule, added multichannel support forneo.AnalogSignaland introduced thealways_as_listparameter to ensure spike trains are returned as a list. (#614) - Extended
statistics.time_histogramto accept both a single spike train and lists of spike trains. (#650) - Extended
statistics.fano_factorto acceptelephant.trialsobjects. (#645) - Added a
datasets.load_datafunction to simplify tutorial and analysis code by allowing dataset retrieval and generation. (#687)
Bug Fixes
- Fixed numerical stability issues in
van_rossum_distanceby preventing small negative floating-point before square root evaluation. (#680) - Fixed issue in
statistics.instantaneous_ratefunction related to unexpected pooling behavior and kernels that exceed the signal length. (#649, #688) - Fixed
BinnedSpikeTrainslicing issues caused by changes in SciPy (>=1.15.0) sparse matrix index validation. (#653, #685) - Resolved GPU backend detection inconsistencies when CUDA libraries are present but PyCUDA is unavailable. (#666)
- Fixed GPU kernel launch resource errors in CUDA-accelerated ASSET computations by adapting thread selection dynamically. (#667)
Documentation
- Improved general documentation quality, including parameter descriptions and tutorial clarity. (#641)
- Fixed documentation build failures by aligning python version(=3.12) for docs test and ReadTheDocs build CI jobs. (#677)
- Replaced hidden notebook plotting cells with equivalent Viziphant functions. (#677)
- Added a new documentation section for example datasets. (#687)
- Fixed documentation build issues related to
sphinx-tabscompatibility. (#681) - Fixed ReadTheDocs MPI-related build failures. (#682)
Breaking changes
- Removed deprecated
verboseparameter in the ASSET module in favor of using Pythonloggingmodule. (#669)
Other changes
- Added Python 3.13 CI runner to ensure compatibility with the latest Python language features (#654)
- Updated README with maintainer contact information. (#683)
- Note: macOS wheels for Elephant are currently distributed as pure Python wheels. The C++ accelerated spade module falls back to a Python implementation on macOS, which may result in reduced performance compared to builds using the C++ backend. Full macOS compiled-acceleration support will be restored in a future patch release.