Skip to content

Tags: nipy/nibabel

Tags

5.4.2

Toggle 5.4.2's commit message

Verified

This tag was signed with the committer’s verified signature.
effigies Chris Markiewicz
5.4.2 (Wednesday 11 March 2026)

Bug-fix release in the 5.4.x series.

This release fixes an issue with automated deployment to PyPI.

5.4.1

Toggle 5.4.1's commit message

Verified

This tag was signed with the committer’s verified signature.
effigies Chris Markiewicz
5.4.1 (Tuesday 10 March 2026)

Bug-fix release in the 5.4.x series.

This release addresses test failures on shallow clones or when run with
``python -m pytest`` in Python 3.14+.

Bug fixes
---------
* Adjust tests to not depend on how pytest is run, or deep clones (pr/1478) (CM)

5.4.0

Toggle 5.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
effigies Chris Markiewicz
5.4.0 (Monday 2 March 2026)

New feature release in the 5.4.x series.

This release requires a minimum Python of 3.10 and NumPy 1.25, and has been
tested up to Python 3.14 and NumPy 2.4.

New features
------------
* Add mode parameter to :func:`nibabel.processing.conform` (pr/1396) (Clorindo Notte,
  reviewed by CM)

Enhancements
------------
* Label image axes consistently in cases of extreme obliquity (pr/1450) (Leonardo Ayala,
  reviewed by CM)
* Use :mod:`compression.zstd` or ``backports.zstd`` in preference to ``pyzstd``
  (pr/1444) (PM, reviewed by CM)
* Support PAR/REC files generated by Philips R11 consoles (pr/1430)
  (Alex Daniel, reviewed by CM)
* Add stub file for top-level nibabel module, improving support in code analyzers
  (pr/1436) (Jon Cluce, reviewed by CM)
* Use informative error message for missing file attribute in
  :class:`~nibabel.streamlines.tck.TCKFile` header (pr/1422)
  (Jon Haitz Legarreta Gorroño, reviewed by CM)
* Support ``ushort`` datatypes in MGH/MGZ files (pr/1415) (Benjamin Thyreau,
  reviewed by CM)
* Simplify :func:`nibabel.cmdline.utils.table2string` implementation (pr/1403) (CM)

Bug fixes
---------
* Fix type-checking errors in :func:`nibabel.volumeutils.rec2dict` (pr/1424)
  (Jon Haitz Legarreta Gorroño, reviewed by CM)
* Adapt to functools.partial becoming a method descriptor in Python 3.14
  (pr/1391) (Benjamin Beasley, reviewed by CM)

Maintenance
-----------
* Split pre-release tests into cron job (pr/1466) (CM, reviewed by Remi Gau)
* Adapt to numpy 2.5 deprecation of setting :attr:`~numpy.ndarray.shape` attributes
  (pr/1452) (CM)
* Document and test support for :class:`os.PathLike` objects in streamlines APIs
  (pr/1435) (Jon Haitz Legarreta Gorroño, reviewed by CM)
* Drop CI tests on Intel Macs (pr/1439) (Dimitri Papadopoulos, reviewed by CM)
* Update license metadata using SPDX expression (pr/1425) (Dimitri Papadopoulos, reviewed by CM)
* Test on Python 3.14, us locking tox runners (pr/1431, pr/1447) (CM)
* Update style checker (ruff) and address new complaints (pr/1405, pr/1406, pr/1433) (CM,
  Dimitri Papadopoulos)
* Add broad testing for Python 3.13 (pr/1381) (CM)
* Build docs on PRs with ReadTheDocs to permit quick inspection. (pr/1398) (CM)

API changes and deprecations
----------------------------
* Drop support for Python 3.9, Numpy < 1.25 (pr/1448) (CM)

5.3.3

Toggle 5.3.3's commit message

Verified

This tag was signed with the committer’s verified signature.
effigies Chris Markiewicz
5.3.3 (Friday 5 December 2025)

