Releases: opendatacube/datacube-core
Open Data Cube 1.9.13
This release adds support for custom fuse functions in driver based loads.
Custom fuse functions can be set as importable strings (fully qualified Python names).
This is required for driver based loads and will be enforced for legacy loads in a future
release.
E.g.:
dc.load(..., fuse_func="my_module.my_fuser")
is required for driver-based loads and is now preferred for legacy loads over::
from my_module import my_fuser
dc.load(..., fuse_func=my_fuser)
Please start to update your code and notebooks accordingly.
Notable Changes
- Support for custom fuse functions in driver based loads.
- Compatibility with recent releases of GDAL and rasterio.
What's Changed
- Reduce asset raster ext warnings volume by @Ariana-B in #2306
- Add scikit-image dependency by @pjonsson in #2307
- drivers/postgres: use right select by @pjonsson in #2308
- Validate JSON schema columns by @pjonsson in #2310
- Add ty to dev dependencies by @pjonsson in #2309
- Ensure truly safe loading of netcdf drivers. by @SpacemanPaul in #2305
- Bypass rasterio/gdal compatibility issue by @SpacemanPaul in #2316
- Clean up from resolved rasterio/gdal compatibility issues. by @SpacemanPaul in #2317
- uv.lock: update to urllib3 2.6.3 by @pjonsson in #2318
- Custom fusers for driver based loads by @SpacemanPaul in #2321
- Bump fallback version number and update whats_new.rst for 1.9.13 release in #2323
Automated updates
- build(deps): bump the actions-deps group with 2 updates by @dependabot[bot] in #2304
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2303
- build(deps): bump the actions-deps group with 3 updates by @dependabot[bot] in #2311
- build(deps): bump astral-sh/uv from 0.9.18 to 0.9.20 in /docker by @dependabot[bot] in #2312
- build(deps): bump astral-sh/uv from 0.9.20 to 0.9.21 in /docker by @dependabot[bot] in #2313
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2314
- build(deps): bump astral-sh/uv from 0.9.21 to 0.9.22 in /docker by @dependabot[bot] in #2315
- build(deps): bump osgeo/gdal from ubuntu-full-3.10.3 to ubuntu-full-3.12.1 in /docker by @dependabot[bot] in #2301
- build(deps): bump astral-sh/uv from 0.9.22 to 0.9.24 in /docker by @dependabot[bot] in #2319
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2320
- build(deps): bump astral-sh/uv from 0.9.24 to 0.9.25 in /docker in #2322
Full Changelog: 1.9.12...1.9.13
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia, CSIRO, and RISE.
Open Data Cube 1.9.12
Notable Changes
- Support for direct indexing of STAC items with ``datacube dataset add`. STAC documents are converted to EO3
before being indexed. - The previous release (1.9.11) included a database schema upgrade for the postgis index driver and refused to operate
if the upgrade was not applied. This was unnecessarily strict and caused deployment issues in complicated
environments. v1.9.12 works with databases both with and without the upgrade. (The upgrade is now treated as
recommended, not required, and can safely be held back until only core versions >=1.9.12 are deployed. - v1.9.12 works with odc-loader >=0.6.0, which included an internal API change.
- Multi-polygon extent geometries in EO3 documents are now supported.
- Better error reporting and less confusing and fewer unnecessary warning messages.
What's Changed
- Validate Product measurement nodata type by @Ariana-B in #2277
- CI: do not fail fast by @pjonsson in #2279
- Add RasterExtension to STAC conversion by @Ariana-B in #2281
- uv.lock: update to urllib3 2.6.0 by @pjonsson in #2284
- dependabot: add 10 day cooldown by @pjonsson in #2285
- postgis: catch alembic key error by @pjonsson in #2283
- Suppress driver warnings on optional dependencies (e.g. netcdf). by @SpacemanPaul in #2288
- Revert "postgis: catch alembic key error" by @pjonsson in #2289
- Update dependencies to Rasterio 1.4.4 by @pjonsson in #2291
- Loader 0.6 support by @SpacemanPaul in #2292
- Add support for MultiPolygon geometry by @Ariana-B in #2297
- Handle compatible database versions by @SpacemanPaul in #2296
- Restrict antimeridian < 0.4.5 by @pjonsson in #2300
- Native STAC indexing by @Ariana-B in #2298
- Update fallback version and release notes for 1.9.12 release by @SpacemanPaul in #2298
Automated updates
- build(deps): bump astral-sh/uv from 0.9.14 to 0.9.15 in /docker by @dependabot[bot] in #2280
- build(deps): bump astral-sh/uv from 0.9.15 to 0.9.16 in /docker by @dependabot[bot] in #2286
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2287
- build(deps): bump astral-sh/uv from 0.9.16 to 0.9.17 in /docker by @dependabot[bot] in #2290
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2293
- build(deps): bump actions/checkout from 6.0.0 to 6.0.1 in the actions-deps group by @dependabot[bot] in #2294
- build(deps): bump astral-sh/uv from 0.9.17 to 0.9.18 in /docker by @dependabot[bot] in #2295
Full Changelog: 1.9.11...1.9.12
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia, CSIRO, and RISE.
1.9.11
Includes:
- cleanup of database schema and permissions management, especially in postgis driver (See Schema Update section below) (@SpacemanPaul)
- support for upgrading some (most?) EO datasets to EO3 (@Ariana-B)
- support for relative paths in STAC catalogs (@pjonsson)
- and the usual minor tweaks, (@pjonsson, @snowman2, and @omad)
Schema Update
Users of the postgis index driver will need to upgrade their database schema on upgrade to 1.9.11
This will require an ODC environment with database superuser privileges. E.g.::
export ODC_DEFAULT_DB_URL=postgresql://postgres:/my_db
export ODC_DEFAULT_INDEX_DRIVER=postgis
datacube system init
unset ODC_DEFAULT_DB_URL ODC_DEFAULT_DB_URL
This schema migration doesn't change any tables - it simply sets the owner of all dynamically
created index tables to the odc_admin role.
After this schema migration is applied, all future schema management will require only the odc_admin role,
and superuser privileges will only be required to create the postgis extension when first creating a database
index.
What's Changed
- Update fallback version by @pjonsson in #2216
- CI: fetch tags for release by @pjonsson in #2217
- Dockerfile: install psql 18 by @pjonsson in #2222
- Convert EO datasets and products to EO3 by @Ariana-B in #2179
- postgis: create spatial_* as odc_admin by @pjonsson in #2224
- Update eo-datasets repo URL by @pjonsson in #2225
- Update to latest JSON schema version by @pjonsson in #2226
- Various minor cleanups by @pjonsson in #2227
- metadata-type-schema: improve validation by @pjonsson in #2228
- docs: update odc-apps-dc-tools link by @pjonsson in #2231
- Remove --confirm-ignore-lineage by @pjonsson in #2232
- docs: Fix
make cleanerrors by @omad in #2234 - docs: Fix Build Warnings - Don't double publish the same API autosummary methods/classes by @omad in #2235
- readthedocs: fix uv link warning by @pjonsson in #2237
- docs: remove double word by @pjonsson in #2238
- postgis: remove leftover debug log by @pjonsson in #2242
- dataset: fix parameter help by @pjonsson in #2243
- dataset: only confirm without --all by @pjonsson in #2244
- Cleanup of database user and permission management in postgis driver by @SpacemanPaul in #2245
- Update to latest Sphinx by @pjonsson in #2248
- Dockerfile: pin image by hash by @pjonsson in #2250
- cli: cleanup dataset add command by @pjonsson in #2253
- cli: return failure from dataset update command by @pjonsson in #2254
- hl: simplify type signature by @pjonsson in #2255
- PERF: Statically import parse_datetime by @snowman2 in #2257
- CI: use anchors for paths by @pjonsson in #2258
- postgis: fix comment typo by @pjonsson in #2262
- eo3converter: pass along asset_absolute_paths by @pjonsson in #2264
- drivers: add/fix type signatures by @pjonsson in #2266
- postgis: fix search parameters by @pjonsson in #2267
- Cleanup user role granting by @SpacemanPaul in #2268
- Fix status badge links by @pjonsson in #2273
- Bump fallback version and update whats_new.rst for 1.9.11 release @SpacemanPaul in #2278
Automated updates
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2221
- build(deps): bump astral-sh/uv from 0.9.4 to 0.9.5 in /docker by @dependabot[bot] in #2218
- build(deps): bump the actions-deps group with 2 updates by @dependabot[bot] in #2223
- build(deps): bump astral-sh/uv from 0.9.5 to 0.9.6 in /docker by @dependabot[bot] in #2229
- build(deps): bump astral-sh/uv from 0.9.6 to 0.9.7 in /docker by @dependabot[bot] in #2233
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2239
- build(deps): bump github/codeql-action from 4.31.0 to 4.31.2 in the actions-deps group by @dependabot[bot] in #2240
- build(deps): bump astral-sh/uv from 0.9.7 to 0.9.8 in /docker by @dependabot[bot] in #2249
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2251
- build(deps): bump astral-sh/setup-uv from 7.1.2 to 7.1.3 in the actions-deps group by @dependabot[bot] in #2252
- build(deps): bump astral-sh/uv from 0.9.8 to 0.9.9 in /docker by @dependabot[bot] in #2256
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2259
- build(deps): bump the actions-deps group with 2 updates by @dependabot[bot] in #2260
- build(deps): bump astral-sh/uv from 0.9.9 to 0.9.10 in /docker by @dependabot[bot] in #2261
- build(deps): bump astral-sh/uv from 0.9.10 to 0.9.11 in /docker by @dependabot[bot] in #2263
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2269
- build(deps): bump the actions-deps group with 3 updates by @dependabot[bot] in #2270
- build(deps): bump astral-sh/uv from 0.9.11 to 0.9.12 in /docker by @dependabot[bot] in #2271
- build(deps): bump astral-sh/uv from 0.9.12 to 0.9.13 in /docker by @dependabot[bot] in #2272
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2274
- build(deps): bump github/codeql-action from 4.31.5 to 4.31.6 in the actions-deps group by @dependabot[bot] in #2275
- build(deps): bump astral-sh/uv from 0.9.13 to 0.9.14 in /docker by @dependabot[bot] in #2276
Full Changelog: 1.9.10...1.9.11
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia, CSIRO, and RISE.
1.9.10
This release fixes issues with the load function and resolves an incompatibility with odc-geo reprojection. It also introduces initial psycopg3 support, migrates some functionality from odc-tools, and includes cleanup to code, tests, docs, and CI setup.
What's Changed
- Group dependabot updates to GHA Actions Versions by @omad in #2164
- storage: rework function for MyPy by @pjonsson in #2158
- pytest: output test times by @pjonsson in #2165
- storage: move num2numpy call by @pjonsson in #2157
- product: add missing space by @pjonsson in #2166
- tests: always import boto3/moto by @pjonsson in #2159
- Add more type signatures by @pjonsson in #2154
- Fix docs rendering on configuration page by @omad in #2167
- drivers: remove SQLAlchemy 1.4 workaround by @pjonsson in #2168
- drivers: use has_schema method by @pjonsson in #2172
- CI: speed up Conda workflows by @pjonsson in #2169
- Update fallback version by @pjonsson in #2170
- Add experimental psycopg3 support by @pjonsson in #2120
- drivers: deprecate drop_db function by @pjonsson in #2174
- Migrate code from odc-cloud: Sync AWS Functions by @pjonsson in #2175
- Migrate code from odc-io modules by @pjonsson in #2176
- Tests: Speed up eo3converter test by mocking AWS services by @pjonsson in #2177
- Miscellaneous docs and pre-commit fixes by @omad in #2180
- Update Ruff version in pre-commit by @pjonsson in #2184
- Remove f-strings without placeholders by @pjonsson in #2185
- Reduce product.grid_spec warning volume by @Ariana-B in #2191
- Make dateutil an optional dependency by @pjonsson in #2199
- CI: remove pyspell job by @pjonsson in #2201
- CI: stop building with Conda by @pjonsson in #2200
- drivers: use SQLAlchemy inspector by @pjonsson in #2195
- tests: test with single time zone by @pjonsson in #2194
- Revert "Make dateutil an optional dependency" by @pjonsson in #2206
- Pass Exception to error callback by @Ariana-B in #2208
- tests: include error message for cli by @pjonsson in #2211
- Resolve unexpected load behaviours by @Ariana-B in #2192
- Dockerfile: update to latest uv by @pjonsson in #2212
- Resolve virtual product odc-geo reprojection incompatibility by @Ariana-B in #2202
Automated Updates
Autoupdates #2161, #2162, #2163, #2171, #2173, #2182, #2181, #2197, #2198, #2203, #2204, #2209, #2210, #2214, #2215, #2213
Full Changelog: 1.9.9...1.9.10
Includes contributions from @pjonsson, @omad, and @Ariana-B
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia, CSIRO, and RISE.
Open Data Cube 1.9.9
This release includes more fixes and improvements to STAC/EO3 conversion, documentation updates, and various code, testing, and CI cleanup.
What's Changed
- CI: make twine check strict by @pjonsson in #2133
- Tutorial for odc-stac by @caitlinadams in #2055
- Add cyprus datacube by @whatnick in #2092
- Add some more type signatures by @pjonsson in #2128
- cli: use UUID for dataset IDs by @pjonsson in #2131
- index: use dsid_to_uuid function by @pjonsson in #2132
- drivers: pass regular parameters by @pjonsson in #2134
- drivers: set preserve_rowcount by @pjonsson in #2135
- lineage: add type annotation by @pjonsson in #2136
- Replace the automatic spell checker tool. by @omad in #2097
- test_config_docs: remove Python 2 support by @pjonsson in #2139
- STAC/EO3 conversion improvements by @Ariana-B in #2146
- MANIFEST.in: graft model/schemas by @pjonsson in #2148
- More STAC/EO3 logic fixes by @Ariana-B in #2150
- test_search_eo3: expect right type by @pjonsson in #2138
- postgis: validate doc definition by @pjonsson in #2141
- test_config_tool: enable test for postgis by @pjonsson in #2140
- documents: add parse_doc_stream by @pjonsson in #2147
- Use stacklevel on warnings to expose their call site and make sure they're displayed by @omad in #2151
- postgis: use parse_time for dates by @pjonsson in #2152
- Add some type annotations by @pjonsson in #2153
- Tweak STAC link handling by @Ariana-B in #2156
Automated Updates
Full Changelog: 1.9.8...1.9.9
Includes contributions from @pjonsson, @omad, @caitlinadams, @whatnick, and @Ariana-B
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia, CSIRO, and RISE.
Open Data Cube 1.9.8
This release improves upon the STAC to EO3 conversion logic, and moves EO3 to STAC conversion code out of eo-datasets into datacube-core as the next step in the ongoing cross-repo consolidation and refactor of STAC handling logic.
It also contains some code improvements and cleanup.
What's Changed
- Update broken installation docs. by @SpacemanPaul in #2091
- CI: fixate time stamp for image layers (reproducible docker builds) by @pjonsson in #2094
- Fix some typos by @pjonsson in #2098
- Dockerfile: upgrade to uv 0.8.6 by @pjonsson in #2102
- ruff: format code in doc strings by @pjonsson in #2096
- fields: type check field names by @pjonsson in #2100
- model: give Range types by @pjonsson in #2101
- testutils: adjust for type checker by @pjonsson in #2112
- model: give Not a type by @pjonsson in #2103
- Add/fix more type annotations by @pjonsson in #2110
- query: fail when center_time is None by @pjonsson in #2111
- Use datetime instead of dateutil by @pjonsson in #2114
- tests: fix faulty path by @pjonsson in #2117
- docs: remove requirements.txt by @pjonsson in #2115
- opt: fix error printout by @pjonsson in #2118
- postgis: remove type ignores by @pjonsson in #2121
- Fix some lint issues by @pjonsson in #2125
- query_group_by: improve type signature by @pjonsson in #2119
- Enable more lint rules by @pjonsson in #2105
- Make handling of coords in create_storage backwards compatible by @Ariana-B in #2126
- postgis: tweak type signatures by @pjonsson in #2129
- Consolidate stac/eo3 conversion logic by @Ariana-B in #2077
- Fix pre-commit errors by @pjonsson in #2130
Automated updates
Full Changelog: 1.9.7...1.9.8
Includes contributions from @SpacemanPaul, @pjonsson, and @Ariana-B
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia and RISE.
Open Data Cube release 1.9.7
This release includes a fix for a critical bug affecting dask loading and the postgis index driver.
What's Changed
- Fix spell check by @pjonsson in #2033
- eo3: fix type error by @pjonsson in #2031
- cog: un-nest and align logic by @pjonsson in #2034
- Enable flake8-simplify rules by @pjonsson in #2035
- search_tool: fix some types by @pjonsson in #2036
- Fix type checker errors by @pjonsson in #2037
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2043
- Handle list type resolution by @Ariana-B in #2039
- Fix type checker errors by @pjonsson in #2042
- validate_document: add type annotations by @pjonsson in #2041
- BandInfo: deprecate unused 3D parameter by @pjonsson in #2040
- Restrict to sphinx-tabs 3.4.5 by @pjonsson in #2046
- docs: add missing index by @pjonsson in #2047
- tests: test legacy resolution by @pjonsson in #2050
- Dockerfile: set UV_LINK_MODE by @pjonsson in #2051
- CI: pin image by hash by @pjonsson in #2048
- Relax click requirement by @pjonsson in #2052
- Extend and integrate
native_loadby @emmaai in #2053 - Enable more lint rules by @pjonsson in #2056
- Revert "Restrict to sphinx-tabs 3.4.5" by @pjonsson in #2057
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2063
- Fix type checker errors by @pjonsson in #2062
- xarray_geoextensions: add space in warning by @pjonsson in #2060
- CI: check right file in pre-commit by @pjonsson in #2064
- pylint: remove reports parameter by @pjonsson in #2061
- Require setuptools_scm >= 8 by @pjonsson in #2065
- testutils: fix NoData behavior by @pjonsson in #2049
- CI: shorten job timeout by @pjonsson in #2066
- readthedocs: remove extra_requirements by @pjonsson in #2067
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2070
- build(deps): bump github/codeql-action from 3.29.2 to 3.29.4 by @dependabot[bot] in #2072
- build(deps): bump astral-sh/setup-uv from 6.3.1 to 6.4.3 by @dependabot[bot] in #2073
- Typecheck tests in CI by @pjonsson in #2071
- CI: run code coverage earlier by @pjonsson in #2076
- docs: introduce docs/source directory by @pjonsson in #2068
- docs: build with uv by @pjonsson in #2082
- create_storage: change parameter type by @pjonsson in #2078
- Various type signature adjustments by @pjonsson in #2079
- dockerignore: update with more patterns by @pjonsson in #2084
- docs: autogenerate version by @pjonsson in #2085
- pre-commit: update ruff hook name by @pjonsson in #2086
- CI: use OIDC for CodeCov by @pjonsson in #2088
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2089
- Ensure MetadataType models can always be pickled to support Dask loading by @SpacemanPaul in #2083
- Make configure_s3_access driver aware by @SpacemanPaul in #2087
Full Changelog: 1.9.6...1.9.7
Includes contributions from @pjonsson, @SpacemanPaul, @emmaai and @Ariana-B
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of Geoscience Australia and RISE.
Open Data Cube 1.9.6
This release brings odc-stac in as a direct dependency of datacube-core and moves some STAC to EO3
conversion code out of odc-stac into core as the first step in an organisation-wide cross-repo consolidation and
refactor of STAC handling code and in preparation for more native suppport of STAC metadata within core.
It also contains some enhancements to CLI commands, bugfixes and cleanup.
What's Changed
- build(deps): bump the python-deps group with 15 updates by @dependabot[bot] in #1969
- examples: fix function signatures by @pjonsson in #1972
- examples: remove unimplemented zeros by @pjonsson in #1974
- docs: remove broken link by @pjonsson in #1973
- examples/tests: fix dependencies by @pjonsson in #1975
- docs: escape trailing underscores by @pjonsson in #1976
- docs: miscellaneous small fixes by @pjonsson in #1981
- docs: fix links in migration document by @pjonsson in #1980
- Add dataset count CLI command by @Ariana-B in #1963
- Dockerfile: use uv for installation by @pjonsson in #1971
- docs: add missing links by @pjonsson in #1978
- PR and release process updates by @omad in #1983
- docs: stop redefining label by @pjonsson in #1984
- docs: make Sphinx resolve ODCEnvironment by @pjonsson in #1985
- Put JSON type aliases in separate file by @pjonsson in #1986
- docs: add explicit code-block by @pjonsson in #1988
- Remove unused PY35 constant by @pjonsson in #1987
- docs: document named tuple parameters by @pjonsson in #1977
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1990
- CI: run with fewer permissions by @pjonsson in #1997
- drivers: make types more specific by @pjonsson in #1996
- Update dependencies by @pjonsson in #1994
- Various CLI improvements by @Ariana-B in #1993
- cli: only read files once by @pjonsson in #2000
- Update to mypy 1.16.1 by @pjonsson in #1995
- tests: fix return value checks by @pjonsson in #2001
- Switch decorator order to appease lint/typing by @omad in #2004
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2007
- Type-annotate type aliases by @pjonsson in #2006
- build(deps): bump igsekor/pyspelling-any from 1.0.4 to 1.0.5 by @dependabot[bot] in #2008
- Use datetime.UTC instead of datetime.pytz() by @omad in #2010
- Avoid Null Reference in Core by @omad in #2011
- core: remove old assert by @pjonsson in #2013
- CI: test with Python 3.13 by @pjonsson in #2015
- CI: pin actions by hash by @pjonsson in #2014
- Record rasterio/gdal/etc versions from CI runs by @omad in #2017
- Depend on odc-loader by @pjonsson in #2019
- Fix some type signatures by @pjonsson in #2021
- postgis: pass plugins parameter by @pjonsson in #2022
- Normalise geobox inputs to Datacube api by @Ariana-B in #2018
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2023
- build(deps): bump aquasecurity/trivy-action from 0.31.0 to 0.32.0 by @dependabot[bot] in #2025
- build(deps): bump conda-incubator/setup-miniconda from 3.1.1 to 3.2.0 by @dependabot[bot] in #2026
- Depend on odc-stac, and move odc.stac.eo3 from odc-stac to datacube.metadata by @SpacemanPaul in #2027
- Update fallback version number and whats_new.rst for 1.9.6 release by @SpacemanPaul
Full Changelog: 1.9.5...1.9.6
Includes contributions from @pjonsson, @Ariana-B, @omad, and @SpacemanPaul.
The Open Data Cube Steering Council thanks and acknowledges the ongoing support of
Geoscience Australia, CSIRO and RISE.
Open Data Cube 1.9.5
This release introduces support for boolean type search fields, as well as a handful of bug-fixes.
What's Changed
New feature:
Bug fixes:
- Export grid workflow classes from datacube.api fixing issue #1953 #1958
archive-less-matureruns when re-indexing datasets (fixing issue #1917) #1948- Serialise Measurement with canonical name (fixing issue #1936) #1962
Docker image improvements:
Miscellaneous code cleanup and CI improvements:
- model: handle integer resolution #1967
- Remove types-redis dependency #1965
- index: add return types #1939
- Update dependencies #1925
- Run Ruff format on all code #1926, #1927
- Group all dependabot updates in the 'uv' ecosystem. #1928, #1934
- Move deprecated imports #1938
- Remove empty doc strings #1946
- index: fix search_by_product type #1944
- Put coverage config in pyproject #1942
- Fix alembic deprecation warning #1941
- Convert doc strings to type annotations #1940, #1950, #1951
- Convert doc strings to type annotations #1940
- Document alembic upgrades #1955
- postgis: stop parsing table names #1961
- postgis: fix alembic metadata object #1960
- increment fallback version and finalise release notes #1970
Automated updates
Includes contributions from @pjonsson, @omad, @emmaai, @Ariana-B and @SpacemanPaul, with thanks to
supporting organisations CSIRO, RISE and Geoscience Australia.
Full Changelog: 1.9.4...1.9.5
v1.9.4 (20 May 2025)
Improvements
Bring back GridWorkflow
GridWorkflow is back! It was accidentally removed with the deprecated ingestion tools as part of the ODC 1.9 release, since it’s no longer needed internally. It is however an extremely useful public API for anyone running large scale data summaries and is used by ODC Statistician.
GridWorkflow has been updated to use the odc-geo geometry classes.
See: issue 1749 and PR 1760
Fixed Dask load crash in some cases
There was a regression in data loading with dask in Datacube 1.9. It only occurred in rare cases so only affected some people.
The load failed whenever there were completely empty data chunks, which are rectangular in shape. That is, X != Y.
See PR 1780 and issue 1779 for details.
Cleaning and Tidying
Massive cleaning effort across the codebase, spearheaded by @pjonsson, with a focus on:
Improvements in type annotations
Linting fixes
Code formatting and import ordering
Continuous integration improvements
See the ODC Docs Whats New page for more details.
Other Changes
- Update whats_new.rst for 1.9.3 release. by @SpacemanPaul in #1778
- "Opt-in" use of odc-geo GridSpec by @Ariana-B in #1783
- sql: fix packagenames type by @pjonsson in #1784
- Add some type signatures by @pjonsson in #1785
- tests: use set instead of list by @pjonsson in #1792
- users: import right index by @pjonsson in #1793
- Remove executable permission on files by @pjonsson in #1797
- Fix Dask Data Load error by @omad in #1780
- Use Ruff instead of flake8 by @pjonsson in #1789
- dependabot: update uv.lock by @pjonsson in #1790
- postgres: use one type for fields by @pjonsson in #1795
- Import names from defining module by @pjonsson in #1799
- build(deps): bump pytest-cov from 6.0.0 to 6.1.1 by @dependabot in #1807
- build(deps): bump urllib3 from 2.3.0 to 2.4.0 by @dependabot in #1806
- build(deps): bump ipython from 8.34.0 to 8.35.0 by @dependabot in #1804
- build(deps): bump beautifulsoup4 from 4.13.3 to 4.13.4 by @dependabot in #1803
- build(deps): bump mako from 1.3.9 to 1.3.10 by @dependabot in #1805
- dependabot: group uv dependencies by @pjonsson in #1816
- build(deps): bump jsonschema-specifications from 2024.10.1 to 2025.4.1 by @dependabot in #1814
- build(deps): bump astral-sh/setup-uv from 5 to 6 by @dependabot in #1820
- postgis: inherit instead of decorate by @pjonsson in #1801
- fields: type annotate offset parameter by @pjonsson in #1809
- virtual: fix pydoc formatting by @pjonsson in #1810
- tests: update to moto 5.1.4 by @pjonsson in #1822
- CI: use the right project slug by @pjonsson in #1823
- build(deps): bump the uv-deps group with 28 updates by @dependabot in #1821
- Various lint fixes by @pjonsson in #1824
- geometry: stop misusing constructor by @pjonsson in #1827
- tests: fix midnight bug by @pjonsson in #1825
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1832
- build(deps): bump the uv-deps group across 1 directory with 3 updates by @dependabot in #1834
- build(deps): bump the uv-deps group with 2 updates by @dependabot in #1840
- api: type annotate group_by_time by @pjonsson in #1788
- postgis: update mapper dynamically by @pjonsson in #1831
- CI: add security scanner by @pjonsson in #1833
- dockerfile: stop running chown by @pjonsson in #1835
- dependabot: update boto* weekly instead by @pjonsson in #1837
- Python 3.10 updates by @pjonsson in #1839
- More lint fixes by @pjonsson in #1838
- Add some more type signatures by @pjonsson in #1796
- build(deps): bump the uv-deps group with 3 updates by @dependabot in #1841
- pytest: configure in pyproject.toml by @pjonsson in #1844
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1845
- Dependabot: fix boto group conflict by @pjonsson in #1843
- Fix file permissions by @pjonsson in #1846
- Dockerfile: use uv-generated constraints by @pjonsson in #1842
- build(deps): bump the uv-deps group with 5 updates by @dependabot in #1853
- Sort imports with Ruff by @pjonsson in #1858
- Fix docstring parameter names by @pjonsson in #1857
- dependabot: add boto-stubs to weekly by @pjonsson in #1856
- Add types for pandas while developing by @omad in #1867
- Dockerfile: add panda types by @pjonsson in #1868
- build(deps): bump the uv-weekly-deps group across 1 directory with 4 updates by @dependabot in #1860
- build(deps): bump hypothesis from 6.131.9 to 6.131.12 in the uv-deps group by @dependabot in #1861
- build(deps): bump hypothesis from 6.131.9 to 6.131.12 by @dependabot in #1859
- Speed up S3 Client tests with mocks by @omad in #1878
- Fix more docstrings by @pjonsson in #1880
- Reinstate grid workflow by @omad in #1760
- pyproject: set a fallback version by @pjonsson in #1887
- Set a valid fallback version by @pjonsson in #1889
- Dependabot: disable weekly updates by @pjonsson in #1886
- We don't use compliance-checker any more by @omad in #1888
- Remove cf-units leftovers by @pjonsson in #1897
- build(deps): bump the uv-deps group across 1 directory with 5 updates by @dependabot in #1895
- model: remove old asserts by @pjonsson in #1898
- Enable flake8-comprehensions by @pjonsson in #1900
- Remove pytest-timeout by @pjonsson in #1899
- dependabot: set to weekly schedule by @pjonsson in #1901
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1902
- Ensure lock files are updated using pre-commit by @omad in #1890
- CI: run tests with docker compose by @pjonsson in #1896
- build(deps): bump botocore-stubs from 1.38.10 to 1.38.14 by @dependabot in #1904
- build(deps): bump boto3-stubs from 1.38.10 to 1.38.14 by @dependabot in #1905
- build(deps): bump the uv-deps group with 3 updates by @dependabot in #1906
- build(deps): bump botocore from 1.38.10 to 1.38.14 by @dependabot in https://github.com/opendatacube/datac...