========================
Neo 0.14.0 release notes
========================

17 January 2025

This release of Neo is now compatible with NumPy 2.0 for core and IOs (with the exception of :class:`MedIO`) as well as Python 3.13, 
and includes IO bug fixes with an eye toward a 1.0 release.

See all `pull requests`_ included in this release and the `list of closed issues`_.

Updated dependencies
--------------------

Neo now has a limit of NumPy >= 1.22.4

CI Improvements
---------------

To ensure compatiblility between pre- and post- NumPy 2.0 the CI was changed to test on the lowest supported Python (3.9) and
the highest supported Python (3.13) each with NumPy 1.26 as well as NumPy 2.0 for all :code:`RawIO` and :code:`IO` tests.

We also no longer use a cached conda env for testing as we see that there is no speed benefit to caching and we had some issues
with the caches getting corrupted.

Testing of additional Python-NumPy combinations for core tests were added (NumPy 2.0 and 2.1 with their respective Python versions).

Bug fixes and improvements in IO modules
----------------------------------------

Bug fixes and/or improvements have been made to :class:`NeuroNexusIO`, :class:`OpenEphysBinaryIO`, :class:`MicromedIO`, :class:`IntanIO` and :class:`SpikeGLX`.

Acknowledgements
----------------

Thanks to Zach McKenzie, Heberto Mayorquin, Andrew Davison, Luigi Petrucco, Alessio Buccino, and Samuel Garcia.

.. _`pull requests` : https://github.com/NeuralEnsemble/python-neo/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.14.0

.. _`list of closed issues` : https://github.com/NeuralEnsemble/python-neo/issues?q=is%3Aissue%20state%3Aclosed%20milestone%3A0.14.0