Firebird 2.5.6

Released July 04, 2016.

Improvements in this release:

  • Return nonzero result code when restore fails on activating and creating deferred user index.

  • Provide location context (line/column numbers) for runtime errors raised inside EXECUTE BLOCK.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.6 Downloads page.


Firebird 2.5.5

Released November 18, 2015.

Improvements in this release:

  • Timestamps and runtime statistics is optionally available in GBAK output.

  • Better validation and fixup of lost data pages by GFIX.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.5 Downloads page.


Firebird 2.5.4

Released March 30, 2015.

Improvements in this release:

  • Online validation for user-defined tables and indices.

  • Optimized handling for internal temporary blobs.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.4 Downloads page.


Firebird 2.5.3

Released July 17, 2014.

Improvements in this release:

  • New context variables added to the SYSTEM namespace.

  • Some limits increased:

    • Maximum number of connections in SuperServer/SuperClassic raised from 1024 to 2048 connections.

    • Maximum number of input parameters for user-defined functions (UDFs) raised from 10 to 15.

  • Error reporting improvements.

  • Physical backup improved to address performance and reliability issues.

  • SET STATISTICS no longer blocks concurrent connections.

  • UPDATE OR INSERT statement and the RETURNING clause added to Embedded SQL.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.3 Downloads page.


Firebird 2.5.2

Released November 06, 2012. Updated March 24, 2013.

As well as many bug fixes accumulated over the months since v2.5.1, this sub-release provides a few minor improvements, particularly of help to administrators. In summary:

  • Some welcome improvements were made to the trace services, viz.,

    • Sessions can now be configured to log user and automatic sweep activity.

    • Trace now produces statistics of actions that happen after a transaction has finished.

    • Trace now provides the ability to log errors that occur in runtime (lock conflicts, key violations, et al.)

  • It is now possible to use the API to do a remote backup/restore.

  • A note is now written into firebird.log when an automatic sweep is started.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.2 Downloads page.


Firebird 2.5.1

Released October 04, 2011

As well as a substantial number of bug fixes, this sub-release takes in a few minor improvements and optimizations that missed the initial release. In summary:

  • Significant for MacOSX 10.7 users was a bug that caused attempts to start Superserver and Superclassic to fail. The bug is described in Tracker ticket CORE-3589 and also in the Bug Fixes list for this sub-release.

  • An SQLSTATE context variable is now available in PSQL, parallel to the the context variables GDSCODE and SQLCODE that are used in WHEN blocks to test for error conditions.

  • A couple of improvements were made, that should help performance when global temporary tables (GTTs) are being used:

    • The "undoing", on rolling back the transaction, of changes made to GTTs that were created with the ON COMMIT DELETE ROWS option was an unnecessary overhead and has been bypassed.

    • Garbage collection in global temporary tables was being delayed unnecessarily by active transactions in other attachments. That bottleneck is gone.

  • A needed optimization in the temporary space manager with regard to small chunk allocations has been implemented.

  • The Lock Manager has been provided with the capability to cancel waiting, avoiding a condition whereby a transaction in WAIT mode could wait interminably for the end of another transaction that could not be achieved by either a DELETE FROM MON$xxx or an fb_cancel_operation request.

  • The query optimizer now estimates the actual record compression ratio, enabling better guesses about the number of stored records in tables.

  • Some minor improvements to the remote interface:

    • Any unused bytes of varchar values in the message buffer are now set to zero.

    • Set the SO_KEEPALIVE option on the client TCP socket.

  • The MON$STATEMENT_ID value constant is now kept constant among monitoring snapshots.

  • Ports of this sub-release were done for Linux/HPPA and Linux/alpha platforms.

Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5.1 Downloads page.

Firebird 2.5.0

Released on October 04, 2010

Firebird 2.5 creates databases with an ODS of 11.2. It can read databases of lower ODS but most of its new features will be unavailable to such databases.

The primary goal for Firebird 2.5 was to establish the basics for a new threading architecture that is almost entirely common to the Superserver, Classic and Embedded models, taking in lower level synchronization and thread safety generally.

Although SQL enhancements are not a primary objective of this release, for the first time, user management becomes accessible through SQL CREATE/ALTER/DROP USER statements and syntaxes for ALTER VIEW and CREATE OR ALTER VIEW are implemented. PSQL improvements include the introduction of autonomous transactions and ability to query another database via EXECUTE STATEMENT.

Engine Enhancements

The refactoring Firebird's threading architecture in this release takes advantage of the symmetric multiprocessing (SMP) capabilities of multiprocessor hardware. This has a noticeable effect on the scaleability of Superserver when multiple databases are being accessed simultaneously but its major effect is the emergence of the architectural "Superclassic" model that will underpin the fine-grained multi-threading under development for Firebird 3.

The embedded libraries — -libfbembed.so on POSIX and fbembed.dll on Windows- — are now multi-thread-capable and thread-safe, so they can be used in multi-threaded applications.

Other New Features

Other new features and improvements in this release include:

Administrative Enhancements
  • System audit tracing and user trace sessions via the Services API, making it possible to monitor and analyse everything going on in a database in real time
  • New system role RDB$ADMIN in the ODS 11.2 database allows SYSDBA to transfer its privileges to another user on a per-database basis
  • More information in the monitoring tables
  • Asynchronous cancellation of connections
  • Capability for ordinary users to monitor any of their own attachments as well as CURRENT_CONNECTION
More SQL Language Additions and Enhancements
  • Regular expression support using the SIMILAR TO predicate
  • ALTER COLUMN for computed columns
  • Autonomous transactions within a PSQL module (stored procedure, trigger or dynamically executable PSQL block)
  • Enhanced access to stored procedures in view definitions
  • Optional GRANTED BY or GRANTED AS for GRANT and REVOKE statements, enabling the grantor to be a user other than the CURRENT_USER (the default).
  • REVOKE ALL syntax to dispose of all privileges for a user or role at once
  • Support for WHERE SOME_COL = ? OR ? IS NULL predications
  • Removal of "reserved" status for all but a handful of keywords that are not reserved in the SQL standard
Data-handling Enhancements
  • New built-in functions for converting UUID CHAR(16) OCTETS strings to RFC4122-compliant format and vice versa
  • Ability to pass 32-bit and 64-bit integers as hexadecimal in numeric literal and X-prefixed binary string literal formats
API Additions
  • Statements now return an SQL-2003 standard 5-alphanumeric SQLSTATE completion code
  • New constant DSQL_unprepare available for use with isc_dsql_free_statement for efficient unpreparing of statements
Read / download release notes in HTML or PDF format.

Go to the Firebird 2.5 Downloads page.