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

Jaybird 4.0.6 released

27 April 2022

Jaybird 4.0.6 has been released

The following has been changed or fixed since Jaybird 4.0.5:

  • Improvement: Connection.isValid(int) now uses the timeout as a network timeout, if possible (jaybird#685)

    This is only supported for pure Java connections. For native connections, the timeout is ignored (and a SQLWarning is registered).

  • NativeResourceUnloadWebListener would fail in Servlet containers with a NoClassDefFoundError if JNA wasn’t on the classpath (jaybird#686)

  • Fixed: Calling isBeforeFirst(), isAfterLast(), isFirst(), or isLast() on a closed result set resulted in a NullPointerException instead of a SQLException (jaybird#689)

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

See also


Older posts are available in the archive.