Jaybird 5.0.2 released

We are happy to announce the release of Jaybird 5.0.2.

The following has been 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.0 isc_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 a FBTableStatisticsManager instance returned only a few or even no tables; if no tables were returned, subsequent calls would also return no tables (jaybird#747)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 20 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.1 and 4.0.9 released

We are happy to announce the release of Jaybird 5.0.1 and Jaybird 4.0.9.

Jaybird 5.0.1

The following has been 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 and CallableStatement.getObject would incorrectly trim string values (jaybird#729)
  • Fixed: ResultSetMetaData.getPrecision(int) of a connectionless result set could throw a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 5 supports Firebird 2.5 and higher, on Java 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 4.0.9

The following has been fixed since Jaybird 4.0.8:

  • Fixed: Some methods of FBClob threw NullPointerException when attempting to use after implicit or explicit free() (jaybird#719)
  • Improvement: If the default JVM time zone is a GMT offset, e.g. GMT-08:00, configure sessionTimeZone 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 a NullPointerException if the column was of type FLOAT or DOUBLE PRECISION (jaybird#730)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 11 and higher using the Java 11 version of the driver).

See also:

Jaybird 5.0.0 released

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:

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 and Firebird Type 4 JDBC Driver Downloads.

Jaybird 4.0.8 released

Jaybird 4.0.8 has been released

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 on antlr-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.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and 19 using the Java 11 version of the driver).

See also

Jaybird 4.0.7 released

Jaybird 4.0.7 has been released

The following has been changed or fixed since Jaybird 4.0.6:

  • Improvement: (VAR)CHAR is now sent to the server with blr_varying2 or blr_text2 which includes the character set information (jaybird#692)
  • Changed: Usages of String.toUpperCase and String.toLowerCase now use Locale.ROOT to prevent locale-sensitivity issues (jaybird#697)
  • New feature: Support for NBackup “clean history” option (jaybird#706)
    The org.firebirdsql.management.NBackupManager interface has three new methods: setCleanHistory(boolean) to enable (or disable) cleaning of history during backup, and setKeepDays(int) and setKeepRows(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 or PreparedStatement.setBlob with a null Clob, Reader, Blob, or InputStream would result in a NullPointerException (jaybird#712)
    As part of this change the behaviour of setClob methods accepting a Reader was changed to be identical to setCharacterStream, and setBlob accepting an InputStream to setBinaryStream. 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.

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, 17 and 19 (support for Java 17 and using the Java 11 version of the driver).

See also

Jaybird 4.0.6 released

Jaybird 4.0.6 has been released

The following has been changed or fixed since Jaybird 4.0.5:

  • Improvement: Connection.isValid(int) now uses the timeout as a network timeout, if possible (jaybird#685)
    This is only supported for pure Java connections. For native connections, the timeout is ignored (and a SQLWarning is registered).
  • NativeResourceUnloadWebListener would fail in Servlet containers with a NoClassDefFoundError if JNA wasn’t on the classpath (jaybird#686)
  • Fixed: Calling isBeforeFirst(), isAfterLast(), isFirst(), or isLast() on a closed result set resulted in a NullPointerException instead of a SQLException (jaybird#689)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11 and 17 (support for Java 17 using the Java 11 version of the driver).

See also

Jaybird 4.0.5 and 3.0.12 released

Jaybird 4.0.5 and 3.0.12 have been released. Jaybird 3.0.12 is the final release of Jaybird 3.

The following has been changed or fixed since Jaybird 4.0.4 and 3.0.11:

  • Fixed: JnaService implementation call to isc_service_query incorrectly includes type (jaybird#678)

Jaybird 4.0.5
Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11, and 17 (support for Java 17 using the Java 11 version of the driver). See also:

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

With the release of 3.0.12, Jaybird 3 is now end-of-life, and we recommend upgrading to Jaybird 4.

See also:

Jaybird 4.0.4 released

Jaybird 4.0.4 has been released.

The following has been changed or fixed since Jaybird 4.0.3:

  • Fixed: ResultSet.updateRow() sets fields to null in result set only (jaybird#37)
  • New feature: Support for NBackup GUID-based backup and in-place restore (jaybird#672)
  • Fixed: Logic error could lead to incorrect logging of “Specified statement was not created by this connection” (jaybird#674)
  • Changed: Updated Firebird 4.0 reserved words based on 4.0.0.2496 (jaybird#597)
  • Fixed: Protocol 15 and 16 had same priority, so Firebird 4.0 might select protocol 15, leading to timeout support not available. (jaybird#676)

Jaybird 4.0.4

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11 and 17 (support for Java 17 using the Java 11 version of the driver).

See also:

Jaybird 4.0.3 and 3.0.11 released

Jaybird 4.0.3 and 3.0.11 have been released.

The following has been changed or fixed since Jaybird 4.0.2 and 3.0.10:

  • Changed: Closing a statement will now be sent to the server immediately (JDBC-638)

Jaybird 4.0.3

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11 and 15 (support for Java 15 using the Java 11 version of the driver); Java 16 has not been fully tested yet.

See also:

Jaybird 3.0.11

Although Jaybird 3 is still maintained, we recommend upgrading to Jaybird 4.

Jaybird 3 supports Firebird 2.0 and higher, on Java 7, 8, 11 and 15; Java 16 has not been fully tested yet. Basic Java 9 and higher compatibility is provided through the Java 8 version of the driver.

See also:

Jaybird 4.0.2 and 3.0.10 released

Jaybird 4.0.2 and 3.0.10 have been released.

Jaybird 4.0.2

The following has been changed or fixed since Jaybird 4.0.1:

  • Fixed: First letter of JDBC escape was case-sensitive (JDBC-632)
  • Fixed: Some usernames cannot authenticate using SRP (JDBC-635)
  • Fixed: ServiceConfigurationError while loading plugins could prevent Jaybird from loading (JDBC-636)

Jaybird 4 supports Firebird 2.5 and higher, on Java 7, 8, 11 and 15 (support for Java 15 using the Java 11 version of the driver).

See also:

Jaybird 3.0.10

Although Jaybird 3 is still maintained, we recommend upgrading to Jaybird 4.

The following has been changed or fixed since Jaybird 3.0.10:

  • Added: A static utility method FBDriver.normalizeProperties which, given a JDBC url and a Properties object, returns a Map<String, String> containing the merged properties normalized to the common property name. (JDBC-627)
  • Fixed: Use of isc_dpb_no_db_triggers no longer logs a warning (JDBC-628)
  • Fixed: First letter of JDBC escape was case-sensitive (JDBC-632)
  • Fixed: Some usernames cannot authenticate using SRP (JDBC-635)
  • Fixed: ServiceConfigurationError while loading plugins could prevent Jaybird from loading (JDBC-636)

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

See also:

1 2 3