Bug-fix release in the 5.3.x series.

Bug fixes
---------
* Fix frame order for single-frame DICOM files (pr/1387) (Brendan Moloney, reviewed by CM)
* Replace :class:`dict` literal with :class:`set` in test. (pr/1382) (CM)

5.3.2

Toggle 5.3.2's commit message
5.3.2 (Wednesday 23 October 2024)

Bug-fix release in the 5.3.x series.

Bug fixes
---------
* Restore MRS extension type to Nifti1Extension to maintain backwards compatibility.
  (pr/1380) (CM)

5.3.1

Toggle 5.3.1's commit message
5.3.1 (Tuesday 15 October 2024)

Bug-fix release in the 5.3.x series.

Bug fixes
---------
* Restore access to private attribute ``Nifti1Extension._content`` to unbreak subclasses
  that did not use public accessor methods. (pr/1378) (CM, reviewed by Basile Pinsard)
* Remove test order dependency in ``test_api_validators`` (pr/1377) (CM)

5.3.0

Toggle 5.3.0's commit message
5.3.0 (Tuesday 8 October 2024)

This release primarily adds support for Python 3.13 and Numpy 2.0.

NiBabel 6.0 will drop support for Numpy 1.x.

New features
------------
* Update NIfTI extension protocol to include ``.content : bytes``, ``.text : str`` and ``.json : dict``
  properties for accessing extension contents. Exceptions will be raised on ``.text`` and ``.json`` if
  conversion fails. (pr/1336) (CM)

Enhancements
------------
* Ability to read data from many multiframe DICOM files that previously generated errors (pr/1340)
  (Brendan Moloney, reviewed by CM)
* ``nib-nifti-dx`` now supports NIfTI-2 files with a ``--nifti2`` flag (pr/1323) (CM)
* Update :mod:`nibabel.streamlines.tractogram` to support ragged arrays. (pr/1291)
  (Serge Koudoro, reviewed by CM)
* Filter numpy ``UserWarning`` on ``np.finfo(np.longdouble)``. This can occur on
  Windows systems, but it's done in the context of checking for the problem that
  is being warned against, so there's no need to be noisy. (pr/1310)
  (Joshua Newton, reviewed by CM)
* Improve error message for for dicomwrapper errors in shape calculation (pr/1302)
  (YOH, reviewed by CM)
* Support "flat" ASCII-encoded GIFTI DataArrays (pr/1298) (PM, reviewed by CM)

Bug fixes
---------
* Fix location initialization/update in OrthoSlicer3D for permuted axes (pr/1319, pr/1350)
  (Guillaume Becq, reviewed by CM)
* Fix DICOM scaling, making frame filtering explicit (pr/1342) (Brendan Moloney, reviewed by CM)
* Fixed multiframe DICOM issue where data could be flipped along slice dimension relative to the
  affine (pr/1340) (Brendan Moloney, reviewed by CM)
* Fixed multiframe DICOM issue where ``image_position`` and the translation component in the
  ``affine`` could be incorrect (pr/1340) (Brendan Moloney, reviewed by CM)

Maintenance
-----------
* Numpy 2.0 compatibility and addressing deprecations in numpy API
  (pr/1304, pr/1330, pr/1331, pr/1334, pr/1337) (Jon Haitz Legarreta Gorroño, CM)
* Python 3.13 compatibility (pr/1315) (Sandro from the Fedora Project, reviewed by CM)
* Testing on Python 3.13 with free-threading (pr/1339) (CM)
* Testing on ARM64 Mac OS runners (pr/1320) (CM)
* Proactively address deprecations in coming Python versions (pr/1329, pr/1332, pr/1333)
  (Jon Haitz Legarreta Gorroño, reviewed by CM)
* Replace nose-era ``setup()`` and ``teardown()`` functions with pytest equivalents
  (pr/1325) (Sandro from the Fedora Project, reviewed by Étienne Mollier and CM)
