What’s New in Iris#

v3.13.0.dev78 (20 Jun 2025) [unreleased]#

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

v3.13.0.dev78 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. @bjlittle migrated the SciTools social community from X (formally Twitter) to Bluesky 🦋. (PR #6237)

✨ Features#

  1. @trexfeathers and @ukmo-ccbunney extended the iris.loading.LOAD_PROBLEMS capturing to _all_ NetCDF objects that are added to a Cube during loading, as well as a selection of other objects such as CoordSystem. Note this includes an improvement to how DimCoord is ‘gracefully’ converted to AuxCoord if it is masked - the mask is now preserved when it was not previously.

🐛 Bugs Fixed#

  1. @HGWright added a new warning to inform users that the boolean coordinate generated by iris.coord_categorisation.add_season_membership() is not saveable to netcdf. (PR #6305)

  2. @bouweandela changed the convert_units method on cubes and coordinates so it also converts the values of the attributes "actual_range", "valid_max", "valid_min", and "valid_range". (PR #6416)

  3. @ukmo-ccbunney fixed loading and merging of masked data in scalar AuxCoords. (Issue #3584, PR #6468)

  4. @stephenworsley fixed the html representation of cubes in Jupyter when coordinates share the same name. (PR #6476)

  5. @schlunma fixed loading of netCDF files with coordinates that have non-string units. (Issue #6505, PR #6506)

  6. @ukmo-ccbunney correctly set the bplon PP field parameter when saving a cube defined on Limited Area Model (LAM) grid to PP format. Activate this behaviour with the new Futures flag iris.FUTURE.lam_pole_offset=True. (Issue #3560, PR #6520)

  7. @stephenworsley fixed incompatibilities with numpy v2.3 affecting arrays of dates and array printing. (PR #6518)

💣 Incompatible Changes#

  1. N/A

🚀 Performance Enhancements#

  1. N/A

🔥 Deprecations#

  1. N/A

🔗 Dependencies#

  1. N/A

📚 Documentation#

  1. N/A

💼 Internal#

  1. @pp-mo replaced the PR-based linkchecks with a daily scheduled link checker based on lychee. (Issue #4140, PR #6386)

  2. @trexfeathers added a CI workflow to quickly validate that the benchmarking setup is still working. (PR #6496)

  3. @trexfeathers improved the stack trace for errors that occur during benchmark data generation, showing developers the root problem at-a-glance without needing local replication. (PR #6524)