v3.15.0.dev125 (26 Feb 2026) [unreleased]#

This document explains the changes made to Iris for this release (View all changes.)

v3.15.0.dev125 Release Highlights

The highlights for this major/minor release of Iris include:

  • N/A

And finally, get in touch with us on GitHub if you have any issues or feature requests for improving Iris. Enjoy!

๐Ÿ“ข Announcements#

  1. Weโ€™ve had a makeover! โœจ All user documentation pages have been reorganised into a new structure: User Manual. This restructure is to maximise discoverability of the available pages, as well as embracing the Diataxis framework for better engagement with user needs going forward.

โœจ Features#

  1. @ukmo-ccbunney added new cube component convenience methods that allow for manipulation of any named dimensional component that can be attached to a cube (i.e. coordinates, cell measures and ancillary variables) via a common interface. The following methods are provided:

    (Issue #5819, PR #6854)

  2. @ESadek-MO added functionality to allow concatenate(), rolling_window() and intersection() to work with dataless cubes. (PR #6860, PR #6757)

  3. @HGWright added to the Nimrod loader to expand the types of Nimrod files it can load. This includes selecting which Nimrod table to use the data entry headers from. (Issue #4505, PR #6763)

๐Ÿ› Bugs Fixed#

  1. N/A

๐Ÿ’ฃ Incompatible Changes#

  1. N/A

๐Ÿš€ Performance Enhancements#

  1. N/A

๐Ÿ”ฅ Deprecations#

  1. @ESadek-MO has deprecated the IrisTest class, and other unittest-based testing conveniences in favour of the conveniences found in iris/tests/_shared_utils.py. (PR #6950)

  2. @hsteptoe has deprecated the use of the copy kwarg across iris.pandas to reflect changes to the default behaviour of pandas v3 New pandas v3 copy behaviour. (PR #6948)

๐Ÿ”— Dependencies#

  1. N/A

๐Ÿ“š Documentation#

  1. @tkknight reduced the space used on the documentation homepage by the quick link cards to allow for easier reading. (PR #6886)

  2. @tkknight added a gallery carousel to the documentation homepage. (PR #6884)

  3. @bjlittle added the :user: extlinks github user convenience. (PR #6931)

  4. @pp-mo added a page on how to access datafiles in S3 buckets. (Issue #6374, PR #6951)

  5. @trexfeathers, @stephenworsley and @tkknight reorganised all user documentation pages into a new structure: User Manual. This restructure is to maximise discoverability of the available pages, as well as embracing the Diataxis framework for better engagement with user needs going forward. (Issue #6511, PR #6868)

๐Ÿ’ผ Internal#

  1. @trexfeathers and @hdyson updated _ff_replacement.py to clarify that Iris supports Ancillaries. (PR #6792)

  2. @trexfeathers adapted test_OceanSigmaZFactory for NumPy 2.4 - only 0-dimensional arrays can now be converted to scalars. (PR #6876)

  3. @trexfeathers updated benchmarking to source Mule from its new home: MetOffice/mule . (PR #6879)

  4. @tkknight removed flake8, we have ruff now instead. (PR #6889)

  5. @trexfeathers and @ukmo-ccbunney updated CI to support Python 3.14 inline with SPEC0 Minimum Supported Dependencies. Note: pyvista (and hence geovista) is not yet compatible with Python 3.14, so :module:~iris.experimental.geovista is currently only available for Python <3.14. (PR #6816, Issue #6775)

  6. @ESadek-MO, @trexfeathers, @bjlittle, @HGWright, @pp-mo, @stephenworsley and @ukmo-ccbunney converted the entirity of the tests from unittest to pytest. Iris is now also ruff-PT compliant, save for PT019. (Issue #6212, PR #6939)

  7. @hsteptoe and @ESadek-MO (reviewer) updated chained assignment useage within the tests associated with iris.pandas to reflect changes in pandas v3 New pandas v3 copy behaviour. (PR #6948, Issue #6761)

  8. @hsteptoe and @ESadek-MO (reviewer) added static type hinting to iris.pandas. (PR #6948)