Releases: FirebirdSQL/jaybird
Jaybird 6.0.2
What's new
The following was fixed or changed since Jaybird 6.0.1:
- Improvement: added
authPlugins
property onFBManager
(#866) - Improvement: increased default and maximum SQL info sizes used for retrieving statement information like columns, parameters and plan information (#869)
- Improvement: backported inline blob support (Firebird 5.0.3 and higher) from Jaybird 7 (#870)
- Improvement: The time zone mapping was updated (#874)
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 the Firebird-java mailing list or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also the full Jaybird 6 release notes.
Maven
The release is also available on Maven:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>6.0.2</version>
</dependency>
If you use the native or embedded protocol, you need to add the jaybird-native
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-native</artifactId>
<version>6.0.2</version>
</dependency>
For ChaCha64 wire encryption support, add the chacha64-plugin
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>chacha64-plugin</artifactId>
<version>6.0.2</version>
</dependency>
Jaybird 5.0.8
What's new
The following has been changed or fixed since Jaybird 5.0.7:
- Improvement: added
authPlugins
property onFBManager
(#865) - Improvement: increased default and maximum SQL info sizes used for retrieving statement information like columns, parameters and plan information (#868)
- Improvement: backported inline blob support (Firebird 5.0.3 and higher) from Jaybird 7 (#871)
- Improvement: The time zone mapping was updated (#875)
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 the Firebird-java Google Group or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also the full Jaybird 5 release notes.
Maven
The release is also available on Maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.8.java11</version>
* The version depends on your target Java version: 5.0.8.java11
for Java 11 and higher, or 5.0.8.java8
for Java 8.
Jaybird 6.0.1
What's new
The following has been changed or fixed since Jaybird 6.0.0:
- Improvement: backported deferred blob open optimization from Jaybird 7 (#842)
- Fixed:
NullPointerException
ingetGeneratedKeys()
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 byjaybird-native
) (#854) - Dependency update: updated
org.bouncycastle:bcprov-jdk18on
from 1.79 to 1.80 (used bychacha64-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 the Firebird-java mailing list or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also the full Jaybird 6 release notes.
Maven
The release is also available on Maven:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>6.0.1</version>
</dependency>
If you use the native or embedded protocol, you need to add the jaybird-native
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-native</artifactId>
<version>6.0.1</version>
</dependency>
For ChaCha64 wire encryption support, add the chacha64-plugin
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>chacha64-plugin</artifactId>
<version>6.0.1</version>
</dependency>
Jaybird 5.0.7
What's new
The following has been changed or fixed since Jaybird 5.0.6:
- Improvement: backported deferred blob open optimization from Jaybird 7 (#841)
- Fixed:
NullPointerException
ingetGeneratedKeys()
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 the Firebird-java Google Group or reported on the issue tracker https://github.com/FirebirdSQL/jaybird/issues.
See also the full Jaybird 5 release notes.
Maven
The release is also available on Maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.7.java11</version>
* The version depends on your target Java version: 5.0.7.java11
for Java 11 and higher, or 5.0.7.java8
for Java 8.
Jaybird 6.0.0
What's new
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. - OOREMOTE (OpenOffice/LibreOffice protocol) removed
- Modularization of Jaybird
- Connection property createDatabaseIfNotExist
- Report actual process ID (pid)
- Logging facade removed
- Support for ChaCha64 wire encryption
- Opt-in feature for package information in DatabaseMetaData
- Asynchronous fetching
- Blob performance improvements
- Support for executing transaction management statements
- Configurable buffer sizes for the wire protocol
- Broken connection detection for event manager
- Connection property to specify native library path
- Rewritten client info properties support
- TIMESTAMP fields now accept LocalDate and LocalTime
- ResultSet in auto-commit no longer closed after last row
- Changes to behaviour of updatable scrollable result sets
- Custom socket factory for pure Java connections
- … 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 the full Jaybird 6.0.0 release notes.
Maven
The release is also available on Maven:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>6.0.0</version>
</dependency>
If you use the native or embedded protocol, you need to add the jaybird-native
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-native</artifactId>
<version>6.0.0</version>
</dependency>
For ChaCha64 wire encryption support, add the chacha64-plugin
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>chacha64-plugin</artifactId>
<version>6.0.0</version>
</dependency>
Jaybird 6.0.0-beta-1
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.
What's new
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. - OOREMOTE (OpenOffice/LibreOffice protocol) removed
- Modularization of Jaybird
- Connection property createDatabaseIfNotExist
- Report actual process ID (pid)
- Logging facade removed
- Support for ChaCha64 wire encryption
- Opt-in feature for package information in DatabaseMetaData
- Asynchronous fetching
- Blob performance improvements
- Support for executing transaction management statements
- Configurable buffer sizes for the wire protocol
- Broken connection detection for event manager
- Connection property to specify native library path
- Rewritten client info properties support
- TIMESTAMP fields now accept LocalDate and LocalTime
- ResultSet in auto-commit no longer closed after last row
- Changes to behaviour of updatable scrollable result sets
- … 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 the full Jaybird 6.0.0-beta-1 release notes.
Maven
The release is also available on Maven:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>6.0.0-beta-1</version>
</dependency>
If you use the native or embedded protocol, you need to add the jaybird-native
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-native</artifactId>
<version>6.0.0-beta-1</version>
</dependency>
For ChaCha64 wire encryption support, add the chacha64-plugin
dependency:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>chacha64-plugin</artifactId>
<version>6.0.0-beta-1</version>
</dependency>
Jaybird 5.0.6
What's new
The following has been changed or 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 aSQLException
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)
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.
See also the full Jaybird 5 release notes.
Maven
The release is also available on Maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.6.java11</version>
* The version depends on your target Java version: 5.0.6.java11
for Java 11 and higher, or 5.0.6.java8
for Java 8.
Jaybird 5.0.5
What's new
The following has been changed or fixed since Jaybird 5.0.4:
- Fixed:
FBResultSetMetaData.getPrecision
would always estimate the precision ofNUMERIC
orDECIMAL
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 typeNUMERIC
orDECIMAL
(#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)
reportstrue
for identity columns if Jaybird can identify the underlying table and column (#793) - New feature: Boolean connection property
extendedMetadata
(defaulttrue
) to disable querying of extended metadata forgetPrecision(int)
andisAutoIncrement(int)
ofResultSetMetaData
(#795) - Improvement: The
FILTER_CONDITION
ofDatabaseMetaData.getIndexInfo
is populated for Firebird 5.0 partial indices (#797) - Fixed:
ResultSet.isBeforeFirst()
andResultSet.isAfterLast()
should always reportfalse
for an empty result set (#807) - Improvement:
Statement.getResultSet
no longer throws aSQLException
with message "Only one result set at a time/statement" if the current result set has already been returned byexecuteQuery
or a previous call togetResultSet
(#762) - Improvement: Updated JNA dependency to version 5.14.0 (#810)
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.
See also the full Jaybird 5 release notes.
Maven
The release is also available on Maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.5.java11</version>
* The version depends on your target Java version: 5.0.5.java11
(for Java 11 and higher), or 5.0.5.java8
(for Java 8)
Jaybird 5.0.4
What's new
The following has been changed or fixed since Jaybird 5.0.3:
- Firebird 5.0 is now formally supported
- Fixed: Potential NPE when
warningMessageCallback
isnull
while reading operations or consuming packets (#778) - Fixed: FBRowUpdater incorrectly considers result set with only partial PK updatable -- backported from Jaybird 6 (#780)
- Fixed: Use of offset timezone names (e.g.
+05:00
) forsessionTimeZone
would result in a warning being logged, and an incorrect conversion applied (in UTC instead of the offset) when using the legacy time types -- backported from Jaybird 6 (#787)
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.
See also the full Jaybird 5 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.4.java11</version>
* The version depends on your target Java version: 5.0.4.java11
(for Java 11 and higher), or 5.0.4.java8
(for Java 8)
Jaybird 5.0.3
What's new
The following has been changed or fixed since Jaybird 5.0.2:
- Improvement: Do not reject attempts to read blob id 0 — backported from Jaybird 6 (#765)
Previously, Jaybird rejected attempts to read blobs with blob id0
(not on all code paths, for some only when assertions are enabled). Formally, blob id0
is not a valid blob id, but in practice they can occur (e.g. due to bugs, or access components/drivers explicitly setting a blob column to id0
). Other drivers and tools simply send the requests for blob id0
to the server, which then treats it as an empty blob. For consistency, we decided to let Jaybird handle it the same. - Fixed: on
CHAR
fields, a too short value could be returned if the string contained one or more codepoints represented by surrogate pairs and the string length inchar
exceeded the maximum string length — backported from Jaybird 6 (#770)
We now truncate the returned string if the codepoint count exceeds the maximum string length. - Fixed:
CallableStatement.getXXX(String)
could return value from wrong column — backported from Jaybird 6 (#772) - Updated: error messages updated from Firebird 5.0.0.1272
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.
See also the full Jaybird 5 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.3.java11</version>
* The version depends on your target Java version: 5.0.3.java11
(for Java 11 and higher), or 5.0.3.java8