Releases: UXARRAY/uxarray
v2026.04.1
🚀 UXARRAY v2026.04.1
A focused release improving compatibility, strengthening validation, and enhancing developer workflows.
🌟 Highlights
-
🔄 New Remapping Capability
Introduced YAC as an optional remapping backend ([#1440](#1440)), expanding interoperability and flexibility. -
🧩 Improved Compatibility
Fixed breaking changes withxarray==2026.4.0, ensuring seamless dataset operations ([#1492](#1492)). -
🛡️ Stronger Validation
Enhanced grid parser checks for more reliable format handling ([#1478](#1478)).
✨ Enhancements
- Added optional YAC remapping backend ([#1440](#1440))
- Strengthened grid parser format validation ([#1478](#1478))
🐛 Bug Fixes
- Fixed
UxDatasetconstructor andto_xarray()compatibility issues with latestxarray([#1492](#1492))
📚 Documentation
- Added missing entries to the API reference ([#1486](#1486))
- Migrated CF convention links to GitHub Pages ([#1484](#1484))
⚙️ CI & Maintenance
-
Skipped link-check step on pull requests to speed up CI ([#1482](#1482))
-
Maintained NumPy version stability in upstream CI ([#1494](#1494))
-
Dependency updates:
👏 Contributors
Thanks to all contributors who made this release possible:
📦 Full Changelog
[Compare v2026.03.0...v2026.04.1](v2026.03.0...v2026.04.1)
v2026.4.0
Here is a more engaging and organized draft for the UXARRAY v2026.4.0 release notes, using emojis to highlight different categories of changes.
🚀 UXARRAY v2026.4.0
This release includes critical compatibility fixes for the latest xarray version, internal infrastructure improvements, and expanded documentation.
✨ New Features & Improvements
Grid Parser: Strengthened format checks for more robust grid loading. 🛡️
Infrastructure: Moved CF convention links to GitHub Pages for better reliability. 🌐
🐛 Bug Fixes
Xarray Compatibility: Fixed the UxDataset constructor and to_xarray() functionality that was broken by the xarray==2026.4.0 update. 🔧
📚 Documentation
API Reference: Added missing entries to the API reference to ensure full coverage of the library's capabilities. 📖
🛠️ Maintenance & CI/CD
CI Optimization: Skipped link-checks on pull requests to speed up development workflows. ⚡
Dependency Updates: * Bumped actions group across directories. 📦
Updated actions/github-script from version 8 to 9. 🤖
Full Changelog: v2026.03.0...v2026.4.0
v2026.03.0
🚀 What's Changed
✨ Features & Support
- 🔢 NumPy 2.4 support by @kafitzgerald in #1467
🐛 Bug Fixes
- 🧭 Fix coords handling in
zonal_mean()andazimuthal_mean()by @erogluorhan in #1460 - 🌐 Fix coords handling in the conservative zonal mean by @erogluorhan in #1471
- 📐 Fix bug in
_xyz_to_lonlat_radby @rajeeja in #1437
📓 Documentation & Examples
- 📊 Notebook showcasing azimuthal mean for a 2D and 3D field by @jpan84 in #1439
- 📝 Make branding corrections by @erogluorhan in #1459
🛠️ CI, Dependencies & Maintenance
- 🚨 Create issue on upstream CI failure by @anissa111 in #1473
- 🔗 Ignore Zenodo links during link check by @kafitzgerald in #1466
- 📦 Bump actions/upload-artifact from 6 to 7 by @dependabot in #1463
- ⬆️ Bump the actions group across 1 directory with 2 updates by @dependabot in #1470
- 🤖 [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1458
- 🤖 [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1462
🔍 Full Changelog: v2026.02.0...v2026.03.0
v2026.02.0
🚀 Release Notes: v2026.02.0
We are excited to release this year's first software update, v2026.02.0! With this version, we are releasing significant improvements and bug fixes to spatial coordinate handling in remapping, PolyCollection and Raster construction, and bilinear interpolation.
✨ Enhancements
- Update zonal mean notebook to provide a visualization of cases by @erogluorhan in #1457
🐛 Bug Fixes
- Remap coords fix by @erogluorhan in #1455
- Visualization bug by @anissa111 in #1454
- Fix fallback issues with nodes destination in _barycentric_weights() by @erogluorhan in #1450
🧹 Maintenance & Refactoring
- Add PNGs of UXarray logos into repo by @erogluorhan in #1443
- Update NumPy version pin by @kafitzgerald in #1435
📦 Dependency & CI Updates
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1456
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1453
- Bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #1448
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1446
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1432
Full Changelog: v2025.12.0...v2026.02.0
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