Jaybird 3.0.0-alpha-1 has been published for testing. We would really appreciate if you could start testing your applications with this version and provide feedback on stability and behavior, but also on the release notes.
Feedback can be sent to the Firebird-java mailinglist or on the issue tracker http://tracker.firebirdsql.org/browse/JDBC.
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, made changes with a stricter interpretation of the JDBC requirements, and removed some parts that were either obsolete or not functioning correctly.
We recommend that you do not consider Jaybird 3.0 a drop-in replacement for Jaybird 2.2, and study the release notes carefully.
Jaybird 3.0 Alpha 1 is available from Maven central:
Artifactid: jaybird-jdkXX (where XX is 17 or 18).
<dependency> <groupId>org.firebirdsql.jdbc</groupId> <artifactId>jaybird-jdk18</artifactId> <version>3.0.0-alpha-1</version> </dependency>
If your application is deployed to a Java EE application server, you will need to exclude the javax.resource:connector-api dependency, and add it as a provided dependency:
<dependency> <groupId>org.firebirdsql.jdbc</groupId> <artifactId>jaybird-jdk18</artifactId> <version>3.0.0-alpha-1</version> <exclusions> <exclusion> <groupId>javax.resource</groupId> <artifactId>connector-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>javax.resource</groupId> <artifactId>connector-api</artifactId> <version>1.5</version> <scope>provided</scope> </dependency>
If you want to use Type 2 support (native, local or embedded), you need to explicitly include JNA 4.2.2 as a dependency:
<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>4.2.2</version> </dependency>
The Firebird JDBC team is happy to announce the release of Jaybird 2.2.4.
This release contains the following fixes:
- Fixed: Exceptions during statement preparation leave connection and transaction open after explicit close (JDBC-311)
- Fixed batch update (or insert) with blob set through
setBinaryStream()sets empty blob for all but the first batch entry (JDBC-312)
- Fixed incomplete checks of database, transaction, statement and blob handle validity before continuing with actions. These incomplete checks could lead to unexpected exceptions (for example a
- Fixed error when setting connection charset equal to
"file.encoding"java property (JDBC-314)
- Fixed connection character set not correctly set when specifying the Java connection characterset (
- Fixed incorrect lengths and/or radix reported by
getColumnsmetadata (JDBC-317, JDBC-318)
- Initial Java 8 / JDBC 4.2 support (JDBC-319)
- Firebird 3
BOOLEANtype support, see Support for Firebird 3
BOOLEANtype in the release notes for more details (JDBC-321)
- Added fallback of loading
GDSFactoryPluginimplementations to prevent
NullPointerExceptionin Hibernate reverse engineering wizard in NetBeans (JDBC-325)
- Fixed: Jaybird should specify dialect 3 in dpb when no explicit dialect was set (JDBC-327)
- Fixed: several
DatabaseMetaDatamethods defined by JDBC to only accept the actual table name also accepted a
LIKE-pattern or empty string or null. This was changed to conform to JDBC. This change can break applications that relied on the incorrect behavior (JDBC-331)
Affected methods are:
getCrossReference. As part of this change
getIndexInfonow handles names in the wrong case slightly different.
Jaybird 3.0 will further modify and restrict the pattern matching and case sensitivity of metadata methods. See Future changes to Jaybird in the release notes for more details.
Downloads available from JDBC driver section on the Firebird website.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId> <artifactId>jaybird-jdkXX</artifactId> <version>2.2.4</version>
* The artifactId depends on your target Java version: jaybird-jdk15, jaybird-jdk16, jaybird-jdk17 or jaybird-jdk18
Mark Rottevee announced new snapshot of Jaybird driver :
I have just uploaded a new snapshot version for Jaybird 2.2.4 to
sourceforge and the sonatype snapshots repository for Maven.
Most notable changes are support for the Firebird 3.0 alpha 1 BOOLEAN
type and support for Java 8. For other changes see
This snapshot is intended only for testing purposes and has not been
tested with the native or embedded subprotocols.
Download area (Java 5, 6, 7 and 8):
Maven snapshot repository:
artifactId: jaybird-jdk1x (where x = 5, 6, 7 or 8)
If you have any problems, let me know in the Firebird-Java list. Bugs
can be reported in the tracker http://tracker.firebirdsql.org/browse/JDBC
Mark Rotteveel wrote about new Firebird JDBC driver snapshot:
I just created a snapshot version of Jaybird 2.2.4 with basic Java 8 /
JDBC 4.2 support. It is available for download from:
This snapshot provides basic support for Java 8 by overriding the new
default interface methods added with a slightly more sane default. Most
of the changes in Java 8 are about supporting large update counts (>
Integer.MAX_VALUE) and the new SQLType interface.
For the large update counts Jaybird simply delegates to the methods
returning int values.
The Statement.setLargeMaxRows(long) method will set the max to 0 (no
maximum) if a value larger than Integer.MAX_VALUE is supplied.
The SQLType methods will delegate to the methods accepting an int
sqlType parameter with the value obtained from getVendorTypeNumber()
without further validation or checking. The exception to this are the
ResultSet.updateObject(…) methods which don’t have an equivalent
accepting an integer type parameter. In that case it is delegated to the
equivalent method without type support.
The snapshot is also available on maven in the Sonatype OSS snapshot
This page describes how to configure GlassFish for use with Jaybird. These instructions are based on GlassFish Server Open Source Edition 184.108.40.206 and Jaybird 2.2.3.
The Firebird JDBC team is happy to announce the release of Jaybird 2.2.3.
See http://www.firebirdsql.org/en/jdbc-driver/ for the downloadlinks.
The release is also available on maven:
The artifactId depends on your target Java version: jaybird-jdk15, jaybird-jdk16 or jaybird-jdk17.
The following has been changed or fixed in Jaybird 2.2.3:
- Fixed incorrect synchronization in native and embedded protocol (JNI) implementation for iscBlobInfo and iscSeekBlob (JDBC-300)
- Fixed holdable ResultSet is closed on auto-commit (JDBC-304, JDBC-305)
- Fixed table names missing or padded with spaces in Database view of IntelliJ IDEA (JDBC-308, IDEA-100786)
- Fixed incorrect JDBC minor version reported under Java 7; this resulted in an incorrect column name (for Java 7) in the metadata of DatabaseMetaData.getColumns(…) (JDBC-309)
- Added IOException to cause of GDSException with error 335544721; “Unable to complete network request to host “”” for further investigation (JDBC-306)
More details are available in the Jaybird 2.2.3 releasenotes.
Mark Rotteveel wrote on Firebird-Java group : I updated the Jaybird roadmap to outline the basic plans for Jaybird
2.3. You can find it on
I will probably add more detail in the future.