diff --git a/CHANGELOG.md b/CHANGELOG.md index f2c2670f62..bb0cb7e3d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,22 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Changed - ### Added - ### Fixed +## [42.6.0] (2023-03-17 15:34:34 -0400) + +### Changed +fix: use PhantomReferences instead of `Obejct.finalize()` to track Connection leaks [PR #2847](https://github.com/pgjdbc/pgjdbc/pull/2847) + + The change replaces all uses of Object.finalize with PhantomReferences. + The leaked resources (Connections) are tracked in a helper thread that is active as long as + there are connections in use. By default, the thread keeps running for 30 seconds after all + the connections are released. The timeout is set with pgjdbc.config.cleanup.thread.ttl system property. + +refactor:(loom) replace the usages of synchronized with ReentrantLock [PR #2635](https://github.com/pgjdbc/pgjdbc/pull/2635) + Fixes [Issue #1951](https://github.com/pgjdbc/pgjdbc/issues/1951) + ## [42.5.4] (2023-02-15 10:21:04 -0500) ### Fixed diff --git a/contributors.json b/contributors.json index a56736e486..309f09aced 100644 --- a/contributors.json +++ b/contributors.json @@ -106,9 +106,11 @@ "Philippe Marschall" : "https://github.com/marschall", "Piyush Sharma" : "https://github.com/ps-sp", "Power" : "https://github.com/Powerrr", + "Rafi Shamim" : "https://github.com/rafiss", "Rikard Pavelic" : "https://github.com/zapov", "Robert 'Bobby' Zenz" : "https://github.com/RobertZenz", "Robert Zenz" : "https://github.com/RobertZenz", + "Rob Bygrave" : "https://github.com/rbygrave", "Roman Ivanov" : "https://github.com/romani", "Roman Kozlov" : "https://github.com/Powerrr", "Russell Briggs" : "https://github.com/dupski", diff --git a/docs/content/changelogs/2023-02-17-42.6.0-release.md b/docs/content/changelogs/2023-02-17-42.6.0-release.md new file mode 100644 index 0000000000..262b86fddc --- /dev/null +++ b/docs/content/changelogs/2023-02-17-42.6.0-release.md @@ -0,0 +1,31 @@ +--- +title: PostgreSQL JDBC Driver 42.6.0 Released +date: 2023-02-17 15:34:34 -0400 +categories: + - new_release +version: 42.6.0 +--- +**Notable changes** + + +### Fixed +fix: use `PhantomReferences` instead of `Obejct.finalize()` to track Connection leaks [PR #2847](https://github.com/pgjdbc/pgjdbc/pull/2847)\ + The change replaces all uses of Object.finalize() with PhantomReferences. + The leaked resources (Connections) are tracked in a helper thread that is active as long as + there are connections in use. By default, the thread keeps running for 30 seconds after all + the connections are released. The timeout is set with pgjdbc.config.cleanup.thread.ttl system property. + +refactor:(loom) replace the usages of synchronized with ReentrantLock [PR #2635](https://github.com/pgjdbc/pgjdbc/pull/2635) + Fixes [Issue #1951](https://github.com/pgjdbc/pgjdbc/issues/1951) + + + + + +**Commits by author** + +Rob Bygrave (1): + refactor:(loom) replace the usages of synchronized with ReentrantLock [PR #2635](https://github.com/pgjdbc/pgjdbc/pull/2635) + +Vladimir Sitnikov (1): + fix: use `PhantomReferences` instead of `Obejct.finalize()` to track Connection leaks [PR #2847](https://github.com/pgjdbc/pgjdbc/pull/2847) diff --git a/docs/data/homepagedata.toml b/docs/data/homepagedata.toml index d22876cfb2..01ac45dcd5 100644 --- a/docs/data/homepagedata.toml +++ b/docs/data/homepagedata.toml @@ -13,6 +13,10 @@ desc = "The current development driver supports eleven server versions and three path = "/icons/driver-icon.svg" # Releases Info +[[info]] +date = "17 March 2023" +url = "/changelogs/2023-03-17-42.6.0-release/" +version = "42.6.0" [[info]] date = "16 February 2023" diff --git a/docs/data/versions.toml b/docs/data/versions.toml index 5ba2e9e154..af73306660 100644 --- a/docs/data/versions.toml +++ b/docs/data/versions.toml @@ -2,10 +2,10 @@ [[recent]] j_name= "Java 8" -version= "42.5.4" +version= "42.6.0" suffix="" description= "If you are using Java 8 or newer then you should use the JDBC 4.2 version." -url= "/download/postgresql-42.5.4.jar" +url= "/download/postgresql-42.6.0.jar" [[recent]] j_name= "Java 7" @@ -22,6 +22,12 @@ description= "If you are using Java 6 then you should use the JDBC 4.0 version url= "/download/postgresql-42.2.27.jre6.jar" # Past Versions +[[past]] +j_name= "Java 8" +version= "42.5.4" +suffix="" +description= "If you are using Java 8 or newer then you should use the JDBC 4.2 version." +url= "/download/postgresql-42.5.4.jar" [[past]] v_name= "Postgresql JDBC 42.5.3" diff --git a/docs/layouts/partials/home/info.html b/docs/layouts/partials/home/info.html index b128ec81ae..7c8e1c2e60 100644 --- a/docs/layouts/partials/home/info.html +++ b/docs/layouts/partials/home/info.html @@ -15,8 +15,8 @@

Latest Releases

- pgJDBC has released v42.5.4 on 16 February, 2023. This release fixes some tests that were failing in 42.5.3. - There are no changes to functionality. + pgJDBC has released v42.6.0 on 17 March, 2023. This release has two major changes: Remove most uses of syncrhonized + in favour of reentrant locks, and remove the use of finalize.