What's New
- Dynamic selection of legacy vs modern units using HOC/Python API (default : modern)
- Faster reaction-diffusion support
- Initial GPU support using integration of CoreNEURON
- Binary installer for new Apple M1 platform
- Binary wheel distribution for Python 3.9 and Python 2.7
- Release of NMODL version 0.3 (available as python wheel)
- Versioned documentation available via nrn.readthedocs.io
- CMake as a primary build system for NEURON and Interviews
Breaking Changes
h.Section now interprets positional arguments as name, cell. Previously positional arguments were interpreted in the other order. (Calling it with keyword arguments is unchanged.)
- For 3d reaction-diffusion simulations, the voxelization and segment mapping algorithms have been adjusted, especially around the soma. Voxel indices and sometimes counts will change from previous versions.
Deprecations
- Five functions in the
neuron module: neuron.init, neuron.run, neuron.psection, neuron.xopen, and neuron.quit.
- Autotools build is deprecated and will be removed in the next release. Use CMake instead.
- Python 2 and Python 3.5 support is deprecated and will be removed in the next release. Use
Python >= 3.6
Bug Fixes
For the complete list of bug fixes, see the list on the GitHub here.
Improvements / Other Changes
- Allow for two point (single section) SWC somas
- GitHub Actions and Azure as primary CI systems. Travis CI removed.
- GitHub Releases provides full source tarballs, binary installers and python wheels.
- Improved testing and CI infrastructure including GPUs
- nrn-build-ci repository test nightly builds for Ubuntu 18.04, Ubuntu 20.04, Fedora 32, Fedora 33, CentOS7, CentOS8, Debian Buster (10) and macOS 10.15 platforms.
- Improved integration of CoreNEURON
- Support for recent numpy version
- Various build improvements on Linux, MacOS and HPC platforms
- Documentation from various repositories is consolidated under
nrn repository
- New releases via Spack and Easybuild package managers
- Fix deadlock when compiling NEURON with AVX-512
- Add backward-cpp for better backtraces
- NEURON_MODULE_OPTIONS environment variable to pass in nrniv options before
neuron import
Upgrade Steps
Existing models should work without any changes. In order to upgrade NEURON version you can:
- Use python wheels provided for Linux or Mac OS platform
- Use binary installer provided for windows
- Install from source, preferably using CMake build system
- For new version, it's always a good idea to start over from scratch with nrnivmodl (deleting existing directory like
x86_64)
See Installation section under nrn.readthedocs.io/. In the very rare case that numerical differences exist, check selection of legacy vs modern units.
Contributors
See the list of contributors on respective GitHub projects:
Feedback / Help