Jaybird 5.0.1 and 4.0.9 released

31 January 2023

We are happy to announce the release of Jaybird 5.0.1 and Jaybird 4.0.9.

Jaybird 5.0.1

The following has been fixed since Jaybird 5.0.0:

  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)

  • Fixed: CallableStatement.getString and CallableStatement.getObject would incorrectly trim string values (jaybird#729)

  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.9

The following has been fixed since Jaybird 4.0.8:

  • Fixed: Some methods of FBClob threw NullPointerException when attempting to use after implicit or explicit free() (jaybird#719)

  • Improvement: If the default JVM time zone is a GMT offset, e.g. GMT-08:00, configure sessionTimeZone with offset only, e.g. -08:00 (jaybird#720)

  • Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)

  • Fixed: CallableStatement.getString would incorrectly trim string values (jaybird#729)

  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.0 released

09 January 2023

We are happy to announce the first release of Jaybird 5.

Jaybird 5 is — from a JDBC perspective — an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.

The major changes and new features in Jaybird 5 are:

  • Java 7 support dropped

  • Java Connector Architecture (JCA) support removed

  • ChaCha wire protocol encryption support (Java 11 and higher only)

  • Changes to properties

  • Unification of database and service addressing

  • Changes to JDBC URL syntax

  • Removal of LOCAL protocol implementation

  • Stream blobs are now the default

  • New parser for generated keys handling (back-ported to Jaybird 4.0.8)

  • Firebird 4.0 server-side batch updates

  • Firebird 5.0 multi-row RETURNING support

  • Firebird Embedded locator service provider (experimental)

  • Table statistics of a connection (experimental)

See also:

Jaybird 5.0.0-beta-1 released

03 January 2023

We are happy to announce the first beta for Jaybird 5.

We’d really appreciate it if you take the time to test this version of Jaybird with your applications. Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to the firebird-java Google Group or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.

Jaybird 5 is — from a JDBC perspective — an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.

The major changes and new features in Jaybird 5 are:

  • Java 7 support dropped

  • Java Connector Architecture (JCA) support removed

  • ChaCha wire protocol encryption support (Java 11 and higher only)

  • Changes to properties

  • Unification of database and service addressing

  • Changes to JDBC URL syntax

  • Removal of LOCAL protocol implementation

  • Stream blobs are now the default

  • New parser for generated keys handling (back-ported to Jaybird 4.0.8)

  • Firebird 4.0 server-side batch updates

  • Firebird 5.0 multi-row RETURNING support

  • Firebird Embedded locator service provider (experimental)

  • Table statistics of a connection (experimental)

Jaybird 5.0.0-beta-1 is for testing purposes only, and not intended for production use.

The 5.0.0-beta-1 will have a short life, and we plan to release the GA version mid-January.

See also:

Jaybird 4.0.8 released

27 November 2022

Jaybird 4.0.8 has been released

The following has been changed or fixed since Jaybird 4.0.7:

  • Improvement: Backported new generated keys parser from Jaybird 5 to remove dependency on ANTLR (jaybird#718)

    With this change, Jaybird no longer relies on antlr-runtime-4.7.2.jar, if you don’t need it yourself, you can remove this library from the classpath. See New parser for generated keys handling for more information.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and 19 using the Java 11 version of the driver).

See also

Jaybird 4.0.7 released

11 November 2022

Jaybird 4.0.7 has been released

The following has been changed or fixed since Jaybird 4.0.6:

  • Improvement: (VAR)CHAR is now sent to the server with blr_varying2 or blr_text2 which includes the character set information (jaybird#692)

  • Changed: Usages of String.toUpperCase and String.toLowerCase now use Locale.ROOT to prevent locale-sensitivity issues (jaybird#697)

  • New feature: Support for NBackup "clean history" option (jaybird#706)

    The org.firebirdsql.management.NBackupManager interface has three new methods: setCleanHistory(boolean) to enable (or disable) cleaning of history during backup, and setKeepDays(int) and setKeepRows(int) to specify the number of days or rows to keep history. These options require Firebird 4.0.3 or higher.
    This feature was backported from Jaybird 5.

  • Fixed: Calling PreparedStatement.setClob or PreparedStatement.setBlob with a null Clob, Reader, Blob, or InputStream would result in a NullPointerException (jaybird#712)

    As part of this change the behaviour of setClob methods accepting a Reader was changed to be identical to setCharacterStream, and setBlob accepting an InputStream to setBinaryStream. The end result before and after this change is identical, but it can result in different memory and performance characteristics, as the stream is now consumed on execute, and not on set.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and 19 using the Java 11 version of the driver).

See also


Older posts are available in the archive.