Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
21 changes: 19 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,30 @@ 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).

## [?]
## [2.2.0] - 2023-6-14

### :magic_wand: Added
- Elastic Load Balancer URL support ([PR#476](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/476)).
- Autoscaling and the least connections strategy ([PR #451](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/451)).
- [Target driver dialects](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-the-jdbc-driver/TargetDriverDialects.md) ([PR #452](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/452)).
- Elastic Load Balancer URL support ([PR #476](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/476)).
- Documentation:
- Using the Driver with plain RDS Databases. See [Using the Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/UsingTheJdbcDriver.md#using-the-aws-jdbc-driver-with-plain-rds-databases).
- Internal connection pool behaviour only verifying password on initial connection. See [Using the Read Write Splitting Plugin Internal Connection Pooling document](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md#internal-connection-pooling) and [code example](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/examples/AWSDriverExample/src/main/java/software/amazon/InternalConnectionPoolPasswordWarning.java).
- Link performance test in table of contents. See [Documentation Table of Contents](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/Documentation.md).
- Cluster URLs are not internally pooled. See [Using Read Write Splitting Plugin Internal Connection Pooling](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md#internal-connection-pooling).
- The `leastConnections` strategy in the [Using Read Write Splitting Plugin Internal Connection Pooling](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md#internal-connection-pooling) at point #3.

### :bug: Fixed
- Pruned null connections in connection tracker plugins ([PR #461](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/461))
- HikariCP integration tests and reworked AwsWrapperDataSource by removing property names, introduced a set of simple properties to set database, server name and server port ([PR #468](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/468)).
- Checkstyle failure due to modified license and driver connection provider passing original properties resulting properties being overridden for subsequent connections ([PR #471](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/471)).
- IamAuthConnectionPlugin to properly prioritize the override property IAM_DEFAULT_PORT then Hosts port, and then Dialect port ([Issue #473](https://github.com/awslabs/aws-advanced-jdbc-wrapper/issues/473)).
- Values for the `wrapperLoggerLevel` parameter are no longer case-sensitive ([#PR #481](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/481)).

### :crab: Changed
- Extended test logs with thread names ([PR #465](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/465)).
- Updated logging format so it is easier to distinguish the logger name from the log message ([PR #469](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/)).

## [2.1.2] - 2023-5-21
### :crab: Changed
- Explicitly check for 28000 and 28P01 SQLStates in the IAM authentication plugin after SQLExceptions are thrown ([PR #456](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/456) and [PR #457](https://github.com/awslabs/aws-advanced-jdbc-wrapper/pull/457)).
Expand Down Expand Up @@ -112,6 +128,7 @@ The Amazon Web Services (AWS) Advanced JDBC Driver allows an application to take
* The [AWS IAM Authentication Connection Plugin](./docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md)
* The [AWS Secrets Manager Connection Plugin](./docs/using-the-jdbc-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md)

[2.2.0]: https://github.com/awslabs/aws-advanced-jdbc-wrapper/compare/2.1.2...2.2.0
[2.1.2]: https://github.com/awslabs/aws-advanced-jdbc-wrapper/compare/2.1.1...2.1.2
[2.1.1]: https://github.com/awslabs/aws-advanced-jdbc-wrapper/compare/2.1.0...2.1.1
[2.1.0]: https://github.com/awslabs/aws-advanced-jdbc-wrapper/compare/2.0.0...2.1.0
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.1.2-jmh.jar`.
2. Run the benchmarks with the following command `java -jar build/libs/benchmarks-2.2.0-jmh.jar`.
1. you may have to update the command based on the exact version of the produced JAR file
12 changes: 6 additions & 6 deletions docs/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ If you are using the AWS JDBC Driver as part of a Gradle project, include the wr

```gradle
dependencies {
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.1.2'
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.2.0'
implementation group: 'org.postgresql', name: 'postgresql', version: '42.5.0'
}
```
Expand All @@ -26,13 +26,13 @@ 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/awslabs/aws-advanced-jdbc-wrapper/releases/download/2.1.2/aws-advanced-jdbc-wrapper-2.1.2.jar
wget https://github.com/awslabs/aws-advanced-jdbc-wrapper/releases/download/2.2.0/aws-advanced-jdbc-wrapper-2.2.0.jar
```

Then, the following command adds the AWS JDBC Driver to the CLASSPATH:

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

### As a Maven Dependency
Expand All @@ -44,7 +44,7 @@ You can use [Maven's dependency management](https://search.maven.org/search?q=g:
<dependency>
<groupId>software.amazon.jdbc</groupId>
<artifactId>aws-advanced-jdbc-wrapper</artifactId>
<version>2.1.2</version>
<version>2.2.0</version>
</dependency>
</dependencies>
```
Expand All @@ -55,15 +55,15 @@ You can use [Gradle's dependency management](https://search.maven.org/search?q=g

```gradle
dependencies {
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.1.2'
implementation group: 'software.amazon.jdbc', name: 'aws-advanced-jdbc-wrapper', version: '2.2.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.1.2")
implementation("software.amazon.jdbc:aws-advanced-jdbc-wrapper:2.2.0")
}
```

Expand Down
2 changes: 1 addition & 1 deletion docs/using-the-jdbc-driver/UsingTheJdbcDriver.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ If there is an unreleased feature you would like to try, it may be available in
<dependency>
<groupId>software.amazon.jdbc</groupId>
<artifactId>aws-advanced-jdbc-wrapper</artifactId>
<version>2.1.2-SNAPSHOT</version>
<version>2.2.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>path-to-snapshot-jar</systemPath>
</dependency>
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
# limitations under the License.

aws-advanced-jdbc-wrapper.version.major=2
aws-advanced-jdbc-wrapper.version.minor=1
aws-advanced-jdbc-wrapper.version.subminor=2
aws-advanced-jdbc-wrapper.version.minor=2
aws-advanced-jdbc-wrapper.version.subminor=0
snapshot=false
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ dependencies {
transitive = true
}
testImplementation "joda-time:joda-time:2.3"
testImplementation files('/app/libs/aws-advanced-jdbc-wrapper-2.1.2.jar')
testImplementation files('/app/libs/aws-advanced-jdbc-wrapper-2.2.0.jar')
testImplementation dbLibs.postgresql
testImplementation dbLibs.mysql
testImplementation dbLibs.h2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ dependencies {
// Since both the DB2 driver and HANA have a package "net.jpountz" we have to add dependencies conditionally
// This is due to the "no split-packages" requirement of Java 9+

testRuntimeOnly files('/app/libs/aws-advanced-jdbc-wrapper-2.1.2.jar')
testRuntimeOnly files('/app/libs/aws-advanced-jdbc-wrapper-2.2.0.jar')
testRuntimeOnly dbLibs.mysql

if ( db.startsWith( 'db2' ) ) {
Expand Down