NEST 3.5
NEST 3.5 is the result of 1390 commits by 25 developers since NEST 3.4 which was released on 2023-02-16.
The main focus of this release is a restructured user documentation improving usability and enhancing explanations of use-cases and features.
New features include native support for networks represented in SONATA format, and new and enhanced models such as the spike_train_injector
and access to calcium concentration parameters.
Under the hood, a lot of changes have been made to the test suite to improve development workflows. Continuous integration checks now run separately and in parallel. The whole test suite was ported from SLI to a PyTest-based setup.
Enhancements
- Improve parameter test and implementation
- Reformat the codebase and enable black check in CI
- Build NEST with Python, OpenMP, MPI, Boost and GSL for macOS on CI
- Add documentation regarding HPC systems
- Make sphinx build self-sufficient and in-tree-safe
- Add native support for networks represented in SONATA format
- Include a link in PyNEST examples to run them as notebooks
- Streamline and update release notes for 3.4 release
- Add
spike_train_injector
model - Make calcium concentration available for setting
- Further improvement of parameter operator test implementation
- Add comment on min delay
- Improve documentation on delays
- Transition version handling to proper semantic versioning when building from Git and release tarballs
- Make multapses and autapses flags more visible in documentation
- Add copy button for code blocks in documentation
- Enable patching of binary files within the online documentation
Bug fixes
- Fix build of extension modules after change to static helper libraries
- Fix uninitialized variable in
iaf_psc_exp
- Require Cython >= 0.29.14 to avoid tp_print problem on Read the Docs
- Fix STDP k-value error for edge case
- Correctly build connection infrastructure in GetConnections also when secondary events in use
- Revise some spatial tests to pytest style; avoids numercial issues due to float comparisons
- Catch all exceptions in SimulationManager::update_()
- Fix setting min and max delay after resolution change
- Ensure VP number, RNG type and RNG seed can be set in any order
- Add
-lnest
to the list of libraries to link extension modules - Fix conftest fixtures
- Fix skip if-threads
- Fix
ResetKernel
inSimulationManager
- Microcircuit model quick fix for issue #2741
- Return valid version information also when git is unavailable
- Update the package index files on all CI runners
- NEST-SONATA: Reset parameters after iteration over populations
- Fix indentation in example in docs
- Update doc directory readme
- Add cherry-picked changes from #2843, #2838, and #2830
Maintenance updates
- Fix
test_calcium.py
formatting to comply with Black - Fix OpenMP issues on CI under macOS and re-activate testing with threads for macOS
- Port test_poisson_generator_campbell_alpha to py
- Pin the documentation requirements to prevent incompatible dependencies
- Update readthedocs.yml to resolve build error from incompatible urllib3 version
- Add 'what's new' docs for 3.5
- Separated checks
- Fixing bad coding pattern in loops in connection creation
- Fix badges of the different NEST packages
- Removing well-proven and therefore outdated asserts
- Replace NEST typedefs with plain C++ datatypes
- Make kernel attributes ms_per_tic and tics_per_step read-only
- Remove
get_thread()
function from proxynode class - Move retrieval of common properties out of
send_to_all
loop - Clean up the registration of recording and stimulation backends
- Invert delay-related documentation tagging logic for rate connections
- Make exception-name Python compatible
- Further improve style of parameter test implementation
- Convert multimeter test from SLI to Python implementation
- Make helper libraries static and don't install the archive files
- Remove NEST Server Client from nest-simulator repository
- Make it an error to set multiple threads if NEST was built without thread support
- Refactor rm -rf from testsuite script
- Add
conftest.py
with skip marker support - Refactor SLI tests to Python
- Translate SLI test test_delay_check to Python
- Refactor SLI for ac generator and step-current generator to Python
- Fix pycodestyle and move test to new directory
- Refactor Bernoulli synapse SLI test to Python test
- Fix typo in existing
CopyModel
Pytest and remove obsolete SLI test - Refactor binary neuron SLI test to Python test
- Port
test_compare_delta.sli
to py - Port
issue-463.sli
to py - Port Tsodyks tests from SLI to Python
- Convert test_connect_with_threads
- Refactor
cond_exp
model test from SLI to Python - Convert mat2_psc_exp SLI test to Python
- Refactor gif_*_exp tests from SLI to pytest
- Port
ticket-959.sli
to py - Port
ticket-949.sli
to py - Refactor test for
cont_delay_synapse
from SLI to Python - Convert test_connect_after_simulate to pytest
- Port
ticket-926.sli
to py - Port
ticket-941.sli
to py - Convert SLI based tests to Pytest and add common infrastructure for Pytest
- Port test_correlospinmatrix_detector to py
- Port test_corr_det
- Port
ticket-921.sli
to py - Port test_max_delay and test_min_delay to py
- Port
ticket-903.sli
to py - Refactor SLI test to check consistency between dc_generator and variable I_e to Python
- Port test_corr_matrix_det
- Refactor SLI test for default delays and weights for a connection to Python
- SLI-2-Py :
test_amat2_psc_exp
- Register custom markers and add utilities folder
- Make
test_mat2_psc_exp
more robust - Added simulation fixture and applied it to several
iaf_psc_alpha
tests - Replace sli-test delay after resolution change by pytest
- Refactor SLI test for inhomogeneous poisson generator to Python
- Port test_hh_cond_beta_gap_traub
- [SLI2PY] Remove duplicate test
- Port test_hh_cond_exp_traub
- Port test_mip_corrdet to py
- Transform SLI-test test_gap_junction to pytest
- Refactor SLI test for neurons handling multiplicity to Python
- Port test-hh-psc-alpha-gap
- Add python version of sli test for connection counting
- Fix function name in test_connect_with_threads
- Fix class-level constants in ticket_754 test
- Remove installation of PyNEST egg-info and dependencies from setup.py
- Refactor aeif_cond_alpha_multisynapse test from SLI to Python
- Port
test_multimeter_support
from SLI-2-Py - Port
test_multimeter_freeze_thaw
from SLI-2-Py - Port mask tests
- Port test-hpc-synapse
- Port test_poisson_generator_ps to py
- Port
test_multimeter_stepping
from SLI-2-Py - Refactor SLI test for noise generator to Python
- Port test_multithreading
- Port test-set-vm
- Port test_poisson_ps_intervals to py
- Port test_poisson_ps_min_interval to py
- Port
test_multimeter_offset
from SLI-2-Py - Port test_set_delay_extrema
- Remove debug statements from CI helper script
- Add documentation about deadlock in mpi processes
- Transpile test-set-ticks.sli
- Get Sphinx build working in CI
- Remove
get_type
func from RecordingDevice - Remove the
debian/
folder - Add new dockerhub repository to the docker documentation
- Fix tutorials in documentation
- Fix typos in spatial docs to render code
- Update documentation organisation and landing page
- Fix various typos in the documentation
- Clean up and fix clickable images in installation instructions
- Update vale version and fix CI package index
- Improve the look of link to EBRAINS Jupyter Hub in documentation
- Add
pandas
requirement to docs - Set correct virtual model name in NEST-SONATA documentation
- Improve test coverage by unconditionally installing mpi4py
- Fix formatting of
glif_psc
andglif_cond
documentation - Fix incorrect name in model docs
- Fix unit typo
- Fix various issues in docs that cause Sphinx warnings
- Remove misplaced code block on documentation landing page