Notable changes since version 42.0.0, read the complete History of Changes.
The format is based on Keep a Changelog.
- Make SELECT INTO and CREATE TABLE AS return row counts to the client in their command tags. Issue 958 PR 962
- Improve behavior of ResultSet.getObject(int, Class). PR 932
- Parse CommandComplete message using a regular expresion, allows complete catch of server returned commands for INSERT, UPDATE, DELETE, SELECT, FETCH, MOVE, COPY and future commands. PR 962
- Reintroduce Driver.getVersion for backward compatibility reasons, mark it as deprecated as application should not rely on it (regression since 42.0.0) 50d5dd3e
42.1.4 (2017-08-01)
- Statements with non-zero fetchSize no longer require server-side named handle. This might cause issues when using old PostgreSQL versions (pre-8.4)+fetchSize+interleaved ResultSet processing combo. Issue 869
42.1.3 (2017-07-14)
- Fix NPE in PreparedStatement.executeBatch in case of empty batch (regression since 42.1.2). PR 867
42.1.2 (2017-07-12)
- Better logic for returning keyword detection. Previously, pgjdbc could be defeated by column names that contain returning, so pgjdbc failed to "return generated keys" as it considered statement as already having returning keyword PR 824 201daf1d
- Use server-prepared statements for batch inserts when prepareThreshold>0. Note: this enables batch to use server-prepared from the first executeBatch() execution (previously it waited for prepareThreshold executeBatch() calls) abc3d9d7
- Replication API: fix issue in #834 setting statusIntervalUpdate causes high CPU load. PR 835 59236b74
- NPE in PreparedStatement.executeBatch in case of empty batch. Fixed in 42.1.3
42.1.1 (2017-05-05)
- Fix infinite dates that might be corrupted when transferred in binary for certain JREs. For instance, 5881610-07-11 instead of infinity. 1e5bf563
42.1.0 (2017-05-04)
- Support fetching a REF_CURSOR using getObject PR 809
- Fix data being truncated in setCharacterStream (bug introduced in 42.0.0) PR 802
- Fix calculation of lastReceiveLSN for logical replication PR 801
- Make sure org.postgresql.Driver is loaded when accessing though DataSource interface Issue 768
- There's no 42.1.0.jre6 version due to infinity handling bug. Fixed in 42.1.1.jre6
42.0.0 (2017-02-20)
- Replication protocol API was added: replication API documentation. PR 550
- java.util.logging is now used for logging: logging documentation. PR 722
- Add support for PreparedStatement.setCharacterStream(int, Reader). ee4c4265
- Version bumped to 42.0.0 to avoid version clash with PostgreSQL version and follow a better sematic versioning. 46634923
- Ensure executeBatch() can be used with pgbouncer. Previously pgjdbc could use server-prepared statements for batch execution even with prepareThreshold=0. Issue 742
- Error position is displayed when SQL has unterminated literals, comments, etc. Issue 688
- Strict handling of accepted values in getBoolean and setObject(BOOLEAN), now it follows PostgreSQL accepted values, only 1 and 0 for numeric types are acepted (previusly !=0 was true). PR 732
- Return correct versions and name of the driver. PR 668
- Support for PostgreSQL versions below 8.2 was dropped. PR 661
- Deprecated PGPoolingDataSource, instead of this class you should use a fully featured connection pool like HikariCP, vibur-dbcp, commons-dbcp, c3p0, etc. PR 739
- Data truncated in setCharacterStream. Fixed in 42.1.0
- No suitable driver found for jdbc:postgresql when using a DataSource implementation. Fixed in 42.1.0