Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0b50583
Remove flaky and unstable suggested clusterId functionality (#1570)
sergiyvamz Oct 21, 2025
095881d
remove deprecated code (#1572)
sergiyvamz Oct 21, 2025
bb7ae52
adopt GDB (#1573)
sergiyvamz Oct 22, 2025
f2f7a11
respect AWS region connecting with cluster reader endpoint for GDB (#…
sergiyvamz Oct 22, 2025
7005002
fix javadocs (#1576)
sergiyvamz Oct 22, 2025
2e86a82
chore: remove mutable keys from HostSpec#hashCode and document immuta…
aaron-congo Oct 24, 2025
68360cf
deprecate enableGreenNodeReplacement parameter (#1578)
sergiyvamz Oct 24, 2025
aae443b
Remove deprecated configuration parameters (#1577)
sergiyvamz Oct 24, 2025
5b50975
fix wrong nodeId in HostSpec (#1579)
sergiyvamz Oct 30, 2025
dc69306
feat: add support of RDS Proxy custom endpoints (#1583)
sergiyvamz Oct 30, 2025
4538b12
feat: pooled flag for connect (#1581)
sergiyvamz Oct 30, 2025
050a952
docs: deprecate auroraStaleDns plugin (#1590)
sergiyvamz Nov 5, 2025
9b8aa0b
feat: add initialConnection plugin to default plugin list (#1592)
sergiyvamz Nov 5, 2025
7013042
chore: remove unused StorageService method (#1597)
aaron-congo Nov 13, 2025
b83c3d6
chore: remove deprecated ConnectionService classes (#1598)
aaron-congo Nov 14, 2025
d159d41
chore: logging improvement for RW Splitting plugin (#1604)
sergiyvamz Nov 20, 2025
e59950e
feat: allow to override IAM token property name (#1603)
sergiyvamz Nov 20, 2025
923b61b
Refactor: dialects and host list providers to reduce code duplication…
aaron-congo Nov 20, 2025
97a302c
docs: permissions for non-admin users accessing MultiAZ clusters (#1602)
sergiyvamz Nov 20, 2025
5c3f6db
feat: srw (#1586)
sophia-bq Nov 25, 2025
9f0b932
feat: failover read only connections (#1609)
sergiyvamz Dec 1, 2025
f1e6b18
avoid duplicates in manifest file (#1607)
sergiyvamz Dec 4, 2025
3998329
fix: add expiration time for cached reader connections and refactor B…
karenc-bq Dec 5, 2025
2053bb0
code style
sergiyvamz Dec 5, 2025
a114d61
chore: bump version to v3.0.0
sergiyvamz Dec 5, 2025
513cd8d
update maintenance window for 2.x
sergiyvamz Dec 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ 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.0] - TBD

### :bug: Fixed

### :crab: Changed
- Breaking Change: Remove suggested ClusterId functionality. For applications that use a single cluster database **no changes are required**. For application that access multiple database clusters, all connection string **should be** reviewed and a mandatory `clusterId` parameter **should be added**. ([PR #1570](https://github.com/aws/aws-advanced-jdbc-wrapper/pull/1570)).
- Breaking Change: Remove deprecated code. ([PR #1572](https://github.com/aws/aws-advanced-jdbc-wrapper/pull/1572)).

### :magic_wand: Added
- Added support of Global Databases including and Global Database endpoint. ([PR #1573](https://github.com/aws/aws-advanced-jdbc-wrapper/pull/1573)).

## [2.6.7] - 2025-11-25

### :bug: Fixed
Expand Down
3 changes: 2 additions & 1 deletion Maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,5 @@ from the updated source after the PRs are merged.
| Major Version | Latest Minor Version | Status | Initial Release | Maintenance Window Start | Maintenance Window End |
|---------------|----------------------|-------------|-----------------|--------------------------|------------------------|
| 1 | 1.0.2 | Maintenance | Oct 5, 2022 | Apr 28, 2023 | Apr 28, 2024 |
| 2 | 2.6.7 | Current | Apr 28, 2023 | N/A | N/A |
| 2 | 2.6.7 | Maintenance | Jan 1, 2026 | Dec 31, 2026 | N/A |
| 3 | 3.0.0 | Current | Dec 12, 2025 | N/A | N/A |
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ With the `failover` plugin, the downtime during certain DB cluster operations, s

Visit [this page](./docs/using-the-jdbc-driver/SupportForRDSMultiAzDBCluster.md) for more details.

### Using the AWS JDBC Driver with Amazon Aurora Global Databases

This driver supports in-region `failover` and between-regions `planned failover` and `switchover` of [Amazon Aurora Global Databases](https://aws.amazon.com/ru/rds/aurora/global-database/). A [Global Writer Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-connecting.html) is also recognized and can be handled to minimize potential stale DNS issues. Please check [failover plugin](./docs/using-the-jdbc-driver/using-plugins/UsingTheFailoverPlugin.md), [failover2 plugin](./docs/using-the-jdbc-driver/using-plugins/UsingTheFailover2Plugin.md) and [Aurora Initial Connection Strategy plugin](./docs/using-the-jdbc-driver/using-plugins/UsingTheAuroraInitialConnectionStrategyPlugin.md) for more information.

### Plain Amazon RDS databases

The AWS Advanced JDBC Wrapper also works with RDS provided databases that are not Aurora.
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ The benchmarks do not measure the performance of target JDBC drivers nor the per
## Usage
1. Build the benchmarks with the following command `../gradlew jmhJar`.
1. the JAR file will be outputted to `build/libs`
2. Run the benchmarks with the following command `java -jar build/libs/benchmarks-2.6.7-jmh.jar`.
2. Run the benchmarks with the following command `java -jar build/libs/benchmarks-3.0.0-jmh.jar`.
1. you may have to update the command based on the exact version of the produced JAR file
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,11 @@
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
import software.amazon.jdbc.ConnectionInfo;
import software.amazon.jdbc.ConnectionPluginFactory;
import software.amazon.jdbc.ConnectionPluginManager;
import software.amazon.jdbc.ConnectionProvider;
import software.amazon.jdbc.HostListProviderService;
import software.amazon.jdbc.hostlistprovider.HostListProviderService;
import software.amazon.jdbc.HostSpec;
import software.amazon.jdbc.HostSpecBuilder;
import software.amazon.jdbc.JdbcMethod;
Expand Down Expand Up @@ -126,7 +127,7 @@ public void setUpIteration() throws Exception {
any(Dialect.class),
any(TargetDriverDialect.class),
any(HostSpec.class),
any(Properties.class))).thenReturn(mockConnection);
any(Properties.class))).thenReturn(new ConnectionInfo(mockConnection, false));
when(mockTelemetryFactory.openTelemetryContext(anyString(), any())).thenReturn(mockTelemetryContext);
when(mockTelemetryFactory.openTelemetryContext(eq(null), any())).thenReturn(mockTelemetryContext);
when(mockTelemetryFactory.createCounter(anyString())).thenReturn(mockTelemetryCounter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,13 @@
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
import software.amazon.jdbc.ConnectionInfo;
import software.amazon.jdbc.ConnectionPluginManager;
import software.amazon.jdbc.ConnectionProvider;
import software.amazon.jdbc.ConnectionProviderManager;
import software.amazon.jdbc.Driver;
import software.amazon.jdbc.HikariPooledConnectionProvider;
import software.amazon.jdbc.HostListProviderService;
import software.amazon.jdbc.hostlistprovider.HostListProviderService;
import software.amazon.jdbc.HostSpec;
import software.amazon.jdbc.HostSpecBuilder;
import software.amazon.jdbc.JdbcMethod;
Expand Down Expand Up @@ -134,7 +135,7 @@ public void setUpIteration() throws Exception {
any(Dialect.class),
any(TargetDriverDialect.class),
any(HostSpec.class),
any(Properties.class))).thenReturn(mockConnection);
any(Properties.class))).thenReturn(new ConnectionInfo(mockConnection, false));
when(mockConnection.createStatement()).thenReturn(mockStatement);
when(mockStatement.executeQuery(anyString())).thenReturn(mockResultSet);
when(mockResultSet.next()).thenReturn(true, true, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import java.util.Set;
import java.util.logging.Logger;
import software.amazon.jdbc.ConnectionPlugin;
import software.amazon.jdbc.HostListProviderService;
import software.amazon.jdbc.hostlistprovider.HostListProviderService;
import software.amazon.jdbc.HostRole;
import software.amazon.jdbc.HostSpec;
import software.amazon.jdbc.HostSpecBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import java.util.Properties;
import org.checkerframework.checker.nullness.qual.NonNull;
import software.amazon.jdbc.ConnectionPluginManager;
import software.amazon.jdbc.HostListProviderService;
import software.amazon.jdbc.hostlistprovider.HostListProviderService;
import software.amazon.jdbc.PluginManagerService;
import software.amazon.jdbc.PluginService;
import software.amazon.jdbc.wrapper.ConnectionWrapper;
Expand Down
14 changes: 7 additions & 7 deletions docs/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ If you are using the AWS Advanced JDBC Wrapper as part of a Gradle project, incl
```gradle
dependencies {
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.6.7'
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '3.0.0'
implementation group: 'org.postgresql', name: 'postgresql', version: '42.5.0'
}
```
Expand All @@ -30,16 +30,16 @@ You can use pre-compiled packages that can be downloaded directly from [GitHub R
For example, the following command uses wget to download the wrapper:

```bash
wget https://github.com/aws/aws-advanced-jdbc-wrapper/releases/download/2.6.7/aws-advanced-jdbc-wrapper-2.6.7.jar
wget https://github.com/aws/aws-advanced-jdbc-wrapper/releases/download/3.0.0/aws-advanced-jdbc-wrapper-3.0.0.jar
```

Then, the following command adds the AWS Advanced JDBC Wrapper to the CLASSPATH:

```bash
export CLASSPATH=$CLASSPATH:/home/userx/libs/aws-advanced-jdbc-wrapper-2.6.7.jar
export CLASSPATH=$CLASSPATH:/home/userx/libs/aws-advanced-jdbc-wrapper-3.0.0.jar
```

> **Note**: There is also a JAR suffixed with `-bundle-federated-auth`. It is an Uber JAR that contains the AWS Advanced JDBC Wrapper as well as all the dependencies needed to run the Federated Authentication Plugin. **Our general recommendation is to use the `aws-advanced-jdbc-wrapper-2.6.7.jar` for use cases unrelated to complex Federated Authentication environments**. To learn more, please check out the [Federated Authentication Plugin](./using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md#bundled-uber-jar).
> **Note**: There is also a JAR suffixed with `-bundle-federated-auth`. It is an Uber JAR that contains the AWS Advanced JDBC Wrapper as well as all the dependencies needed to run the Federated Authentication Plugin. **Our general recommendation is to use the `aws-advanced-jdbc-wrapper-3.0.0.jar` for use cases unrelated to complex Federated Authentication environments**. To learn more, please check out the [Federated Authentication Plugin](./using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md#bundled-uber-jar).
### As a Maven Dependency

Expand All @@ -50,7 +50,7 @@ You can use [Maven's dependency management](https://central.sonatype.com/artifac
<dependency>
<groupId>software.amazon.jdbc</groupId>
<artifactId>aws-advanced-jdbc-wrapper</artifactId>
<version>2.6.7</version>
<version>3.0.0</version>
</dependency>
</dependencies>
```
Expand All @@ -61,15 +61,15 @@ You can use [Gradle's dependency management](https://central.sonatype.com/artifa

```gradle
dependencies {
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.6.7'
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '3.0.0'
}
```

To add a Gradle dependency in a Kotlin syntax, use the following configuration:

```kotlin
dependencies {
implementation("software.amazon.jdbc:aws-advanced-jdbc-wrapper:2.6.7")
implementation("software.amazon.jdbc:aws-advanced-jdbc-wrapper:3.0.0")
}
```

Expand Down
Loading
Loading