Skip to content

Commit f42106b

Browse files
authored
Update CHANGELOG for v0.9.9 release (#1496)
1 parent 6ece00d commit f42106b

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,71 @@
22
-----------
33

44

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

772
#### Bug fixes and improvements

0 commit comments

Comments
 (0)