Skip to content

Commit eb45b72

Browse files
Merge branch 'main' into CAT-1382-2
2 parents 072592d + 5c0d44f commit eb45b72

File tree

8 files changed

+40
-44
lines changed

8 files changed

+40
-44
lines changed

.github/workflows/cicd.yml

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
services:
1818
elasticsearch_8_svc:
19-
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
19+
image: docker.elastic.co/elasticsearch/elasticsearch:8.19.5
2020
env:
2121
cluster.name: stac-cluster
2222
node.name: es01
@@ -32,25 +32,8 @@ jobs:
3232
ports:
3333
- 9200:9200
3434

35-
elasticsearch_7_svc:
36-
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.1
37-
env:
38-
cluster.name: stac-cluster
39-
node.name: es01
40-
network.host: 0.0.0.0
41-
transport.host: 0.0.0.0
42-
discovery.type: single-node
43-
http.port: 9400
44-
xpack.license.self_generated.type: basic
45-
xpack.security.enabled: false
46-
xpack.security.transport.ssl.enabled: false
47-
ES_JAVA_OPTS: -Xms512m -Xmx1g
48-
action.destructive_requires_name: false
49-
ports:
50-
- 9400:9400
51-
52-
opensearch_2_11:
53-
image: opensearchproject/opensearch:2.11.1
35+
opensearch_2_19:
36+
image: opensearchproject/opensearch:2.19.3
5437
env:
5538
cluster.name: stac-cluster
5639
node.name: os01
@@ -59,12 +42,19 @@ jobs:
5942
discovery.type: single-node
6043
http.port: 9202
6144
http.cors.enabled: true
62-
plugins.security.disabled: true
63-
plugins.security.ssl.http.enabled: true
45+
DISABLE_SECURITY_PLUGIN: true
46+
DISABLE_INSTALL_DEMO_CONFIG: true
6447
OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m
6548
action.destructive_requires_name: false
6649
ports:
6750
- 9202:9202
51+
options: >-
52+
--health-cmd="curl -f http://localhost:9202/_cluster/health || exit 1"
53+
--health-interval=10s
54+
--health-timeout=5s
55+
--health-retries=10
56+
--ulimit nofile=65536:65536
57+
--ulimit memlock=-1:-1
6858
6959
redis:
7060
image: redis:7-alpine
@@ -78,8 +68,8 @@ jobs:
7868

7969
strategy:
8070
matrix:
81-
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13"]
82-
backend: [ "elasticsearch7", "elasticsearch8", "opensearch"]
71+
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
72+
backend: [ "elasticsearch8", "opensearch"]
8373

8474
name: Python ${{ matrix.python-version }} testing with ${{ matrix.backend }}
8575

@@ -130,12 +120,13 @@ jobs:
130120
pipenv run pytest -svvv --timeout=300
131121
env:
132122
ENVIRONMENT: testing
133-
ES_PORT: ${{ matrix.backend == 'elasticsearch7' && '9400' || matrix.backend == 'elasticsearch8' && '9200' || '9202' }}
123+
ES_PORT: ${{ matrix.backend == 'elasticsearch8' && '9200' || '9202' }}
134124
ES_HOST: 172.17.0.1
135125
ES_USE_SSL: false
136126
DATABASE_REFRESH: true
137127
ES_VERIFY_CERTS: false
138-
BACKEND: ${{ matrix.backend == 'elasticsearch7' && 'elasticsearch' || matrix.backend == 'elasticsearch8' && 'elasticsearch' || 'opensearch' }}
128+
BACKEND: ${{ matrix.backend == 'elasticsearch8' && 'elasticsearch' || 'opensearch' }}
139129
REDIS_ENABLE: true
140130
REDIS_HOST: localhost
141131
REDIS_PORT: 6379
132+
BACKEND: ${{ matrix.backend == 'elasticsearch8' && 'elasticsearch' || 'opensearch' }}

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,32 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
99

1010
### Added
1111

12-
- Spatial search support for collections via `bbox` parameter on `/collections` endpoint. Collections are now indexed with a `bbox_shape` field (GeoJSON polygon) derived from their spatial extent for efficient geospatial queries when created or updated. [#481](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/481)
12+
- Spatial search support for collections via `bbox` parameter on `/collections` endpoint. Collections are now indexed with a `bbox_shape` field (GeoJSON polygon) derived from their spatial extent for efficient geospatial queries when created or updated. [#481](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/481
1313
- Introduced SFEOS Tools (`sfeos_tools/`) - An installable Click-based CLI package for managing SFEOS deployments. Initial command `add-bbox-shape` adds the `bbox_shape` field to existing collections for spatial search compatibility. Install with `pip install sfeos-tools[elasticsearch]` or `pip install sfeos-tools[opensearch]`. [#481](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/481)
1414
- Moved SFEOS Tools to its own repository at [Healy-Hyperspatial/sfeos-tools](https://github.com/Healy-Hyperspatial/sfeos-tools). The CLI package is now maintained separately. [#PR_NUMBER]
1515
- CloudFerro logo to sponsors and supporters list [#485](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/485)
1616
- Latest news section to README [#485](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/485)
1717
- Added Redis caching configuration for navigation pagination support, enabling proper `prev` and `next` links in paginated responses. [#488](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/488)
18+
- Python 3.14 support [#500](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/500)
1819

1920
### Changed
2021

2122
- Removed ENV_MAX_LIMIT environment variable; maximum limits are now handled by the default global limit environment variable. [#482](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/482)
2223
- Changed the default and maximum pagination limits for collections/items endpoints. [#482](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/482)
24+
- Removed the `rel=child` links to the collections from the landing page, as the listing was incomplete due to pagination. [#496](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/496)
2325

2426
### Fixed
2527

28+
### Removed
29+
30+
- Removed Elasticsearch 7 from CI/CD test matrix. The project now only tests against Elasticsearch 8 and OpenSearch. [#497](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/497)
31+
32+
### Updated
33+
34+
- Updated Elasticsearch version to 8.19.5 in CI/CD test matrix and compose.yml. [#497](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/497)
35+
- Updated OpenSearch version to 2.19.3 in CI/CD test matrix and compose.yml. [#499](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/499)
36+
- Updated elasticsearh python library to 8.19.1 in setup.py. [#499](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/499)
37+
2638
## [v6.5.1] - 2025-09-30
2739

2840
### Fixed

compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ services:
7979

8080
elasticsearch:
8181
container_name: es-container
82-
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-8.11.0}
82+
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-8.19.5}
8383
hostname: elasticsearch
8484
environment:
8585
ES_JAVA_OPTS: -Xms512m -Xmx1g
@@ -92,7 +92,7 @@ services:
9292

9393
opensearch:
9494
container_name: os-container
95-
image: opensearchproject/opensearch:${OPENSEARCH_VERSION:-2.11.1}
95+
image: opensearchproject/opensearch:${OPENSEARCH_VERSION:-2.19.3}
9696
hostname: opensearch
9797
environment:
9898
- discovery.type=single-node

stac_fastapi/core/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"stac-fastapi.types==6.0.0",
1414
"stac-fastapi.api==6.0.0",
1515
"stac-fastapi.extensions==6.0.0",
16-
"orjson~=3.9.0",
16+
"orjson~=3.11.0",
1717
"overrides~=7.4.0",
1818
"geojson-pydantic~=1.0.0",
1919
"pygeofilter~=0.3.1",
@@ -37,6 +37,7 @@
3737
"Programming Language :: Python :: 3.11",
3838
"Programming Language :: Python :: 3.12",
3939
"Programming Language :: Python :: 3.13",
40+
"Programming Language :: Python :: 3.14",
4041
"License :: OSI Approved :: MIT License",
4142
],
4243
url="https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch",

stac_fastapi/core/stac_fastapi/core/core.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -202,17 +202,6 @@ async def landing_page(self, **kwargs) -> stac_types.LandingPage:
202202
]
203203
)
204204

205-
collections = await self.all_collections(request=kwargs["request"])
206-
for collection in collections["collections"]:
207-
landing_page["links"].append(
208-
{
209-
"rel": Relations.child.value,
210-
"type": MimeTypes.json.value,
211-
"title": collection.get("title") or collection.get("id"),
212-
"href": urljoin(base_url, f"collections/{collection['id']}"),
213-
}
214-
)
215-
216205
# Add OpenAPI URL
217206
landing_page["links"].append(
218207
{

stac_fastapi/elasticsearch/setup.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
install_requires = [
99
"stac-fastapi-core==6.5.1",
1010
"sfeos-helpers==6.5.1",
11-
"elasticsearch[async]~=8.18.0",
11+
"elasticsearch[async]~=8.19.1",
1212
"uvicorn~=0.23.0",
1313
"starlette>=0.35.0,<0.36.0",
1414
]
1515

1616
extra_reqs = {
1717
"dev": [
18-
"pytest~=7.0.0",
18+
"pytest~=8.0",
1919
"pytest-cov~=4.0.0",
2020
"pytest-asyncio~=0.21.0",
2121
"pre-commit~=3.0.0",
@@ -43,6 +43,7 @@
4343
"Programming Language :: Python :: 3.11",
4444
"Programming Language :: Python :: 3.12",
4545
"Programming Language :: Python :: 3.13",
46+
"Programming Language :: Python :: 3.14",
4647
"License :: OSI Approved :: MIT License",
4748
],
4849
url="https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch",

stac_fastapi/opensearch/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
extra_reqs = {
1818
"dev": [
19-
"pytest~=7.0.0",
19+
"pytest~=8.0",
2020
"pytest-cov~=4.0.0",
2121
"pytest-asyncio~=0.21.0",
2222
"pre-commit~=3.0.0",
@@ -44,6 +44,7 @@
4444
"Programming Language :: Python :: 3.11",
4545
"Programming Language :: Python :: 3.12",
4646
"Programming Language :: Python :: 3.13",
47+
"Programming Language :: Python :: 3.14",
4748
"License :: OSI Approved :: MIT License",
4849
],
4950
url="https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch",

stac_fastapi/sfeos_helpers/setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
2626
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: Python :: 3.14",
2728
"License :: OSI Approved :: MIT License",
2829
],
2930
url="https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch",

0 commit comments

Comments
 (0)