Jaybird 3.0.8 released

Jaybird 3.0.8 has been released. This release contains one bug fix:

  • Fixed: On Firebird 3 and 4 with WireCrypt=Enabled, the connection could hang or throw exceptions like “Unsupported or unexpected operation code”. (JDBC-599)

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

Jaybird 3.0.7 released

Jaybird 3.0.7 has been released. This release contains a new feature and two bug fixes:

  • Fixed: attempts to use a blob after it was freed or after transaction end could throw a NullPointerException or just work depending on whether the connection had a new transaction. (JDBC-587)
  • Fixed: Instances of java.sql.Blob and java.sql.Clob obtained from a result set were freed after calls to ResultSet.next(). (JDBC-588)
  • New feature: added FBEventManager.createFor(Connection) to create an EventManager for an existing connection. Backported from Jaybird 4. (JDBC-594)

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

See also:

Jaybird 3.0.6 released

We are happy to announce the release of Jaybird 3.0.6.

This release is largely a bugfix release, but contains additional support for Firebird 4.

Jaybird 3.0.6 contains the following fixes and changes:

  • Fixed: Exceptions during fetch of cached result sets (holdable over commit, scrollable and metadata) prevented prepared statement reuse/re-execute with error “Statement state CURSOR_OPEN only allows next states [CLOSING, PREPARED, ERROR], received EXECUTING” (JDBC-531)
  • Improvement: Added FBManager.setDefaultCharacterSet to set default database character set during database creation (JDBC-541)
  • New feature: Support for Firebird 3 case sensitive user names (JDBC-549)
  • Fixed: Savepoints did not work in connection dialect 1 as savepoint names were always quoted (JDBC-556)
  • Changed: The DatabaseMetaData statement cache introduced in Jaybird 3 was unlimited, it is now limited to 12 prepared statements; the least recently used statement will be closed and removed when a new statement is added (JDBC-557)
  • Fixed: UPDATE OR INSERT with existing RETURNING clause handled incorrectly for generated keys (JDBC-566)
  • Fixed: Exceptions during initialization of result sets would not properly close the database cursor leading to error “Current statement state (CURSOR_OPEN) does not allow call to prepare” on reuse of the statement (or errors similar to described for JDBC-531 above). (JDBC-571)
  • New feature: boolean connection property ignoreProcedureType to disable usage of metadata for stored procedure types in CallableStatement When set to true>, call escapes and EXECUTE PROCEDURE will default to use EXECUTE PROCEDURE and not switch to SELECT for selectable stored procedures. (JDBC-576)
  • New feature: connection properties timeZoneBind and sessionTimeZone for limited support for Firebird 4 TIME(STAMP) WITH TIME ZONE types, and decfloatBind for limited support for Firebird 4 DECFLOAT types. (JDBC-538)
  • Fixed: Connection property defaultIsolation/isolation did not work through DriverManager, but only on DataSource implementations. (JDBC-584)

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

See also:

Jaybird 4.0.0-beta-1 available for testing

The first beta for Jaybird 4 is available for testing.

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 mailing list or reported on the issue tracker http://tracker.firebirdsql.org/browse/JDBC.

Jaybird 4 is – compared to Jaybird 3 – an incremental release that builds on the foundations of Jaybird 3. The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4.

The main new features are:

  • Wire encryption support (backported to Jaybird 3.0.4)
  • Database encryption support (backported to Jaybird 3.0.4)
  • Authentication plugin improvements
  • Firebird 4 DECFLOAT support
  • Firebird 4 extended numeric precision support
  • Firebird 4 time zone support
  • JDBC RowId support
  • JDBC DatabaseMetaData.getPseudoColumns implemented
  • JDBC DatabaseMetaData.getVersionColumns implemented
  • Improved JDBC function escape support
  • New JDBC protocol prefix jdbc:firebird:
  • Generated keys support improvements

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

See also:

Jaybird 3.0.5 has been released.

The Firebird JDBC team is happy to announce the release of Jaybird 3.0.5.

This release is largely a bugfix release, but contains additional support for Firebird 3.0.4 and Firebird 4.

Jaybird 3.0.5 contains the following fixes and changes:

  • Fixed: FBManager does not accept page size of 32768 (Firebird 4 and higher) (JDBC-468)
  • Fixed: Jaybird cannot parse Firebird version numbers with revisions (JDBC-534)
  • Fixed: Incorrect parsing of Firebird version numbers (JDBC-535)
  • New feature: Added support for the Srp256 authentication plugin (JDBC-536)
  • Fixed: Incorrect warning “Specified statement was not created by this connection” logged for statements that fail with an exception on prepare (JDBC-538)
  • Fixed: Remote close of event channel (eg on Firebird server stop or crash) leads to high CPU usage and excessive error logging as socket channel is not removed from selector (JDBC-542)
  • Fixed: Properties wireCrypt and dbCryptConfig not available on FBEventManager (JDBC-544)
  • Documentation: wire protocol encryption requires unlimited strength Cryptographic Jurisdiction Policy (or equivalent), this was previously not documented (JDBC-545)

See the Jaybird 3.0.5 release notes for more information. Jaybird 3.0.5 can be downloaded from the JDBC Driver page.

Jaybird 3.0.4 update

The Firebird JDBC team is happy to announce the release of Jaybird 3.0.4.

This release of Jaybird introduces two new features: wire protocol encryption and database encryption callback support.

Jaybird 3.0.4 contains the following fixes and changes:

– New feature: Back-ported wire encryption support from Jaybird 4 (JDBC-415)
– Fixed: Native/embedded (JNA) connections truncate varchars to length 255 on read (JDBC-518)
– New feature: Database encryption callback support in pure Java protocol (JDBC-527)

See the Jaybird 3.0.4 release notes for more information. Jaybird 3.0.4 can be downloaded from the JDBC Driver page.

The release is also available on maven:

groupId: org.firebirdsql.jdbc
artifactid: jaybird-jdkXX*
version: 3.0.4

* The artifactId depends on your target Java version: jaybird-jdk18, or jaybird-jdk17

Jaybird 3.0.1 released

The Firebird JDBC team is happy to announce the release of Jaybird 3.0.1.

Jaybird 3.0.1 contains the following fixes and changes:

  • Fixed: FBTraceManager.loadConfigurationFromFile strips line breaks (JDBC-493)
  • Fixed: FBDatabaseMetaData.getTables does not list tables where rdb$relation_type is null (JDBC-494)
  • Improvement: Character sets are now initialized lazily (JDBC-495)
  • Fixed: Memory leak caused by retaining blob handles until connection close (JDBC-497)

See the Jaybird 3.0.1 release notes for more information. Jaybird 3.0.1 can be downloaded from the JDBC Driver page.

JayBird 3 is released

We are happy to announce the release of Jaybird 3.0.0.

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)
  • 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)
  • 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:

1 2 3 4 5 6