Releases: nest/nest-simulator
NEST 3.7
NEST 3.7 is the result of 1392 commits by 34 developers since NEST 3.6 which was released on 2023-09-28.
This release most notably brings support for spike-based machine learning using eligibility traces, a tripartite and a pairwise-poisson connection rule. Structurally the extension module interface has been redefined and now supports module unloading. Changes contain many bug fixes and improvements.
As of NEST 3.7, NEST requires a C++17 compatible compiler.
Check out more details in the docs: "What's new in NEST 3.7"
Enhancements
- Add a tripartite connection rule for neuron-astrocyte connectivity
- Models no longer wrapped in SLI Module, model registration and thread-setting in managers revised
- Further improve
iaf_psc_alpha
documentation - Add detailed timers for gathering and delivering secondary events
- Port MPI tests from SLI to Python, Part I
- Create NEST Extension Interface for NEST compatible with new registration scheme and unloading
- Move registration of ConnBuilders, Backends, growth curves from nestmodule to respective managers, allowing unloading
- Align documentation of connection management with connectivity concepts publication (v2)
- User configurable voltage initialization for the compartmental model
- Implement e-prop plasticity
- New connection rule for Poisson-distributed number of synapses between neuron pairs
- Add
iaf_tum_2000
: a neuron model with integrated short-term plasticity synapse - Add plantuml to docs
- Add ignore_and_fire neuron model
- Align documentation of connection management with connectivity concepts publication
- Add EI_clustered_network by Rostami et al to PyNEST examples
- Add CLion IDE developer documentation
- Modify doc index page
- Improve doc install pages
- Improve docs for guides and getting started
- Update model documentation for
iaf_psc_delta
model - Add a section in installation docs about running NEST with EBRAINS
Bug fixes
- Properly suppress pylint complaints about unused plt in tests
- Allow
isort
pre-commit to make in-place changes - Replace assertDictContainsSubset() which has been removed in Python 3.12
- Ensure Connect() does not allow passing parameters that need to be set at the synapse-model level
- Register only spikes actually sent with weight_recorder
- Properly handle OpenMP linker flags
- Ensure all MPI communication to is handled by master thread
- Ensure assert_valid_syn_id() is always called with correct thread id
- Avoid MPI deadlocks on SynapseCollection.get()/set()
- Fix data race in nestkernel/per_thread_bool_indicator.cpp
- astrocyte_lr_1994: Store result of expression evaluation in proper variable
- Make -Dwith-mpi respect provided path and ensure "default off" options are turned on only by explicit ON
- Correctly handle random parameters appearing in the denominator
- Fix MUSIC support in NEST
- bug fix iaf_psc_exp_multisynapse / sli2py test_iaf_psc_exp_multisynapse
- Add localhost ipv4 to default origins for NEST Server
- Update docstring for pynest ResetKernel() to include module unloading
Maintenance
- Harden GitHub Actions – Harden Runner and pin Actions
- Code re-organization for shorter build times (or taming the 96% troll)
- Update test failing due to removed scipy method
- Fix tests and examples to pass Pylint test R1730
- Port
test-set-start-stop-origin.sli
from Sli-2-Py - Organize Python dependencies in separate requirements files
- Apply security best practices – Update Dependabot
- Apply security best practices – Add CodeQL workflow
- Apply security best practices – Dependency review
- Apply security best practices – Create OpenSSF Scorecard workflow
- Sli2py
iaf_psc_alpha_multisynapse
- Add GCC compiler problem matcher to CI
- Port
test_thread_local_ids.sli
to Pytest - Port
test_steppedsim.sli
to Pytest - Port
test_wfr_settings.sli
to Pytest - Port
issue-311
from SLI-2-Py - Update extension for API extractor
- Copy documentation to CI artifacts
- Port sinusoidal generator tests (SLI-2-Py)
- Port
test_setconnections_threads.sli
to Pytest - Minor cleanup of code and comments
- Update clang-format version to 17.0.4 and activate
InsertBraces
- port test_iaf_psc_exp to py
- Fix misplaced
assert
statement causing a lot of warnings - Sort results of NEST releases on Zenodo by most recent
- Fix broken links in documentation
- Add note about missing random generators for osx-arm64
- Add missing keyword to glif neuron model documentation
- Move tests that are irrelevant post-sli to sli2py_ignore
- Add missing links to examples in model documentation
- Update the documentaton regarding Windows
- Update documentation of video tutorial to clarify version
- Remove unused doxygen groups in developer documentation
- Remove last mentions of C++11 as default
- Set buffer shrink limit to 20% by default (activates shrinking) and fix documentation
- Fix path to docker compose file in documentation
- Add brief install instructions for the NESTML package in our ppa
- Simplify clearing of spike buffers
- Increase admonition to warning
- Clean doc for NEST Server and related projects
- Modify doc extensions to check for correct files
- Fix various Sphinx warnings
- Fix typo in documentation of
iaf_psc_alpha
- [Rename the variable "Ca" in astrocyte_lr_1994 to "Ca_astro"](https://gith...
NEST 3.7-rc1
NEST 3.7 is the result of 1282 commits by 30 developers since NEST 3.6 which was released on 2023-09-28.
This release most notably brings support for spike-based machine learning using eligibility traces, a tripartite and a pairwise-poisson connection rule. Structurally the extension module interface has been redefined and now supports module unloading. Changes contain many bug fixes and improvements.
As of NEST 3.7, NEST requires a C++17 compatible compiler.
Check out more details in the docs: "What's new in NEST 3.7"
Enhancements
- Add a tripartite connection rule for neuron-astrocyte connectivity
- Models no longer wrapped in SLI Module, model registration and thread-setting in managers revised
- Further improve
iaf_psc_alpha
documentation - Add detailed timers for gathering and delivering secondary events
- Port MPI tests from SLI to Python, Part I
- Create NEST Extension Interface for NEST compatible with new registration scheme and unloading
- Move registration of ConnBuilders, Backends, growth curves from nestmodule to respective managers, allowing unloading
- User configurable voltage initialization for the compartmental model
- Implement e-prop plasticity
- New connection rule for Poisson-distributed number of synapses between neuron pairs
- Add
iaf_tum_2000
: a neuron model with integrated short-term plasticity synapse - Add plantuml to docs
- Add ignore_and_fire neuron model
- Add CLion IDE developer documentation
- Modify doc index page
- Improve doc install pages
- Improve docs for guides and getting started
- Update model documentation for
iaf_psc_delta
model - Add a section in installation docs about running NEST with EBRAINS
Bug fixes
- Properly suppress pylint complaints about unused plt in tests
- Allow
isort
pre-commit to make in-place changes - Replace assertDictContainsSubset() which has been removed in Python 3.12
- Ensure Connect() does not allow passing parameters that need to be set at the synapse-model level
- Register only spikes actually sent with weight_recorder
- Properly handle OpenMP linker flags
- Ensure all MPI communication to is handled by master thread
- Ensure assert_valid_syn_id() is always called with correct thread id
- Avoid MPI deadlocks on SynapseCollection.get()/set()
- Fix data race in nestkernel/per_thread_bool_indicator.cpp
- astrocyte_lr_1994: Store result of expression evaluation in proper variable
- Correctly handle random parameters appearing in the denominator
- bug fix iaf_psc_exp_multisynapse / sli2py test_iaf_psc_exp_multisynapse
- Add localhost ipv4 to default origins for NEST Server
Maintenance
- Harden GitHub Actions – Harden Runner and pin Actions
- Code re-organization for shorter build times (or taming the 96% troll)
- Update test failing due to removed scipy method
- Fix tests and examples to pass Pylint test R1730
- Port
test-set-start-stop-origin.sli
from Sli-2-Py - Organize Python dependencies in separate requirements files
- Apply security best practices – Update Dependabot
- Apply security best practices – Add CodeQL workflow
- Apply security best practices – Dependency review
- Apply security best practices – Create OpenSSF Scorecard workflow
- Sli2py
iaf_psc_alpha_multisynapse
- Port
test_thread_local_ids.sli
to Pytest - Port
test_steppedsim.sli
to Pytest - Port
test_wfr_settings.sli
to Pytest - Port
issue-311
from SLI-2-Py - Update extension for API extractor
- Copy documentation to CI artifacts
- Port sinusoidal generator tests (SLI-2-Py)
- Port
test_setconnections_threads.sli
to Pytest - Minor cleanup of code and comments
- Update clang-format version to 17.0.4 and activate
InsertBraces
- port test_iaf_psc_exp to py
- Fix misplaced
assert
statement causing a lot of warnings - Sort results of NEST releases on Zenodo by most recent
- Fix broken links in documentation
- Add note about missing random generators for osx-arm64
- Add missing keyword to glif neuron model documentation
- Move tests that are irrelevant post-sli to sli2py_ignore
- Add missing links to examples in model documentation
- Update the documentaton regarding Windows
- Update documentation of video tutorial to clarify version
- Remove unused doxygen groups in developer documentation
- Remove last mentions of C++11 as default
- Set buffer shrink limit to 20% by default (activates shrinking) and fix documentation
- Fix path to docker compose file in documentation
- Add brief install instructions for the NESTML package in our ppa
- Simplify clearing of spike buffers
- Increase admonition to warning
- Modify doc extensions to check for correct files
- Fix various Sphinx warnings
- Fix typo in documentation of
iaf_psc_alpha
- Rename the variable "Ca" in astrocyte_lr_1994 to "Ca_astro"
- Add doi to the BibTeX entry
- Sli2py test iaf ps psp poisson generator accuracy
- Fix broken links in documentation
- Add note to expect changes to tripartite syntax and semantics
- Automatically adjust column widths in testsuite report
- Fix minor integer type mismatches
- Fix broken formatting in documentation
- Stop IPython from time consuming deep inspection of NodeCollection objects
- Fix padding around links in docs
Additionally ...
NEST 3.6
NEST 3.6 is the result of 1397 commits by 30 developers since NEST 3.5 which was released on 2023-06-22.
NEST 3.6 provides significant performance improvements for highly parallel building and simulating of networks and introduces initial support for astrocytes and neuron-astrocyte interaction.
Many smaller changes prepare the test suite for future internal changes in the SLI/Python interfaces.
Check out more details in the docs: "What's new in NEST 3.6"
Enhancements
- Sort and format Python imports and enable
isort
check in CI - Add
astrocyte_lr_1994
to NEST for the modeling of astrocytes and neuron-astrocyte interactions - Improve NEST performance by revised connection exchange and spike delivery
- Cleanup NEST Server environment variable handling
- Improve message about OMP_THREAD_NUM on startup
- Add rectified Gabor distribution for nest.spatial
- Add flags for autapses and multapses in
structural_plasticity_synapses
- Separate PyNEST API modules into separate pages in documentation
- Remove NodeCollection pointer from Node class
- Add sphinx-mermaid extension and update userdoc workflow
- Make calcium concentration available for setting
- Enhance module imports in NEST Server
- Enable patching of binary files within the online documentation
- Replace hand-written modelsmodule by a code generation framework
- Add a custom 404 page for Read the docs
- Allow setting volume_transmitter via NodeCollection, instead of naked ID
- Improve error checking in MPI IO backends
- Add support to set mpi address via device status
- Add custom Sphinx extension that lists examples based on model name
- Added package attrs to environment.yml
- Allow
NodeCollection
slicing with list of NumPy integers - Add NEST favicon to documentation webpage
- Add support for more addition operations for
NodeCollection
- Add warning if local_num_threads set by user disagrees with OMP_NUM_THREADS
- Add glif_psc_double_alpha model
- Add
clang-format
pre-commit hook
Bug fixes
- Fix type check to use isinstance()
- Correct limit for test on target fields and remove duplicate assertions
- Fix bug in reconstruction of connection data structures after disconnect and fix small problems with examples
- Fix STDP k-value error for edge case
- NEST-SONATA: Enclose
pandas
import intry
block - Fail gracefully when
node_id
0 is used to access non-existent node - Hike minimum required CMake version to 3.19
- Filter connections also by target when dumping layer connections
- Fix indentation in example in docs
- Add cherry-picked changes from #2843, #2838, and #2830
- Cherry-picked hot-fixes from #2948, #2950, #2952, and #2958
Maintenance
- Fix
test_calcium.py
formatting to comply with Black - Add 'what's new' docs for 3.5
- Harden GitHub Actions – GITHUB_TOKEN permissions
- Clean up doxygen comments in nestkernel directory
- Modernize the codebase - convert C-style casts to static_casts
- Serialize all responses used in the NEST Server
- Set sender node id info with correct target lcid
- Update documentation organisation and landing page
- Fix various typos in the documentation
- Update microcircuit docs regarding virtual process constraint and fix images
- Set correct virtual model name in NEST-SONATA documentation
- Fix formatting of
glif_psc
andglif_cond
documentation - Fix formatting of developer guidelines - naming conventions
- Set copybutton to only copy input lines in docs
- Fix unit typo
- Fix various issues in docs that cause Sphinx warnings
- Remove misplaced code block on documentation landing page
- Fix typo on docs landing page
- Update NEST version post 3.5 release
- Remove duplicate notebook and all references to it.
- Completely revised iaf_psc_alpha user documentation
- Changed total_num_virtual_procs to local_num_threads in hpc benchmark
- Mention parameter
t_ref
in documentation - Fix malformed table in models documentation
- Re-add Jupyter notebook download to examples and move script to _ext folder
- Update DOI to NEST 3.5 in README
- Bump restrictedpython from 6.0 to 6.2 in /doc
- Remove test that is no longer relevant
- Add note on using Mamba instead of conda
- Fix 'potential' misspelling
- Rename microcircuit images
- Add details on Hodgkin Huxley models, based on asynchronicity discussion
- Add documentation builds to cmake options
- Fix up typos and missing references to resolve Sphinx warnings
- Update iaf_cond_alpha.cpp
- Fix up HTML output to clean up browser warnings
- Fix indentation in PyNEST API
- Remove mentions of vera++ in docs
- Add text for what's new 3.6
Refactoring of the test suite
- Port
test_multiple_multimeter
from SLI-2-Py - Refactor SLI test for spike generator to Python
- Port
test_GetConnections
from SLI-2-Py - Port
test_multiple_random_source_stepping
from SLI-2-Py - Port
test_ginzburg_and_mcculloch
from SLI-2-Py - Port
test_distance
from SLI-2-Py - Port
issue-77.sli
from SLI-2-Py - Port
issue-545.sli
to py - [Port
issue-105.sli
to Pytest](https://github.com/nest/nest-simu...
NEST 3.6-rc1
NEST 3.6 is the result of 1388 commits by 30 developers since NEST 3.5 which was released on 2023-06-22.
NEST 3.6 provides significant performance improvements for highly parallel building and simulating of networks and introduces initial support for astrocytes and neuron-astrocyte interaction.
Many smaller changes prepare the test suite for future internal changes in the SLI/Python interfaces.
Check out more details in the docs: "What's new in NEST 3.6"
Enhancements
- Sort and format Python imports and enable
isort
check in CI - Add
astrocyte_lr_1994
to NEST for the modeling of astrocytes and neuron-astrocyte interactions - Improve NEST performance by revised connection exchange and spike delivery
- Cleanup NEST Server environment variable handling
- Improve message about OMP_THREAD_NUM on startup
- Add rectified Gabor distribution for nest.spatial
- Add flags for autapses and multapses in
structural_plasticity_synapses
- Separate PyNEST API modules into separate pages in documentation
- Remove NodeCollection pointer from Node class
- Add sphinx-mermaid extension and update userdoc workflow
- Make calcium concentration available for setting
- Enhance module imports in NEST Server
- Enable patching of binary files within the online documentation
- Replace hand-written modelsmodule by a code generation framework
- Add a custom 404 page for Read the docs
- Allow setting volume_transmitter via NodeCollection, instead of naked ID
- Improve error checking in MPI IO backends
- Add support to set mpi address via device status
- Add custom Sphinx extension that lists examples based on model name
- Added package attrs to environment.yml
- Allow
NodeCollection
slicing with list of NumPy integers - Add NEST favicon to documentation webpage
- Add support for more addition operations for
NodeCollection
- Add warning if local_num_threads set by user disagrees with OMP_NUM_THREADS
- Add glif_psc_double_alpha model
- Add
clang-format
pre-commit hook
Bug fixes
- Fix type check to use isinstance()
- Correct limit for test on target fields and remove duplicate assertions
- Fix bug in reconstruction of connection data structures after disconnect and fix small problems with examples
- Fix STDP k-value error for edge case
- NEST-SONATA: Enclose
pandas
import intry
block - Fail gracefully when
node_id
0 is used to access non-existent node - Hike minimum required CMake version to 3.19
- Filter connections also by target when dumping layer connections
- Fix indentation in example in docs
- Add cherry-picked changes from #2843, #2838, and #2830
Maintenance
- Fix
test_calcium.py
formatting to comply with Black - Add 'what's new' docs for 3.5
- Harden GitHub Actions – GITHUB_TOKEN permissions
- Clean up doxygen comments in nestkernel directory
- Modernize the codebase - convert C-style casts to static_casts
- Serialize all responses used in the NEST Server
- Set sender node id info with correct target lcid
- Update documentation organisation and landing page
- Fix various typos in the documentation
- Update microcircuit docs regarding virtual process constraint and fix images
- Set correct virtual model name in NEST-SONATA documentation
- Fix formatting of
glif_psc
andglif_cond
documentation - Fix formatting of developer guidelines - naming conventions
- Set copybutton to only copy input lines in docs
- Fix unit typo
- Fix various issues in docs that cause Sphinx warnings
- Remove misplaced code block on documentation landing page
- Fix typo on docs landing page
- Update NEST version post 3.5 release
- Remove duplicate notebook and all references to it.
- Completely revised iaf_psc_alpha user documentation
- Changed total_num_virtual_procs to local_num_threads in hpc benchmark
- Mention parameter
t_ref
in documentation - Fix malformed table in models documentation
- Re-add Jupyter notebook download to examples and move script to _ext folder
- Update DOI to NEST 3.5 in README
- Bump restrictedpython from 6.0 to 6.2 in /doc
- Remove test that is no longer relevant
- Add note on using Mamba instead of conda
- Fix 'potential' misspelling
- Rename microcircuit images
- Add details on Hodgkin Huxley models, based on asynchronicity discussion
- Add documentation builds to cmake options
- Fix up typos and missing references to resolve Sphinx warnings
- Update iaf_cond_alpha.cpp
- Fix up HTML output to clean up browser warnings
- Fix indentation in PyNEST API
- Remove mentions of vera++ in docs
- Add text for what's new 3.6
Refactoring of the test suite
- Port
test_multiple_multimeter
from SLI-2-Py - Refactor SLI test for spike generator to Python
- Port
test_GetConnections
from SLI-2-Py - Port
test_multiple_random_source_stepping
from SLI-2-Py - Port
test_ginzburg_and_mcculloch
from SLI-2-Py - Port
test_distance
from SLI-2-Py - Port
issue-77.sli
from SLI-2-Py - Port
issue-545.sli
to py - Port
issue-105.sli
to Pytest - Port
issue-264.sli
to Pytest - Port
issue-211.sli
to Pytest - [Port
issue-1085.sli
to Pytest](https://github.com/nest/nest-simulator/pu...
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_ma...
NEST 3.5-rc1
NEST 3.5 is the result of 1377 commits by 25 developers since NEST 3.4 which was released on 2023-02-16.
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. In the user documentation, you can now run the PyNEST examples as Jupyter Notebooks. We've also added new docs for using HPC systems with NEST. Under the hood, a lot of changes have been made to the test suite to improve development workflows. Tests now run separately and in parallel. The whole test suite was ported from SLI to a PyTest-based setup.
Enhancement
- 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
Bug
- 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
Maintenance
- 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
- 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](https://github.co...
NEST 2.14.2
NEST 2.14.2 is the result of 4 commits by 4 developers since NEST 2.14.1 which was released on 2021-09-08.
This release properly initializes the second initial value of postsynaptic currents in the iaf_psc_exp
model to zero. Without the initilization the behavior of the model is undefined, which may go unnoticed and produces wrong results. A typical symptom of the bug are the occurence of correct spike rates in some runs and too high spike rates in others.
Bug fixes
NEST 3.4
NEST 3.4 is the result of 1214 commits by 24 developers since NEST 3.3 which was released on 2022-03-22.
This release contains bug fixes and improvements. Most notably it reorganizes the documentation to improve findability of different topics, both in the source on GitHub and on Read the docs. Read about more updates in the docs…
Enhancements
- Cherry-picked changes for post-release doc-patching
- Cherry-picked changes to add
userdict
in PyNEST - Show colored messages in CMake output
- Restructure the userdoc directory
- Update installation pages for Read the docs
- Create new Read the docs theme with custom index
- Update review guidelines
- Add example demonstrating spike-based Sudoku solver
- Add example demonstrating spike-based simulations of Pong
- Add functions yielding source neurons given target neurons
- Add links in docs to glossary
- Expose
prepared
flag via kernel status dictionary - Add introductory text for models in documentation
- Add
+=
operator for compartment model - Add spike-transmission test to multithreading test
- Allow to disconnect with
SynapseCollection
s as arguments - Add support for
Parameter
objects forindegree
andoutdegree
insyn_spec
s - Getter for NodeCollection step on C++ level
- Abort NEST if run using mpirun but compiled without support for MPI
- Add compiler version to nest-config
- Allow more than one optimization flag to be set when running CMake
- Allow setting host and port for the MPI enabled NEST Server from environment variables
Bug fixes
- Fix spatial attribute positions of sliced NodeCollection
- Make pynestkernel compatible with NumPy 1.24
- Correctly connect MUSIC output proxies when using multiple MPI processes in NEST
- Generalize double and integer synapse parameters in
connect_arrays()
- Fix problems with Conda path substitutions in binaries
- Fix CMake check of Random123 generators
- Fix error handling in test suite
- Deprecate
spike_dilutor
and prohibit its use with multiple threads - Prohibit multimeter-recording from noise_generator in multithreaded mode
- Ensure correct model id and model name when models are copied
- Use MAKE variable to pass correct info to child.
- Add conversion from
IntegerDatum
toConstantParameter
increate_parameter()
- Adjust documentation to the actual behaviour of
-Dwith-optimize
- Fix errors in clang-format version handling
- Remove padding of extent if not specified when creating free positions
- Collect all information on changes in "what's new"
- Correct library information provided to extension modules
- Use the PR base as reference SHA when getting changed files
- Update models to accept parameter objects as node parameters
- Temporarily disable OpenMP for MacOS CI runner until libomp problem solved
- Fix memory leak with
ResetKernel
- Use Python 3.8 compatible
lru_cache
- Move MUSIC status printout up in the summary
- Fix mocker regex to avoid failures when building documentation
- Fix typo in model docstring
- Ensure that test_get_set.py works also in without threading
- Fix output of nest.spatial in Read the Docs
Maintenance updates
- Remove warning for conda-forge install
- Add link to release notes for 3.3
- Add missing PyNEST examples to documentation
- Change
assertEqual
toassertAlmostEqual
in node parametrization tests - Alter text in documentation for 'release notes'
- Transfer changes from release branch back to master
- Fix Sudoku link in examples
- Add note to What's new in 3.4 about new functions
- Update port in NESTServerClient
- Version shared objects
- Remove deprecated models iaf_psc_alpha_canon and pp_pop_psc_delta
- Use
updateValue< long >
instead ofupdate_value_int
inquantal_stp_synapse
- Fix stdout and status of nest-server
- Rename
calibrate
method topre_run_hook
- Enable full MacOS build as part of CI
- Remove
pathlib
fromrequirements.txt
as this is a Python-builtin now - Removed
CMAKE_INSTALL_PREFIX
from default MacOS install instructions - Add GIF / GLIF acronyms to model title in documentation
- Improve Docker usage documentation
- Ensure that thread-shared variable is initialized by single thread
- Report actual number of synapse created in PyNEST Brunel examples
- Ensure consistent return values in "impossible" situations even if assertions are compiled out
- Remove remaining uses of
float
datatype from C++ code - Represent singularity-safe propagators for IAF models as classes
- Fix broken link in documentation
- Fix sign in equation documentation of spatial connection kernels
- Mark MPI as required if explicitly requested during CMake configuration
- Update clang-format requirement and code to version 13
- Change all apostrophe and quote characters to plain ASCII
- Remove the SLI-based NEST configuration file
- Add note about PYNEST_QUIET in docstring
- Include NEST GPU into the documentation
- Add link to NEST Desktop lecture material
- Align CONTRIBUTING.md with contributing section on Read the docs
- Update environment.yml and fix link to API documentation
- Fix some dimensions in developer documentation adex neurons
- [Fix image scaling in docs](h...
NEST 3.3
NEST 3.3 is the result of 525 commits by 20 developers since NEST 3.2 which was released on 2022-01-21.
Highlights of this release are
-
improvements in parallel network construction time if large numbers of devices are present due to accelerated node lookups. In specific models this has been shown to reduce network construction time by a factor up to 20 (see #2290).
-
NEST now has full support for generic compartmental neurons (#1895), which paves the way for studies investigating the effect of neuron model simplifications from rich multi-compartment models to simple point neurons within a single simulation framework.
Enhancement
- Accelerate node lookup in presence of many nodes without proxies
- Adding framework for compartmental models
- Update
operator+=
logic for composite NodeCollection - Make sure node parameters can be iterables or Parameter when creating spatial nodes
- Make the C++ standard configurable
Bug
- Fix version information when not related to a release
- Fix issues encountered by the Fujitsu compiler
- Fix GHA clang format issue
- Fix
modelName
in external module - Handle single node in PlotLayer
- Fix naming clash in Clopath plasticity neurons
Maintenance
- Temporary fix for noqa problems.
- Clean up the kernel in preparation for the module system refactoring
- Re-add version number for clang-format
- Fix search field on readthedocs
- Clean up and add links for compartmental model docs
- Fix static code check in CI
- Remove superfluous OpenMP barriers
- Make
plot_weight_matrices.py
run - Update version in conf.py
- Update microcircuit reference data
- Clean up OpenMP pragmas
- Fix version warning
- Remove set sender node id from deliver events pr
- Replace UWSGI by Gunicorn to start NEST Server instance
- Fix typo in docstring
- Fix typo in tsodyks synapse documentation.
- Remove CMake options and other references to BlueGene and K-computer
- Update environment file with clang-format and cppcheck and update docs
- Add accuracy tests for precise models lacking them
- Reduce memory consumption in node creation with many threads
- Disallow specifying lists of synapse models
- Ensure membrane potential of non-linear neuron models is fully clamped during refractory phase
- Explain parrot neurons and clean up of NEST setup in Potjans_2014 documentation
- Remove installation of python2-dev from CI setup.
- Fix condition in bash script in case of non-existent variable
- Return empty dictionary if
get()
is called on empty SynapseCollection - Remove unused variable and clean up comments
- Fix broken links in release notes
- Correct doc for with-python CMake option and remove Python 2 check.
- Fix clang 13 pedantic warnings
NEST 3.2
NEST 3.2 is the result of 959 commits by 22 developers since NEST 3.1 which was released on 2021-09-15.
This release mainly contains smaller bug fixes and improvements. Most development work went into improving support for new language features in Python and C++ and updating the setups for Python packaging.
Addendum: When installing this release from source, please apply the patch-file attached to these release notes. Download the file to the source directory of NEST, then run patch -p1 < nest-simulator-3.2-p1-VersionNumber.patch
. This fixes the version number reported by PyNEST.
Enhancements
- Fall back to CMake's
Development
package for Python in case of errors - Add STDP synapse unit testing
- Implement hover tooltips in documentation
- Link to Zenodo citation page in docs
- Implement version role for Sphinx
- Handle empty and non-absolute installation prefixes
- Update nest-server command
- Update documentation and refactor comments in iaf_psc_exp current input
- Add connectivity diagram to
hpc_benchmark
documentation
Bug fixes
- Distribute node positions over MPI processes
- Fix version warning in documentation
- Fix compiler warning issued by newest Clang
- Fix quirks with import machinery in Python 3.8
- Fix container access in corner cases and add
_GLIBCXX_ASSERTIONS
checks to all test configurations - Tidy up SLI startup, especially opening of sli-init.sli
- Properly import missing functions in PyNEST
hl_api
- Attribute assignment safeguards for
NestModule
andSynapseCollection
- Remove erroneous check in stimulation device base class
Maintenance
- Use
Development.Module
to be compatible with static Python interpreter - Fix broken links on the download page
- Fix failing Read the docs build
- Update links for live media image
- Add warning to installation docs about Conda package
- Concise and static Python imports
- Remove
ConnPlotter
from the NEST code base - Update security support for 3.x releases
- Make volume transmitter inherit from Node instead of ArchivingNode
- Make reference guide and NEST 3 features more visible on Read the Docs
- Restructure CI pipeline configuration
- Fix Clang warnings
- Update outdated code snippets in documentation
- Change internal links to
ref
role in user documentation - Add additional reference to Izhikevich model documentation
- Fix typo in hpc_benchmark
- Removed
object
base from class argument lists - Remove unused parameter from STDP unit test
- Fix Python codestyle
- Remove some merge conflict artifacts
- Bump sphinx version to >=4.0.2 to remove jinja<3 requirement
- Restructure
cmake_options.rst
- Format error messages in
jonke_synapse
andstdp_dopamine_synapse
- Update clang-format to version 9
- Clean up Sphinx warnings related to models
- Enhance and clean up model documentation
- Fix path to connection diagram for HPC benchmark example
- Explicitly use nest namespace to avoid compiler confusion
- More detailed explanation of why C++ ADL requires nest::apply()
- Fix file formatting error
- Update version in conf.py
- Fix PEP8 errors in doc helper files
- Clean up OpenMP pragmas
- Fix version warning