diff --git a/dev/tools/repo_stats.py b/dev/tools/repo_stats.py index 928e8082a..de89ce4f7 100644 --- a/dev/tools/repo_stats.py +++ b/dev/tools/repo_stats.py @@ -11,7 +11,7 @@ raise ValueError('Need to specify an API token') p = Github(API_TOKEN) -last_release = datetime.datetime(year=2023, month=7, day=7) +last_release = datetime.datetime(year=2024, month=7, day=1) authors = [] comments = p.get_repo('brian-team/brian2').get_issues_comments(since=last_release) comment_counter = 0 diff --git a/docs_sphinx/advanced/random.rst b/docs_sphinx/advanced/random.rst index 06fc5a29c..ea9f89998 100644 --- a/docs_sphinx/advanced/random.rst +++ b/docs_sphinx/advanced/random.rst @@ -17,6 +17,8 @@ each random number. For :ref:`cpp_standalone`, the random number generation is b Mersenne-Twister implementation that is used by numpy. The source code of this implementation will be included in every generated standalone project. +.. _seeding_and_reproducibility: + Seeding and reproducibility --------------------------- Runtime mode diff --git a/docs_sphinx/introduction/release_notes.rst b/docs_sphinx/introduction/release_notes.rst index 1d4f127f0..ec141c079 100644 --- a/docs_sphinx/introduction/release_notes.rst +++ b/docs_sphinx/introduction/release_notes.rst @@ -1,5 +1,47 @@ Release notes ============= +Brian 2.8.0 +----------- +This release comes with an important performance improvement for random number generation in C++ standalone mode, various minor improvements and bugfixes, as well as a +number of behind-the-scenes improvements for our release process and compatibility with Python 3.13. + +Selected improvements and bug fixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- Faster simulation of random numbers (by replacing our outdated random number generator), now up to 5 times faster, speeding up all uses of random numbers + including noise and Poisson groups/inputs. Note that the random number algorithm behind the scenes is still the same, so simulations will still use the + same sequence of random numbers with a given seed, with the limitations given in :ref:`seeding_and_reproducibility` (:issue:`1559`). +- `~CPPStandaloneDevice.delete` has a new option to delete arrays stored on disk for the ``run_args`` feature – this can be useful for training paradigms, + where the ``run_args`` are used to provide a large array of weights from a previous run. +- Fixes for compatiblity with recent versions of ``setuptools`` and ``sympy``. Thanks to Étienne Mollier for noticing and fixing a related test failure (:issue:`1553`). + +Infrastructure and documentation improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- Full compatibility with Python 3.13, and corresponding binary wheels. +- A new mechanism to automatically update our ``CITATION.cff`` and README files with the latest links to the Zenodo and Software Heritage archives, so that they are + always up-to-date with the latest release (:issue:`1575`). +- We now provide a ``codemeta.json`` file for Brian (see https://codemeta.github.io; :issue:`1574`). +- We know push docker images for the latest release to the GitHub Container Registry (see https://github.com/brian-team/brian2/pkgs/container/brian and https://github.com/brian-team/brian2/pkgs/container/brian-dev) in addition to Docker Hub (:issue:`1551`). +- New example: :doc:`../examples/frompapers.Diehl_Cook_2015` – note that this example needs a long time to run, a faster version using C++ standalone mode is in preparation. + Thanks to Björn A. Lindqvist for contributing this example (:issue:`1548`). + +Contributions +~~~~~~~~~~~~~ +GitHub code, documentation, and issue contributions (ordered by the number of +contributions): + +* Marcel Stimberg (`@mstimberg `_) +* `@neworderofjamie `_ +* `@NickChernov `_ +* Kyle Johnsen (`@kjohnsen `_) +* Liam Keegan (`@lkeegan `_) +* Étienne Mollier (`@emollier `_) +* Bernhard Vogginger (`@bvogginger `_) +* Dan Goodman (`@thesamovar `_) +* `@Treetalker `_ +* Björn Lindqvist (`@bjourne `_) +* `@wcx12306 `_ + + Brian 2.7.1 ----------- This minor bug-fix release contains a fix for a regression in the handling of the ``on_event`` argument of `Synapses` for custom events and non-default pathways,