You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Related Issue(s):**
- None
**Description:**
#### Added
- Environment variable `VALIDATE_QUERYABLES` to enable/disable
validation of queryables in search/filter requests. When set to `true`,
search requests will be validated against the defined queryables,
returning an error for any unsupported fields. Defaults to `false` for
backward
compatibility.[#532](#532)
- Environment variable `QUERYABLES_CACHE_TTL` to configure the TTL (in
seconds) for caching queryables. Default is `1800` seconds (30 minutes)
to balance performance and freshness of queryables data.
[#532](#532)
- Added optional `/catalogs` route support to enable federated
hierarchical catalog browsing and navigation.
[#547](#547)
- Added DELETE `/catalogs/{catalog_id}/collections/{collection_id}`
endpoint to support removing collections from catalogs. When a
collection belongs to multiple catalogs, it removes only the specified
catalog from the collection's parent_ids. When a collection belongs to
only one catalog, the collection is deleted entirely.
[#554](#554)
- Added `parent_ids` internal field to collections to support
multi-catalog hierarchies. Collections can now belong to multiple
catalogs, with parent catalog IDs stored in this field for efficient
querying and management.
[#554](#554)
- Added GET `/catalogs/{catalog_id}/children` endpoint implementing the
STAC Children extension for efficient hierarchical catalog browsing.
Supports type filtering (?type=Catalog|Collection), pagination, and
returns numberReturned/numberMatched counts at the top level.
[#558](#558)
- Implemented context-aware dynamic linking: catalogs use dynamic
`rel="children"` links pointing to the `/catalogs/{id}/children`
endpoint, and collections have context-dependent `rel="parent"` links
(pointing to catalog when accessed via
`/catalogs/{id}/collections/{id}`, or root when accessed via
`/collections/{id}`). Catalog links are only injected in catalog
context. This eliminates race conditions and ensures consistency with
parent_ids relationships.
[#559](#559)
#### Changed
- Have opensearch datetime, geometry and collections fields defined as
constant strings
[#553](#553)
#### Fixed
- Fix unawaited coroutine in `stac_fastapi.core.core`.
[#551](#551)
- Parse `ES_TIMEOUT` environment variable as an integer.
[#556](#556)
- Implemented "Smart Unlink" logic in delete_catalog: when cascade=False
(default), collections are unlinked from the catalog and become
root-level orphans if they have no other parents, rather than being
deleted. When cascade=True, collections are deleted entirely. This
prevents accidental data loss and supports poly-hierarchy scenarios
where collections belong to multiple catalogs.
[#557](#557)
- Fixed delete_catalog to use reverse lookup query on parent_ids field
instead of fragile link parsing. This ensures all collections are found
and updated correctly, preventing ghost relationships where collections
remain tagged with deleted catalogs, especially in large catalogs or
pagination scenarios.
[#557](#557)
**PR Checklist:**
- [x] Code is formatted and linted (run `pre-commit run --all-files`)
- [x] Tests pass (run `make test`)
- [x] Documentation has been updated to reflect changes, if applicable
- [x] Changes are added to the changelog
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-6Lines changed: 14 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
9
9
10
10
### Added
11
11
12
+
### Changed
13
+
14
+
### Fixed
15
+
16
+
### Removed
17
+
18
+
### Updated
19
+
20
+
## [v6.8.0] - 2025-12-15
21
+
22
+
### Added
23
+
12
24
- Environment variable `VALIDATE_QUERYABLES` to enable/disable validation of queryables in search/filter requests. When set to `true`, search requests will be validated against the defined queryables, returning an error for any unsupported fields. Defaults to `false` for backward compatibility.[#532](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/532)
13
25
- Environment variable `QUERYABLES_CACHE_TTL` to configure the TTL (in seconds) for caching queryables. Default is `1800` seconds (30 minutes) to balance performance and freshness of queryables data. [#532](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/532)
14
26
- Added optional `/catalogs` route support to enable federated hierarchical catalog browsing and navigation. [#547](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/547)
@@ -17,7 +29,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
17
29
- Added GET `/catalogs/{catalog_id}/children` endpoint implementing the STAC Children extension for efficient hierarchical catalog browsing. Supports type filtering (?type=Catalog|Collection), pagination, and returns numberReturned/numberMatched counts at the top level. [#558](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/558)
18
30
- Implemented context-aware dynamic linking: catalogs use dynamic `rel="children"` links pointing to the `/catalogs/{id}/children` endpoint, and collections have context-dependent `rel="parent"` links (pointing to catalog when accessed via `/catalogs/{id}/collections/{id}`, or root when accessed via `/collections/{id}`). Catalog links are only injected in catalog context. This eliminates race conditions and ensures consistency with parent_ids relationships. [#559](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/559)
19
31
20
-
21
32
### Changed
22
33
23
34
- Have opensearch datetime, geometry and collections fields defined as constant strings [#553](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/553)
@@ -29,10 +40,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
29
40
- Implemented "Smart Unlink" logic in delete_catalog: when cascade=False (default), collections are unlinked from the catalog and become root-level orphans if they have no other parents, rather than being deleted. When cascade=True, collections are deleted entirely. This prevents accidental data loss and supports poly-hierarchy scenarios where collections belong to multiple catalogs. [#557](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/557)
30
41
- Fixed delete_catalog to use reverse lookup query on parent_ids field instead of fragile link parsing. This ensures all collections are found and updated correctly, preventing ghost relationships where collections remain tagged with deleted catalogs, especially in large catalogs or pagination scenarios. [#557](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/557)
31
42
32
-
### Removed
33
-
34
-
### Updated
35
-
36
43
## [v6.7.6] - 2025-12-04
37
44
38
45
### Fixed
@@ -682,7 +689,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
682
689
- Use genexp in execute_search and get_all_collections to return results.
683
690
- Added db_to_stac serializer to item_collection method in core.py.
Core functionality for stac-fastapi. For full documentation, please see the [main README](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/blob/main/README.md).
This is the Elasticsearch backend for stac-fastapi. For full documentation, please see the [main README](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/blob/main/README.md).
0 commit comments