31 May 2025
We are happy to announce the release of Jaybird 6.0.2 and Jaybird 5.0.8. Both releases provide support for upcoming Firebird 5.0.3 inline blobs, and some other improvements.
For more information on inline blobs, for Firebird 5.0.3 and higher, see also New Article: Data access methods used in Firebird.
The following was fixed or changed since Jaybird 6.0.1 / Jaybird 5.0.7:
Improvement: added authPlugins
property on FBManager
(#866 / #865)
Improvement: increased default and maximum SQL info sizes used for retrieving statement information like columns, parameters and plan information (#869 / #868)
Improvement: backported inline blob support (Firebird 5.0.3 and higher) from Jaybird 7 (#870 / #871)
Improvement: The time zone mapping was updated (#874 / #875)
Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to Firebird-java or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
Jaybird 6 supports Firebird 3.0 and higher, on Java 17, Java 21, and Java 24.
See also:
Jaybird 5 supports Firebird 2.5 and higher, on Java 8, Java 11, Java 17, Java 21, and Java 24 (support for Java 11 and higher using the Java 11 version of the driver).
See also:
04 April 2025
We are happy to announce the release of Jaybird 6.0.1 and Jaybird 5.0.7. Both releases provide a number of performance improvements to blob handling, and some bug fixes.
We plan to offer more blob performance improvements in upcoming releases of Jaybird 5 and 6, for Firebird 5.0.3 and higher (see also New Article: Data access methods used in Firebird).
The following was fixed or changed since Jaybird 6.0.0:
Improvement: backported deferred blob open optimization from Jaybird 7 (#842)
Fixed: NullPointerException
in getGeneratedKeys()
with blob columns after (auto)commit (#846)
Fixed: Fetch response with status=0 (FETCH_OK) and count=0 was logged on DEBUG as an unexpected response (#848)
Improvement: backported fetching all known blob info items on open from Jaybird 7 (#852)
Dependency update: updated net.java.dev.jna:jna-jpms
from 5.16.0 to 5.17.0 (used by jaybird-native
) (#854)
Dependency update: updated org.bouncycastle:bcprov-jdk18on
from 1.79 to 1.80 (used by chacha64-plugin
) (#856)
Jaybird 6 supports Firebird 3.0 and higher, on Java 17, Java 21, and Java 24.
Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to Firebird-java or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also:
The following has been changed or fixed since Jaybird 5.0.6:
Improvement: backported deferred blob open optimization from Jaybird 7 (#841)
Fixed: NullPointerException
in getGeneratedKeys()
with blob columns after (auto)commit (#846)
Fixed: Fetch response with status=0 (FETCH_OK) and count=0 was logged on DEBUG as an unexpected response (#848)
Improvement: backported performance improvements for blob reading and writing from Jaybird 6 (#850)
Improvement: backported fetching all known blob info items on open from Jaybird 7 (#852)
Dependency update: updated net.java.dev.jna:jna-jpms
from 5.15.0 to 5.17.0 (used by native and embedded protocols) (#855)
Jaybird 5 supports Firebird 2.5 and higher, on Java 8, Java 11, Java 17, Java 21, and Java 24 (support for Java 11 and higher using the Java 11 version of the driver).
Bug reports about undocumented changes in behavior are appreciated. Feedback can be sent to Firebird-java or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also:
27 December 2024
We are happy to announce the first release of Jaybird 6.
Jaybird 6 is — from a JDBC perspective — an incremental change from Jaybird 5.
However, internally, Jaybird underwent some major changes, the biggest was splitting off the native and embedded protocols to a separate plugin artifact (jaybird-native
).
The major changes and new features in Jaybird 6 are:
Minimum supported Java version is Java 17.
See Java support for more information.
Minimum supported Firebird version is Firebird 3.0.
See Firebird support for more information.
The pure Java protocol — by default --no longer connects to Firebird 2.5 and older, as those versions are not supported.
See Pure Java will not connect to unsupported Firebird versions by default for more information.
The native and embedded protocols have been moved to a separate artifact, jaybird-native.
See NATIVE and EMBEDDED support moved to a separate artifact for more information.
… and other fixes and changes
Upgrading from Jaybird 5 should be straightforward, but please make sure to read Compatibility changes before using Jaybird 6. If you’re using Jaybird with the native or embedded connections, you will need to make some additional changes. See also Upgrading from Jaybird 5 to Jaybird 6.
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 https://github.com/FirebirdSQL/jaybird/issues.
See also:
16 October 2024
We are happy to announce the release of Jaybird 5.0.6.
The following has been fixed since Jaybird 5.0.5:
Fixed: Exceptions during statement execution did not always complete the statement, which could delay transaction commit in auto-commit mode (#806)
Fixed: Closing a connection when the database was shutdown, or the connection was otherwise broken, could result in a NullPointerException
(#812)
Fixed: Error “Column unknown; IND.RDB$CONDITION_SOURCE” when calling DatabaseMetaData.getIndexInfo
on Firebird 5.0 with a Firebird 4.0 (ODS 13.0) database (#813)
Fixed: Calling ResultSet.wasNull()
when on the insert-row throws a SQLException
instead of reporting the null-state of the last retrieved column (#816)
Fixed: Inserting a row into a result set backed by a server-side scrollable cursor could include the inserted row twice (#819)
Improvement: Updated JNA dependency to version 5.15.0 (#823)
Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, 21, and 23 (support for Java 11 and higher using the Java 11 version of the driver).
See also:
14 June 2024
We are happy to announce the release of Jaybird 5.0.5.
The following has been fixed since Jaybird 5.0.4:
Fixed: FBResultSetMetaData.getPrecision
would always estimate the precision of NUMERIC
or DECIMAL
columns instead of obtaining the actual precision if the column position was 71 or higher (#731)
Optimized the query to retrieve extended field info for ResultSetMetaData.getPrecision
to only retrieve columns of type NUMERIC
or DECIMAL
(#732)
Fixed: PreparedStatement.executeBatch()
of statement without parameters throws “Statement used in batch must have parameters [SQLState:07001, ISC error code:335545186]” on Firebird 4.0 or higher (#788)
New feature: ResultSetMetaData.isAutoIncrement(int)
reports true
for identity columns if Jaybird can identify the underlying table and column (#793)
New feature: Boolean connection property extendedMetadata
(default true
) to disable querying of extended metadata for getPrecision(int)
and isAutoIncrement(int)
of ResultSetMetaData
(#795)
Improvement: The FILTER_CONDITION
of DatabaseMetaData.getIndexInfo
is populated for Firebird 5.0 partial indices (#797)
Fixed: ResultSet.isBeforeFirst()
and ResultSet.isAfterLast()
should always report false
for an empty result set (#807)
Improvement: Statement.getResultSet
no longer throws a SQLException
with message “Only one result set at a time/statement” if the current result set has already been returned by executeQuery
or a previous call to getResultSet
(#762)
Improvement: Updated JNA dependency to version 5.14.0 (#810)
Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17, 21, and 22 (support for Java 11 and higher using the Java 11 version of the driver).
See also:
Older posts are available in the archive.