v0.4.0
Added
- Add conformance classes for
STAC API - FeaturesandSTAC API - Collections. Both were already fully-supported, but
were not advertised in the landing page conformsTo attribute or the /conformance endpoint. - Items larger than 256 KB can now be ingested by writing their contents to S3
- API responses are now compressed
- Transaction Extension is now implemented
- Landing Page link relation service-doc now exists, and points to a Redoc instance
- If a request includes the
X-STAC-Endpointheader, that endpoint will be used when generating link hrefs
Fixed
- Open-ended datetime intervals using either empty string or '..' now work
- Correct content types are now returned
- Searching for a nonexistent collection returns empty results
- Re-ingesting an Item maintains the existing value of properties.created and sets properties.updated to now
- Fixes the responses from
/collections/{collectionId},/collections/{collectionId}/items, and/collection/{collectionId}/items/{itemId}. - Search limit parameter is now validated to be between 1 and 10000 inclusive
- Search datetime parameter is now strictly validated as a RFC 3339 datetime or interval of two datetimes
- Added
rootlink relation to Landing Page (/) - GET /search only accepts a bbox value of a comma-separated string and POST /search
only accepts a bbox array of numbers. Previously, both methods accepted both formats in
violation of the STAC API spec.
Changed
- Upgrade to Node 14
- Elasticsearch version update 7.9 -> 7.10
- Use Express for API routing
- Item and collection ingest operations will full replace an item with the same ID. Previously, partial-updates were being performed.
- Improvements to Elasticsearch field mappings
- PATCH /collections/:collectionId/items/:itemId now returns 204 No Content as succcess instead
of 200 and the updated Item - Default sortby is now guaranteed to be stable. Previously, it was only by
properties.datetime, not it is
byproperties.datetime,id, andcollection. - ItemCollection results no longer have a
prevlink relation. This is a by-product of changing
pagination to use Elasticsearch's more performantsearch_aftermechanism rather thanpage - Pagination works past 10,000 items now
- An invalid search
intersectsparameter may sometimes return a 500 instead of a 400 status code.
Removed
- Querying Items in a Collection by POST to /collections/:collectionId/items is
no longer supported, as this is forbidden by the STAC API - Features
conformance class because it conflicts with the Transaction Extension
What's Changed
- Bump tar from 6.1.0 to 6.1.11 by @dependabot in #113
- Bump nth-check from 2.0.0 to 2.0.1 by @dependabot in #114
- Bump follow-redirects from 1.14.1 to 1.14.7 by @dependabot in #119
- Bump trim-off-newlines from 1.0.1 to 1.0.3 by @dependabot in #125
- Bump trim-off-newlines from 1.0.1 to 1.0.3 in /lambdas/ingest by @dependabot in #122
- Bump trim-off-newlines from 1.0.1 to 1.0.3 in /lambdas/failed-ingest by @dependabot in #121
- Bump trim-off-newlines from 1.0.1 to 1.0.3 in /lambdas/api by @dependabot in #123
- Bump node-fetch from 2.6.1 to 2.6.7 by @dependabot in #124
- Removed STAC_API_VERSION from root catalog by @geomatician in #128
- Bump jszip from 3.6.0 to 3.7.1 by @dependabot in #127
- Bump follow-redirects from 1.14.7 to 1.14.8 by @dependabot in #136
- Bump simple-get from 2.8.1 to 2.8.2 by @dependabot in #143
- Upgrade to Node 14 by @marchuffnagle in #134
- update README, include serverless-offline and instructions for use by @philvarner in #153
- update license to appropriately mention Element 84 by @philvarner in #146
- add GH PR template by @philvarner in #148
- Pv/update stac api version and add collections cc by @philvarner in #154
- fix comma-separated bbox value parsing by @philvarner in #160
- fix behavior when ids param is specified to not override all other params by @philvarner in #157
- upgrade eslint and fix code wrt default linter rules by @philvarner in #150
- Pv/upgrade es 7.9 to 7.10 by @philvarner in #155
- Add architecture diagram by @marchuffnagle in #169
- Fix bug where all ES connections in pool were dead by @marchuffnagle in #167
- Run integration tests in CI by @marchuffnagle in #163
- Code reorganization by @marchuffnagle in #170
- upgrade to ava 4 by @philvarner in #172
- Add ability to use tsc for static code analysis by @marchuffnagle in #173
- Add support for ingesting large items from remote sources by @marchuffnagle in #179
- support open-ended datetime intervals, fix camelcase violations by @philvarner in #180
- Use Express for API routing by @marchuffnagle in #182
- Return the correct API content types by @marchuffnagle in #184
- Return empty results when searching for a nonexistent collection by @marchuffnagle in #185
- Fix npm build problem by @philvarner in #188
- fix service-desc link relation type to use OpenAPI yaml media type by @philvarner in #189
- Split system tests into separate files by @marchuffnagle in #191
- Clean up a couple skipped tests by @marchuffnagle in #192
- Compress API responses by @marchuffnagle in #193
- define routes for transaction endpoints by @philvarner in #194
- Maintain created time when reingesting an item by @marchuffnagle in #196
- Perform full-item replacement on ingest rather than partial update by @marchuffnagle in #197
- Move addEndpoint middleware by @marchuffnagle in #198
- Tests handle their own API server by @marchuffnagle in #199
- Improve Elasticsearch mappings by @philvarner in #181
- fix GET Item endpoint when Item doesn't exist, add Delete Item endpoint impl by @philvarner in #205
- Bump urijs from 1.19.8 to 1.19.9 by @dependabot in #210
- Implement POST and PUT for Items from Transaction Extension by @philvarner in #208
- Pv/retain bbox intersects parameters by @philvarner in #215
- Pv/validate limit parameters by @philvarner in #217
- Bump urijs from 1.19.9 to 1.19.10 by @dependabot in #221
- validate datetime parameter better by @philvarner in #218
- add root link relation in landing page by @philvarner in #225
- fix bbox parameter validation and "type" field in root catalog by @philvarner in #233
- change default sort to be stable by @philvarner in #227
- add docs for migration by @philvarner in #230
- update openapi spec to stac api 1.0.0-beta.5, add redoc service-doc endpoint by @philvarner in #232
- change pagination to use Elasticsearch search_after instead of 'page' by @philvarner in #228
- change proj:centroid and proj:geometry to not have type match on string by @philvarner in #236
- replace constant_score and must with bool and filter for ES queries by @philvarner in #244
- remove dependency on geojson-validation because it's LGPL 3 by @philvarner in #247
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #248
- Add support for
X-STAC-Endpointheader by @marchuffnagle in #251 - update version to 0.4.0-rc.3 by @philvarner in #250
- re-add page parameter by @philvarner in #253
- Allow use of STAC_API_ROOTPATH to set an api gw stage path prefix by @sjwoodr in #255
- Bump moment from 2.29.1 to 2.29.2 by @dependabot in #256
- Bump async from 2.6.3 to 2.6.4 by @dependabot in #258
- Bump urijs from 1.19.10 to 1.19.11 by @dependabot in #257
New Contributors
- @geomatician made their first contribution in #128
- @sjwoodr made their first contribution in #255
Full Changelog: v0.3.1...v0.4.0