Skip to content

Releases: opendatacube/datacube-core

Datacube 1.9.0-rc3 pre-release

27 Mar 05:39
411f6c5
Compare
Choose a tag to compare
Pre-release

This is re-pre-release of 1.9.0-rc1 to get the github and pypi pre-release version numbering back in sync.

Datacube 1.9.0 release candidate 3

The last new major release of the Open Data Cube was v1.8.0 in May 2020, nearly 4 years ago.

ODC developers and the Steering Council have been working hard behind the scenes over the last couple of years
to address some of the accumulated technical debt in datacube-core and prepare for new major releases.

The long-term plan includes a number of significant backwards-incompatible changes. An effort has been made to
provide a smooth migration pathway wherever possible, with existing behaviour in 1.8.x versions being deprecated
in 1.9.x, with alternatives being provided, then removing the deprecated behaviour in 2.0.x with the alternative
approaches becoming the standard, but some minor backwards incompatible changes in 1.9.x were unavoidable.

This is the first release candidate for the 1.9.x release series. Please refer to the Migration Notes document before attempting to upgrade from a 1.8 series installation.

  • Merge in 1.8.x branch changes. (#1459, #1473, #1532, #1548, #1565)
  • External Lineage API (#1401)
  • Add lineage support to index clone operation (#1429)
  • Migrate to SQLAlchemy 2.0 (#1432)
  • Clean up deprecated code and add deprecation warnings to legacy methods, simplify DocReader logic (#1406)
  • Mark geometry module as deprecated and replace all usage with odc-geo (#1424)
  • Mark GridSpec as deprecated, replace math and cog functions with odc-geo equivalents, enforce new odc-geo conventions (#1441)
  • Rename gbox to geobox in parameter names (#1441)
  • Remove executor API (#1462)
  • Remove ingestion methods, GridWorkflow and Tile classes (#1465)
  • Fix postgis queries for numeric custom search fields (#1475)
  • Document best practice for pulling in changes from develop and update constraints.txt (#1478)
  • Postgis index driver performance tuning (#1480)
  • Cleanup and formalise spatial index API and expose in CLI (#1481)
  • Increase minimum Python version to 3.10 (#1509)
  • Virtual product tests using odc-geo GridSpec (#1512)
  • New Configuration API, as per ODC-EP10 (#1505)
  • Alembic migrations for postgis driver (#1520)
  • EP08 lineage extensions/changes to datasets.get(). (#1530)
  • EP13 API changes to Index and IndexDriver. (#1534)
  • EP13 API changes to metadata and product resources. (#1536)
  • Phase 1 of EP13 API changes to dataset resource - get_unsafe, get_derived, temporal_extent. (#1538)
  • Add product argument to spatial_extent method, as per EP13. (#1539)
  • Index driver API type hint cleanup. (#1541)
  • Deprecate multiple locations. (#1546)
  • Deprecate search_eager and search_summaries and add archived arg to all dataset search/count methods. (#1550)
  • Migrate away from deprecated Python pkg_resources module (#1558)
  • Add custom_offsets and order_by arguments to search_retunrning() - order_by still unimplemented. (#1557)
  • Fix and enhance typehints, automated static type checking with mypy. (#1562)
  • Improve SQLAlchemy join hints, addressing an recurring but intermittent bug. (#1564)
  • Improve typehints and update docstrings in datacube/api/core.py (#1567)
  • Add migration notes, update documentation and whats_new.rst for 1.9.0-rc1 release (#1569)

Includes contributions from @SpacemanPaul and @Ariana-B, with assistance from @omad and @robbibt

With thanks to the Open Data Cube Steering Council and all supporting organisations, especially Geoscience Australia.

Datacube 1.9.0-rc1

27 Mar 01:30
411f6c5
Compare
Choose a tag to compare
Datacube 1.9.0-rc1 Pre-release
Pre-release

The last new major release of the Open Data Cube was v1.8.0 in May 2020, nearly 4 years ago.

ODC developers and the Steering Council have been working hard behind the scenes over the last couple of years
to address some of the accumulated technical debt in datacube-core and prepare for new major releases.

The long-term plan includes a number of significant backwards-incompatible changes. An effort has been made to
provide a smooth migration pathway wherever possible, with existing behaviour in 1.8.x versions being deprecated
in 1.9.x, with alternatives being provided, then removing the deprecated behaviour in 2.0.x with the alternative
approaches becoming the standard, but some minor backwards incompatible changes in 1.9.x were unavoidable.

This is the first release candidate for the 1.9.x release series. Please refer to the docs/MIGRATION-1.8-to-1.9.rst document before attempting to upgrade from a 1.8 series installation.

  • Merge in 1.8.x branch changes. (#1459, #1473, #1532, #1548, #1565)
  • External Lineage API (#1401)
  • Add lineage support to index clone operation (#1429)
  • Migrate to SQLAlchemy 2.0 (#1432)
  • Clean up deprecated code and add deprecation warnings to legacy methods, simplify DocReader logic (#1406)
  • Mark geometry module as deprecated and replace all usage with odc-geo (#1424)
  • Mark GridSpec as deprecated, replace math and cog functions with odc-geo equivalents, enforce new odc-geo conventions (#1441)
  • Rename gbox to geobox in parameter names (#1441)
  • Remove executor API (#1462)
  • Remove ingestion methods, GridWorkflow and Tile classes (#1465)
  • Fix postgis queries for numeric custom search fields (#1475)
  • Document best practice for pulling in changes from develop and update constraints.txt (#1478)
  • Postgis index driver performance tuning (#1480)
  • Cleanup and formalise spatial index API and expose in CLI (#1481)
  • Increase minimum Python version to 3.10 (#1509)
  • Virtual product tests using odc-geo GridSpec (#1512)
  • New Configuration API, as per ODC-EP10 (#1505)
  • Alembic migrations for postgis driver (#1520)
  • EP08 lineage extensions/changes to datasets.get(). (#1530)
  • EP13 API changes to Index and IndexDriver. (#1534)
  • EP13 API changes to metadata and product resources. (#1536)
  • Phase 1 of EP13 API changes to dataset resource - get_unsafe, get_derived, temporal_extent. (#1538)
  • Add product argument to spatial_extent method, as per EP13. (#1539)
  • Index driver API type hint cleanup. (#1541)
  • Deprecate multiple locations. (#1546)
  • Deprecate search_eager and search_summaries and add archived arg to all dataset search/count methods. (#1550)
  • Migrate away from deprecated Python pkg_resources module (#1558)
  • Add custom_offsets and order_by arguments to search_retunrning() - order_by still unimplemented. (#1557)
  • Fix and enhance typehints, automated static type checking with mypy. (#1562)
  • Improve SQLAlchemy join hints, addressing an recurring but intermittent bug. (#1564)
  • Improve typehints and update docstrings in datacube/api/core.py (#1567)
  • Add migration notes, update documentation and whats_new.rst for 1.9.0-rc1 release (#1569)

Includes contributions from @SpacemanPaul and @Ariana-B, with assistance from @omad and @robbibt

With thanks to the Open Data Cube Steering Council and all supporting organisations, especially Geoscience Australia.

Datacube 1.8.18

27 Mar 00:58
ecbab26
Compare
Choose a tag to compare

Transitional Release

1.8.18 contains bugfixes, as well as enhancements and changes to help prepare for the migration to Open Data Cube 1.9.x. This release likely contains the last significant enhancements to the 1.8.x series. The first 1.9 series release candidate will be published imminently. Future development will focus on the 1.9.x series, although 1.8.x series maintenance and bugfix releases will continue for the forseeable future.

  • Add dataset cli tool find-duplicates to identify duplicate indexed datasets (#1517)
  • Make solar_day() timezone aware (#1521)
  • Warn if non-eo3 dataset has eo3 metadata type (#1523)
  • Update pandas version in docker image to be consistent with conda environment and default to stdlib
    timezone instead of pytz when converting timestamps; automatically update copyright years (#1527)
  • Update github-Dockerhub credential-passing mechanism. (#1528)
  • Tweak list_products logic for getting crs and resolution values (#1535)
  • Add new ODC Cheatsheet reference doc to Data Access & Analysis documentation page (#1543)
  • Compatibility fix to allow users to supply odc.geo-style GeoBoxes to dc.load(like=...) (#1551)
  • Fix broken codecov github action. (#1554)
  • Update documentation links to DEA Knowledge Hub (#1559)
  • Throw error if time dimension is provided as an int or float to Query construction
    instead of assuming it to be seconds since epoch (#1561)
  • Add generic NOT operator and for ODC queries and Not type wrapper (#1563)
  • Update whats_new.rst for release (#1568)

Includes contributions from @robbibt, @Ariana-B, @benji-glitsos-ga and @SpacemanPaul

1.9.0 pre-release 2

18 Mar 03:58
47b8d09
Compare
Choose a tag to compare
1.9.0 pre-release 2 Pre-release
Pre-release

Second pre-release of the 1.9 branch.

This is not a release candidate and is intended for internal use.

1.9.0 Pre-Release 1

05 Feb 20:25
9585230
Compare
Choose a tag to compare
1.9.0 Pre-Release 1 Pre-release
Pre-release

Administrative pre-release to facilitate team cooperation.

Open Data Cube Release 1.8.17

08 Nov 00:04
9fb8c8c
Compare
Choose a tag to compare

datacube-1.8.17: Maintenance release

  • Fix database permission-handling bug affecting datacube system init --no-init-users for the postgres index driver (#1504).
  • Switch to new jsonschema "referencing" API, and pin jsonschema>=4.18 (#1477)
  • Update whats_new.rst for 1.8.17 release (#1510)

With contributions from @Ariana-B and @SpacemanPaul. Thanks to @omad and @emmaai for identifying the issues.

Open Data Cube release 1.8.16

16 Oct 23:14
b6181fe
Compare
Choose a tag to compare

Maintenance release

Various bug fixes and updates.

Previous releases of the ODC have supported Python 3.8+. With Python 3.8 now at end-of-life, and recent releases of key datacube dependencies (e.g. Xarray and PyProj) already requiring Python 3.9, this release officially drops support for Python 3.8.

Full list of changes:

  • Improve error message for mismatch between dataset metadata and product signature #1472
  • Mark --confirm-ignore-lineage, --auto-add-lineage, and --verify-lineage as deprecated
    or to be deprecated #1472
  • Default delta values in archive_less_mature and find_less_mature #1472
  • Fix SQLAlchemy calls and pin jsonschema version to suppress deprecation warnings #1476
  • Throw a better error if a dataset is not compatible with archive_less_mature logic #1491
  • Fix broken Github action workflow #1496
  • Support like=<GeoBox> in virtual product load #1497
  • Don't archive less mature if archive_less_mature is provided as False instead of None #1498
  • Raise minimum supported Python version to 3.9 #1500
  • Manually apply Dependabot updates, and update whats_new.rst for 1.8.16 release #1501

With contributions from @SpacemanPaul @Ariana-B and @uchchwhash

Special thanks to all supporting organisations, especially Geoscience Australia.

Datacube v1.8.15

11 Jul 01:00
b3bc535
Compare
Choose a tag to compare

The previous release of the Open Data Cube (1.8.14) replaced a deprecated import API for driver loading. Unfortunately the new API used is only supported by Python>=3.10. This means that v1.8.14 was not compatible with Python 3.8 and 3.9.

The Open Data Cube aims to support Python >= 3.8 and we apologise to the community for this oversight.

This v1.8.15 release replaces the problematic API with one that is supported by Python 3.8 and 3.9 (#1469), and updates whats_new.rst (#1470). There are no other changes in this release.

Thanks to @emmaai for identifying the issue and @Ariana-B for fixing it.

Datacube v1.8.14

28 Jun 01:26
5fed4a6
Compare
Choose a tag to compare

Major changes in this release:

  1. The attempted fix to the projection bug in the previous release turned out to be inadequate, this release contains a fix for the bug fix.
  2. The behaviour of the archive-less-mature option on dataset-add has been enhanced (default time leniency increased to +/-500ms, with the option for the user to set their own leniency threshold.
  3. Several old and poorly maintained APIs have been formally deprecated in this release, and will be removed from datacube-core in the 1.9.0 release: ingestion (which the documentation has recommended against using for many years), executors and grid workflow. If you still use any of these APIs, you can continue to use them in this release (and will still be able to use them in all future 1.8.x releases) by simply ignoring the deprecation warnings. If you have workflows that still depend on these APIs, please raise your requirements on the ODC Slack community so we can help you identify alternative approaches. There is no planned release date for v1.9.0 at this stage.

Full list of changes in this release:

  • Second attempt to address unexpected handling of image aspect ratios in rasterio and GDAL. (#1457)
  • Fix broken PyPI publishing Github action (#1454)
  • Documentation improvements (#1455)
  • Increase default maturity leniency to +-500ms (#1458)
  • Add option to specify maturity timedelta when using --archive-less-mature option (#1460)
  • Mark executors as deprecated (#1461)
  • Mark ingestion as deprecated (#1463)
  • Replace deprecated pkg_resources with importlib.resources and importlib.metadata (#1466)
  • Update whats_new.rst for release (#1467)

Includes code contributions from @SpacemanPaul and @Ariana-B.

With thanks to @Kirill888, @robbibt and @snowman2 for their help in identifying and finding a viable fix for the projection bug and to Geoscience Australia for their continuing support of ODC development and maintenance.

Datacube v1.8.13

06 Jun 02:42
0dd8292
Compare
Choose a tag to compare

Key improvements this release:

  1. Fix for the upstream reprojection bug identified by @robbibt
  2. Implementation of "archive less mature" functionality in datacube dataset add.

Full list of changes:

  • Fix broken Github action workflows (#1425, #1427, #1433)
  • Setup Dependabot, and Dependabot-generated updates (#1416, #1420, #1423, #1428, #1436, #1447)
  • Documentation fixes (#1417, #1418, #1430)
  • datacube dataset cli commands print error message if missing argument (#1437)
  • Add pre-commit hook to verify license headers (#1438)
  • Support open-ended date ranges in datacube dataset search, dc.load, and dc.find_datasets (#1439, #1443)
  • Pass Y and Y Scale factors through to rasterio.warp.reproject, to eliminate projection bug affecting
    non-square Areas Of Interest (See Issue #1448) (#1450)
  • Add archive_less_mature option to datacube dataset add and datacube dataset update (#1451)
  • Allow for +-1ms leniency in finding other maturity versions of a dataset (#1452)
  • Update whats_new.rst for release (#1453)

With contributions from @SpacemanPaul, @Ariana-B, @omad, and @MartinPontius

Special thanks to @Kirill888 for his assistance with resolving #1448 and thanks to all supporting organisations, especially Geoscience Australia.