Releases: nest/nest-simulator
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
NEST 3.1
NEST 3.1 is the result of 460 commits by 17 developers since NEST 3.0 which was released on 2021-06-10.
This release contains many bug fixes and improvements, especially in the Python setup where support for Python environments was improved.
The PyNEST API was extended to support a more intuitive way of setting and retrieving kernel parameters. Where you previously had nest.SetKernelStatus({"resolution": 0.2})
in your simulation script, you can now just write nest.resolution = 0.2
. Kernel attributes now come with their own docstrings and even tab-completion works for them! Additionally, PyNEST functions are now directly linked to the API reference throughout the documentation.
The testsuite now handles MPI tests more consistently and uses pytest for all Python tests.
Enhancements
Normal
- Add support for different virtual environment types for Python
- Link PyNEST functions in documentaton
- Automatic conversion of integers to doubles when setting parameters
- Add Arbor backend to GitHub Actions testing matrix
- Modify and improve colors in style sheet for user documentation
- Add intersphinx to NEST documentation with links to related projects
- Check validity of parameters given to SetKernelStatus
- Implement time limit for duration of update cycles
- Add kernel attributes and get/set functions to PyNEST module
- Automatically flag issues and pull-requests as stale
- Link to Zenodo citation page in docs
Bug fixes
Critical
High
- Set
have_connections_changed
correctly when we have fewer connections than MPI ranks - Correct documentation of
local_spike_counter
- Fix setting of
PYEXECDIR
- Fix use of thread-specific distributions in random parameters
- Restrict calls to
set_connections_have_changed()
to thread 0 - Fix examples to make them run
- Undo link to PyNEST API in SLI documentation
- Detect pytest executable more robustly
- Fix import nest in NEST Server
- Check that timeout package is installed before running pytests
- Fix out of bound access on
pp_pop_psc_delta
andpulsepacket_generator
- Fix access of first element of an empty vector in pynestkernel
Normal
- Support apt-installed uwsgi in nest-server
- Fix build log parser failed test list
- Align
pkg_resources
query withsetup.py
name - Fix mismatched parenthesis in setup.py.in
Maintenance
Critical
High
- Replace PEP8 by pycodestyle
- Clean up NEST Server and fix deadlock
- Remove Arbor recording backend
- Add
pp_pop_psc_delta
to deprecation list
Normal
- Add functions to access information about simulation time
- Refactor the
Parameter
classes - Add user-level documentation for built-in timers
- Remove outdated CMake options
- Remove 'nest-' from setup.py version
- Update citation information
- Remove machine-specifc code for K computer
- Warn users they are using latest on ReadtheDocs
- Minor improvement to microcircuit example
- Remove undocumented
weighted_spikes_{ex,in}
fromiaf_psc_{alpha,exp}
recordables - Add license to jupyter notebooks
- Fix figure in spatially structured networks tutorial
- Replace pass-by-value with pass-by-const-reference in
Vose
constructor - Turn docstring with math into raw string
- Add default values to
SetKernelStatus
parameters - Update security support for new release
- Relocate and refactor PyNEST testsuite
- Undo Markdown-to-reStructuredText conversion in doxygen comment
- Pave the way for per-version transition guides
- Remove outdated comment on Python dynamic library flags
- Update Python version check in
__init__.py
- Add warning about synaptic plasticity mechanisms and precise spike timing
- Replace the
Vose
class withstd::discrete_distribution
- Copy
syn_spec
to prevent it being modified - Update Random123 library to v1.14.0
- Warn about the removal of
nest.hl_api
- Update security support for 3.1 release
NEST 2.20.2
NEST 2.20.2 is the result of 15 commits by 7 developers since NEST 2.20.1 which was released on 2020-12-02.
This release contains mainly bug fixes and backports. Most notably it brings support for detailed timers (#2086, which allows more consistent comparisons between benchmark results obtained with this and later versions.
In particular it contains
NEST 2.14.1
NEST 2.14.1 is the result of 14 commits by 6 developers since NEST 2.14.0 which was released on 2017-10-20.
This patch release contains an optimization for the Potjans & Diesmann (2014) model and adds builtin detailed timers and corresponding documentation, which allows more consistent comparisons between benchmark results obtained with this and later versions.
NEST 3.0
NEST 3.0 is the result of 5043 commits by 47 developers since NEST 2.20.0 which was released on 2020-01-28.
With the release of NEST 3.0, we introduce a ton of new features to improve how you create and manage simulations.
NEST 3.0 introduces a more direct approach to accessing neuron and device properties and to interacting with synapses. You can now read and write properties of nodes and connections with the functions get()
and set()
or by direct member access (e.g., neuron.V_m = -55.0
). Parameter objects make mathematical and probabilistic functions available to pick neuron properties, create spatial positions, define connection probabilities, and much more. In addition, it is now way easier to perform operations such as slicing, iterating, and tests for equality on collections of neurons and synapses.
NEST 3.0 replaces the old random number generator library with a new one based on the C++ Standard Library. The new library also provides generators from the Random 123 library, including crypotgraphic generators. Most notably, you can now much more easily seed all generators and change the type of random number generator you are using.
We have improved how recordings from simulations are handled, making the infrastructure more modular and extensible. In addition to the previously supported recording methods, a new backend for SIONlib is now available. The interface for stimulation devices can now handle data from external sources, such as other simulators.
The Topology Module is no longer a separate module; it is integrated within PyNEST, and now referred to as support for spatially-structured networks.
NEST Server is a novel backend to NEST that allows to run simulations via a RESTful API. Instead of directly importing nest
into your Python session, the code that controls the simulation is sent over HTTP to NEST Server in this use-case.
Enhancements
Critical
High
- Add Urbanczik-Senn synapse and supported neuron model
- Integrate web service for RESTful API to NEST Simulator
- Add option to generate connections from NumPy arrays
- Refactor PyNEST Microcircuit example Potjans_2014
- Add infrastructure for generic input backends to feed devices
- Improve visibility of NEST 3.0 conversion guides
- Update model docs to reStructuredText format II
- Update PyNEST examples to use NEST 3 features
- Enhance Connect to work seamlessly with arrays and lists
- Move to Ubuntu Bionic on Travis
- Modernize random number generator setup
- Add information on NEST and multiprocessing
- Create connections with lists of synapse dictionaries
- Update globals to support execution of hpc_benchmark.py example
- Add PyNEST function to obtain local VPs
- Switch to Github actions for CI testing
- Replace conda environment files with one file covering all needs
- Add MPI-enabled version of NEST Server and NEST Server documentation
- Revise quantal STP example
Normal
- Add support for rate data in MUSIC proxies
- Communication via compressed spikes
- Update issue templates (bugs/features)
- User documentation extractor
- Correct documentation of the stdp_dopamine_synapse model
- Create documentation workflow page
- Create template for documentation issues
- Improve documentation of rate-based models
- Add array indexing to NodeCollections
- Change definition of realtime factor in print_time
- Fix error in serializable
- Allow direct conversion from NodeCollection to numpy
- Avoid naming conflicts by installing shared objects to lib/nest instead of lib
- Add information about nest_vars.sh and update Linux installation instructions
- Copy the current Microcuircit documentation for use with Readthedocs
- Set and get structural plasticity status parameters through set and getKernelStatus
- Add min_rate to specify a non-zero rectfying rate for rate neuron models with input noise (rate_neuron_ipn)
- Systematize error messages for Connect failures
- Get distances between sources and targets in SynapseCollection
- Fix Izhikevich model initial conditions
- Refer to Vim syntax highlighting
- Add special cases for empty NodeCollections
- Add documentation how to install NEST via homebrew
- Add Jonke synapse
- Add getters/setters for excitatory/inhibitory synaptic conductance state
- Add guide about weight normalization
- Clarify conda installation with MPI
- Add badges with versions and statistics to README
- Add functionality for getting/setting synaptic currents in iaf_psc_exp_ps model
- Add tips for installing NEST with conda to documentation
- Efficient initialization of membrane potentials with original and optimized conditions in Potjans_2014
- Update PyNEST README to reStructuredText and fix broken link in documentation
- Make configuration options more visible in documentation
- Use ring buffer that allows for multiple values per slot
- Timers for Benchmarking (related to issue #1471 "Basic Instrumentation")
- Add PyNEST version dunder
- Add description for SIONlib file format to backend documentation
- Add description for "Two neuron example"
- Add documentation about our CI pipeline
- Fast and safe Siegert implementation
- Add synapse_label and receptor_type support to spatial connections
- Add checker for forbidden types
- Revised documentation on synapse specification slightly
- Add a Python script reporting Python imports from the NEST code base.
- Add example for how to store and restore a network.
- Restructure NEST 3.0 guides
- ...
NEST 2.20.1
NEST 2.20.1 is the result of 105 commits by 12 developers since NEST 2.20.0 which was released on 2020-01-28.
This release contains mainly bug fixes and backports. Most notably it fixes issue #1394, which lead to incorrect simulation results under certain circumstances.
Fixed bugs
- Use vector of integer for per-thread bool indicators (backport)
- Switch from bisection method to regula falsi method in precise models (backport)
- Improve BlockVector to fix issues when sorting with recent versions of Boost (backport)
- Fix GetConnections to not include erroneous connections when using multiple threads (backport)
- Fix misuse of outdated variable that led to an impossible condition (backport)
- Use proper delete[] and atomic read in CompletedChecker (backport)
- Updated CMakeLists and iterator_pair for MyModule compatibility in 2.20.1
- Add missing initialiser in copy constructor for stdp_nn_pre-centered_connection (backport)
Maintenance
- Final updates in documentation and the debian package for v2.20.1
- Add "Acknowledgements" section to v2.20.1 welcome page
- Refactor SendBufferPosition, fail on query with rank outside of range (backport)
- Autodetect Python include path and library file instead of hardcoding them and bump Python version (backport)
- Deprecate CGConnect in SLI and PyNEST and CG interface functions in PyNEST
NEST 2.20.0
WARNING: This version of NEST is affected by issue #1394, which can lead to incorrect simulation results under certain circumstances. Please double-check all simulation results obtained with this version and if in doubt, re-run using a different split between MPI processes and threads. The description of the issue contains more details and will be updated when new information becomes available.
NEST 2.20.0 is the result of 454 commits in 77 pull requests by 25 developers since NEST 2.18.0 which was released on June 7, 2019.
This release wraps up the 2.x series of NEST and contains many improvements and bug fixes. Highlights are the addition of the generalized leaky integrate-and-fire neuron models by the Allen Institute, STDP synapses with nearest-neighbor spike pairing schemes and improved documentation, available on Read The Docs. Following is a list of all merged pull requests:
Enhancements
Models
- Add STDP synapses with nearest-neighbor spike pairing schemes
- Add generalized leaky integrate-and-fire (GLIF) neuron models by Allen Institute
- Add iaf_psc_alpha_ps neuron model
Installation
- Add conda-forge installation documentation for Linux and MacOSX
- Add Fugaku platform CMake file
- Clean the build process for the NEST Debian packages
- More informative compiler information in CMake summary
Documentation
- Added initial membrane potential options to microcircuit example
- Add initial membrane potential options to microcircuit example
- Add new options for installation and improve instructions for NEST
- Updated/extended macOS install instructions
- Update DOI and release buttons in README; add Zenodo reference to NEST 2.18.0
- Add link on website to new PyNEST templates and update citations
- Provide guidelines to writing to mailing list in documentation
Kernel
- Introduce time-driven spiking connections
- Add support for sending secondary events to and from devices
- Add warning about invalid connection descriptors when new connections are created
- Use an unsigned data type for thread in spike data
Infrastructure
PyNEST
- New templates for pynest examples and api
- Allow specifying arrays of values in the synapse specification when connecting with fixed_total_number
Bug fixes
Models
Documentation
Kernel
- Fix multiple definition of rho build complain observed on AArch64 with FCC
- Fix GetConnections to correctly get connections where the target is a global receiving device
- Fix logical error in elseif-statements in connect functions
- Check variables of GSL binomial random generator where they are set
- Ensure number of connections for fixed total number is properly set
- Fix MyModule by incorporating modelsmodule refactoring from #1069
- Avoid segfault when using a weight recorder with a probabilistic synapse
Infrastructure
Maintenance
Models
Installation
- Fix nest_vars in case of undefined PYTHONPATH
- Cleanup for the K computer specific CMake file for v2.18
- Fix up dependencies in Ubuntu install instructions
- Files needed to build Debian packages (.deb)
- Fix extraction of version number if sources are inside another Git repository
- Let uninstall of NEST Debian package also delete script in profile.d
Documentation
- Convert topology user manual to ReStructuredText
- Update links to model directory in docs
- Fix PyNEST installation instructions
- Update download page for 2.18 and conda-forge
- Correct typo in random number documentation
- Fix PyNEST API generation for documentation using mock
- Add updated NEST examples to Read The Docs
- Replace iaf_neuron by iaf_psc_alpha in MUSIC tutorial
- Autogenerate PyNEST examples from source with sphinx_gallery
- Update syntax formatting for terms in documentation
- Fix broken CSS style
- Update mailing list email address
- Small typographical updates to user documentation
Kernel
- Refactor registration of models in modelsmodule
- Increase maximum line length in source code formatting style from 80 to 120
- Unify coeffarray_as_d and coeffarray_as_uint via union
- Add missing include of sys/time.h
- Fix threading issue when connecting
- Remove spurious thread_local_connectors update
- Fix rounding issue when setting small resolution
- Improve information given by error messages typically triggered by Connect
Infrastructure
- Add tests for libnestutil/streamers.h
- Make version information consistent
- Update FindLibNeurosim to take Python version into account
- Remove the remaining markdown config in docs
- Skip deployment in Travis CI testsuite when not running a build
- Deploy build artifacts only when the build flag is set in the reply section
- Change the deployment branch to master
- Fix cppcheck usage in Travis CI testsuite
- Switch to GCC8 as default in continuous integration tests on Travis
- Fix formatting in test_stdp_nn_synapses.py
- Add security guidelines
- Moving to Python3.x on OsX
- Replace Python version by newest available on Travis
PyNEST
NEST 2.18.0
WARNING: This version of NEST is affected by issue #1394, which can lead to incorrect simulation results under certain circumstances. Please double-check all simulation results obtained with this version and if in doubt, re-run using a different split between MPI processes and threads. The description of the issue contains more details and will be updated when new information becomes available.
NEST 2.18.0 is the result of 116 pull-requests (1128 commits) by 31 developers since NEST 2.16.0 which was released on 2018-08-21.
This release provides a number of new neuron and plasticity models and additional functionality. It improves memory allocation and performance during network construction. It includes a number of bug fixes and is the first release that can be installed via aptitude and in an Conda environment directly from conda-forge.
Enhancements
Model
- Add iaf_cond_alpha_multisynapse model
- Add conductance based I&F model with beta shaped PSCs
- Implemented step_rate_generator for piecewise constant rate input
- Add Clopath STDP synapse and two supported neuron models
- Add new neuron model hh_cond_beta_gap_traub
- Added test_multiarea_model_siegert_rates
- Add optional escape noise in iaf_psc_exp
- Add iaf_psc_alpha_ps neuron model
Installation
Documentation
- Add documentation in Topology User Manual
- hpc_benchmark.sli is now invariant under different MPI-process/thread splits with fixed VP number
- Implement breathe extension and improve generation/format of model documentation for website
- Add documentation on how to create C++-level unit tests
Kernel
- Code compatibility with C++17
- New container for connections
- Allow compile-time configuration of bit-field sizes in Target class
- Add ostream operator template for std::vectors
- Connection sorting using Boost's sorting function
Infrastructure
- Docker image for the NEST simulator
- Build on Travis using clang and gcc compilers
- Conditional travis builds using build stages
- Travis build on OSX
Pynest
- Make detailed exceptions from lower levels available in PyNEST
- Show periodic boundary conditions for masks and kernel
- Serialize output of GetStatus and GetDefaults for JSON
- Add PyNEST function to synchronize MPI processes
- Change to dynamic import in PyNEST API
- Simplify dynamic import of PyNEST submodules
Bug-Fixes
Model
- Fix header installation and multiplicity handling in MyModule
- Fix stability of iaf_psc_exp_ps for equal membrane and synaptic time constants
- Fix creation of inhomogeneous poisson generator with parameters
- Fix normalization factor for iaf_cond_beta
- Fix uninitialized variable in iaf_psc_exp
Installation
- Fix bug in JURON CMake file
- MyModule example missing Event methods
- Fix static linking of modules
- Fix header installation and multiplicity handling in MyModule
- Change target directory for doxygen from source to build
Interpreter
- Fix interpretation of
verbosity
anddebug
command line arguments as input script filename - Prevent execution of --debug and --verbosity options as files
Documentation
Kernel
- Handle number_of_connections<1 in topology
- Make GetConnection filter by synapse label when only target attribute is given
- Take multiplicity into account in local_spike_counter
- Throw error if creating too many connections on one thread
- Enable the use of connections without delay in Topology
- Bugfix: Reliably create masked layer when using topology's convergent connect
- Fix MPI synchronization problem in presence of very small layers
- Fix multiple definition of rho build complain observed on AArch64 with FCC
Infrastructure
- Make test_refractory.py run with make installcheck
- Make testsuite run when nosetests is unavailable
- Fix bug in test_stdp_multiplicity.py
- Use configured instead of standard Python executable
- Make python mpitest run during installcheck
- Fix postsynaptic trace edge case
- Use relative path to logo in documentation
- Fix incorrect flag in ProcessOptions.cmake
Pynest
- Fix issue when running hh_phaseplane.py with Python 2
- nest.Disconnect parameters are consistent with documentation
- Fix broken PyNEST, remove traces of ResumeSimulation
- Check recorder type_id instead of model name in plotting modules
Maintenance
Model
- Make stdp_facetshw synapse consistent with the temporal fix for STDP numerical imprecision
- Update description of rate model neurons and change parameter names
- Fix issues in siegert_neuron
- Add deprecation warnings and changed format of the warnings
- Remove unused functions in hh_psc_alpha models
Installation
- JURON support: Add platform specific CMake files
- Follow-up patch on the CMake with-warning variable and add -Xg flag to CMAKE_CXX_FLAGS
- Add CMake flag to enable/disable hpc synapses
- 32-bit compatibility (64-bit gid on 32-bit architecture)
- CMake option and documentation for using the Intel compiler
- Fix nest_vars in case of undefined PYTHONPATH
- Cleanup for the K computer specific CMake file for v2.18
- Fix up dependencies in Ubuntu install instructions