NEST 3.7-rc1
Pre-release
Pre-release
terhorstd
released this
25 Mar 09:01
·
109 commits
to 3.7-develop
since this release
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 39 version bumps of CI dependencies continuously updated CI infrastructure and code quality checks.