Releases
v0.9.9
Compare
Sorry, something went wrong.
No results found
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 )
You can’t perform that action at this time.