Releases: FirebirdSQL/jaybird
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
Jaybird 4.0.10
What's new
Jaybird 4.0.10 is the last release of Jaybird 4, and Jaybird 4 is now end-of-life. We recommend upgrading to Jaybird 5.
The following has been changed or fixed since Jaybird 4.0.9
- Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (jaybird#734)
- Fixed:
CallableStatement.getXXX(String)
could return value from wrong column — backported from Jaybird 6 (jaybird#773) - 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 4 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.10.java11</version>
* The version depends on your target Java version: 4.0.10.java11
(for Java 11 and higher), 4.0.10.java8
, or 4.0.10.java7
Jaybird 5.0.2
What's new
The following has been changed or fixed since Jaybird 5.0.1:
- Fixed: Reconnect transaction with a transaction id exceeding 0x7FFF_FFFF did not work (jaybird#734)
- New feature: add connection property
parallelWorkers
to set Firebird 5.0isc_dpb_parallel_workers
(jaybird#737) - New feature: add
MaintenanceManager.upgradeOds()
for the Firebird 5.0 gfix/service repair action to perform a minor ODS upgrade of a database (jaybird#738) - New feature: add parallel workers support for
BackupManager
(jaybird#739) - New feature: add parallel workers support for sweep in
MaintenanceManager
(jaybird#740) - Fixed:
DatabaseConnectionProperties.setServerBatchBufferSize(int)
ignored provided value and always set default (0, or “use server-side maximum”) (jaybird#741) - New feature: add
MaintenanceManager.fixIcu()
for the Firebird 3.0 gfix/service repair action “ICU” to update or rebuild collations and indexes when the ICU version changed (jaybird#744) - Fixed: The first call to
getTableStatistics()
of aFBTableStatisticsManager
instance returned only a few or even no tables; if no tables were returned, subsequent calls would also return no tables (jaybird#747)
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.2.java11</version>
* The version depends on your target Java version: 5.0.2.java11
(for Java 11 and higher), or 5.0.2.java8
Jaybird 5.0.1
What's new
The following has been changed or fixed since Jaybird 5.0.0:
- Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
- Fixed:
CallableStatement.getString
andCallableStatement.getObject
would incorrectly trim string values (jaybird#729) - Fixed:
ResultSetMetaData.getPrecision(int)
of a connectionless result set could throw aNullPointerException
if the column was of typeFLOAT
orDOUBLE PRECISION
(jaybird#730)
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.1.java11</version>
* The version depends on your target Java version: 5.0.1.java11
(for Java 11 and higher), or 5.0.1.java8
Jaybird 4.0.9
What's new
The following has been changed or fixed since Jaybird 4.0.8:
- Fixed: Some methods of
FBClob
threwNullPointerException
when attempting to use after implicit or explicitfree()
(jaybird#719) - Improvement: If the default JVM time zone is a GMT offset, e.g.
GMT-08:00
, configuresessionTimeZone
with offset only, e.g.-08:00
(jaybird#720) - Fixed: Executing DML with a RETURNING clause containing a blob column would return the blob-id instead of the blob value (jaybird#728)
- Fixed:
CallableStatement.getString
would incorrectly trim string values (jaybird#729) - Fixed:
ResultSetMetaData.getPrecision(int)
of a connectionless result set could throw aNullPointerException
if the column was of typeFLOAT
orDOUBLE PRECISION
(jaybird#730)
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 4 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.9.java11</version>
* The version depends on your target Java version: 4.0.9.java11
(for Java 11 and higher), 4.0.9.java8
, or 4.0.9.java7
Jaybird 5.0.0
What's new
Jaybird 5 is - from a JDBC perspective - an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.
The major changes and new features in Jaybird 5 are:
- Java 7 support dropped
- Java Connector Architecture (JCA) support removed
- ChaCha wire protocol encryption support (Java 11 and higher only)
- Changes to properties
- Unification of database and service addressing
- Changes to JDBC URL syntax
- Removal of LOCAL protocol implementation
- Stream blobs are now the default
- New parser for generated keys handling (back-ported to Jaybird 4.0.8)
- Firebird 4.0 server-side batch updates
- Firebird 5.0 multi-row RETURNING support
- Firebird Embedded locator service provider (experimental)
- Table statistics of a connection (experimental)
Upgrading from Jaybird 4 to 5 should be simple, but please make sure to read Compatibility changes before using Jaybird 5. See also Upgrading from Jaybird 4 to Jaybird 5.
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 5.0.0 release notes.
Maven
The release is also available on maven(*):
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.0.java11</version>
</dependency>
* The version depends on your target Java version: 5.0.0.java11
or 5.0.0.java8
.
Jaybird 5.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
Jaybird 5 is - from a JDBC perspective - an incremental change from Jaybird 4. However, internally, Jaybird underwent some major changes, the biggest was the removal of JCA (Java Connector Architecture) support.
The major changes and new features in Jaybird 5 are:
- Java 7 support dropped
- Java Connector Architecture (JCA) support removed
- ChaCha wire protocol encryption support (Java 11 and higher only)
- Changes to properties
- Unification of database and service addressing
- Changes to JDBC URL syntax
- Removal of LOCAL protocol implementation
- Stream blobs are now the default
- New parser for generated keys handling (back-ported to Jaybird 4.0.8)
- Firebird 4.0 server-side batch updates
- Firebird 5.0 multi-row RETURNING support
- Firebird Embedded locator service provider (experimental)
- Table statistics of a connection (experimental)
Upgrading from Jaybird 4 to 5 should be simple, but please make sure to read Compatibility changes before using Jaybird 5. See also Upgrading from Jaybird 4 to Jaybird 5.
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 5.0.0-beta-1 release notes.
Maven
The release is also available on maven(*):
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.0.java11-beta-1</version>
</dependency>
* The version depends on your target Java version: 5.0.0.java11-beta-1
or 5.0.0.java8-beta-1
.
Jaybird 4.0.8
What's new
The following has been changed or fixed since Jaybird 4.0.7:
- Improvement: Backported new generated keys parser from Jaybird 5 to remove dependency on ANTLR (jaybird#718)
With this change, Jaybird no longer relies onantlr-runtime-4.7.2.jar
, if you don't need it yourself, you can remove this library from the classpath. See New parser for generated keys handling for more information.
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 4 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.8.java11</version>
* The version depends on your target Java version: 4.0.8.java7
, 4.0.8.java8
, or 4.0.8.java11
(for Java 11 and higher)
Jaybird 4.0.7
What's new
The following has been changed or fixed since Jaybird 4.0.6:
- Improvement:
(VAR)CHAR
is now sent to the server withblr_varying2
orblr_text2
which includes the character set information (jaybird#692) - Changed: Usages of
String.toUpperCase
andString.toLowerCase
now useLocale.ROOT
to prevent locale-sensitivity issues (jaybird#697) - New feature: Support for NBackup "clean history" option (jaybird#706)
Theorg.firebirdsql.management.NBackupManager
interface has three new methods:setCleanHistory(boolean)
to enable (or disable) cleaning of history during backup, andsetKeepDays(int)
andsetKeepRows(int)
to specify the number of days or rows to keep history. These options require Firebird 4.0.3 or higher.
This feature was backported from Jaybird 5. - Fixed: Calling
PreparedStatement.setClob
orPreparedStatement.setBlob
with anull
Clob
,Reader
,Blob
, orInputStream
would result in aNullPointerException
(jaybird#712)
As part of this change the behaviour ofsetClob
methods accepting aReader
was changed to be identical tosetCharacterStream
, andsetBlob
accepting anInputStream
tosetBinaryStream
. The end result before and after this change is identical, but it can result in different memory and performance characteristics, as the stream is now consumed on execute, and not on set.
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 4 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.7.java11</version>
* The version depends on your target Java version: 4.0.7.java7
, 4.0.7.java8
, or 4.0.7.java11
(for Java 11 and higher)