Skip to content

Releases: FirebirdSQL/jaybird

Jaybird 3.0.3

03 Jan 15:20
Compare
Choose a tag to compare

The following has been changed or fixed since Jaybird 3.0.2

  • Fixed: Some older versions of JBoss would throw an java.lang.IllegalStateException: Can't overwrite cause when FBResourceException initialised its exception cause. (JDBC-512)
  • Improved: Added explicit Automatic-Module-Name: org.firebirdsql.jaybird to manifest for forwards compatibility with Java 9 modularization. (JDBC-511)

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.3</version>

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

Jaybird 2.2.14

03 Jan 15:14
Compare
Choose a tag to compare

The following has been changed or fixed in Jaybird 2.2.14:

  • Fixed: FBTraceManager.loadConfigurationFromFile strips line breaks (JDBC-493)
  • Improved: Added explicit Automatic-Module-Name: org.firebirdsql.jaybird to manifest for forwards compatibility with Java 9 modularization. (JDBC-511)

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.14</version>

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

Jaybird 3.0.2

19 Aug 10:05
Compare
Choose a tag to compare

The following has been changed or fixed since Jaybird 3.0.1

  • Fixed: Specifying an unknown Java character set in connection property charSet or localEncoding was handled as if no connection character set had been specified, now we throw an exception that the character set is unknown. (JDBC-498)
  • Changed: Specifying a connection character set is no longer required, and will now default to NONE again, if system property org.firebirdsql.jdbc.defaultConnectionEncoding is not specified. (JDBC-502)
    The new requirement turned out to be too restrictive and hindering adoption of Jaybird 3. If you do want strict behaviour, you can specify system property org.firebirdsql.jdbc.requireConnectionEncoding with value true.

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.2</version>

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

Jaybird 3.0.1

05 Jun 09:59
Compare
Choose a tag to compare

The following has been changed or fixed in Jaybird 3.0.1:

  • 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)
    Under Excelsior Jet, the eager loading of character sets could lead to slow initialization if character sets were excluded from the build.
  • Fixed: Memory leak caused by retaining blob handles until connection close (JDBC-497)

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.1</version>

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

Documentation crowd-funding

The Firebird Project is currently holding a crowd-funding for the Firebird Developer Guide. Your donation is much appreciated!

See https://www.firebirdsql.org/en/doc-funding-2017/ for details.

Jaybird 3.0.0

07 May 11:42
Compare
Choose a tag to compare

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:

Jaybird 2.2.13

10 Apr 12:27
Compare
Choose a tag to compare

The following has been changed or fixed in Jaybird 2.2.13:

  • Improved: Support for Firebird 4 object name length of 63 characters (JDBC-467)
  • Various improvements to thread safety and incomplete object validity checks. (JDBC-469) (JDBC-470)
    Some methods did not throw an SQLException when the object (ResultSet, Statement, Connection) was already closed. This sometimes lead to an unclear RuntimeException at a later point. In other cases an SQLException was thrown, even though the object was valid.
  • Fixed: Generated keys query for table with space character (or any other character below \u00A0 that was not a-z, A-Z, 0-9, $, _, or :) in its (quoted) name returns empty generated keys result set (JDBC-481)

Known issues in Jaybird 2.2.13

  • Connecting to Firebird 2.5 and earlier with a Firebird 3 fbclient.dll may be slow with native connections, see CORE-4658.
    Workaround is to connect to the IPv4 address instead of the hostname, or to use a Firebird 2.5 or earlier fbclient.dll.

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.13</version>

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

Jaybird 3.0.0-beta-3

05 Mar 12:16
Compare
Choose a tag to compare
Jaybird 3.0.0-beta-3 Pre-release
Pre-release

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

See the Jaybird 3.0.0-beta-3 release notes for more information.

IMPORTANT

This version is provided for testing purposes only. We'd appreciate your feedback, but we'd like to emphasize that this version is not intended for production.

The protocol implementation has been fundamentally rewritten and changes have been made for stricter JDBC conformance. As a result the driver might exhibit different behavior than previous versions. Read the release notes carefully to see if those differences are intentional.

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.

