Jaybird 3.0 is a big change from Jaybird 2.2 and earlier. The entire low-level implementation has been rewritten to be able to support protocol improvements in newer Firebird versions. We have also made changes with a stricter interpretation of the JDBC requirements, and removed some parts that were either obsolete or not functioning correctly.

Most notable changes in Jaybird 3:

Support for wire protocol versions 11, 12, and 13 (without support for encryption and compression); protocol version 13 contributed by Hajime Nakagami

Support for the Firebird 3 SRP (Secure Remote Password) authentication mechanism (contributed by Hajime Nakagami)

Support for streaming backup and restore (contributed by Ivan Arabadzhiev)

Improved Firebird 3 support

Improved and stricter JDBC support (including improved java.time support, and more optional methods implemented)

support, and more optional methods implemented) Initial JDBC 4.3 (Java 9) support (without real module support)

New implementation of the native/embedded Type 2 driver using JNA (a jaybird .dll / .so is no longer needed)

/ is no longer needed) Improved character set handling

Removal of (buggy) connection pool implementation

Removal/replacement of (internal) GDS API

And a large number of smaller bug fixes, improvements, and changes.

We recommend that you do not consider Jaybird 3.0 a drop-in replacement for Jaybird 2.2, and study the release notes carefully. Test your application with Jaybird 3.0 before using it in production.

Jaybird 3.0 supports Firebird 2.0 and higher, on Java 7, 8 and 9. Basic Java 9 compatibility is provided through the Java 8 version of the driver.

See also: