Tags: stac-utils/stac-fastapi-elasticsearch-opensearch
Tags
Update to v6.0.0 (#406) ### Added - Added support for PATCH update through [RFC 6902](https://datatracker.ietf.org/doc/html/rfc6902) and [RFC 7396](https://datatracker.ietf.org/doc/html/rfc7396) [#291](#291) ### Changed - Updated stac-fastapi parent libraries to v6.0.0 [#291](#291)
v5.0.0 release (#404) **Related Issue(s):** - None **Description:** - v5.0.0 release **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
Update version to v5.0.0a1 (#389) **Related Issue(s):** - None **Description:** - Updated mkdocs/ sfeos doucmentation page - Added the ability to authenticate with OpenSearch/ElasticSearch with SSL disabled **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
release v4.2.0 (#377) **Related Issue(s):** - None **Description:** - v4.2.0 release **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
Bump version to 4.1.0 across all files and update changelog (#365) **Related Issue(s):** - None **Description:** - v4.1.0 release **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
Update to v4.0.0 (#362) **Description:** **Changes from 3.2.5:** #### Added - Added support for dynamically-generated queryables based on Elasticsearch/OpenSearch mappings, with extensible metadata augmentation [#351](#351) - Included default queryables configuration for seamless integration. [#351](#351) - Added support for high-performance direct response mode for both Elasticsearch and Opensearch backends, controlled by the `ENABLE_DIRECT_RESPONSE` environment variable. When enabled (`ENABLE_DIRECT_RESPONSE=true`), endpoints return Starlette Response objects directly, bypassing FastAPI's jsonable_encoder and Pydantic serialization for significantly improved performance on large search responses. **Note:** In this mode, all FastAPI dependencies (including authentication, custom status codes, and validation) are disabled for all routes. Default is `false` for safety. A warning is logged at startup if enabled. See [issue #347](#347) and [PR #359](#359). - Added robust tests for the `ENABLE_DIRECT_RESPONSE` environment variable, covering both Elasticsearch and OpenSearch backends. Tests gracefully handle missing backends by attempting to import both configs and skipping if neither is available. [#359](#359) #### Changed - Refactored database logic to reduce duplication [#351](#351) - Replaced `fastapi-slim` with `fastapi` dependency [#351](#351) - Changed minimum Python version to 3.9 [#354](#354) - Updated stac-fastapi api, types, and extensions libraries to 5.1.1 from 3.0.0 and made various associated changes [#354](#354) - Changed makefile commands from 'docker-compose' to 'docker compose' [#354](#354) - Updated package names in setup.py files to use underscores instead of periods for PEP 625 compliance [#358](#358) - Changed `stac_fastapi.opensearch` to `stac_fastapi_opensearch` - Changed `stac_fastapi.elasticsearch` to `stac_fastapi_elasticsearch` - Changed `stac_fastapi.core` to `stac_fastapi_core` - Updated all related dependencies to use the new naming convention - Renamed `docker-compose.yml` to `compose.yml` to align with Docker Compose V2 conventions [#358](#358) - Removed deprecated `version` field from all compose files [#358](#358) - Updated `STAC_FASTAPI_VERSION` environment variables to 4.0.0 in all compose files [#362](#362) - Bumped version from 4.0.0a2 to 4.0.0 for the PEP 625 compliant release [#362](#362) - Updated dependency requirements to use compatible release specifiers (~=) for more controlled updates while allowing for bug fixes and security patches [#358](#358) - Removed elasticsearch-dsl dependency as it's now part of the elasticsearch package since version 8.18.0 [#358](#358) - Updated test suite to use `httpx.ASGITransport(app=...)` for FastAPI app testing (removes deprecation warning). [#359](#359) - Updated stac-fastapi parent libraries to 5.2.0. [#359](#359) - Migrated Elasticsearch index template creation from legacy `put_template` to composable `put_index_template` API in `database_logic.py`. This resolves deprecation warnings and ensures compatibility with Elasticsearch 7.x and 8.x. [#359](#359) - Updated all Pydantic models to use `ConfigDict` instead of class-based `Config` for Pydantic v2 compatibility. This resolves deprecation warnings and prepares for Pydantic v3. [#359](#359) - Migrated all Pydantic `@root_validator` validators to `@model_validator` for Pydantic v2 compatibility. [#359](#359) - Migrated startup event handling from deprecated `@app.on_event("startup")` to FastAPI's recommended lifespan context manager. This removes deprecation warnings and ensures compatibility with future FastAPI versions. [#361](#361) - Refactored all boolean environment variable parsing in both Elasticsearch and OpenSearch backends to use the shared `get_bool_env` utility. This ensures robust and consistent handling of environment variables such as `ES_USE_SSL`, `ES_HTTP_COMPRESS`, and `ES_VERIFY_CERTS` across both backends. [#359](#359) #### Fixed - Improved performance of `mk_actions` and `filter-links` methods [#351](#351) - Fixed inheritance relating to BaseDatabaseSettings and ApiBaseSettings [#355](#355) - Fixed delete_item and delete_collection methods return types [#355](#355) - Fixed inheritance relating to DatabaseLogic and BaseDatabaseLogic, and ApiBaseSettings [#355](#355) **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
Enable direct response, stac-fastapi 5.2.0, deprecation warnings (#359) **Related Issue(s):** - #347 **Description:** #### v4.0.0a2 release #### Added - Added support for high-performance direct response mode for both Elasticsearch and Opensearch backends, controlled by the `ENABLE_DIRECT_RESPONSE` environment variable. When enabled (`ENABLE_DIRECT_RESPONSE=true`), endpoints return Starlette Response objects directly, bypassing FastAPI's jsonable_encoder and Pydantic serialization for significantly improved performance on large search responses. **Note:** In this mode, all FastAPI dependencies (including authentication, custom status codes, and validation) are disabled for all routes. Default is `false` for safety. A warning is logged at startup if enabled. See [issue #347](#347) #### Changed - Updated test suite to use `httpx.ASGITransport(app=...)` for FastAPI app testing (removes deprecation warning). - Updated stac-fastapi parent libraries to 5.2.0. - Migrated Elasticsearch index template creation from legacy `put_template` to composable `put_index_template` API in `database_logic.py`. This resolves deprecation warnings and ensures compatibility with Elasticsearch 7.x and 8.x. - Updated all Pydantic models to use `ConfigDict` instead of class-based `Config` for Pydantic v2 compatibility. This resolves deprecation warnings and prepares for Pydantic v3. - Migrated all Pydantic `@root_validator` validators to `@model_validator` for Pydantic v2 compatibility. - Migrated startup event handling from deprecated `@app.on_event("startup")` to FastAPI's recommended lifespan context manager. This removes deprecation warnings and ensures compatibility with future FastAPI versions. **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
Update package names for Pep625 compliance (#358) **Related Issue(s):** #337 **Description:** - Updated package names in setup.py files to use underscores instead of periods for PEP 625 compliance - Changed `stac_fastapi.opensearch` to `stac_fastapi_opensearch` - Changed `stac_fastapi.elasticsearch` to `stac_fastapi_elasticsearch` - Changed `stac_fastapi.core` to `stac_fastapi_core` - Updated all related dependencies to use the new naming convention - Renamed `docker-compose.yml` to `compose.yml` to align with Docker Compose V2 conventions - Removed deprecated `version` field from all compose files - Updated `STAC_FASTAPI_VERSION` environment variables to 4.0.0a1 in all compose files - Bumped version from 4.0.0a0 to 4.0.0a1 for the PEP 625 compliant release - Updated dependency requirements to use compatible release specifiers (~=) for more controlled updates while allowing for bug fixes and security patches - Removed elasticsearch-dsl dependency as it's now part of the elasticsearch package since version 8.18.0 **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
PreviousNext