Changes since Jaybird 3.0.0-beta-2

  • Improved: Support for Firebird 4 object name length of 63 characters (JDBC-467)
  • Various improvements to thread safety and incomplete object validity checks. (JDBC-469) (JDBC-470)
    Some methods did not throw an SQLException when the object (ResultSet, Statement, Connection) was already closed. This sometimes lead to an unclear RuntimeException at a later point. In other cases an SQLException was thrown, even though the object was valid.
  • Fixed: Unsupported or unexpected operation code 0 in processOperation when executing stored procedure (JDBC-472)
  • Fixed: specifying org.firebirdsql.jdbc.defaultConnectionEncoding does not set connection character set (JDBC-473)
    As part of this fix we also removed the need to have the system property set before Jaybird was loaded. It will now be queried dynamically for each connection without a connection character set.
  • Fixed: ClassCastException on downgrade of result set concurrency (JDBC-474)
  • Improved: Statement.setFetchDirection and ResultSet.setFetchDirection now allow the values ResultSet.FETCH_REVERSE and ResultSet.FETCH_UNKNOWN (JDBC-475)
    These values are effectively ignored, and result set behavior is the same as with the default value of ResultSet.FETCH_FORWARD.
  • Updated DatabaseMetaData.getSqlKeywords (JDBC-476)
    The database metadata now returns the reserved words specific to the connected Firebird version. The reserved words, excluding those defined in SQL:2003, for versions 2.0, 2.1, 2.5 and 3.0 are available.
  • Improved: Calling Blob.setBytes and Clob.setString is now supported for position 1, on a new blob. (JDBC-478)
  • Upgrade antlr-runtime dependency from 4.5.3 to 4.6 (JDBC-480)
    If you tested with previous snapshot or beta versions of Jaybird 3.0, make sure to replace antlr-runtime-4.5.3.jar with antlr-runtime-4.6.jar.
  • Fixed: Generated keys query for table with space (or any other character below \u0022) in its (quoted) name returns empty generated keys result set (JDBC-481)

Jaybird 3.0.0-beta-2

18 Dec 15:26
Compare
Choose a tag to compare
Jaybird 3.0.0-beta-2 Pre-release
Pre-release

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

See the Jaybird 3.0.0-beta-2 release notes for more information.

IMPORTANT

Jaybird 3.0 is still in development. This version is provided for testing purposes only. We'd appreciate your feedback, but we'd like to emphasize that this version is not ready for production.

The protocol implementation has been fundamentally rewritten and changes have been made for stricter JDBC conformance. As a result the driver might exhibit different behavior than previous versions. Read the release notes carefully to see if those differences are intentional.

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.

Changes since Jaybird 3.0.0-beta-1

The following has been changed or fixed since Jaybird 3.0.0-beta-1

  • Fixed: Authentication with legacy auth users fails when Firebird 3 uses
    AuthServer = Legacy_Auth (JDBC-460)
  • Fixed: jna-4.2.2.jar was not included in the distribution zip (JDBC-461)
  • Changed logging of Embedded library to only log on error if none of the
    libraries could be loaded.
  • Fixed: native protocol is 20x-30x slower than Jaybird 2.2 native (JDBC-463)
  • Fixed: ResultSetMetaData.getPrecision of a numeric column when no
    transaction is active throws an SQLException (JDBC-464)
    As part of this fix, the handling of queries executed by FBDatabaseMetaData
    has been changed. Most metadata queries are now kept prepared for reuse.

Jaybird 2.2.12

18 Dec 14:54
Compare
Choose a tag to compare

The following has been changed or fixed in Jaybird 2.2.12:

  • Fixed: ResultSetMetaData reports precision 0 for computed columns in
    Firebird 2.5 and earlier (JDBC-450)
    If Firebird reports precision 0, Jaybird will now estimate it to be
    precision 19 (not 18). This will be improved in Jaybird 3 to report 18.
  • Calling addBatch() or executeBatch() on a statement prepared with one of
    the generated keys options will now throw an FBDriverNotCapableException,
    instead of an unclear BatchUpdateException on executeBatch. (JDBC-451)
    Support for batch execution on a prepared statement with getGeneratedKeys
    support will be added in Jaybird 3.0 (see JDBC-452).
  • Fixed: ResultSet.absolute(0) should not throw an exception, but position
    the result set before the first row (JDBC-453)
  • Fixed: ResultSetMetaData.getPrecision of a numeric column when no
    transaction is active throws an SQLException (JDBC-464)
    As part of this fix, the handling of queries executed by FBDatabaseMetaData
    has been changed. Most metadata queries are now kept prepared for reuse.

Known issues in Jaybird 2.2.12

  • Connecting to Firebird 2.5 and earlier with a Firebird 3 fbclient.dll may
    be slow with native connections, see CORE-4658.
    Workaround is to connect to the IPv4 address instead of the hostname, or to
    use a Firebird 2.5 or earlier fbclient.dll.

See the full release notes for more information.

The release is also available on maven(*):

<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.12</version>

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

Jaybird 3.0.0-beta-1

13 Nov 11:55
Compare
Choose a tag to compare
Jaybird 3.0.0-beta-1 Pre-release
Pre-release

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

See the Jaybird 3.0.0-beta-1 release notes for more information.

IMPORTANT

Jaybird 3.0 is still in development. This version is provided for testing purposes only. We'd appreciate your feedback, but we'd like to emphasize that this version is not ready for production.

The protocol implementation has been fundamentally rewritten and changes have been made for stricter JDBC conformance. As a result the driver might exhibit different behavior than previous versions. Read the release notes carefully to see if those differences are intentional.

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.