Releases: UXARRAY/uxarray
v2025.12.0
🚀 Release Notes: v2025.12.0
We are excited to announce the last release of the year version 2025.12.0! This release introduces powerful new integration capabilities, significant improvements to rasterization, and critical fixes for the ICON reader and zonal mean calculations.
✨ New Features & Enhancements
- Multi-Grid Support: Added
open_multigridandlist_grid_namesfunctions to streamline working with files containing multiple grid definitions. (#1404 by @rajeeja) - Cumulative Integration: Introduced
cumulative_integratefor advanced analysis workflows. (#1419 by @rajeeja) - Enhanced Rasterization: The
to_rastermethod now intelligently handles unset extents and accepts singleton extra dimensions, making visualization pipelines more robust. (#1420 by @rajeeja)
🐛 Bug Fixes
- Zonal Mean Stability: Fixed issues with missing coverage resulting in
NaNs and improved data type promotion withinzonal_mean. (#1423 by @rajeeja) - ICON Reader Repair: Resolved parsing errors in the ICON file reader to ensure reliable data loading. (#1430 by @rajeeja)
🧹 Maintenance & Refactoring
- Modern Type Hinting: Codebase updated to remove legacy
Union/Optional/Listtype hints in favor of modern Python syntax. (#1418 by @rajeeja) - CI Configuration: Added grouping configuration for Dependabot to reduce pull request noise. (#1429 by @kafitzgerald)
📦 Dependency & CI Updates
- Pre-commit: Autoupdated hooks for code quality checks. (#1416, #1421 by @pre-commit-ci[bot])
- GitHub Actions:
- Bumped
actions/setup-pythonto v6.1.0. (#1415) - Bumped
actions/cacheto v5. (#1428) - Bumped
actions/upload-artifactto v6. (#1427)
Full Changelog: [v2025.11.0...v2025.12.0](v2025.11.0...v2025.12.0)
Contributors to this release: @rajeeja, @erogluorhan, @kafitzgerald, @@dependabot[bot], @pre-commit-ci[bot]
v2025.11.0
Here are the formatted release notes with the requested highlights section.
Highlights
- 🛠️ Key Fixes & Features: Implemented the
Curloperator and resolved a bug in the.sel()wrapper when combining slice indexers with methods. - 📚 Documentation & CI: Enhanced the "Getting Started" guide and Zonal Average notebook, while improving CI reliability with a new link checker and upstream installation fixes.
Full Changelog
- Docs update on Getting Started by @erogluorhan in #1392
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1385
- Add a link checker into CI by @erogluorhan in #1397
- Fix HTTPSConnectionError by @erogluorhan in #1400
- Curl by @rajeeja in #1389
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1399
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1394
- Zonal Avg Notebook Update by @rajeeja in #1403
- Fix .sel() wrapper when a slice indexer and method are used together by @rajeeja in #1408
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1409
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1405
- CI Failure Fix: install-upstream.sh by @rajeeja in #1413
Full Changelog: v2025.10.0...v2025.11.0
v2025.10.0
What's Changed
-
Fix HEALPix face area calculation to enforce equal area property by @rajeeja in #1379
-
ESMF netCDF4 engine issue found with upstream CI failure by @rajeeja in #1381
Full Changelog: v2025.09.0...v2025.10.0
v2025.09.0
This release brings a number of improvements and new features.
Highlights
- Gradient Operator by @philipc2 in #1313
- Add Azimuthal Averaging by @jpan84 in #1255
- Add
pixel_ratiooption to.to_raster()by @zmoon in #1354 - Add
UxDataset.isel()by @philipc2 in #1352 - Add
Gridpreservation to groupby, groupby_bin & resample xarray operations by @rajeeja in #1308
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1350
- Add warning when constructing a PolyCollection/LineCollection with a projection by @philipc2 in #1351
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1355
- Indroduce Grid property sphere_radius by @rajeeja in #1357
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1362
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by @dependabot[bot] in #1361
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in #1360
- Bump actions/setup-python from 5.6.0 to 6.0.0 by @dependabot[bot] in #1359
- Moving tests from flat to hierarchical structure by @rajeeja in #1349
- Resolve docs warnings by @zmoon in #1367
- Variable Indexing Fix by @philipc2 in #1369
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1372
- Pandas and Xarray deprecations by @kafitzgerald in #1374
- Preserve Longitude Attributes when Normalizing by @philipc2 in #1375
New Contributors
Full Changelog: v2025.08.0...v2025.09.0
v2025.08.0
This release brings a number of improvements and new features.
✨ Highlights
✂️ Added sampled cross-sections along arbitrary GCAs and lines of constant latitude or longitude
🛠️ Various improvements to grid reader functionalities
⚡ Improved dual mesh construction performance
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1312
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1314
- Construct
node_edge_connectivityby @philipc2 in #1311 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1315
- Upstream CI fix by @kafitzgerald in #1316
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1322
- Fix
edge_node_connectivity.fill_value_maskerror by @philipc2 in #1325 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1326
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1330
- Parallelize Dual Grid Construction by @aaronzedwick in #1274
- Deprecate Grid.encode_as, Add esmf writer, Add tests, fix to_netcdf bug after healpix mesh creation by @rajeeja in #1282
- MPAS Reader Updates by @philipc2 in #1310
- Improved Docstrings & Type Hints in
Gridby @philipc2 in #1226 - dimension name should be lat_lon because lat comes before lon by @ahijevyc in #1334
- avoid duplicate 'two' dimensions by @ahijevyc in #1333
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1337
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1335
- Update citation.rst to clarify the "how to cite" section by @erogluorhan in #1342
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1347
- Base class for IO test files by @rajeeja in #1331
- Fix MPAS reader bug: Normalize after loading by @rajeeja in #1344
- Add Sampled Cross-Sections by @philipc2 in #1321
- Update CI workflow to improve execution time by @philipc2 in #1336
Full Changelog: v2025.06.0...v2025.08.0
v2025.06.0
This release brings a number of improvements and new features, including improved support for Matplotlib and Cartopy visualization workflows.
✨ Highlights
🌎 Support for rasterizing data onto a Cartopy GeoAxes
📖 Revised Plotting with Matplotlib and Cartopy user-guide documentation
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1275
- Correctly check dimensions with HEALPix by @philipc2 in #1278
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1284
- Remove duplicate functions and fix typos in coordinates.py by @egallmeier in #1287
- Pin Numpy by @philipc2 in #1292
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1294
- Fix edge_face_distance functions in neighbors.py. Add unit test in test_neighbors.py by @egallmeier in #1293
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1302
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1306
- Support sampling face-centered data onto a
GeoAxesby @philipc2 in #1271
New Contributors
- @egallmeier made their first contribution in #1287
Full Changelog: v2025.05.2...v2025.06.0
v2025.05.2
This release brings a number of improvements and new features. Special thanks to everyone who participated in the WCRP Digital Earths Hackathon and helped identify bugs, test functionality, and improve UXarray’s stability and performance.
✨ Highlights
🎯 Bilinear Remapping
⚡ Optimizations to Point in Face queries
🚀 Significantly reduced import times
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1248
- Use
iselin Zonal Average by @philipc2 in #1251 - Ensure cartesian coordinates are normalized when constructing a KDTree by @philipc2 in #1252
- Add
UxDataArray.from_healpix()and support different face dimensions by @philipc2 in #1253 - Add safeguards to only allow global HEALPix data by @philipc2 in #1257
- Update slicing to only update edges when possible by @philipc2 in #1256
- Optimize Point in Face Computation by @philipc2 in #1249
- Update Point in Face Return by @philipc2 in #1264
- Reduce Import TIme by @rajeeja in #1265
- Remove Numba Warning by @philipc2 in #1267
- Add section in from_points doc on creating regional grid with boundary points by @fluidnumerics-joe in #1250
- Improve Point in Face Function Signature and Helper by @philipc2 in #1272
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1270
- Bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot in #1269
- Bilinear Remapping by @aaronzedwick in #1016
Full Changelog: v2025.05.1...v2025.05.2
v2025.05.1
This incremental release brings a number of documentation and performance improvements:
🐰 Significant performance improvements to remapping functionality
📑 Improved "Why UXarray" and "Installation" documentation sections
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1239
- Update "Why UXarray" and "Installation" sections by @philipc2 in #1240
- Remove
pyfmaandgmpy2dependencies by @philipc2 in #1241 - Refactor & Optimize Remapping (NN & IDW) by @philipc2 in #1244
Full Changelog: v2025.05.0...v2025.05.1
v2025.05.0
This release brings a number of enhancements and bugfixes:
What's Changed
- Fix Numba Compilation Timeout in Docs by @philipc2 in #1223
- Bump actions/setup-python from 5.5.0 to 5.6.0 by @dependabot in #1227
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1228
- Add additional variable check to SCRIP reader by @rajeeja in #1233
- Add
pixels_onlyparameter toUxDataset.from_healpix()by @philipc2 in #1235
Full Changelog: v2025.04.0...v2025.05.0
v2025.04.0
This release brings a number of enhancements and bugfixes:
What's Changed
- Configure Analytics by @erogluorhan in #1183
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1184
- Fix ASV Benchmarking Workflow by @philipc2 in #1186
- Add
pull-requestswrite permissions to ASV PR Workflow by @philipc2 in #1192 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1191
- Bump actions/setup-python from 5.4.0 to 5.5.0 by @dependabot in #1194
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1199
- Update CODE_OF_CONDUCT.md with the most recent changes by @erogluorhan in #1198
- Remove min/max lat/lon print statement in spatialhash initialization by @fluidnumerics-joe in #1204
- Changed np.atan2() to np.arctan2() arcs.py by @jpan84 in #1207
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1210
- Enable import sorting with
ruffby @philipc2 in #1208 - Bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot in #1217
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1218
- Update Face Area API to only use Cartesian Coordinates by @rajeeja in #1188
- Optimized Bounds Construction by @philipc2 in #1205
New Contributors
Full Changelog: v2025.03.0...v2025.04.0