You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/source/releases/0.13.4.rst
+68-5Lines changed: 68 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,13 @@
2
2
Neo 0.13.4 release notes
3
3
========================
4
4
5
-
22 October 2024
5
+
21 October 2024
6
+
7
+
This release of Neo contains bug fixes across many IOs, a new IO for :code:`NeuroNexus`, drop of Python 3.8, NumPy 1.20 & 1.21, still with a focus on the planned 1.0 release.
8
+
Additionally Neo now supports Quantities >=16.1 which brings us closer to support for NumPy 2.0 +. At the :code:`RawIO` level a new :code:`buffer api` has been introduced
9
+
with the goal of better grouping streams of data together. This is an ongoing effort to provide better access to streams of data that are typically analyzed together without
10
+
changes to the public API.
6
11
7
-
This release of Neo contains bug fixes, a new IO for :code:`NeuroNexus`, drop of Python 3.8/NumPy 1.20 & 1.21, still with a focus on the planned 1.0 release.
8
12
This point release will be the last release to not support Python 3.13 and NumPy > 2.0.
9
13
10
14
See all `pull requests`_ included in this release and the `list of closed issues`_.
@@ -15,12 +19,53 @@ Updated dependencies
15
19
16
20
Neo has a limit of NumPy >= 1.22.4, < 2.0.0
17
21
Neo now supports Python >= 3.9, <3.13
22
+
Neo has a limit of Quantities >= 16.1
23
+
Neo has a limit of dhn_med_py < 2.0.0 (for reading MED format)
18
24
19
-
CI Additions
25
+
Deprecations
20
26
------------
21
27
28
+
As Quantities has dropped support for the :code:`copy` argument when making Quantities arrays to be NumPy 2.0 compatible, the :code:`copy` argument
29
+
has also been deprecated in all Neo core objects (e.g. :code:`SpikeTrain`, etc.). For this version and the next version the default is now :code:`copy=None`.
30
+
If :code:`copy=True` or :code:`copy=False` are used an error will be raised. This also means that some functionality for rescaling and dtype conversion, which
31
+
required :code:`copy=True` are no longer possible. Appropriate errors are raised if the user tries these now impossible behaviors at construction.
32
+
33
+
Additional changes that occurred in Quantities can be viewed at their changelog:
The motivation for this :code:`RawIO` was that many IOs have buffers of data (memmaps/hdf5) files, which allow for multiple unrelated streams of data to be packaged
88
+
together. This has led to some inconsistencies in how IOs access streams of data. For example, the :code:`PlexonIO` stores WideBand and Filtered versions of the same
89
+
data, but the end user likely wouldn't want to analyze them both at the same time as that would be duplication of information. :code:`SpikeGLX` also makes use of a sync
90
+
channel which is stored with the electrophysiological channels, but should not be analyzed as an ephys channel. The Buffer API will be an ongoing set of PRs at the
91
+
:code:`RawIO` level to better clarify how data enters and is mapped in Neo versus how the end-user might request streams of data. We hope that this process will allow
92
+
the end-user better access to the data they want without having unrelated data mixed in. Importantly the public API is not being affected by this process at all. The end-user
93
+
will still request their desired stream using :code:`stream_index` argument when interacting with a :code:`RawIO`.
94
+
95
+
In this release, each IO was divided into whether it would fit with the buffer api requirements or not and the initial :code:`buffer_id` was applied to all IOs. This step
96
+
has not changed any behavior in Neo. But the :code:`RawIO.header` information will now have an additional field that will be used in future releases of Neo under-the-hood.
97
+
98
+
We want to emphasize this is not a public API change and over the next version we hope to fully implement this new schema to allow for better interaction with data at the
99
+
:code:`RawIO` and :code:`IO` levels of Neo.
38
100
101
+
This project has largely been spearheaded by Samuel Garcia and we thank him for his herculean efforts.
0 commit comments