Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: guardian/anghammarad

v0.0.0-beta-20251112163222

12 Nov 16:32
8f4dbe0

Choose a tag to compare

Pre-release

Major Changes

  • 6f5afad: Remove singleton implementation and require an SNSClient on instantiation.

    Previously we were providing credentials via fromNodeProviderChain.
    This provider chain loads profile credentials before environment credentials when they're both set (e.g. within the AWS Lambda runtime),
    resulting in the following log:

    @aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
        Multiple credential sources detected:
        Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
        This SDK will proceed with the AWS_PROFILE value.
    
        However, a future version may change this behavior to prefer the ENV static credentials.
        Please ensure that your environment only sets either the AWS_PROFILE or the
        AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
    

    Within the AWS Lambda runtime, the deployTools profile doesn't actually evaluate to valid credentials, therefore the AWS calls fail.
    For this reason, an SNSClient is now required on instantiation.
    This user provided client should have the credential provider relevant to the user's runtime, thus making @guardian/anghammarad runtime agnostic.

    Also in this change is a reversion of the singleton implementation.
    The singleton was aimed at simplify the DX for users by automatically configuring the SNS topic via an SSM Parameter.
    However, in reality this wasn't an issue as users already have the SNS topic in their CloudFormation template in order to provide sns:Publish access.
    Now, when instantiating the Anghammarad client, an SNSClient and topicArn are required.

v0.0.0-beta-20251112143059

12 Nov 14:31
4637d1f

Choose a tag to compare

Pre-release

Major Changes

  • 6f5afad: Remove singleton implementation and require an SNSClient on instantiation.

    Previously we were providing credentials via fromNodeProviderChain.
    This provider chain loads profile credentials before environment credentials when they're both set (e.g. within the AWS Lambda runtime),
    resulting in the following log:

    @aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
        Multiple credential sources detected:
        Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
        This SDK will proceed with the AWS_PROFILE value.
    
        However, a future version may change this behavior to prefer the ENV static credentials.
        Please ensure that your environment only sets either the AWS_PROFILE or the
        AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
    

    Within the AWS Lambda runtime, the deployTools profile doesn't actually evaluate to valid credentials, therefore the AWS calls fail.
    For this reason, an SNSClient is now required on instantiation.
    This user provided client should have the credential provider relevant to the user's runtime, thus making @guardian/anghammarad runtime agnostic.

    Also in this change is a reversion of the singleton implementation.
    The singleton was aimed at simplify the DX for users by automatically configuring the SNS topic via an SSM Parameter.
    However, in reality this wasn't an issue as users already have the SNS topic in their CloudFormation template in order to provide sns:Publish access.
    Now, when instantiating the Anghammarad client, an SNSClient and topicArn are required.

v0.0.0-beta-20251112142941

12 Nov 14:29
e09baea

Choose a tag to compare

Pre-release

Major Changes

  • 5a5296b: Remove singleton implementation and require an SNSClient on instantiation.

    Previously we were providing credentials via fromNodeProviderChain.
    This provider chain loads profile credentials before environment credentials when they're both set (e.g. within the AWS Lambda runtime),
    resulting in the following log:

    @aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
        Multiple credential sources detected:
        Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
        This SDK will proceed with the AWS_PROFILE value.
    
        However, a future version may change this behavior to prefer the ENV static credentials.
        Please ensure that your environment only sets either the AWS_PROFILE or the
        AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
    

    Within the AWS Lambda runtime, the deployTools profile doesn't actually evaluate to valid credentials, therefore the AWS calls fail.
    For this reason, an SNSClient is now required on instantiation.
    This user provided client should have the credential provider relevant to the user's runtime, thus making @guardian/anghammarad runtime agnostic.

    Also in this change is a reversion of the singleton implementation.
    The singleton was aimed at simplify the DX for users by automatically configuring the SNS topic via an SSM Parameter.
    However, in reality this wasn't an issue as users already have the SNS topic in their CloudFormation template in order to provide sns:Publish access.
    Now, when instantiating the Anghammarad client, an SNSClient and topicArn are required.

v0.0.0-beta-20251112115442

12 Nov 11:54
0fdd7cc

Choose a tag to compare

Pre-release