* Transitioned from blue/isort/flake8 to `ruff <https://docs.astral.sh/ruff/>`__. (pr/1289)
  (Dimitri Papadopoulos, reviewed by CM)
* Vetted and added various rules to the ruff configuration for auto-formatting and style
  guide enforcement. (pr/1321, pr/1351, pr/1352, pr/1353, pr/1354, pr/1355, pr/1357, pr/1358,
  pr/1359, pr/1360, pr/1361, pr/1362, pr/1363, pr/1364, pr/1368, pr/1369)
  (Dimitri Papadopoulos, reviewed by CM)
* Fixing typos when found. (pr/1313, pr/1370) (MB, Dimitri Papadopoulos)
* Applied Repo-Review suggestions (Dimitri Papadopoulos, reviewed by CM)

API changes and deprecations
----------------------------
* Raise :class:`~nibabel.spatialimages.HeaderDataError` from
  :func:`~nibabel.nifti1.Nifti1Header.set_qform` if the affine fails to decompose.
  This would previously result in :class:`numpy.linalg.LinAlgError`. (pr/1227) (CM)
* The :func:`nibabel.onetime.auto_attr` module can be replaced by :func:`functools.cached_property`
  in all supported versions of Python. This alias may be removed in future versions. (pr/1341) (CM)
* Removed the deprecated ``nisext`` (setuptools extensions) package. (pr/1290) (CM, reviewed by MB)

5.2.1

Toggle 5.2.1's commit message
5.2.1 (Monday 26 February 2024)

Bug-fix release in the 5.2.x series.

Enhancements
------------
* Support "flat" ASCII-encoded GIFTI DataArrays (pr/1298) (PM, reviewed by CM)

Bug fixes
---------
* Tolerate missing ``git`` when reporting version info (pr/1286) (CM, reviewed by
  Yuri Victorovich)
* Handle Siemens XA30 derived DWI DICOMs (pr/1296) (CM, reviewed by YOH and
  Mathias Goncalves)

Maintenance
-----------
* Add tool for generating GitHub-friendly release notes (pr/1284) (CM)
* Accommodate pytest 8 changes (pr/1297) (CM)

5.2.0

Toggle 5.2.0's commit message
5.2.0 (Monday 11 December 2023)

New feature release in the 5.2.x series.

This release requires a minimum Python of 3.8 and NumPy 1.20, and has been
tested up to Python 3.12 and NumPy 1.26.

New features
------------
* Add generic :class:`~nibabel.pointset.Pointset` and regularly spaced
  :class:`~nibabel.pointset.NDGrid` data structures in preparation for coordinate
  transformation and resampling (pr/1251) (CM, reviewed by Oscar Esteban)

Enhancements
------------
* Add :meth:`~nibabel.arrayproxy.ArrayProxy.copy` method to
  :class:`~nibabel.arrayproxy.ArrayProxy` (pr/1255) (CM, reviewed by Paul McCarthy)
* Permit :meth:`~nibabel.xmlutils.XmlSerializable.to_xml` to pass keyword
  arguments to :meth:`~xml.etree.ElementTree.ElementTree.tostring` (pr/1258)
  (CM)
* Allow user expansion (e.g., ``~/...``) in strings passed to functions that
  accept paths (pr/1260) (Reinder Vos de Wael, reviewed by CM)
* Expand CIFTI-2 brain structures to permit synonyms (pr/1256) (CM, reviewed
  by Mathias Goncalves)
* Annotate :class:`~nibabel.spatialimages.SpatialImage` as accepting
  ``affine=None`` argument (pr/1253) (Blake Dewey, reviewed by CM)
* Warn on invalid MINC2 spacing declarations, treat as missing (pr/1237)
  (Peter Suter, reviewed by CM)
* Refactor :func:`~nibabel.nicom.utils.find_private_element` for improved
  readability and maintainability (pr/1228) (MB, reviewed by CM)

