KEMBAR78
Releases · nasa/cumulus-message-adapter · GitHub
Skip to content

Releases: nasa/cumulus-message-adapter

v2.0.5

15 Sep 15:44
84efbce

Choose a tag to compare

** Note: This release updates build compatibility for the CMA pre-built binary to Amazon Linux 2023 only. Amazon Linux 2 runtimes will not work with releases > 2.0.4

CUMULUS-4155
    Updated circleCI configuration to use cimg/python:3.12.11, and amazon/aws-lambda-python:3.12
    Updated circleCI 310 references to 312 (this is mostly cosmetic)
    Updated pyinstaller to 6.15
    Updated package requirement to Python 3.12
    Updated pylint to 3.2 and addressed additional rules
    Removed pylint_runner in favor of direct lint invocation
    Update boto3 to 1.40.29

v2.0.4

14 Aug 15:47

Choose a tag to compare

Fixed

  • CUMULUS-3827
    • removed patch specification for jsonpath-ng and boto3 dependencies

v2.0.3

06 Jul 19:50
9d07f2b

Choose a tag to compare

Updated

  • CUMULUS-3270

    • Upgraded to Python 3.10, updated build jobs. Removed Python 3.8 and 3.6(EOL) build jobs.
    • Updated SDK boto3 version to support new Python runtime versions.
    • Updated pyinstaller and jsonschema versions.
    • Fixed pylint errors from Too Broad Exceptions.

Updated

  • removed extraneous dependencies from requests.txt
    • typed-ast
    • six (remains as a subdependency)

v2.0.2

10 Jan 19:41
48703cf

Choose a tag to compare

Release 2.0.2

[v2.0.2] 2022-01-10

BREAKING CHANGES

  • CUMULUS-2751
    • Changes the key for the values populated in meta.workflow_tasks from the step function node name to an internally indexed integer string
    • Updates load_nested_event to no longer do a legacy task name lookup from either the step function API or cumulus_meta for configuration from event.workflow_config

Fixed

  • CUMULUS-2751

    • Resolve inter-compatibility bug/regression with cumulus-message-adapter-js, as the current releases strictly check the message return schema for the existence of a config object. This fix restores the original behavior.
    • Fix regression in 2.0.0 that caused tasks without task_config defined cause CMA to fail

Compatibility

This version of the Cumulus Message Adapter requires at minimum the following versions of the client libraries:

Updating a Cumulus Deployment to CMA v2.0.2

The Cumulus Message Adapter has been updated in release 2.0.0 to no longer utilize the AWS step function API to look up the defined name of a step function task for population in meta.workflow_tasks, but instead use an incrementing integer field.

Additionally a bugfix was released in the form of v2.0.1/v2.0.2 following the initial 2.0.0 release, so all users should update to release 2.0.2

The update is not tied to a particular version of Core, however the update should be done across all task components in order to ensure consistent execution records.

Changes

Execution Record Update

This update functionally means that Cumulus tasks/activities using the CMA will now record a record that looks like the following in meta.workflowtasks, and more importantly in the tasks column for an execution record:

Original

      "DiscoverGranules": {
        "name": "jk-tf-DiscoverGranules",
        "version": "$LATEST",
        "arn": "arn:aws:lambda:us-east-1:xxxxx:function:jk-tf-DiscoverGranules"
      },
      "QueueGranules": {
        "name": "jk-tf-QueueGranules",
        "version": "$LATEST",
        "arn": "arn:aws:lambda:us-east-1:xxxx:function:jk-tf-QueueGranules"
      }

New

      "0": {
        "name": "jk-tf-DiscoverGranules",
        "version": "$LATEST",
        "arn": "arn:aws:lambda:us-east-1:xxxxx:function:jk-tf-DiscoverGranules"
      },
      "1": {
        "name": "jk-tf-QueueGranules",
        "version": "$LATEST",
        "arn": "arn:aws:lambda:us-east-1:xxxx:function:jk-tf-QueueGranules"
      }

Actions Required

The following should be done as part of a Cumulus stack update to utilize cumulus message adapter > 2.0.2:

  • Python tasks that utilize cumulus-message-adapter-python should be updated to use > 2.0.0, their lambdas rebuilt and Cumulus workflows reconfigured to use the updated version.

  • Python activities that utilize cumulus-process-py should be rebuilt using > 1.0.0 with updated dependencies, and have their images deployed/Cumulus configured to use the new version.

  • The cumulus-message-adapter v2.0.2 lambda layer should be made available in the deployment account, and the Cumulus deployment should be reconfigured to use it (via the cumulus_message_adapter_lambda_layer_version_arn variable in the cumulus module). This should address all Core node.js tasks that utilize the CMA, and many contributed node.js/JAVA components.

Once the above have been done, redeploy Cumulus to apply the configuration and the updates should be live.

v2.0.1

07 Jan 18:00
2091a63

Choose a tag to compare

This release is superseded by release 2.0.2

v2.0.0

17 Dec 22:22
422f2ff

Choose a tag to compare

This release is superseded by release 2.0.2

Original release notes are retained below:

BREAKING CHANGES

CUMULUS-2751

  • Changes the key for the values populated in meta.workflow_tasks from the step function node name to an internally indexed integer string
  • Updates load_nested_event to no longer do a legacy task name lookup from either the step function API or cumulus_meta for configuration from event.workflow_config

Compatibility

This version of the Cumulus Message Adapter requires at minimum the following versions of the client libraries:

v1.3.1

18 Nov 23:48
ea5a861

Choose a tag to compare

Updated

  • CUMULUS-2751
    • Update CMA logging to explicitly flush stderr on log write
    • Add diagnostic logging to CMA 'steps'

v1.3.0

04 May 22:51
96a2d3c

Choose a tag to compare

BREAKING CHANGES

CUMULUS-1896

CMA precompiled binary files are now copied into a subdirectory ./cma_bin. Clients who utilize the pre-compiled binary should update their pathing expectations to make use of that directory. If you are using the CMA via cumulus-message-adapter-js, then this change is handled for you transparently as of version 1.2.0.

Added

CUMULUS-1896

Added a 'streaming' mode to the CMA. This will allow client libraries to avoid requiring three subprocess/python invocations when running the CMA commands in sequence, thus lowering the overhead of utilizing the CMA.

Updated

Updated deployment to not bundle all associated .so files for pyinstaller in the executable. This results in slightly better performance/memory requirements at the cost of having all of the associated .so files in the layer directory structure.

Compatibility

This version of the Cumulus Message Adapter requires at minimum the following versions of the client libraries:

v1.2.0

19 Feb 16:15
3d3cd1c

Choose a tag to compare

BREAKING CHANGES

  • CUMULUS-1486
    Removed all python 2 support. CMA now supports python 3.6+ only.
  • Class in message_adapter/message_adapter.py renamed from message_adapter to MessageAdapter

Compatibility

This version of the Cumulus Message Adapter requires at minimum the following versions of the client libraries:

v1.1.3

02 Jan 20:05
e9bac2d

Choose a tag to compare

Fixed

  • Removed unsafe use of exec and eval in message_adapter.__assignJsonPathValue