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
isortcheck in CI - Add
astrocyte_lr_1994to 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
NodeCollectionslicing 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-formatpre-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
pandasimport intryblock - Fail gracefully when
node_id0 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.pyformatting 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_pscandglif_conddocumentation - 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_refin 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_multimeterfrom SLI-2-Py - Refactor SLI test for spike generator to Python
- Port
test_GetConnectionsfrom SLI-2-Py - Port
test_multiple_random_source_steppingfrom SLI-2-Py - Port
test_ginzburg_and_mccullochfrom SLI-2-Py - Port
test_distancefrom SLI-2-Py - Port
issue-77.slifrom SLI-2-Py - Port
issue-545.slito py - Port
issue-105.slito Pytest - Port
issue-264.slito Pytest - Port
issue-211.slito Pytest - Port
issue-1085.slito Pytest - Port
issue-1100.slito Pytest - Port
issue-1140.slito Pytest - Port
issue-1212.slito Pytest - Port
issue-1242.slito Pytest - Port
test_spike_poisson_psfrom SLI-2-Py - Port
issue-1305.slito Pytest - Port
issue-1366.slito Pytest - Port
issue-1610.slito Pytest - Port
issue-1640.slito Pytest - Port
issue-2282.slito Pytest - Port
test_multisynapse_modelsfrom SLI-2-Py - Port
test_sinusoidal_poisson_generatorfrom SLI-2-Py - Port
test_pulsepacket_generatorfrom SLI-2-Py - Port
issue-351.slito Pytest - Port
issue-368.slito Pytest - Delete SLI tests that have been ported to Pytest
- Add
sli2py_ignoresubdirectories to testsuite - Port
issue-410.slito Pytest - Port
ticket-80-175-179.slito py - Remove redundant SLI tests
- Test iaf ps psp accuracy (sli2py)
- Test iaf ps psp poisson accuracy (sli2py)
- Move deprecated tests to
sli2py_ignoredirectory - Port
test_spike_recorderfrom SLI-2-Py - Port
test_threaded_spike_recorderfrom SLI-2-Py - Port
test_spike_rec_resetfrom SLI-2-Py - Remove
test_spike_transmission_ps.sliandtest_spike_transmission_ps_iaf.sli - Port
test_spin_detectorfrom SLI-2-Py - Port
test_step_current_generatorfrom SLI-2-Py - Port
test_ntree_splitfrom SLI-2-Py - Improve robustness of
test_ticket_80_175_179.py - Port
test_oversize_maskfrom SLI-2-Py - Port
test_rate_connectionsfrom SLI-2-Py - Port ticket-459.sli to Pytest and fix name for ticket_754.py
- Port
issue-521.slito Pytest