v3.1a0 (03 May 2021) [unreleased]¶
This document explains the changes made to Iris for this release (View all changes.)
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¶
Congratulations to @jamesp who recently became an Iris core developer after joining the Iris development team at the Met Office. 🎉
A special thanks goes to @akuhnregnier, @gcaria, @jamesp and @MHBalsmeier all of whom made their first contributions to Iris, which were gratefully received and included in this release. Keep up the awesome work! 🍻
✨ Features¶
@pelson and @trexfeathers enhanced
iris.plot.plot()
andiris.quickplot.plot()
to automatically place the cube on the x axis if the primary coordinate being plotted against is a vertical coordinate. E.g.iris.plot.plot(z_cube)
will produce a z-vs-phenomenon plot, where before it would have produced a phenomenon-vs-z plot. (PR #3906)@bjlittle introduced
iris.common.metadata.hexdigest()
to the public API. Previously it was a private function introduced inv3.0.0
. Given any object,hexdigest()
returns a string representation of the 64-bit non-cryptographic hash of the object using the extremely fast xxhash hashing algorithm. (PR #4020)@rcomer implemented a
__str__
method for metadata classes, so printing these objects skips metadata elements that are set to None or an empty string or dictionary. (PR #4040)
🐛 Bugs Fixed¶
@gcaria fixed
cell_measure_dims()
to also accept the string name of aCellMeasure
. (PR #3931)@gcaria fixed
ancillary_variable_dims()
to also accept the string name of aAncillaryVariable
. (PR #3931)
💣 Incompatible Changes¶
N/A
🔥 Deprecations¶
N/A
🔗 Dependencies¶
N/A
📚 Documentation¶
@rcomer updated the “Seasonal ensemble model plots” and “Global average annual temperature maps” Gallery examples. (PR #3933 and PR #3934)
@MHBalsmeier described non-conda installation on Debian-based distros. (PR #3958)
@bjlittle clarified in the doc-string that
Coord
is now an abstract base class since Iris3.0.0
, and it is not possible to create an instance of it. (PR #3971)@bjlittle added automated Iris version discovery for the
latest.rst
in thewhatsnew
documentation. (PR #3981)@tkknight stated the Python version used to build the documentation on Installing Iris and to the footer of all pages. Also added the copyright years to the footer. (PR #3989)
@bjlittle updated the
intersphinx_mapping
and fixed documentation to usestable
URLs for matplotlib. (PR #4003)@tkknight added a banner at the top of every page of the unreleased development documentation if being viewed on Read the Docs. (PR #3999)
@bjlittle added post-release instructions on how to Update PyPI with scitools-iris. (PR #4038)
@bjlittle added the badge to the README.md. See pre-commit CI for further details. (PR #4061)
💼 Internal¶
@tkknight moved the
docs/iris
directory to be in the parent directorydocs
. (PR #3975)@bjlittle and @jamesp extended the cirrus-ci testing and nox testing automation to support Python 3.8. (PR #3976)
@bjlittle rationalised the
noxfile.py
, and added the ability for eachnox
session to list itsconda
environment packages and environment info. (PR #3990)@bjlittle enabled cirrus-ci compute credits for non-draft pull-requests from collaborators targeting the Iris
master
branch. (PR #4007)@akuhnregnier replaced deprecated numpy 1.20 aliases for builtin types. (PR #3997)
@bjlittle added conditional task execution to .cirrus.yml to allow developers to easily disable cirrus-ci tasks. See Skipping Cirrus-CI Tasks. (PR #4019)
@bjlittle and @jamesp addressed a regression in behaviour when using conda 4.10.0 within cirrus-ci. (PR #4084)
@bjlittle updated the perceptual imagehash graphical test support for matplotlib 3.4.1. (PR #4087)