Minor Changes

  • c5038ae: Require a credential provider to be provided.

    It appears that the fromNodeProviderChain uses profile credentials before environment credentials.
    With a profile being passed to fromNodeProviderChain, using the library within an AWS Lambda function resulted in an authentication failure and the following log:

    @aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
        Multiple credential sources detected:
        Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
        This SDK will proceed with the AWS_PROFILE value.
    
        However, a future version may change this behavior to prefer the ENV static credentials.
        Please ensure that your environment only sets either the AWS_PROFILE or the
        AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
    

    This update asks clients to provide their own credential provider allowing the library to become agnostic of the runtime environment.

v0.0.0-beta-20251111211405

11 Nov 21:14
892bd79

Choose a tag to compare

Pre-release

Patch Changes

  • 9104cd7: Change AWS credential order, loading from a profile last.

v0.0.0-beta-20251104102418

04 Nov 10:24
cc10445

Choose a tag to compare

Pre-release

Major Changes

  • 2430230: Releasing @guardian/anghammarad v2.0.0

    This change updates to AWS SDK v3 and is published as ESM-only.
    Additionally, the Anghammarad class is now implemented as a singleton, with the SNS topic obtained from SSM Parameter Store; you no longer need to provide this.

    To send a message:

    import {
      Anghammarad,
      type AnhammaradNotification,
    } from "@guardian/anghammarad";
    const anghammarad = Anghammarad.getInstance();
    const notification: AnghammaradNotification = {};
    await anghammarad.notify("an important message for you", notification);

Patch Changes

  • caf2058: no-op release to test migration to NPM trusted publishing

v0.0.0-beta-20251104095657

04 Nov 09:57
f552974

Choose a tag to compare

Pre-release

Major Changes

  • 84c4469: Releasing @guardian/anghammarad v2.0.0

    This change updates to AWS SDK v3 and is published as ESM-only.
    Additionally, the Anghammarad class is now implemented as a singleton, with the SNS topic obtained from SSM Parameter Store; you no longer need to provide this.

    To send a message:

    import {
      Anghammarad,
      type AnhammaradNotification,
    } from "@guardian/anghammarad";
    const anghammarad = Anghammarad.getInstance();
    const notification: AnghammaradNotification = {};
    await anghammarad.notify("an important message for you", notification);

Patch Changes

  • caf2058: no-op release to test migration to NPM trusted publishing

v0.0.0-beta-20251104095319

04 Nov 09:53
ccf0d57

Choose a tag to compare

Pre-release

Major Changes

  • 84c4469: Releasing @guardian/anghammarad v2.0.0

    This change updates to AWS SDK v3 and is published as ESM-only.
    Additionally, the Anghammarad class is now implemented as a singleton, with the SNS topic obtained from SSM Parameter Store; you no longer need to provide this.

    To send a message:

    import {
      Anghammarad,
      type AnhammaradNotification,
    } from "@guardian/anghammarad";
    const anghammarad = Anghammarad.getInstance();
    const notification: AnghammaradNotification = {};
    await anghammarad.notify("an important message for you", notification);

Patch Changes

  • caf2058: no-op release to test migration to NPM trusted publishing

v0.0.0-beta-20251104095031

04 Nov 09:50
004629b

Choose a tag to compare

Pre-release

Major Changes

  • 84c4469: Releasing @guardian/anghammarad v2.0.0

    This change updates to AWS SDK v3 and is published as ESM-only.
    Additionally, the Anghammarad class is now implemented as a singleton, with the SNS topic obtained from SSM Parameter Store; you no longer need to provide this.

    To send a message:

    import {
      Anghammarad,
      type AnhammaradNotification,
    } from "@guardian/anghammarad";
    const anghammarad = Anghammarad.getInstance();
    const notification: AnghammaradNotification = {};
    await anghammarad.notify("an important message for you", notification);

Patch Changes

  • caf2058: no-op release to test migration to NPM trusted publishing

v0.0.0-beta-20251104094529

04 Nov 09:45
11978b7

Choose a tag to compare

Pre-release

Major Changes

  • 84c4469: Releasing @guardian/anghammarad v2.0.0

    This change updates to AWS SDK v3 and is published as ESM-only.
    Additionally, the Anghammarad class is now implemented as a singleton, with the SNS topic obtained from SSM Parameter Store; you no longer need to provide this.

    To send a message:

    import {
      Anghammarad,
      type AnhammaradNotification,
    } from "@guardian/anghammarad";
    const anghammarad = Anghammarad.getInstance();
    const notification: AnghammaradNotification = {};
    await anghammarad.notify("an important message for you", notification);

Patch Changes

  • caf2058: no-op release to test migration to NPM trusted publishing