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 - Port
issue-264.sli
to Pytest - Port
issue-211.sli
to Pytest - Port
issue-1085.sli
to Pytest - Port
issue-1100.sli
to Pytest - Port
issue-1140.sli
to Pytest - Port
issue-1212.sli
to Pytest - Port
issue-1242.sli
to Pytest - Port
test_spike_poisson_ps
from SLI-2-Py - Port
issue-1305.sli
to Pytest - Port
issue-1366.sli
to Pytest - Port
issue-1610.sli
to Pytest - Port
issue-1640.sli
to Pytest - Port
issue-2282.sli
to Pytest - Port
test_multisynapse_models
from SLI-2-Py - Port
test_sinusoidal_poisson_generator
from SLI-2-Py - Port
test_pulsepacket_generator
from SLI-2-Py - Port
issue-351.sli
to Pytest - Port
issue-368.sli
to Pytest - Delete SLI tests that have been ported to Pytest
- Add
sli2py_ignore
subdirectories to testsuite - Port
issue-410.sli
to Pytest - Port
ticket-80-175-179.sli
to py - Remove redundant SLI tests
- Test iaf ps psp accuracy (sli2py)
- Test iaf ps psp poisson accuracy (sli2py)
- Move deprecated tests to
sli2py_ignore
directory - Port
test_spike_recorder
from SLI-2-Py - Port
test_threaded_spike_recorder
from SLI-2-Py - Port
test_spike_rec_reset
from SLI-2-Py - Remove
test_spike_transmission_ps.sli
andtest_spike_transmission_ps_iaf.sli
- Port
test_spin_detector
from SLI-2-Py - Port
test_step_current_generator
from SLI-2-Py - Port
test_ntree_split
from SLI-2-Py - Improve robustness of
test_ticket_80_175_179.py
- Port
test_oversize_mask
from SLI-2-Py - Port
test_rate_connections
from SLI-2-Py - Port ticket-459.sli to Pytest and fix name for ticket_754.py
- Port
issue-521.sli
to Pytest