Releases: FirebirdSQL/jaybird
Jaybird 3.0.9
The following has been changed or fixed since Jaybird 3.0.8
- Fixed: changes to the transaction configuration (transaction parameter buffer configuration) of one connection are no longer propagated to other connections with the same connection properties (JDBC-386)
This change introduce a binary incompatibility as methodsetTransactionParameters(int, TransactionParameterBuffer)
inFBManagedConnection
can now throwResourceException
where previously it did not. Under the assumption that most users of Jaybird are not directly using this class, the change should not break anything. - New feature: Firebird 4 data type bind configuration support (JDBC-603)
This change also removes thetimeZoneBind
anddecfloatBind
connection properties introduced in Jaybird 3.0.6 as the corresponding DPB items were removed from Firebird 4. This feature requires Firebird 4 beta 2 or snapshot Firebird 4.0.0.1683 or higher.
See also Limited support for new Firebird 4 data types. - New feature: Jaybird now supports UTF-8 URL encoding for connection properties in the JDBC url. (JDBC-604)
This introduce a minor incompatibility, see also URL encoding in query part of JDBC URL. - Fixed: When updating a row through an updatable result set, selected but not updated blob fields were set to
NULL
(JDBC-623)
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.9</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7
Jaybird 4.0.0
What's new
Jaybird 4.0.0 is the first release of Jaybird 4.
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)
- Wire compression support
- Authentication plugin improvements
- Firebird 4 data type bind configuration support (since Jaybird 4.0.0-beta-2)
- Firebird 4 DECFLOAT support
- Firebird 4 extended numeric precision support
- Firebird 4 time zone support
- Firebird 4 statement timeout support (since Jaybird 4.0.0-beta-2)
- JDBC RowId support
- DatabaseMetaData getPseudoColumns implemented
- DatabaseMetaData getVersionColumns implemented
- DatabaseMetaData getFunctions implemented (since Jaybird 4.0.0-beta-2)
- DatabaseMetaData getFunctionColumns implemented (since Jaybird 4.0.0-beta-2)
- Improved JDBC function escape support
- New JDBC protocol prefix jdbc:firebird:
- URL encoding in query part of JDBC URL (backported to Jaybird 3.0.9)
- Generated keys support improvements
- Operation monitoring
Upgrading from Jaybird 3 to 4 should be simple, but please make sure to read Compatibility changes before using Jaybird 4. See also Upgrading from Jaybird 3 to Jaybird 4.
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.
See also the full Jaybird 4.0.0 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.0.javaXX</version>
* The version depends on your target Java version: 4.0.0.java7
, 4.0.0.java8
or 4.0.0.java11
.
Jaybird 4.0.0-beta-2
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 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)
- Wire compression support
- Authentication plugin improvements
- Firebird 4 data type bind configuration support (since Jaybird 4.0.0-beta-2)
- Firebird 4 DECFLOAT support
- Firebird 4 extended numeric precision support
- Firebird 4 time zone support
- Firebird 4 statement timeout support (since Jaybird 4.0.0-beta-2)
- JDBC RowId support
- DatabaseMetaData getPseudoColumns implemented
- DatabaseMetaData getVersionColumns implemented
- DatabaseMetaData getFunctions implemented (since Jaybird 4.0.0-beta-2)
- DatabaseMetaData getFunctionColumns implemented (since Jaybird 4.0.0-beta-2)
- Improved JDBC function escape support
- New JDBC protocol prefix jdbc:firebird:
- URL encoding in query part of JDBC URL (backported to Jaybird 3.0.9)
- Generated keys support improvements
- Operation monitoring
Upgrading from Jaybird 3 to 4 should be simple, but please make sure to read Compatibility changes before using Jaybird 4. See also Upgrading from Jaybird 3 to Jaybird 4.
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.
See also the full Jaybird 4.0.0-beta-2 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>4.0.0.javaXX-beta-2</version>
* The version depends on your target Java version: 4.0.0.java7-beta-2
, 4.0.0.java8-beta-2
or 4.0.0.java11-beta-2
.
Jaybird 3.0.8
The following has been changed or fixed since Jaybird 3.0.7
- Fixed: On Firebird 3 and 4 with
WireCrypt = Enabled
, the connection could hang or throw exceptions like "Unsupported or unexpected operation code". (JDBC-599)
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.8</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7
Jaybird 3.0.7
The following has been changed or fixed since Jaybird 3.0.6
- Fixed: attempts to use a blob after it was freed or after transaction end could throw a
NullPointerException
or just work depending on whether the connection had a new transaction. (JDBC-587) - Fixed: Instances of
java.sql.Blob
andjava.sql.Clob
obtained from a result set were freed after calls toResultSet.next()
. (JDBC-588) - New feature: added
FBEventManager.createFor(Connection)
to create anEventManager
for an existing connection. Backported from Jaybird 4. (JDBC-594)
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.7</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7
Jaybird 3.0.6
The following has been changed or fixed since Jaybird 3.0.5
- Fixed: Exceptions during fetch of cached result sets (holdable over commit, scrollable and metadata) prevented prepared statement reuse/re-execute with error "Statement state CURSOR_OPEN only allows next states [CLOSING, PREPARED, ERROR], received EXECUTING" (JDBC-531)
- Improvement: Added
FBManager.setDefaultCharacterSet
to set default database character set during database creation (JDBC-541) - New feature: Support for Firebird 3 case sensitive user names (JDBC-549)
- Fixed: Savepoints did not work in connection dialect 1 as savepoint names were always quoted (JDBC-556)
- Changed: The
DatabaseMetaData
statement cache introduced in Jaybird 3 was unlimited, it is now limited to 12 prepared statements; the least recently used statement will be closed and removed when a new statement is added (JDBC-557) - Fixed:
UPDATE OR INSERT
with existingRETURNING
clause handled incorrectly for generated keys (JDBC-566) - Fixed: Exceptions during initialization of result sets would not properly close the database cursor leading to error "Current statement state (CURSOR_OPEN) does not allow call to prepare" on reuse of the statement (or errors similar to described for JDBC-531 above). (JDBC-571)
A stopgap measure has been added to prevent similar problems from occurring. This will log its use on debug-level with message "ensureClosedCursor has to close a cursor at" and a stacktrace. - New feature: boolean connection property
ignoreProcedureType
to disable usage of metadata for stored procedure types inCallableStatement
. When set totrue
, call escapes andEXECUTE PROCEDURE
will default to useEXECUTE PROCEDURE
and not switch toSELECT
for selectable stored procedures. (JDBC-576) - New feature: connection properties
timeZoneBind
andsessionTimeZone
for limited support for Firebird 4TIME(STAMP) WITH TIME ZONE
types, anddecfloatBind
for limited support for Firebird 4DECFLOAT
types. (JDBC-538) - Fixed: Connection property
defaultIsolation
/isolation
did not work throughDriverManager
, but only onDataSource
implementations. (JDBC-584)
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.6</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7
Jaybird 4.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 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
Upgrading from Jaybird 3 to 4 should be simple, but please make sure to read Compatibility changes before using Jaybird 4. See also Upgrading from Jaybird 3 to Jaybird 4.
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.
See also the full Jaybird 4.0.0-beta-1 release notes.
Maven
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-XX</artifactId>
<version>4.0.0-beta-1</version>
* The artifactId depends on your target Java version: jaybird-jdk17
, jaybird-jdk18
or jaybird-java11
.
Jaybird 2.2.15
Jaybird 2.2.15 is the final version of Jaybird 2.2.x, we recommend switching to Jaybird 3.
The following has been changed or fixed in Jaybird 2.2.15:
- Fixed: Exceptions during fetch of cached result sets (holdable over commit, scrollable and metadata) prevented prepared statement reuse/re-execute with error "Attempt to reopen an open cursor" (JDBC-531)
- Fixed: Jaybird cannot parse Firebird version numbers with revisions (JDBC-534)
- Fixed: Incorrect parsing of Firebird version numbers (JDBC-535)
See the full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>2.2.15</version>
* The artifactId depends on your target Java version: jaybird-jdk18
, jaybird-jdk17
, or jaybird-jdk16
.
Jaybird 3.0.5
The following has been changed or fixed since Jaybird 3.0.4
- 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 full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.5</version>
* The artifactId depends on your target Java version: jaybird-jdk18
for Java 8 and higher, or jaybird-jdk17
for Java 7
Jaybird 3.0.4
The following has been changed or fixed since Jaybird 3.0.3
- 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 full release notes for more information.
The release is also available on maven(*):
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird-jdkXX</artifactId>
<version>3.0.4</version>
* The artifactId depends on your target Java version: jaybird-jdk18
, or jaybird-jdk17