Tag: Jaybird
Jaybird 4.0.0-beta-1 available for testing
The first beta for Jaybird 4 is available for testing.
We’d really appreciate it if you take the time to test this version of Jaybird with your applications. 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 http://tracker.firebirdsql.org/browse/JDBC.
Jaybird 4 is – compared to Jaybird 3 – an incremental release that builds on the foundations of Jaybird 3. The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4.
The main new features are:
- Wire encryption support (backported to Jaybird 3.0.4)
- Database encryption support (backported to Jaybird 3.0.4)
- Authentication plugin improvements
- Firebird 4 DECFLOAT support
- Firebird 4 extended numeric precision support
- Firebird 4 time zone support
- JDBC RowId support
- JDBC DatabaseMetaData.getPseudoColumns implemented
- JDBC DatabaseMetaData.getVersionColumns implemented
- Improved JDBC function escape support
- New JDBC protocol prefix jdbc:firebird:
- Generated keys support improvements
Jaybird 4.0.0-beta-1 is for testing purposes only, and not intended for production use.
See also:
Jaybird 3.0.5 has been released.
The Firebird JDBC team is happy to announce the release of Jaybird 3.0.5.
This release is largely a bugfix release, but contains additional support for Firebird 3.0.4 and Firebird 4.
Jaybird 3.0.5 contains the following fixes and changes:
- Fixed:
FBManager
does not accept page size of 32768 (Firebird 4 and higher) (JDBC-468) - Fixed: Jaybird cannot parse Firebird version numbers with revisions (JDBC-534)
- Fixed: Incorrect parsing of Firebird version numbers (JDBC-535)
- New feature: Added support for the Srp256 authentication plugin (JDBC-536)
- Fixed: Incorrect warning “Specified statement was not created by this connection” logged for statements that fail with an exception on prepare (JDBC-538)
- Fixed: Remote close of event channel (eg on Firebird server stop or crash) leads to high CPU usage and excessive error logging as socket channel is not removed from selector (JDBC-542)
- Fixed: Properties
wireCrypt
anddbCryptConfig
not available onFBEventManager
(JDBC-544) - Documentation: wire protocol encryption requires unlimited strength Cryptographic Jurisdiction Policy (or equivalent), this was previously not documented (JDBC-545)
See the Jaybird 3.0.5 release notes for more information. Jaybird 3.0.5 can be downloaded from the JDBC Driver page.
Jaybird 3.0.4 update
The Firebird JDBC team is happy to announce the release of Jaybird 3.0.4.
This release of Jaybird introduces two new features: wire protocol encryption and database encryption callback support.
Jaybird 3.0.4 contains the following fixes and changes:
– New feature: Back-ported wire encryption support from Jaybird 4 (JDBC-415)
– Fixed: Native/embedded (JNA) connections truncate varchars to length 255 on read (JDBC-518)
– New feature: Database encryption callback support in pure Java protocol (JDBC-527)
See the Jaybird 3.0.4 release notes for more information. Jaybird 3.0.4 can be downloaded from the JDBC Driver page.
The release is also available on maven:
groupId: org.firebirdsql.jdbc
artifactid: jaybird-jdkXX*
version: 3.0.4
* The artifactId depends on your target Java version: jaybird-jdk18, or jaybird-jdk17
Jaybird 3.0.1 released
Jaybird 3.0.1 contains the following fixes and changes:
- Fixed:
FBTraceManager.loadConfigurationFromFile
strips line breaks (JDBC-493) - Fixed:
FBDatabaseMetaData.getTables
does not list tables whererdb$relation_type
isnull
(JDBC-494) - Improvement: Character sets are now initialized lazily (JDBC-495)
- Fixed: Memory leak caused by retaining blob handles until connection close (JDBC-497)
See the Jaybird 3.0.1 release notes for more information. Jaybird 3.0.1 can be downloaded from the JDBC Driver page.
JayBird 3 is released
We are happy to announce the release of Jaybird 3.0.0.
Jaybird 3.0 is a big change from Jaybird 2.2 and earlier. The entire low-level implementation has been rewritten to be able to support protocol improvements in newer Firebird versions. We have also made changes with a stricter interpretation of the JDBC requirements, and removed some parts that were either obsolete or not functioning correctly.
Most notable changes in Jaybird 3:
- Support for wire protocol versions 11, 12, and 13 (without support for encryption and compression); protocol version 13 contributed by Hajime Nakagami
- Support for the Firebird 3 SRP (Secure Remote Password) authentication mechanism (contributed by Hajime Nakagami)
- Support for streaming backup and restore (contributed by Ivan Arabadzhiev)
- Improved Firebird 3 support
- Improved and stricter JDBC support (including improved
java.time
support, and more optional methods implemented) - Initial JDBC 4.3 (Java 9) support (without real module support)
- New implementation of the native/embedded Type 2 driver using JNA (a jaybird
.dll
/.so
is no longer needed) - Improved character set handling
- Removal of (buggy) connection pool implementation
- Removal/replacement of (internal) GDS API
And a large number of smaller bug fixes, improvements, and changes.
We recommend that you do not consider Jaybird 3.0 a drop-in replacement for Jaybird 2.2, and study the release notes carefully. Test your application with Jaybird 3.0 before using it in production.
Jaybird 3.0 supports Firebird 2.0 and higher, on Java 7, 8 and 9. Basic Java 9 compatibility is provided through the Java 8 version of the driver.
See also:
Jaybird 3.0.0-beta-3 is available for download and testing.
Jaybird 3.0.0-beta-3 is available for download and testing. More in formation can be found in the full release notes.
Jaybird 3.0.0-beta-3 is expected to be the last test release before the final Jaybird 3.0.0 release.
— Mark Rotteveel (@Avalanche1979) March 5, 2017
Jaybird 3.0.0-alpha-1 release for testing
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.
See:
- Release notes
- Release files: Jaybird 3.0.0-alpha-1
Jaybird 3.0 Alpha 1 is available from Maven central:
Groupid: org.firebirdsql.jdbc,
Artifactid: jaybird-jdkXX (where XX is 17 or 18).
Version: 3.0.0-alpha-1
For example:
<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>
Jaybird 2.2.4 released
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
NullPointerException
iniscDatabaseInfo
) (JDBC-313) - 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 (
charSet
orlocalEncoding
property) (JDBC-315) - Fixed incorrect lengths and/or radix reported by
getTypeInfo
andgetColumns
metadata (JDBC-317, JDBC-318) - Initial Java 8 / JDBC 4.2 support (JDBC-319)
- Firebird 3
BOOLEAN
type support, see Support for Firebird 3BOOLEAN
type in the release notes for more details (JDBC-321) - Added fallback of loading
GDSFactoryPlugin
implementations to preventNullPointerException
in 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
DatabaseMetaData
methods defined by JDBC to only accept the actual table name also accepted aLIKE
-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:getPrimaryKeys
,getBestRowIdentifier
,getImportedKeys
,getExportedKeys
andgetCrossReference
. As part of this changegetIndexInfo
now 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
Just released JDBC driver : Jaybird 2.2.4-SNAPSHOT version
Just released a Jaybird 2.2.4-SNAPSHOT version with a fix for Netbeans Hibernate driver loading bug: JDBC-325 download at sourceforge
New Jaybird 2.2.4 snapshot now also available on the sonatype public repository.
News via Mark Rotteveel’s tweet