Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,71 @@
-----------


### Version 0.9.9 - 2026-05-05

#### Bug fixes and improvements
- Add geotiff edge-case tests and integer-coord fallback (#1482) (#1492)
- Use synchronous dask scheduler for different-CRS merge parity test (#1495)
- Fetch COG tiles concurrently in HTTP path to mask RTT (#1487)
- Geotiff polish: validation, caching caps, parallelism thresholds, memory guards (#1488) (#1493)
- Round-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (#1484) (#1494)
- Tighten geotiff reader: partial-tile shape check, ModelTransformation rotation guard (#1486) (#1491)
- Add geotiff writer test matrix (#1483) (#1490)
- Stream tile writes per dask chunk segment to bound peak memory in to_geotiff (#1485) (#1489)
- Add regression test for GPU pred=3 multi-sample TIFFs (#1479) (#1481)
- Make cubic resample prefilter explicit so chunk seams stay sub-eps (#1464) (#1478)
- Preserve input float dtype through resample() (#1467) (#1476)
- Resample polish: fix cubic depth comment, tighten NaN threshold, add edge tests (#1475)
- Fix dask aggregate boundary contamination and clean up bookkeeping (#1469) (#1477)
- Support 3D rasters, expose nodata, document target_resolution tuple in resample (#1466) (#1474)
- Cover cupy median/mode, dask+cupy, integer input, target_resolution tuple in resample tests (#1470) (#1473)
- Refresh transform and nodata attrs on resample output (#1465) (#1472)
- Inline dask aggregate kernel in resample (#1463) (#1468)
- Emit fresh grid metadata and propagate _FillValue in reproject (#1458) (#1462)
- Polish reproject/merge docstrings and cover Inf and parameter edge cases (#1459) (#1461)
- Batch CuPy reductions and drop redundant copies in reproject (#1460)
- Add transform_precision parameter to merge() (#1452) (#1456)
- Preserve non-spatial coords through reproject() and merge() (#1455)
- Guard _apply_vertical_shift against non-finite coords; add vertical CRS tests (#1453)
- Honor per-raster nodata sentinels in merge() (#1448) (#1449)
- Preserve input attrs through reproject() and merge() (#1446)
- Fix dask reproject dtype and same-CRS dask merge (#1450)
- Validate raster inputs in reproject public APIs (#1431) (#1432)
- Add memory guard and scalar validation to generate_terrain (#1443) (#1444)
- Validate scalar parameters in hydro public APIs (#1427) (#1428)
- Validate mannings_n DataArray values in flood (#1437) (#1438)
- Add _validate_raster on secondary DataArray args in hydro (#1425) (#1426)
- Validate grid/bounds/precision params in reproject (#1433) (#1434)
- Validate cellsize in hydro public APIs (#1429) (#1430)
- Validate pathfinding inputs and cap waypoints (#1439) (#1440)
- Validate raster/mask inputs in polygonize (#1441) (#1442)
- Add memory guard to flow_direction_mfd numpy/cupy backends (#1423) (#1424)
- Reject NaN/Inf in reproject scalar inputs (#1435) (#1436)
- Lazy assembly for hand_mfd dask path (#1416) (#1417)
- Return NaN from glcm_texture angle=None when no angle has valid pairs (#1408) (#1409)
- Use ground distance for sky_view_factor horizon angle (#1407) (#1410)
- Exclude centre cell from morph_erode/dilate when kernel[centre]==0 (#1397) (#1398)
- Use sized slice in dask morph chunk writeback (#1399) (#1400)
- Merge sink_d8 labels across dask tile boundaries (#1394) (#1395)
- Reject complex dtypes in _validate_raster() (#1384) (#1387)
- Reject underflowing sigma_spatial in bilateral() (#1390) (#1392)
- Use int64 row_ptr in _build_row_csr_numba (#1388) (#1391)
- Reject mixed-backend arrays in validate_arrays() (#1383) (#1386)
- Reject non-positive inputs in wpm() (#1382) (#1385)
- Guard _idw knearest against unbounded grid x k allocation (#1377) (#1380)
- Validate raster dtype in convolve_2d() (#1389) (#1393)
- Reject all-zero rasters in mesh_utils.create_triangulation (#1378) (#1381)
- Validate dtypes per band in mahalanobis() (#1376) (#1379)
- Guard owa() against unbounded criteria stack (#1370) (#1375)
- Guard spline() TPS against unbounded memory allocations (#1372) (#1374)
- Reject n_samples<=0 in mcda sensitivity (#1371) (#1373)
- Guard flow_path_d8() against unbounded memory allocations (#1364) (#1368)
- Guard flow_path_mfd() against unbounded memory allocations (#1365) (#1369)
- Guard flow_path_dinf() against unbounded memory allocations (#1363) (#1367)
- Guard snap_pour_point_d8() against unbounded memory allocations (#1362) (#1366)
- Guard sink_d8() against unbounded memory allocations (#1356) (#1361)


### Version 0.9.8 - 2026-04-29

#### Bug fixes and improvements
Expand Down
Loading