meta data for this page
General notes
Firebird 2.1 is a full version release that builds on the architectural changes introduced in the v.2.0 series. Thanks to all who have field-tested the Alphas and Betas during 2007 and the first quarter of 2008 we have a release that is bright with new features and improvements, including the long-awaited global temporary tables, a catalogue of new run-time monitoring mechanisms, database triggers and the injection of dozens of internal functions into the SQL language set.
Patch release 2.1.6
This sub-release fixes bugs addressed since v. 2.1.5 and the security update of that sub-release that was issued in March, 2013. This latest release benefits from fixes to bugs detected not just in older sub-releases but also from bug-fixes and some improvements backported from the ongoing development of versions 2.5.x and the alpha v.3.
The bug-fixes are detailed in the accompanying release of the Cumulative Bug Fixes document. You can also download this document, or read it online, by visiting this resource page at the Firebird website.
Improvements
Notable improvements in this sub-release are:
- More details are reported for object in use errors.
By D. Yemanov. Details, see tracker ticket CORE-4386.
- Error information returned for index and constraint violations has been extended to include the problematic key value.
By D. Yemanov. Details, see tracker ticket CORE-3881.
- Some newer DSQL features were implemented in Embedded SQL (ESQL) by Dmitry Yemanov:
- UPDATE OR INSERT
Details, see tracker ticket CORE-4438.
- Support for the RETURNING
Details, see tracker ticket CORE-4437.
Firebird 2.1.5 security update 1
A remote stack buffer overflow was discovered in the Firebird Server during March, 2013 that allows an unauthenticated user to crash the server and opens a gate for remote code execution.
The vulnerability was patched by Alex Peshkov. All Firebird 2.1.x binaries released with build numbers 18946 or lower and all snapshot builds before 2013.03.08 have this vulnerability.
Patch release 2.1.5
This sub-release fixes bugs addressed since Patch release 2.1.4 in March, 2011. This latest release benefits from fixes to bugs detected not just in older sub-releases but also from bug fixes and some improvements backported from the ongoing development of versions 2.5.x and the alpha v.3.
The bug fixes are detailed in the accompanying release of the Cumulative Bug Fixes document. You can also download this document, or read it on-line, by visiting this resource page at the Firebird website.
Improvements
Two notable improvements in this sub-release are:
- The query optimizer now estimates the actual record compression ratio.
By D. Yemanov. Details, see tracker ticket CORE-3457.
- Performance of gbak during the record-insertion phase of restores has been improved.
By A. dos Santos Fernandes. Details, see tracker ticket CORE-3433.
Patch release 2.1.4
As usual with patch releases, this sub-release fixes bugs addressed since the previous patch release. During the 18 months that have passed since Firebird 2.1.3, this latest release takes benefits from some improvements deriving from the ongoing development of forward full release versions.
Additions in this sub-release
The Linux/sh4 (Renesas SH) platform is now supported.
By N. Iwamatsu, A. Peshkov. Details, see tracker ticket CORE-2655.
Improvements
- The optimizer now estimates the actual record compression ratio.
By D. Yemanov. Details, see tracker ticket CORE-3295.
- On Windows, the XNET_CONNECT_TIMEOUT in xnet.h has been made user-configurable.
By D. Yemanov. Details, see tracker ticket CORE-2769.
- Memory consumption of <page size> bytes for each temporary blob is now avoided.
By A. dos Santos Fernandes. Details, see tracker ticket CORE-1658.
- When checking privileges, more information is available about the table that a column belongs to.
By A. Peshkov. Details, see tracker ticket CORE-1234.
Bugs fixed
A large number of bug fixes has been performed. These are detailed in the first section of the accompanying Bug Fixes document for Firebird 2.1.x.
Patch release 2.1.3
Important: Firebird 2.1.3 corrects several bugs discovered soon after the release of v.2.1.2. This sub-release completely supersedes v.2.1.2, as well as v.2.1.1 and the original v.2.1. The previous 2.1.x releases should be replaced with v.2.1.3 once it is in full release.
Issues to note
- The default authentication method on Windows platforms is no longer mixed. It has been changed to native. For more information, see the notes on the configuration parameter Authentication.
- A fix in Firebird 2.5 that alleviates the “hogging” behaviour of the nBackup utility has been backported to this patch release. For more information, see the Improvement in v.2.1.3 note in the nBackup section of the Utilities chapter.
- By popular request, Dmitry Yemanov adds some helpful performance guidelines pertaining to the “internals” of the database monitoring system (a.k.a. MON$). The purpose is to assist those using this facility on heavily loaded systems to employ it in ways that provide the information you want while minimizing its impact on the end-user experience.
- Known Issue: At some point in v.2.1 development, a breakage occurred in the behaviour of TempDirectories, the configuration parameter by which you can configure a list of spaces where the engine can write the intermediate sets for sorting when it finds it does not have enough RAM available for these sets. Since v.2.1 (and still), although the engine will use the first space listed in TempDirectories, it fails to “hand on” sets to the any of the other configured spaces if the first space is exhausted. (Tracker reference CORE-2422).
Because of the impact on related code, this regression cannot be fixed for the v.2.1.3 patch release. The workaround for now is to ensure that you configure enough space in the single location that the engine can address.
- A regression issue surfaced with the implementation of the new gfix shutdown modes when shutdown is called with the -attach or -tran options. If connections are still alive when the specified timeout expires, the engine returns a message indicating that the shutdown was unsuccessful. However, instead of leaving the database in the online state, as it should, it puts the database into some uncertain “off-line” state and further connections are refused.
It affects all versions of Firebird up to and including v.2.0.5 and v.2.1.3, and all v.2.5 alphas, betas and release candidates. See Tracker ticket CORE-2846.
Patch release 2.1.2
Firebird 2.1.2 corrects a significant number of bugs that have shown up since the v.2.1 and 2.1.1 releases.
Important change to API DPB parameters: A long-standing, legacy loophole in the handling of DPB parameters enabled ordinary users to make connection settings that could lead to database corruptions or give them access to SYSDBA-only operations. The loophole has been closed, a change that could affect several existing applications, database tools and connectivity layers (drivers, components). Details are in Chapter 3, Changes to the Firebird API and ODS.
It also includes three minor improvements that have come from user requests:
- Requested in Tracker CORE-2243 was an improvement to reduce the duplication and confusion of the Microsoft Visual C 8 runtime assembly rules for XP, Server2003 and Vista platforms, that have wracked the installation of the v.2.1.x Windows packages so far. Vlad Khorsun has met that request for this sub-release. For more information, refer to Windows installation section of the accompanying Firebird 2 Migration & Installation document.
- Dmitry Yemanov has improved database monitoring to enable a non-SYSDBA user to monitor all of its own attachments, not just the one which is that user's CURRENT_CONNECTION. This improvement was requested in Tracker CORE-2233. See also Monitor multiple attachments in the Administrative features chapter.
- Dmitry has addressed a complaint about slowness in executing cross joins across three or more tables, particularly when one or more tables are empty. See the notes here and Tracker item CORE-2200.
Patch release 2.1.1
Firebird 2.1.1 is a patch release that corrects a number of bugs, regressions or shortcomings that were reported following the v.2.1 final release. Included are fixes for the problems that made the nBackup utility unserviceable in that release, some changes to improve the new database monitoring feature's handling of a heavily loaded system and other changes to address complaints of slowness in some DML operations. For details, refer to the latest version of the Bugfix document accompanying these notes.
Important: It was discovered that, until now, Firebird's security database had been created with Forced Writes OFF. Like any database with FW disabled, the security database is vulnerable to corruption in an environment where the power supply is not guaranteed to be stable. The v.2.1.1 sub-release and all future builds rectify this situation and create security2.fdb with FW ON.
If you are importing an existing security database from any older release, it is recommended that you use the gfix utility to activate Forced Writes.
Note, however, that setting Forced Writes ON in any database on a Firebird 1.5.x or lower version server on Linux will have no effect. FW does not work on Linux in these lower Firebird servers.
About these notes
Editions of the v.2.1 release notes are merged with the notes developed over the course of developments and releases from v.2.0 to this v.2.1.x release. Note that the separate v.2.0.x documentation is not distributed with the v.2.1 binaries.
The Installation, Migration/Compatibility and Bug Fixes sections have been removed from the release notes document and are now distributed in the $fbroot$/doc/ subdirectory as separate documents. Like the release notes, they cover both the v.2.0.x and v.2.1 release series.
To help smoothe the transition from older versions, it will be essential to study both the release notes and the migration/installation guide thoroughly. We encourage you to take your time testing this release with your applications and stressing it with real-world data and loads. Some legacy queries might not work, or might not perform as they did previously, due to a number of logic corrections that have been implemented. Temporary workarounds for legacy applications in such situations are available in some cases. We prefer that you research such issues in the documentation before you consider posting support questions or bug reports about them.
From the QA team
Although this is a designated stable release, intended for production environments, it does introduce much that is new. We encourage you to see what you can achieve with these new features and let us know about any deficiency, sooner rather than later.
You are enthusiastically invited to post to the firebird-devel list good descriptions of any bugs or beasts you encounter, or post bug reports directly to our Issue Tracker. Regular sub-releases will follow, whose quality and timeliness depend heavily on the reports that come in “from the field”.
back to top of page]]
Bug reporting
- If you think you have discovered a new bug in this release, please make a point of reading the instructions for bug reporting in the article How to Report Bugs Effectively, at the Firebird Project website.
- If you think a bug fix hasn't worked, or has caused a regression, please locate the original bug report in the Tracker, reopen it if necessary, and follow the instructions below.
Follow these guidelines as you attempt to analyse your bug:
- Write detailed bug reports, supplying the exact build number of your Firebird kit. Also provide details of the OS platform. Include reproducible test data in your report and post it to our Tracker.
- You are warmly encouraged to make yourself known as a field-tester by subscribing to the field-testers' list and posting the best possible bug description you can.
- If you want to start a discussion thread about a bug or an implementation, please do so by subscribing to the firebird-devel list. In that forum you might also see feedback about any tracker ticket you post regarding this release.
Additional documentation
You will find README documents for many of the new v.2 and v.2.1 features in your installation kit, installed by default in the /doc/ sub-directory.
An automated Release Notes page in the Tracker provides access to lists and links for all of the Tracker tickets associated with this version and its various builds. Use this link.
For your convenience, the many bug-fixes and regressions fixed during the development of Firebird 2.0.x and 2.1 are listed in descending chronological order in the separate Bug fixes document.