diff --git a/CHANGELOG.md b/CHANGELOG.md index ac759c5c..51092c3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/#semantic-versioning-200). +## [3.0.1] - 2026-10-21 + +### :crab: Changed + +- The OpenTelemetry SDK, exporter and instrumentation packages are no longer peer dependencies of the wrapper. If you enable telemetry, add the packages your backend needs to your own dependencies. See [Telemetry](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/Telemetry.md) ([PR #709](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/709)). +- The optional `axios` peer dependency is now `^1.20.0`, up from `^1.18.1`. Upgrade `axios` if you use the [Federated Authentication](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/using-plugins/UsingTheFederatedAuthPlugin.md) or [Okta Authentication](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/using-plugins/UsingTheOktaAuthPlugin.md) plugins ([PR #704](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/704)). +- Updated the [Telemetry](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/Telemetry.md) documentation with per-backend install instructions and a complete OpenTelemetry SDK setup example ([PR #709](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/709)). + +### :bug: Fixed + +- The monitor cleanup task now continues after a failed monitor check. An error during the check previously ended the task, leaving expired and stuck monitors in place for the rest of the process ([PR #703](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/703)). +- Monitor and error details now appear in log messages instead of `{}` ([PR #703](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/703)). +- The Aurora Global Database region count query is now schema-qualified, so it resolves correctly regardless of the session `search_path` ([PR #702](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/702)). +- The wrapper no longer requires `@opentelemetry/sdk-node` to enable telemetry ([PR #709](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/709)). +- Parameter `telemetrySubmitTopLevel` spelling corrected to `telemetrySubmitToplevel` in [Telemetry](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/Telemetry.md) ([PR #709](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/709)). +- Failover is now triggered by read-only connection errors on MySQL when using `strict-writer` failover mode ([PR #692](https://github.com/aws/aws-advanced-nodejs-wrapper/pull/692)). +- Corrected the `AwsPoolConfig` import in the [Using the Connection Pool](https://github.com/aws/aws-advanced-nodejs-wrapper/blob/main/docs/using-the-nodejs-wrapper/UsingTheConnectionPool.md) samples. + ## [3.0.0] - 2026-08-20 ### :boom: Breaking Changes @@ -141,6 +159,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The Amazon Web Services (AWS) Advanced NodeJS Wrapper allows an application to take advantage of the features of clustered Aurora databases. +[3.0.1]: https://github.com/aws/aws-advanced-nodejs-wrapper/compare/3.0.0...3.0.1 [3.0.0]: https://github.com/aws/aws-advanced-nodejs-wrapper/compare/2.1.1...3.0.0 [2.1.1]: https://github.com/aws/aws-advanced-nodejs-wrapper/compare/2.1.0...2.1.1 [2.1.0]: https://github.com/aws/aws-advanced-nodejs-wrapper/compare/2.0.1...2.1.0 diff --git a/MAINTENANCE.md b/MAINTENANCE.md index c719683d..eb1cbd65 100644 --- a/MAINTENANCE.md +++ b/MAINTENANCE.md @@ -11,6 +11,7 @@ | Jan 15 2026 | [Release 2.1.0](https://github.com/aws/aws-advanced-nodejs-wrapper/releases/tag/2.1.0) | | May 28 2026 | [Release 2.1.1](https://github.com/aws/aws-advanced-nodejs-wrapper/releases/tag/2.1.1) | | Aug 20 2026 | [Release 3.0.0](https://github.com/aws/aws-advanced-nodejs-wrapper/releases/tag/3.0.0) | +| Oct 21 2026 | [Release 3.0.1](https://github.com/aws/aws-advanced-nodejs-wrapper/releases/tag/3.0.1) | `aws-advanced-nodejs-wrapper` [follows semver](https://semver.org/#semantic-versioning-200) which means we will only release breaking changes in major versions. Generally speaking patches will be released to fix existing problems without @@ -64,4 +65,4 @@ from the updated source after the PRs are merged. | ------------- | -------------------- | ----------- | --------------- | ------------------------ | ---------------------- | | 1 | 1.3.0 | Maintenance | Nov 19, 2024 | Sep 11, 2025 | Sep 11, 2026 | | 2 | 2.1.1 | Maintenance | Sep 11, 2025 | Aug 20, 2026 | Aug 20, 2027 | -| 3 | 3.0.0 | Current | Aug 20, 2026 | N/A | N/A | +| 3 | 3.0.1 | Current | Aug 20, 2026 | N/A | N/A | diff --git a/docs/using-the-nodejs-wrapper/UsingTheConnectionPool.md b/docs/using-the-nodejs-wrapper/UsingTheConnectionPool.md index 579ead16..7c182221 100644 --- a/docs/using-the-nodejs-wrapper/UsingTheConnectionPool.md +++ b/docs/using-the-nodejs-wrapper/UsingTheConnectionPool.md @@ -45,7 +45,8 @@ const pool = mysql.createPool({ With the `AwsMySQLPoolClient`, provide the configuration separately like so: ```typescript -import { AwsMySQLPoolClient, AwsPoolConfig } from "aws-advanced-nodejs-wrapper/mysql"; +import { AwsPoolConfig } from "aws-advanced-nodejs-wrapper"; +import { AwsMySQLPoolClient } from "aws-advanced-nodejs-wrapper/mysql"; const poolConfig = new AwsPoolConfig({ maxConnections: 10, @@ -99,7 +100,8 @@ console.log(rows[0]); // { 'NOW()': 2023-12-01T10:30:00.000Z } **AwsMySQLPoolClient:** ```typescript -import { AwsMySQLPoolClient, AwsPoolConfig } from "aws-advanced-nodejs-wrapper/mysql"; +import { AwsPoolConfig } from "aws-advanced-nodejs-wrapper"; +import { AwsMySQLPoolClient } from "aws-advanced-nodejs-wrapper/mysql"; const pool = new AwsMySQLPoolClient( { @@ -188,7 +190,8 @@ const pool = new Pool({ With the `AwsPgPoolClient`, provide the configuration separately like so: ```typescript -import { AwsPgPoolClient, AwsPoolConfig } from "aws-advanced-nodejs-wrapper/pg"; +import { AwsPoolConfig } from "aws-advanced-nodejs-wrapper"; +import { AwsPgPoolClient } from "aws-advanced-nodejs-wrapper/pg"; const poolConfig = new AwsPoolConfig({ maxConnections: 10, @@ -242,7 +245,8 @@ console.log(result.rows[0]); // { now: 2023-12-01T10:30:00.000Z } **AwsPgPoolClient:** ```typescript -import { AwsPgPoolClient, AwsPoolConfig } from "aws-advanced-nodejs-wrapper/pg"; +import { AwsPoolConfig } from "aws-advanced-nodejs-wrapper"; +import { AwsPgPoolClient } from "aws-advanced-nodejs-wrapper/pg"; const pool = new AwsPgPoolClient( { @@ -380,7 +384,8 @@ Ensure your application does not fetch more connections than the max number of c For instance, see the [warning](https://node-postgres.com/apis/pool#releasing-clients) for `node-postgres`. ```typescript -import { AwsPgPoolClient, AwsPoolConfig } from "aws-advanced-nodejs-wrapper/pg"; +import { AwsPoolConfig } from "aws-advanced-nodejs-wrapper"; +import { AwsPgPoolClient } from "aws-advanced-nodejs-wrapper/pg"; const poolConfig = new AwsPoolConfig({ maxConnections: 10 }); const pool = new AwsPgPoolClient( diff --git a/package-lock.json b/package-lock.json index f8f5718c..63ded56d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "aws-advanced-nodejs-wrapper", - "version": "3.0.0", + "version": "3.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "aws-advanced-nodejs-wrapper", - "version": "3.0.0", + "version": "3.0.1", "workspaces": [ "common", "pg", diff --git a/package.json b/package.json index 342709f7..9667fbc6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aws-advanced-nodejs-wrapper", - "version": "3.0.0", + "version": "3.0.1", "type": "module", "repository": { "type": "git",