@cumulus/common
Advanced tools
Changelog
[v16.1.2] 2023-11-01
Please note changes in 16.1.2 may not yet be released in future versions, as this is a backport/patch release on the 16.x series of releases. Updates that are included in the future will have a corresponding CHANGELOG entry in future releases.
maxDownloadTime
field to provider
schemamax_download_time
column to PostgreSQL providers
table@cumulus/ingest/lock
to check expired locks based on provider.maxDownloadTime
meta
.@cumulus/cmrjs/cmr-utils/getGranuleTemporalInfo
and @cumulus/message/Granules/getGranuleCmrTemporalInfo
to handle non-existing cmr file.queryFields
./sqs/
to /failed-sqs/
locationPUT
collection endpoint to update collection configuration in S3.childWorkflowMeta
to QueueWorkflow
task configurationChangelog
[v18.1.0] 2023-10-25
As part of the work on CUMULUS-3095, we have added a required header for the rules PUT/PATCH endpoints -- to ensure that older clients/utilities do not unexpectedly make destructive use of those endpoints, a validation check of a header value against supported versions has been implemented.
Moving forward, if a breaking change is made to an existing endpoint that requires user updates, as part of that update we will set the current version of the core API and require a header that confirms the client is compatible with the version required or greater.
In this instance, the rules PUT/PATCH
endpoints will require a Cumulus-API-Version
value of at least 2
.
curl --request PUT https://example.com/rules/repeat_test\
--header 'Cumulus-API-Version: 2'\
--header 'Content-Type: application/json'\
--header 'Authorization: Bearer ReplaceWithToken'\
--data ...
Users/clients that do not make use of these endpoints will not be impacted.
PATCH
rules endpoint to update rule which works as the existing PUT
endpoint.PUT
rules endpoint to replace rule.maxDownloadTime
field to provider
schemamax_download_time
column to PostgreSQL providers
table@cumulus/ingest/lock
to check expired locks based on provider.maxDownloadTime
@cumulus/api-client/rules
to havereplaceRule
and updateRule
methods.meta
and payload
, and fixed rule
field mapping.constructOnlineAccessUrls()
to group CMR online access URLs by link type.custom
@cumulus/orca-recovery-adapter
task to output both input granules and recovery output.example/cumulus-tf/orca.tf
to use v9.0.0.rule
schema validation which is missing after RDS phase 3.@cumulus/cmrjs/cmr-utils/getGranuleTemporalInfo
and @cumulus/message/Granules/getGranuleCmrTemporalInfo
to handle non-existing cmr file.queryFields
.meta
.PUT
collection endpoint to update collection configuration in S3.Changelog
[v18.0.0] 2023-08-28
collectionRuleMatcher
Rules Helper, which is used by the sqs-message-consumer and message-consumer Lambdas,
to report when an incoming message's collection does not match any rules.Changelog
[v17.0.0] 2023-08-09
hashicorp/aws
provider required by Cumulus to ~> 5.0
which in turn requires updates to all modules deployed with Core in the same stack
to use a compatible provider version.terraform plan
or
terraform apply
changeset to ensure the changes between providers are what
you're expecting for all modules you've chosen to deploy with CumulusUpdate @cumulus/api/lib/orca/getOrcaRecoveryStatusByGranuleCollection to @cumulus/api/lib/orca/getOrcaRecoveryStatusByGranuleIdAndCollection and add collectionId to arguments to support Orca v8+ required use of collectionId
Updated all terraform AWS providers to ~> 5.0
Changelog
[v16.1.1] 2023-08-03
onetime
rules RuleTrigger to only execute when the state is ENABLED
and updated documentation to reflect the changeinvokeRerun
function to only re-run enabled rules@cumulus/orca-copy-to-archive-adapter
, and add the task to tf-modules/ingest
tf-modules/cumulus
module to take variable orca_lambda_copy_to_archive_arn
and pass to tf-modules/ingest
example/cumulus-tf/ingest_and_publish_granule_with_orca_workflow.tf
CopyToGlacier
(renamed to CopyToArchive
) step to call
orca_copy_to_archive_adapter_task
@cumulus/orca-recovery-adapter
, and add the task to tf-modules/ingest
tf-modules/cumulus
module to take variable orca_sfn_recovery_workflow_arn
and pass to tf-modules/ingest
example/cumulus-tf/orca_recovery_adapter_workflow.tf
, OrcaRecoveryAdapterWorkflow
workflow has OrcaRecoveryAdapter
task
to call the ORCA recovery step-function.example/data/collections/
collection configuration meta.granuleRecoveryWorkflow
to use OrcaRecoveryAdapterWorkflow
api/tests/lib/test-rulesHelpers
and removed extraneous test files.@cumulus/queue-granules
is now written in TypeScript@cumulus/schemas
can now generate TypeScript interfaces for the task input, output and config.throttled-queue.tf
@cumulus/api
getGranulesForPayload
function to query cloud metrics es when needed.send-pan
and startAsyncOperation
lambdas to nodejs16.x
Changelog
[v16.0.0] 2023-05-09
When updating directly to v16 from prior releases older that V15, please make sure to read through all prior release notes.
Notable migration concerns since the last PI release version (11.1.x):
files_granules_cumulus_id_index
to the
files
table may require manual steps depending on load.This release includes updates that remove existing DynamoDB tables as part of release deployment process. This release cannot be properly rolled back in production as redeploying a prior version of Cumulus will not recover the associated Dynamo tables.
Please read the full change log for RDS Phase 3 and consult the RDS Phase 3 update documentation
As part of the work on CUMULUS-3072, we have added a required header for the granule PUT/PATCH endpoints -- to ensure that older clients/utilities do not unexpectedly make destructive use of those endpoints, a validation check of a header value against supported versions has been implemented.
Moving forward, if a breaking change is made to an existing endpoint that requires user updates, as part of that update we will set the current version of the core API and require a header that confirms the client is compatible with the version required or greater.
In this instance, the granule PUT/PATCH
endpoints will require a Cumulus-API-Version
value of at least 2
.
curl --request PUT https://example.com/granules/granuleId.A19990103.006.1000\
--header 'Cumulus-API-Version: 2'\
--header 'Content-Type: application/json'\
--header 'Authorization: Bearer ReplaceWithToken'\
--data ...
Users/clients that do not make use of these endpoints will not be impacted.
bulk-operation
Lambda should provide collectionId and granuleId e.g. { granuleId: xxx, collectionId: xxx }ReconciliationReportsTable
from dbIndexer
lambda@cumulus/api/ecs/async-operation/*
asyncOperationsStart
callsgetFilesExistingAtLocation
from api granules model to api/lib, update granules put
endpoint to remove model referencesPOST
endpointPUT
endpointDELETE
endpointPUT
endpointrulesModel
to rulesHelper
api/models/collections.js
to api/lib/utils.js
sfEventSqsToDbRecords
lambdacreate
in the db
model for Rules
to return an array of objects containing all columns of the created record.rulesModel
to rulesHelper
DELETE
endpointPUT
endpoint@cumulus/api
executeMigrations
lambdagranuleFilesCacheUpdater
lambdadata-persistence
module. This table and
all of its data will be removed on deployment.replaceGranule
to @cumulus/api-client/granules
to add usage of the
updated RESTful PUT logic@cumulus/api-client/granules.bulkOperation
to remove ids
parameter in favor of granules
parameter, in the form of a
@cumulus/types/ApiGranule
that requires the following keys: [granuleId, collectionId]
pg
to v8.10.x
xml2js
to v0.5.0
xml2js
in saml2-js
to
v0.5.0
skip
or error
to stop retrying
after receiving a 404 Not Found Response Error from the cumulus-api
.parallel
package, as timeouts were not resulting in
integration test failure@cumulus/cmrjs/cmr-utils.getGranuleTemporalInfo
to handle the error when the cmr file s3url is not availablesfEventSqsToDbRecords
lambda to return partial batch failure,
and only reprocess messages when cumulus message can't be retrieved from the execution events.@cumulus/cumulus-message-adapter-js
to 2.0.5
for all cumulus tasks