Changelog
2.5.4 - 2024-04-24
Fixed
Fix missing payload for the PUT collection/{collection_id}
endpoint (#665 )
Return 400 for datetime errors (#670 )
2.5.3 - 2024-04-23
Fixed
Remove the str2list converter from intersection queries via BaseSearchGetRequest (#668 )
Apply datetime converter in ItemCollection endpoint model (#667 )
2.5.2 - 2024-04-19
Fixed
BaseSearchGetRequest datetime validator str_to_interval not allowing GET /search requests with datetime = None (#662 )
2.5.1 - 2024-04-18
Fixed
Fixed warnings.warn deprecation syntax for response class and the context extension (#660 )
2.5.0 - 2024-04-12
Added
Add benchmark in CI (#650 )
Add /queryables
link to the landing page (#587 )
id
, title
, description
and api_version
fields can be customized via env variables
Add DeprecationWarning
for the ContextExtension
Changed
Updated the collection update endpoint to match with the collection-transaction extension. (#630 )
Improve bbox and datetime typing (#490
Add items
link to inferred link relations (#634 )
Make sure FastAPI uses Pydantic validation and serialization by not wrapping endpoint output with a Response object (#650 )
Allow GeometryCollections
for intersects
parameter in POST search queries (#548 )
Removed
Deprecate response_class
option in stac_fastapi.api.routes.create_async_endpoint
method (#650 )
2.4.9 - 2023-11-17
Added
Add CQL2-json to filter conformance class (#611 )
Add Elasticsearch backend (#616 )
Changed
Forward x-forwarded-host
(#586 )
Add method
parameter to Bulk Transactions extension in order to support upserting bulk data (#614 )
2.4.8 - 2023-06-07
Changed
Advertise STAC API v1.0.0 (#578 )
2.4.7 - 2023-05-16
Added
Add support for POSTing ItemCollections to the /items endpoint of the Transaction Extension (#547 )
Changed
flake8, isort, and pydocstyle replaced by ruff for pre-commit checks (#549 )
2.4.6 - 2023-05-09
Changed
2.4.5 - 2023-04-04
Changed
Default branch to main (#544 )
Fixed
Use V()
instead of f-strings for pgstac queries (#554 )
2.4.4 - 2023-03-09
Added
Nginx service as second docker-compose stack to demonstrate proxy (#503 )
Validation checks in CI using stac-api-validator (#508 )
Required links to the sqlalchemy ItemCollection endpoint (#508 )
Publication of docker images to GHCR (#525 )
Changed
Updated CI to test against pgstac v0.6.12 (#511 )
Reworked update_openapi
and added a test for it (#523 )
Limit values above 10,000 are now replaced with 10,000 instead of returning a 400 error (#526 )
Updated pgstac to v0.7.1 (#535 )
Removed
Incorrect context STAC extension url from the landing page (#508 )
Fixed
Allow url encoded values for query
in GET requests (#504 )
Fix path in register_update_item
docstring (#507 )
self
link rel for /collections/{c_id}/items
(#508 )
Media type of the item collection endpoint (#508 )
Manually exclude non-truthy optional values from sqlalchemy serialization of Collections (#508 )
Support intersects
in GET requests (#521 )
Deleting items that had repeated ids in other collections (#520 )
404 for missing collection on /items for sqlalchemy (#528 )
Conformance URIs for the filter extension (#540 )
Deprecated
Deprecated VndOaiResponse
and config_openapi
, will be removed in v3.0 (#523 )
2.4.3 - 2022-11-25
Added
Add the ENABLED_EXTENSIONS
environment variable determining which extensions are enabled in the pgstac application, all extensions are enabled by default (#495 )
Changed
Removed
Fixed
2.4.2 - 2022-11-25
Added
Add support in pgstac backend for /queryables and /collections/{collection_id}/queryables endpoints with functions exposed in pgstac 0.6.8 (#474 )
Add bbox
and datetime
query parameters to /collections/{collection_id}/items
. (#476 , #380 )
Update pgstac requirement to 0.6.10
Add servers
and description
to OpenAPI (#459 )
Changed
Removed
Removed stac_fastapi.api.routes.create_sync_endpoint
function to reduce code duplication (#471 )
Fixed
Quote password in pgsql strings to accomodate special characters. (#455 )
Fix pgstac backend for /queryables endpoint to return 404 for non-existent collections (#482 )
/collection/{collection_id}/items
endpoints now return geojson media type (#488 )
2.4.1 - 2022-08-05
Added
Changed
Removed
Fixed
ciso8601
fails to build in some environments, instead use pyiso8601
to parse datetimes.
2.4.0 - 2022-08-04
Added
Add hook to allow adding dependencies to routes. (#295 )
Ability to POST an ItemCollection to the collections/{collectionId}/items route. (#367 )
Add STAC API - Collections conformance class. (383 )
Bulk item inserts for pgstac implementation. (411 )
Add APIRouter prefix support for pgstac implementation. (429 )
Respect Forwarded
or X-Forwarded-*
request headers when building links to better accommodate load balancers and proxies.
Changed
Update FastAPI requirement to allow version >=0.73 (#337 )
Bump version of PGStac to 0.4.5 (#346 )
Add support for PGStac Backend to use PyGeofilter to convert Get Request with cql2-text into cql2-json to send to PGStac backend (#346 )
Updated all conformance classes to 1.0.0-rc.1. (383 )
Bulk Transactions object Items iterator now returns the Item objects rather than the string IDs of the Item objects
(#355 )
docker-compose now runs uvicorn with hot-reloading enabled
Bump version of PGStac to 0.6.2 that includes support for hydrating results in the API backed (#397 )
Make item geometry and bbox nullable in sqlalchemy backend. (#398 )
Transactions Extension update Item endpoint Item is now /collections/{collection_id}/items/{item_id}
instead of
/collections/{collection_id}/items
to align with STAC API
spec (#425 )
Removed
Remove the unused router_middleware
function (#439 )
Fixed
Bumped uvicorn version to 0.17 (from >=0.12, <=0.14) to resolve security vulnerability related to websockets dependency version (#343 )
AttributeError
and/or missing properties when requesting the complete properties
-field in searches. Added test. (#339 )
Fixes issues (and adds tests) for issues caused by regression in pgstac (#345
Update error response payloads to match the API spec. (#361 )
Fixed stray /
before the #
in several extension conformance class strings (383 )
SQLAlchemy backend bulk item insert now works (#356 )
PGStac Backend has stricter implementation of Fields Extension syntax (#397 )
/queryables
endpoint now has type application/schema+json
instead of application/json
(#421 )
Transactions Extension update Item endpoint validates that the {collection_id}
path parameter matches the Item "collection"
property
from the request body, if present, and falls back to using the path parameter if no "collection"
property is found in the body
(#425 )
PGStac Backend Transactions endpoints return added Item/Collection instead of Item/Collection from request (#424 )
Application no longer breaks on startup when pagination extension is not included (#444 )
2.3.0 - 2022-01-18
Added
Add link with rel-type of 'service-doc', pointing to HTML API documentation (#298 )
Changed
Refactor to remove hardcoded search request models. Request models are now dynamically created based on the enabled extensions.
(#213 )
Change example data to use correct type
for the example Joplin collection (#314 )
Changed the geometry type in the Item model from Polygon to Geometry.
Upgrade pgstac backend to use version 0.4.2 (#321 )
STAC 1.0.0-beta.4 conformance classes updated (#298 )
Upgrade pgstac backend to use version 0.4.3 (#326 )
Removed
The tiles extension and all tiles links, added for demonstration purposes, have been removed. (#309 )
Fixed
Import error using importlib.util
(#325 )
Add environment variables required by upgraded pgstac container (#313 )
Enabled ContextExtension
by default (#207 )
Content-type response headers for the /search endpoint now reflect the geojson response expected in the STAC api spec (#220 )
The minimum limit
value for searches is now 1 (#296 )
Links stored with Collections and Items (e.g. license links) are now returned with those STAC objects (#282 )
Content-type response headers for the /api endpoint now reflect those expected in the STAC api spec (#287 )
Changed type options for datetime in BaseSearchGetRequest (#318 )
Expanded on tests to ensure properly testing get and post searches (#318 )
Ensure invalid datetimes result in 400s (#323 )
2.2.0 - 2021-10-19
Added
Add CQL2 support (#308 )
Add ability to override ItemCollectionUri and SearchGetRequest models (#271 )
Added collections
attribute to list of default fields to include, so that we satisfy the STAC API spec, which requires a collections
attribute to be output when an item is part of a collection (#276 )
Changed
Update pgstac to 0.4.0 (#308 )
Update get_item in sqlalchemy backend to allow for querying for items with same ids but in different collections. (#275 )
2.1.1 - 2021-09-23
Added
Add middlewares
option in stac_fastapi.api.StacApi
to allow custom middleware configuration (#267 )
Support non-interval datetime queries on sqlalchemy backend (#262 )
Restrict limit
parameter in sqlalchemy backend to between 1 and 10,000. (#251 )
Fix OAS conformance URL (#263 )
Links to children collections from the landing pagge always have a title (#260 )
Fix collection links in the all_collections
method in pgstac
(#269 )
Fixed
Pin FastAPI to 0.67 to avoid issues with rendering OpenAPI documentation (#246 )
Add stac_version
to default search attributes (#268 )
pgstac backend specifies collection_id when fetching a single item (#279 )
2.1.0 - 2021-08-26
Added
Added filter extension. (#165 )
Add Support for CQL JSON to PGStac Backend (#209 )
Added item_serializer and item_table to BulkTransactionsClient in sqlalchemy backend (#210 )
Enable conformance class configuration (#214 )
Add/fix landing page links (#229 )
Correct response codes for bad/unusable bboxes (#235 )
Add a "method" field for search links (#236 )
Add extension schemas to landing (#237 )
Removed
Remove shapely from stac_fastapi.pgstac requirements (#225 )
Changed
Update to STAC API 1.0.0-beta.3 (#239 )
Fixed
Make collection title optional in landing page links (#198 )
Preserve relative paths on link generation (#199 )
Fix collection endpoint return value to match spec (fixes regression) (#232 )
Return empty item collection instead of error when searching (#233 )
Correct response codes for bad/unusable bboxes (#235 )
Update pgstac to return 400 on invalid date parameter (#240 )
2.0.0 - 2021-07-26
Refactor stac-fastapi into submodules (#106 stac-utils/stac-fastapi/pull/106)
Add pgstac backend (#126 )
Upgrade to stac-pydantic 2.0.0 and stac-spec 1.0.0 (#181 )
1.1.0 - 2021-01-28
Improve how the library declares API extensions (#54 )
Add postgres bulk transactions client (#59 )
Update TiTiler version (#61 )
Use attrs instead of dataclasses (#73 )
Remove postgres database connection from API layer (#74 )
Fix pre-commit
config (#75 )
1.0.0 - 2020-09-28