This document contains the release notes for all PGJDBC-NG releases since 0.8.
Please refer to the User Guide for comprehensive reference documentation on integrating and using PGJDBC-NG.
0.8.9
Date of Release: 2021-05-25
Scope: Repackage of 0.8.8
This is a re-relase of 0.8.8 with fixed "uber jars".
For a complete list of all closed issues and pull requests for this release, consult the 0.8.8 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Fix packaging and publishing of "UberJar"
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG UDT Generator
Bug Fixes
-
Fix packaging and publishing of "UberJar"
Deprecations and Breaking Changes
-
Maven artifactId has changed to 'pgjdbc-ng-udt-gen`; prefix was added to disambiguate.
New Features and Improvements
None
PGJDBC-NG Spy
Bug Fixes
None
Deprecations and Breaking Changes
-
Maven artifactId has changed to 'pgjdbc-ng-udt-gen`; prefix was added to disambiguate.
New Features and Improvements
None
0.8.8
Date of Release: 2021-05-24
Scope: Bug Fixes
For a complete list of all closed issues and pull requests for this release, consult the 0.8.8 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Resolved driver hang when certain prepared queries are open during a hard database restart.
-
Resolved driver hang when rolling back to a savepoint when certain prepared queries are open.
-
Resolved null pointer exception during rollback when certain prepared queries are open.
-
Resolved regression when using
CallableStatement
as a simplePreparedStatement
.
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG UDT Generator
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG Spy
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
0.8.7
Date of Release: 2021-03-31
Scope: Driver Bug Fixes
For a complete list of all closed issues and pull requests for this release, consult the 0.8.7 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Fixed potential deadlock in default housekeeper implementation.
-
Procedure discovery succeeds when multiple schemas are present.
-
Struct
with null values no longer throw NPE. -
Use correct type map when retrieving
Struct
attributes. -
Fixed loading and caching OIDs with large values.
Deprecations and Breaking Changes
None
New Features and Improvements
-
Caching of
ResultSetMetaData
instances is now done, when possible.
PGJDBC-NG UDT Generator
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG Spy
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
0.8.6
Date of Release: 2020-10-30
Scope: Authentication & Result Set Enhancements
For a complete list of all closed issues and pull requests for this release, consult the 0.8.6 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Copy in/out errors no longer hang driver.
-
Errors related to
protocol.message.size.max
now have better messages. -
Fixed synchronization issues when sharing registry information.
-
Connection.isValue(int)
no longer has any transactional side effects. -
More reliable cancellation of specific request.
Deprecations and Breaking Changes
None
New Features and Improvements
-
PostgreSQL 13 added to validation matrix.
-
Support for
SCRAM-SHA-256
&SCRAM-SHA-256-PLUS
authentication methods. -
More compliant host name verification supporting "Subject Alternate Names" and multiple common names.
-
Returning clauses can now be added manually to support PostgreSQL’s complex syntax.
-
Result sets can now be returned (e.g. from functions) and fetched using
ResultSet.getObject
.
PGJDBC-NG UDT Generator
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG Spy
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
0.8.5
Date of Release: 2020-10-22
Scope: Bug Fixes
For a complete list of all closed issues and pull requests for this release, consult the 0.8.5 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Updated Netty to 4.1.53 (previous version contained critical vulnerabilities).
-
Concurrent data structures are now used for cleanup collections to fix concurrency issue during cleanup.
-
Null string values in scalars, records & arrays are now correctly handled.
-
PGDriver.cleanup
is now safe to be called more than once. -
Statement.setMaxFieldSize
andpgjdbc.field.length.max
now work as documented.
Deprecations and Breaking Changes
None
New Features and Improvements
-
Integrity violation exceptions now include PostgreSQL’s DETAIL field.
PGJDBC-NG UDT Generator
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
PGJDBC-NG Spy
Bug Fixes
None
Deprecations and Breaking Changes
None
New Features and Improvements
None
0.8.4
Date of Release: 2019-04-11
Scope: Bug Fixes
For a complete list of all closed issues and pull requests for this release, consult the 0.8.4 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
System ids (oid, xid, cid) are now properly parsed/formatted as unsigned values.
-
DataSource.getConnection no longer overwrites user/password currently set on datasource.
-
URLs now properly support URL encoded values.
-
SSL hostname verifier now follows PostgreSQL’s specification for wildcards.
Deprecations and Breaking Changes
-
Published "uber" jars poms now declare no dependencies. Uber jar maven coordinates have changed.
New Features and Improvements
-
DataSource properties & connection URL properties now support the same features; including Unix sockets and fallback addresses.
-
ACL’s now support the complete syntax and the
ACLItem
API has been updated to reflect this support. -
SELECTing psuedo types (eg. record) is now supported.
PGJDBC-NG UDT Generator
Bug Fixes
-
Generated enum writes now use the specific type id of the enum (as required in a UDT).
-
Generator composite writers now use explicit types when necessary.
Deprecations and Breaking Changes
New Features and Improvements
PGJDBC-NG Spy
Bug Fixes
Deprecations and Breaking Changes
New Features and Improvements
0.8.3
Date of Release: 2019-10-04
Scope: Bug Fixes
For a complete list of all closed issues and pull requests for this release, consult the 0.8.3 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Intervals are now parsed/formatted correctly according to server’s or connection’s
IntervalStyle
-
PGNotificationListener.close
will only be called a single time -
Locale handling has been properly matched to the server and JVM respectfully
-
Windows Locales are looked up in ROOT/ENGLISH locale
-
Connection URL parameters are properly percent-escaped
-
SQLData implementations handle nulls properly
-
Version meta-data is now correct in shaded jar & fat-jar applications
Deprecations and Breaking Changes
-
Interval
has been completely overhauled with a Java 9java.time
interface -
Due to fixes related to locale handling, text passed to the JDBC API must be in the JVM’s locale and text being passed to the server must be in the server’s locale; this shouldn’t be an overly impactful.
New Features and Improvements
-
PostgreSQL 12 is supported and part of the testing matrix
-
CockroachDB is supported
-
Batch executions use pipelined requests to increase performance by as much as 70%
-
PostgreSQL COPY FROM/TO support
PGJDBC-NG UDT Generator
Bug Fixes
-
Generated UDT implementations correctly handle nulls
-
Fix issue that caused generated attributes to be in incorrect order
-
Nested UDT’s now write wit the specific server type instead of generic
record
Deprecations and Breaking Changes
New Features and Improvements
PGJDBC-NG Spy
Bug Fixes
Deprecations and Breaking Changes
New Features and Improvements
0.8.2
Date of Release: 2019-02-09
Scope: Bug fixes for 0.8 release
For a complete list of all closed issues and pull requests for this release, consult the 0.8.2 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
Bug Fixes
-
Fix parsing of server versions with packaging information.
Deprecations and Breaking Changes
-
None
New Features and Improvements
-
None
PGJDBC-NG UDT Generator
No Changes
PGJDBC-NG Spy
No Changes
0.8.1
Date of Release: 2019-02-03
Scope: Bug fixes for 0.8 release
For a complete list of all closed issues and pull requests for this release, consult the 0.8.1 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG General
Fixed source code highlighting in README and in asciidoc documentation.
PGJDBC-NG Driver
Bug Fixes
-
Fix notification delivery
-
Fix NPE in prepared statement batches
Deprecations and Breaking Changes
-
None
New Features and Improvements
-
None
PGJDBC-NG UDT Generator
Bug Fixes
-
Uber jar is now packaged and published for easy command line execution.
Deprecations and Breaking Changes
-
None
New Features and Improvements
-
None
PGJDBC-NG Spy
Bug Fixes
-
None
Deprecations and Breaking Changes
-
None
New Features and Improvements
-
None
0.8
Date of Release: 2019-01-30
Scope: Everything
For a complete list of all closed issues and pull requests for this release, consult the 0.8 milestone page in the PGJDBC-NG repository on GitHub.
PGJDBC-NG Driver
The driver went through a lot of changes in this release. Much of the code experienced changes to bring it up-to-date, bring performance inline and simplify the implementation in a number of areas.
Due to the large number of changes, for status of a specific bug it is best to check the milestone link above. |
New Features and Improvements
-
Asynchronous FIFO engine
-
Allows query pipelining
-
Paves way for asynchronous API
-
-
Lazy Parameter Encoding, Result Decoding
-
Dramatically reduced type registry
-
Nearly 80% less information
-
Connections share registry information
-
Startup time ~10ms on localhost
-
-
Comprehensive Logging & Tracing
-
JDBC API, SQL & Protocol traces available
-
-
JDBC 4.2 conformance
-
Provides SQLType implementation
-
JSR310 support
-
Numerous conformance updates
-
-
Unix Domain Socket support
-
Date/Time Rewrite
-
Completely built on JSR 310
-
Simple and easy to understand
-
-
Detailed asciidoc documentation added.
-
Comprehensive User Guide
-
Detailed Release Notes (this!)
-
Auto-generated settings details (included in User Guide)
-
Documentation is now "code"
-
Each release includes its documentation.
-
-
Switched to multi-project Gradle build
Bug Fixes
-
Fixed Flyway compatibility
-
Fixed Windows locale support
-
Fixed issue with generated key support
-
Fixed CallableStatement out parameter handling
-
Fixed driver version name/number reporting
-
Fixed allowed DB names in URLs
-
Fixed numerous Time/Date/Timestamp issues
-
Fixed array handling
-
Fixed batch update handling
Deprecations and Breaking Changes
-
OSGI bundling has been removed due to it being incorrect. A future release may include it again.
PGJDBC-NG UDT Generator
The UDT generator is a "suggested" feature of JDBC 4.2. Although one has existed for PGJDBC-NG, it previously was a separate project and was not documented or updated. It’s now part of the main project, documented in the new "User Guide" and will be released and updated as normal.
PGJDBC-NG Spy
Spy is a general purpose library that (see User Guide) that PGJDBC-NG uses internally to provide JDBC API level tracing.