Bug fixes
---------
* Resolve test failure related to randomly generated invalid case (pr/1221) (CM)

Documentation
-------------
* Remove references to NiPy data packages from documentation (pr/1275)
  (Dimitri Papadopoulos, reviewed by CM, MB)

Maintenance
-----------
* Quality of life improvements for CI, including color output and OIDC publishing
  (pr/1282) (CM)
* Patch for NumPy 2.0 pre-release compatibility (pr/1250) (Mathieu
  Scheltienne and EL, reviewed by CM)
* Add spellchecking to tox, CI and pre-commit (pr/1266) (CM)
* Add py312-dev-x64 environment to Tox to test NumPy 2.0 pre-release
  compatibility (pr/1267) (CM, reviewed by EL)
* Resurrect tox configuration to cover development workflows and CI checks
  (pr/1262) (CM)
* Updates for Python 3.12 support (pr/1247, pr/1261, pr/1273) (CM)
* Remove uses of deprecated ``numpy.compat.py3k`` module (pr/1243) (Eric
  Larson, reviewed by CM)
* Various fixes for typos and style issues detected by Codespell, pyupgrade and
  refurb (pr/1263, pr/1269, pr/1270, pr/1271, pr/1276) (Dimitri Papadopoulos,
  reviewed by CM)
* Use stable argsorts in PARREC tests to ensure consistent behavior on systems
  with AVX512 SIMD instructions and numpy 1.25 (pr/1234) (CM)
* Resolve CodeCov submission failures (pr/1224) (CM)
* Link to logo with full URL to avoid broken links in PyPI (pr/1218) (CM,
  reviewed by Zvi Baratz)

API changes and deprecations
----------------------------
* The :mod:`nibabel.pydicom_compat` module is deprecated and will be removed
  in NiBabel 7.0. (pr/1280)
* The :func:`~nibabel.casting.int_to_float` and :func:`~nibabel.casting.as_int`
  functions are no longer needed to work around NumPy deficiencies and have been
  deprecated (pr/1272) (CM, reviewed by EL)

5.1.0

Toggle 5.1.0's commit message
5.1.0 (Monday 3 April 2023)

New feature release in the 5.1.x series.

Enhancements
------------
* Make :mod:`nibabel.imagestats` available with ``import nibabel`` (pr/1208)
  (Fabian Perez, reviewed by CM)
* Use symmetric threshold for identifying unit quaternions on qform
  calculations (pr/1182) (CM, reviewed by MB)
* Type annotations for :mod:`~nibabel.loadsave` (pr/1213) and
  :class:`~nibabel.spatialimages.SpatialImage` APIs (pr/1179),
  :mod:`~nibabel.deprecated`, :mod:`~nibabel.deprecator`,
  :mod:`~nibabel.onetime` and :mod:`~nibabel.optpkg` modules (pr/1188),
  :mod:`~nibabel.volumeutils` (pr/1189), :mod:`~nibabel.filename_parser` and
  :mod:`~nibabel.openers` (pr/1197) (CM, reviewed by Zvi Baratz)

Bug fixes
---------
* Require explicit overrides to write GIFTI files that contain data arrays
  with data types not permitted by the GIFTI standard (pr/1199) (CM, reviewed
  by Alexis Thual)

Maintenance
-----------
* Move compression detection logic into a private ``nibabel._compression``
  module, resolving unexpected errors from pyzstd. (pr/1212) (CM)
* Improved consistency of docstring formatting (pr/1200) (Zvi Baratz, reviewed
  by CM)
* Modernized README text (pr/1195) (Zvi Baratz, reviewed by CM)
* Updated README badges to include package distributions (pr/1192) (Horea
  Christian, reviewed by CM)
* Removed all dependencies on distutils and setuptools (pr/1190) (CM,
  reviewed by Zvi Baratz)
* Add a ``_version.pyi`` stub to allow mypy_ to run without building nibabel
  (pr/1210) (CM)