From 2d9f8b65b005f1f15b92d04b07172ae5bf791053 Mon Sep 17 00:00:00 2001 From: "Release bot[bot]" Date: Tue, 31 Oct 2023 12:22:15 +0000 Subject: [PATCH 1/5] chore: update layer ARN on documentation --- docs/index.md | 70 +++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/index.md b/docs/index.md index e0c5b30e35..6e3653d764 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,7 +26,7 @@ You can use Powertools for AWS Lambda (TypeScript) in both TypeScript and JavaSc You can install Powertools for AWS Lambda (TypeScript) using one of the following options: -* **Lambda Layer**: [**arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21**](#){: .copyMe}:clipboard: +* **Lambda Layer**: [**arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22**](#){: .copyMe}:clipboard: * **npm**: [`npm install @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics @aws-lambda-powertools/logger`](#){: .copyMe}:clipboard: ### Lambda Layer @@ -41,32 +41,32 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L | Region | Layer ARN | | ---------------- | ------------------------------------------------------------------------------------------------------------ | - | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-east-1` | [arn:aws:lambda:ap-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-southeast-3` | [arn:aws:lambda:ap-southeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ap-southeast-4` | [arn:aws:lambda:ap-southeast-4:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-central-2` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-south-1` | [arn:aws:lambda:eu-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `eu-south-2` | [arn:aws:lambda:eu-south-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `af-south-1` | [arn:aws:lambda:af-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `me-south-1` | [arn:aws:lambda:me-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | - | `il-central-1` | [arn:aws:lambda:il-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:21](#){: .copyMe}:clipboard: | + | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-east-1` | [arn:aws:lambda:ap-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-southeast-3` | [arn:aws:lambda:ap-southeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ap-southeast-4` | [arn:aws:lambda:ap-southeast-4:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-central-2` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-south-1` | [arn:aws:lambda:eu-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `eu-south-2` | [arn:aws:lambda:eu-south-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `af-south-1` | [arn:aws:lambda:af-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `me-south-1` | [arn:aws:lambda:me-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | + | `il-central-1` | [arn:aws:lambda:il-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:22](#){: .copyMe}:clipboard: | ??? note "Click to expand and copy code snippets for popular frameworks" @@ -77,7 +77,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L Type: AWS::Serverless::Function Properties: Layers: - - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21 + - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22 ``` If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: @@ -108,7 +108,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L hello: handler: lambda_function.lambda_handler layers: - - arn:aws:lambda:${aws:region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21 + - arn:aws:lambda:${aws:region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22 ``` If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: @@ -140,7 +140,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L const powertoolsLayer = lambda.LayerVersion.fromLayerVersionArn( this, 'PowertoolsLayer', - `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21` + `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22` ); new lambda.Function(this, 'Function', { @@ -192,7 +192,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L role = ... handler = "index.handler" runtime = "nodejs16.x" - layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21"] + layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22"] source_code_hash = filebase64sha256("lambda_function_payload.zip") } ``` @@ -210,7 +210,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L const lambdaFunction = new aws.lambda.Function('function', { layers: [ - pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21` + pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22` ], code: new pulumi.asset.FileArchive('lambda_function_payload.zip'), tracingConfig: { @@ -234,7 +234,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L ? Do you want to configure advanced settings? Yes ... ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21 + ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22 ❯ amplify push -y # Updating an existing function and add the layer @@ -244,7 +244,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L - Name: ? Which setting do you want to update? Lambda layers configuration ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21 + ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22 ? Do you want to edit the local lambda function now? No ``` @@ -254,7 +254,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L Change {region} to your AWS region, e.g. `eu-west-1` ```bash title="AWS CLI" - aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:21 --region {region} + aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:22 --region {region} ``` The pre-signed URL to download this Lambda Layer will be within `Location` key. From fab61101c5a8b658a723f4f65ad8160f5a6ccc08 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 2 Nov 2023 17:03:46 +0100 Subject: [PATCH 2/5] docs(maintenance): add clarification about async decorators (#1778) * docs(maintenance): add clarification about async decorators * docs(maintenance): add clarification about async decorators --- docs/core/logger.md | 5 +++-- docs/core/metrics.md | 11 ++++++----- docs/core/tracer.md | 17 +++++++++++------ docs/utilities/idempotency.md | 8 ++++++-- 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/docs/core/logger.md b/docs/core/logger.md index 1db08f0839..1cc37a50ba 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -118,8 +118,9 @@ This functionality will include the following keys in your structured logs: === "Decorator" - !!! info - Powertools decorators can only be attached to class methods and follow the experimetal decorators proposal implementation found in TypeScript 4.x. As such, you need to enable the `experimentalDecorators` compiler option in your `tsconfig.json` file to use them. + !!! note + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can call the `logger.injectLambdaContext()` method directly in your handler. ```typescript hl_lines="8" --8<-- "docs/snippets/logger/decorator.ts" diff --git a/docs/core/metrics.md b/docs/core/metrics.md index 925fa6d6cc..a3804b742d 100644 --- a/docs/core/metrics.md +++ b/docs/core/metrics.md @@ -211,8 +211,9 @@ You can add default dimensions to your metrics by passing them as parameters in === "with logMetrics decorator" - !!! info - Powertools decorators can only be attached to class methods and follow the experimetal decorators proposal implementation found in TypeScript 4.x. As such, you need to enable the `experimentalDecorators` compiler option in your `tsconfig.json` file to use them. + !!! note + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can use the `logMetrics` middleware instead. ```typescript hl_lines="12" --8<-- "docs/snippets/metrics/defaultDimensionsDecorator.ts" @@ -276,9 +277,9 @@ See below an example of how to automatically flush metrics with the Middy-compat #### Using the class decorator -!!! info - Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, check the [middleware](#using-a-middleware) or [manual](#manually) method sections instead. - See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. +!!! note + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can use the `logMetrics` middleware instead. The `logMetrics` decorator of the metrics utility can be used when your Lambda handler function is implemented as method of a Class. diff --git a/docs/core/tracer.md b/docs/core/tracer.md index c8dab4003c..29f3f8a109 100644 --- a/docs/core/tracer.md +++ b/docs/core/tracer.md @@ -97,8 +97,9 @@ You can quickly start by importing the `Tracer` class, initialize it outside the === "Decorator" - !!! info - Powertools decorators can only be attached to class methods and follow the experimetal decorators proposal implementation found in TypeScript 4.x. As such, you need to enable the `experimentalDecorators` compiler option in your `tsconfig.json` file to use them. + !!! note + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can use one of the other patterns instead. ```typescript hl_lines="8" --8<-- "docs/snippets/tracer/decorator.ts" @@ -152,10 +153,14 @@ When using the `captureLambdaHandler` decorator or middleware, Tracer performs t ### Methods -You can trace other Class methods using the `captureMethod` decorator or any arbitrary function using manual instrumentation. +You can trace other class methods using the `captureMethod` decorator or any arbitrary asynchronous function using manual instrumentation. === "Decorator" + !!! note + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can use manual instrumentation instead. + ```typescript hl_lines="8" --8<-- "docs/snippets/tracer/captureMethodDecorator.ts" ``` @@ -181,7 +186,7 @@ You can patch any AWS SDK clients by calling the `captureAWSv3Client` method: === "index.ts" - ```typescript hl_lines="5" + ```typescript hl_lines="6" --8<-- "docs/snippets/tracer/captureAWSv3.ts" ``` @@ -192,7 +197,7 @@ You can patch all AWS SDK v2 clients by calling the `captureAWS` method: === "index.ts" - ```typescript hl_lines="5" + ```typescript hl_lines="6" --8<-- "docs/snippets/tracer/captureAWSAll.ts" ``` @@ -200,7 +205,7 @@ If you're looking to shave a few microseconds, or milliseconds depending on your === "index.ts" - ```typescript hl_lines="5" + ```typescript hl_lines="6" --8<-- "docs/snippets/tracer/captureAWS.ts" ``` diff --git a/docs/utilities/idempotency.md b/docs/utilities/idempotency.md index dc58487016..b1a5b009be 100644 --- a/docs/utilities/idempotency.md +++ b/docs/utilities/idempotency.md @@ -164,6 +164,10 @@ The function this example has two arguments, note that while wrapping it with th You can also use the `@idempotent` decorator to make your Lambda handler idempotent, similar to the `makeIdempotent` function wrapper. +!!! info + The class method decorators in this project follow the experimental implementation enabled via the [`experimentalDecorators` compiler option](https://www.typescriptlang.org/tsconfig#experimentalDecorators) in TypeScript. Additionally, they are implemented in a way that fits asynchronous methods. When decorating a synchronous method, the decorator replaces its implementation with an asynchronous one causing the caller to have to `await` the now decorated method. + If this is not the desired behavior, you can use one of the other patterns to make your logic idempotent. + === "index.ts" ```typescript hl_lines="17" @@ -183,8 +187,8 @@ The configuration options for the `@idempotent` decorator are the same as the on ### MakeHandlerIdempotent Middy middleware !!! tip "A note about Middy" - Currently we support only Middy `v3.x` that you can install it by running `npm i @middy/core@~3`. - Check their docs to learn more about [Middy and its middleware stack](https://middy.js.org/docs/intro/getting-started){target="_blank"} as well as [best practices when working with Powertools](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"}. + Currently we support only Middy `v3.x` that you can install it by running `npm i @middy/core@~3`. + Check their docs to learn more about [Middy and its middleware stack](https://middy.js.org/docs/intro/getting-started){target="_blank"} as well as [best practices when working with Powertools](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"}. If you are using [Middy](https://middy.js.org){target="_blank"} as your middleware engine, you can use the `makeHandlerIdempotent` middleware to make your Lambda handler idempotent. Similar to the `makeIdempotent` function wrapper, you can quickly make your Lambda handler idempotent by initializing the `DynamoDBPersistenceLayer` class and using it with the `makeHandlerIdempotent` middleware. From 8181b481ba96fa7a91959ff2d40bdedfe80b451b Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 2 Nov 2023 17:42:52 +0100 Subject: [PATCH 3/5] fix(metrics): deduplicate dimensions when serialising (#1780) * fix: deduplicate dimensions when serializing * fix tests * remove tsbuildinfo * remove whitespace * fix gitignore again * play some sonar games * fix test --- .gitignore | 3 +- packages/metrics/src/Metrics.ts | 6 ++- packages/metrics/tests/unit/Metrics.test.ts | 51 +++++++++++++++++++-- 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 3f1196546a..cb2d901eae 100644 --- a/.gitignore +++ b/.gitignore @@ -49,4 +49,5 @@ site tmp # TS build files -tsconfig.tsbuildinfo \ No newline at end of file +tsconfig.tsbuildinfo +.tsbuildinfo \ No newline at end of file diff --git a/packages/metrics/src/Metrics.ts b/packages/metrics/src/Metrics.ts index e729c9946a..5bf9fba97f 100644 --- a/packages/metrics/src/Metrics.ts +++ b/packages/metrics/src/Metrics.ts @@ -440,8 +440,10 @@ class Metrics extends Utility implements MetricsInterface { ); const dimensionNames = [ - ...Object.keys(this.defaultDimensions), - ...Object.keys(this.dimensions), + ...new Set([ + ...Object.keys(this.defaultDimensions), + ...Object.keys(this.dimensions), + ]), ]; return { diff --git a/packages/metrics/tests/unit/Metrics.test.ts b/packages/metrics/tests/unit/Metrics.test.ts index 81808a0f5c..936ea142eb 100644 --- a/packages/metrics/tests/unit/Metrics.test.ts +++ b/packages/metrics/tests/unit/Metrics.test.ts @@ -466,9 +466,7 @@ describe('Class: Metrics', () => { } // Act & Assess - expect(() => - metrics.addDimensions(dimensionsToBeAdded) - ).not.toThrowError(); + metrics.addDimensions(dimensionsToBeAdded); expect(Object.keys(metrics['dimensions']).length).toBe( MAX_DIMENSION_COUNT ); @@ -1505,6 +1503,53 @@ describe('Class: Metrics', () => { }); }); + test('it should log dimensions once when default dimensions are set and addDimension is called', () => { + // Prepare + const additionalDimensions = { + foo: 'bar', + env: 'dev', + }; + const testMetric = 'test-metric'; + const metrics: Metrics = new Metrics({ + defaultDimensions: additionalDimensions, + namespace: TEST_NAMESPACE, + }); + + // Act + metrics.addMetric(testMetric, MetricUnits.Count, 10); + metrics.addDimension('foo', 'baz'); + const loggedData = metrics.serializeMetrics(); + + // Assess + expect(loggedData._aws.CloudWatchMetrics[0].Dimensions[0].length).toEqual( + 3 + ); + expect(loggedData.service).toEqual(defaultServiceName); + expect(loggedData.foo).toEqual('baz'); + expect(loggedData.env).toEqual(additionalDimensions.env); + expect(loggedData).toEqual({ + _aws: { + CloudWatchMetrics: [ + { + Dimensions: [['service', 'foo', 'env']], + Metrics: [ + { + Name: testMetric, + Unit: MetricUnits.Count, + }, + ], + Namespace: TEST_NAMESPACE, + }, + ], + Timestamp: mockDate.getTime(), + }, + service: 'service_undefined', + [testMetric]: 10, + env: 'dev', + foo: 'baz', + }); + }); + test('it should log additional dimensions correctly', () => { // Prepare const testMetric = 'test-metric'; From 35f0c5a9769d2d3b576c310d0c8cf7e4fcdea461 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 2 Nov 2023 23:39:30 +0100 Subject: [PATCH 4/5] chore(maintenance): improve Gitpod config (#1782) * chore(maintenance): pin node 18 in Gitpod * chore: fix nvm & make sam install quiet * chore: fix nvm command * chore: switch to fem * chore: add Dockerfile with pinned version * chore: change to custom docker file * chore: remove redundant command * chore: move SAM install to docker file * chore: remove SAM instructions from init phase * chore: fix install command --- .gitpod.Dockerfile | 13 +++++++++++++ .gitpod.yml | 12 ++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 .gitpod.Dockerfile diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile new file mode 100644 index 0000000000..3eee81f26c --- /dev/null +++ b/.gitpod.Dockerfile @@ -0,0 +1,13 @@ +# See gitpod image here: https://hub.docker.com/layers/gitpod/workspace-base/latest +FROM gitpod/workspace-base@sha256:d69d08a0e1fa62b6d8db9e7ffe63dc21a58f0242946d945d776a819aec652130 + +USER gitpod + +# Install fnm to manage Node.js versions +RUN curl -fsSL https://fnm.vercel.app/install | bash -s + +# Install AWS SAM CLI +RUN curl -LO https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip \ + && unzip -q aws-sam-cli-linux-x86_64.zip -d sam-installation \ + && sudo ./sam-installation/install \ + && rm -rf sam-installation aws-sam-cli-linux-* diff --git a/.gitpod.yml b/.gitpod.yml index 0591321da9..8cf80f54b6 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,13 +1,10 @@ +image: + file: .gitpod.Dockerfile tasks: - init: | # Install Nodejs version specified in .nvmrc - nvm install - nvm use - # Install AWS SAM CLI - wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip - unzip aws-sam-cli-linux-x86_64.zip -d sam-installation - sudo ./sam-installation/install - rm -rf sam-installation aws-sam-cli-linux-* + fnm install + fnm use # Install repo dependencies npm run setup-local vscode: @@ -15,4 +12,3 @@ vscode: - dbaeumer.vscode-eslint - esbenp.prettier-vscode - firsttris.vscode-jest-runner - - amazonwebservices.aws-toolkit-vscode \ No newline at end of file From 1944156f0e8e2437c3f8947df9712e30d74a505b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Nov 2023 11:01:10 +0000 Subject: [PATCH 5/5] chore(release): v1.14.2 [skip ci] --- CHANGELOG.md | 6 ++++ examples/cdk/CHANGELOG.md | 4 +++ examples/cdk/package.json | 12 ++++---- examples/sam/CHANGELOG.md | 4 +++ examples/sam/package.json | 10 +++---- layers/CHANGELOG.md | 4 +++ layers/package.json | 2 +- lerna.json | 2 +- package-lock.json | 50 +++++++++++++++---------------- packages/batch/CHANGELOG.md | 4 +++ packages/batch/package.json | 2 +- packages/commons/CHANGELOG.md | 4 +++ packages/commons/package.json | 2 +- packages/idempotency/CHANGELOG.md | 4 +++ packages/idempotency/package.json | 4 +-- packages/logger/CHANGELOG.md | 4 +++ packages/logger/package.json | 4 +-- packages/metrics/CHANGELOG.md | 6 ++++ packages/metrics/package.json | 4 +-- packages/parameters/CHANGELOG.md | 4 +++ packages/parameters/package.json | 4 +-- packages/testing/CHANGELOG.md | 4 +++ packages/testing/package.json | 2 +- packages/tracer/CHANGELOG.md | 4 +++ packages/tracer/package.json | 4 +-- 25 files changed, 103 insertions(+), 51 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fed1ffedf0..6c96cc10d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +### Bug Fixes + +- **metrics:** deduplicate dimensions when serialising ([#1780](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1780)) ([8181b48](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8181b481ba96fa7a91959ff2d40bdedfe80b451b)) + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package aws-lambda-powertools-typescript diff --git a/examples/cdk/CHANGELOG.md b/examples/cdk/CHANGELOG.md index 56ad8ad633..6e7a04178a 100644 --- a/examples/cdk/CHANGELOG.md +++ b/examples/cdk/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package cdk-sample + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package cdk-sample diff --git a/examples/cdk/package.json b/examples/cdk/package.json index 81c0daed44..76653f05af 100644 --- a/examples/cdk/package.json +++ b/examples/cdk/package.json @@ -1,6 +1,6 @@ { "name": "cdk-sample", - "version": "1.14.1", + "version": "1.14.2", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" @@ -25,11 +25,11 @@ "*.js": "npm run lint-fix" }, "devDependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", - "@aws-lambda-powertools/logger": "^1.14.1", - "@aws-lambda-powertools/metrics": "^1.14.1", - "@aws-lambda-powertools/parameters": "^1.14.1", - "@aws-lambda-powertools/tracer": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", + "@aws-lambda-powertools/logger": "^1.14.2", + "@aws-lambda-powertools/metrics": "^1.14.2", + "@aws-lambda-powertools/parameters": "^1.14.2", + "@aws-lambda-powertools/tracer": "^1.14.2", "@aws-sdk/client-ssm": "^3.413.0", "@aws-sdk/lib-dynamodb": "^3.413.0", "@types/aws-lambda": "^8.10.121", diff --git a/examples/sam/CHANGELOG.md b/examples/sam/CHANGELOG.md index 75505c45c3..dddaf3506f 100644 --- a/examples/sam/CHANGELOG.md +++ b/examples/sam/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package sam-example + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package sam-example diff --git a/examples/sam/package.json b/examples/sam/package.json index e7c24a04dd..aeb3f5f6a1 100644 --- a/examples/sam/package.json +++ b/examples/sam/package.json @@ -1,6 +1,6 @@ { "name": "sam-example", - "version": "1.14.1", + "version": "1.14.2", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" @@ -30,10 +30,10 @@ "typescript": "^5.2.2" }, "dependencies": { - "@aws-lambda-powertools/logger": "^1.14.1", - "@aws-lambda-powertools/metrics": "^1.14.1", - "@aws-lambda-powertools/parameters": "^1.14.1", - "@aws-lambda-powertools/tracer": "^1.14.1", + "@aws-lambda-powertools/logger": "^1.14.2", + "@aws-lambda-powertools/metrics": "^1.14.2", + "@aws-lambda-powertools/parameters": "^1.14.2", + "@aws-lambda-powertools/tracer": "^1.14.2", "@aws-sdk/client-dynamodb": "^3.413.0", "@aws-sdk/client-ssm": "^3.413.0", "@aws-sdk/lib-dynamodb": "^3.413.0", diff --git a/layers/CHANGELOG.md b/layers/CHANGELOG.md index 86b266834d..1f6cc4f185 100644 --- a/layers/CHANGELOG.md +++ b/layers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package layers + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package layers diff --git a/layers/package.json b/layers/package.json index 4cd8cd177b..363539203f 100644 --- a/layers/package.json +++ b/layers/package.json @@ -1,6 +1,6 @@ { "name": "layers", - "version": "1.14.1", + "version": "1.14.2", "bin": { "layer": "bin/layers.js" }, diff --git a/lerna.json b/lerna.json index d154d6d246..c14a9b3bf6 100644 --- a/lerna.json +++ b/lerna.json @@ -12,7 +12,7 @@ "examples/sam", "layers" ], - "version": "1.14.1", + "version": "1.14.2", "npmClient": "npm", "message": "chore(release): %s [skip ci]" } diff --git a/package-lock.json b/package-lock.json index b0c5236c73..ecda462c43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,7 +72,7 @@ }, "examples/cdk": { "name": "cdk-sample", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { "@middy/core": "^3.6.2", @@ -85,11 +85,11 @@ "cdk-app": "bin/cdk-app.js" }, "devDependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", - "@aws-lambda-powertools/logger": "^1.14.1", - "@aws-lambda-powertools/metrics": "^1.14.1", - "@aws-lambda-powertools/parameters": "^1.14.1", - "@aws-lambda-powertools/tracer": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", + "@aws-lambda-powertools/logger": "^1.14.2", + "@aws-lambda-powertools/metrics": "^1.14.2", + "@aws-lambda-powertools/parameters": "^1.14.2", + "@aws-lambda-powertools/tracer": "^1.14.2", "@aws-sdk/client-ssm": "^3.413.0", "@aws-sdk/lib-dynamodb": "^3.413.0", "@types/aws-lambda": "^8.10.121", @@ -111,13 +111,13 @@ }, "examples/sam": { "name": "sam-example", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/logger": "^1.14.1", - "@aws-lambda-powertools/metrics": "^1.14.1", - "@aws-lambda-powertools/parameters": "^1.14.1", - "@aws-lambda-powertools/tracer": "^1.14.1", + "@aws-lambda-powertools/logger": "^1.14.2", + "@aws-lambda-powertools/metrics": "^1.14.2", + "@aws-lambda-powertools/parameters": "^1.14.2", + "@aws-lambda-powertools/tracer": "^1.14.2", "@aws-sdk/client-dynamodb": "^3.413.0", "@aws-sdk/client-ssm": "^3.413.0", "@aws-sdk/lib-dynamodb": "^3.413.0", @@ -142,7 +142,7 @@ "dev": true }, "layers": { - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { "aws-cdk": "^2.96.1", @@ -17781,20 +17781,20 @@ }, "packages/batch": { "name": "@aws-lambda-powertools/batch", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0" }, "packages/commons": { "name": "@aws-lambda-powertools/commons", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0" }, "packages/idempotency": { "name": "@aws-lambda-powertools/idempotency", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "@aws-sdk/util-base64-node": "^3.209.0", "jmespath": "^0.16.0" }, @@ -17825,10 +17825,10 @@ }, "packages/logger": { "name": "@aws-lambda-powertools/logger", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "lodash.merge": "^4.6.2" }, "devDependencies": { @@ -17846,10 +17846,10 @@ }, "packages/metrics": { "name": "@aws-lambda-powertools/metrics", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1" + "@aws-lambda-powertools/commons": "^1.14.2" }, "devDependencies": { "@aws-lambda-powertools/testing-utils": "file:../testing", @@ -17868,10 +17868,10 @@ }, "packages/parameters": { "name": "@aws-lambda-powertools/parameters", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "@aws-sdk/util-base64-node": "^3.209.0" }, "devDependencies": { @@ -17914,7 +17914,7 @@ }, "packages/testing": { "name": "@aws-lambda-powertools/testing-utils", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { "@aws-cdk/cli-lib-alpha": "^2.96.1-alpha.0", @@ -17926,10 +17926,10 @@ }, "packages/tracer": { "name": "@aws-lambda-powertools/tracer", - "version": "1.14.1", + "version": "1.14.2", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "aws-xray-sdk-core": "^3.5.3" }, "devDependencies": { diff --git a/packages/batch/CHANGELOG.md b/packages/batch/CHANGELOG.md index 3a18cd7c44..c8eb18dc25 100644 --- a/packages/batch/CHANGELOG.md +++ b/packages/batch/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/batch + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/batch diff --git a/packages/batch/package.json b/packages/batch/package.json index 52a2db5c7a..ed956b0c1b 100644 --- a/packages/batch/package.json +++ b/packages/batch/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/batch", - "version": "1.14.1", + "version": "1.14.2", "description": "The batch processing package for the Powertools for AWS Lambda (TypeScript) library.", "author": { "name": "Amazon Web Services", diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index 3d23b1fb6f..d27f118f3d 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/commons + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/commons diff --git a/packages/commons/package.json b/packages/commons/package.json index da3cceefbb..3be44fdbea 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/commons", - "version": "1.14.1", + "version": "1.14.2", "description": "A shared utility package for Powertools for AWS Lambda (TypeScript) libraries", "author": { "name": "Amazon Web Services", diff --git a/packages/idempotency/CHANGELOG.md b/packages/idempotency/CHANGELOG.md index 14fb5e1a95..82ff512d9e 100644 --- a/packages/idempotency/CHANGELOG.md +++ b/packages/idempotency/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/idempotency + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/idempotency diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index 292b5c2815..03f72769cd 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/idempotency", - "version": "1.14.1", + "version": "1.14.2", "description": "The idempotency package for the Powertools for AWS Lambda (TypeScript) library. It provides options to make your Lambda functions idempotent and safe to retry.", "author": { "name": "Amazon Web Services", @@ -80,7 +80,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "@aws-sdk/util-base64-node": "^3.209.0", "jmespath": "^0.16.0" }, diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index ebc9967d23..a26534d828 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/logger + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/logger diff --git a/packages/logger/package.json b/packages/logger/package.json index fa6b9da3c4..e16627d1ec 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/logger", - "version": "1.14.1", + "version": "1.14.2", "description": "The logging package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -54,7 +54,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "lodash.merge": "^4.6.2" }, "keywords": [ diff --git a/packages/metrics/CHANGELOG.md b/packages/metrics/CHANGELOG.md index e4bd70d9c0..fb55827d8e 100644 --- a/packages/metrics/CHANGELOG.md +++ b/packages/metrics/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +### Bug Fixes + +- **metrics:** deduplicate dimensions when serialising ([#1780](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1780)) ([8181b48](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8181b481ba96fa7a91959ff2d40bdedfe80b451b)) + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/metrics diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 1c6400e472..86dd8990f6 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/metrics", - "version": "1.14.1", + "version": "1.14.2", "description": "The metrics package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -56,7 +56,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1" + "@aws-lambda-powertools/commons": "^1.14.2" }, "keywords": [ "aws", diff --git a/packages/parameters/CHANGELOG.md b/packages/parameters/CHANGELOG.md index 2fd9d5d476..b5075d03ae 100644 --- a/packages/parameters/CHANGELOG.md +++ b/packages/parameters/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/parameters + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/parameters diff --git a/packages/parameters/package.json b/packages/parameters/package.json index 283f4128d9..f9a4957858 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/parameters", - "version": "1.14.1", + "version": "1.14.2", "description": "The parameters package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -147,7 +147,7 @@ "aws-sdk-client-mock-jest": "^3.0.0" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "@aws-sdk/util-base64-node": "^3.209.0" }, "peerDependencies": { diff --git a/packages/testing/CHANGELOG.md b/packages/testing/CHANGELOG.md index 2ca51e1913..252e8ec557 100644 --- a/packages/testing/CHANGELOG.md +++ b/packages/testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/testing-utils + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/testing-utils diff --git a/packages/testing/package.json b/packages/testing/package.json index 860ff8499a..04e33c5c47 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/testing-utils", - "version": "1.14.1", + "version": "1.14.2", "description": "A package containing utilities to test your serverless workloads", "author": { "name": "Amazon Web Services", diff --git a/packages/tracer/CHANGELOG.md b/packages/tracer/CHANGELOG.md index 43981330dd..a276714c22 100644 --- a/packages/tracer/CHANGELOG.md +++ b/packages/tracer/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.14.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.1...v1.14.2) (2023-11-03) + +**Note:** Version bump only for package @aws-lambda-powertools/tracer + ## [1.14.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.14.0...v1.14.1) (2023-10-31) **Note:** Version bump only for package @aws-lambda-powertools/tracer diff --git a/packages/tracer/package.json b/packages/tracer/package.json index 9b87aa16bd..8cdc8b6982 100644 --- a/packages/tracer/package.json +++ b/packages/tracer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/tracer", - "version": "1.14.1", + "version": "1.14.2", "description": "The tracer package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -59,7 +59,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.14.1", + "@aws-lambda-powertools/commons": "^1.14.2", "aws-xray-sdk-core": "^3.5.3" }, "keywords": [