Version history for Firebird
<<Back to software description
Changes for v2.5.0.26074 - v2.5.1.26349 RC 1
- http://web.firebirdsql.org/download/prerelease/rlsnotes/rlsnotes251rc1.html
Changes for v2.5.0 RC 2 - v2.5.0.26074
- 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
Changes for v2.1.2 - v2.1.3
- This patch release includes no new functionality but the following issues should be noted:
- The default authentication method on Windows platforms is no longer mixed. It has been changed to native. For more information, see the release 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 of the release notes.
- There are no v.2.1.3 non-NPTL builds for 32-bit Linux Superserver and no more will be made. If you are still using a 2003 or earlier Linux distribution that does not support the New POSIX Threading Model then you will need to upgrade your OS to use Firebird 2.1.3 and any future Superserver releases.
- By popular request, Dmitry Yemanov added some helpful performance guidelines pertaining to the internals of the database monitoring system (a.k.a. "MON$") to the release notes.
- Known issue :: 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 could not 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.
Changes for v2.1.1 - v2.1.2
- Fixed unregistered bug. Issue with @prefix@ in aliases.conf on MacOS. Contributor(s): Paul Beach
- Bugfix CORE-2329. Significant performance degradation in v2.1.2 RC1. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2326. Access violation when committing a new view while trigger on rdb$relations is in place. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2271. GFIX reports the database ownership error way too late. Contributor(s): Alex Peshkov
- Bugfix CORE-2266. NBACKUP database locking not working correctly. Contributor(s): Vlad Horsun
- Bugfix CORE-2242. The engine incorrectly fills BPB. Contributor(s): Alex Peshkov
- Bugfix CORE-2241. Wrong number of records fetched when using index. Contributor(s): Vlad Horsun
- Bugfix CORE-2234. Sometimes terminated worker processes in Classic are still considered being alive. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2227. Problem with column names with accents and triggers. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2223. Multiple bugs in GBAK when working with ACLs. Contributor(s): Alex Peshkov
- Bugfix CORE-2222. AV in the engine when storing text blob with transliteration blob filter. Contributor(s): Vlad Horsun
- Bugfix CORE-2221. Attach to any DB fails after modification of access rights of security2.fdb from 0660 to 0666. Contributor(s): Paul Beach
Alex Peshkov - Bugfix CORE-2209. Very slow processing of the monitoring requests under high load and blocking other activity during that time. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2184. Superserver hangs when multiple clients create tables simultaneously. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2182. It's impossible to drop an existing UDF which name overlaps with a new built-in function name. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2173. Server crashes after abnormal disconnect with open ExecuteStatement. Contributor(s): Alex Peshkov
- Bugfix CORE-2171. Column MON$CALLER_ID of table MON$CALL_STACK reports invalid IDs. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2157. fbclient does not have the libpthread dependency. Contributor(s): Alex Peshkov
- Bugfix CORE-2151. Temporary directory path with spaces in the middle is wrongly truncated from the rightmost space. Contributor(s): Vlad Horsun
- Bugfix CORE-2137. Database restore may crash the server when DummyPacketInterval is set. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2118. UPDATE OR INSERT with subquery used in the MATCHING part doesn't insert record. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2117. Incorrect ROW_COUNT value with indexed retrieval and subquery. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2108. Error "get_free_slot() failed" reported. Contributor(s): Vlad Horsun
- Bugfix CORE-2098. View over global temporary table. Contributor(s): Vlad Horsun
- Bugfix CORE-2093. Superserver startup fails on Solaris 64-bit. Contributor(s): Alex Peshkov
- Bugfix CORE-2087. RemoteBindAddress = hostname instead of IP address is silently ignored and server binds to all interfaces (nothing in either firebird.log or syslog). Contributor(s): Alex Peshkov
- Bugfix CORE-2084. Services API security problem. Contributor(s): Alex Peshkov
- Bugfix CORE-2078. Suboptimal join plan if there are selective non-indexed predicates involved. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2077. Signal TERM in Classic Server 2.1 for Linux. Contributor(s): Alex Peshkov
- Bugfix CORE-2073. Expression indices bug: incorrect result for the inverted boolean. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2065. Client library is not in default dynamic loader search paths. Contributor(s): Paul Beach
- Bugfix CORE-2055. Buffer overflow in fbclient. Contributor(s): Alex Peshkov
- Bugfix CORE-2053. Computed expressions may be optimized badly if used inside the RETURNING clause of the INSERT statement. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2050. Performance regression: too many semop() system calls. Contributor(s): Vlad Horsun
- Bugfix CORE-2049. Performance regression: too many sigprocmask() system calls. Contributor(s): Alex Peshkov
- Bugfix CORE-2045. References to non-existent system fields with blr_field are not resolved to NULL. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2039. Domain-level CHECK constraints wrongly process NULL values. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2033. Unresolved symbol _Unwind_GetIP in the client library. Contributor(s): Alex Peshkov
- Bugfix CORE-2031. NULL in the first record in a condition on RDB$DB_KEY. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2026. Problem with a read-only marked database and Firebird 2.1. Contributor(s): Vlad Horsun
- Bugfix CORE-2017. I/O statistics for stored procedures is not accounted in monitoring tables. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2008. NOT NULL procedure parameters. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-2000. Lock manager may report false deadlocks under high load. Contributor(s): Vlad Horsun
- Bugfix CORE-1984. Lock manager may report false deadlocks if one of deadlock participants waits with permitted timeout. Contributor(s): Vlad Horsun
- Bugfix CORE-1983. Out of memory condition in OS causes SEGV. Contributor(s): Alex Peshkov
- Bugfix CORE-1982. Simultaneous backups or restores could interfere each with other using the Services API. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1972. Non-SYSDBA user can change FW mode of a database. Contributor(s): Alex Peshkov
- Bugfix CORE-1970. Lock conversion denied (215) error may occur. Contributor(s): Vlad Horsun
- Bugfix CORE-1963. Possible server crash on commit when granting/revoking privileges from multiple connections simultaneously. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1962. Incorrect extraction of MILLISECONDs. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1958. Bugcheck 179 (decompression overran buffer) when attempting to update the same record multiple times. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1957. Long ACLs truncated. Contributor(s): Alex Peshkov
- Bugfix CORE-1944. Monitoring tables contain wrong data on big-endian machines. Contributor(s): Alex Peshkov
- Bugfix CORE-1930. Possible AV in engine if procedure was altered to have no outputs. and dependent procedures was not recompiled. Contributor(s): Vlad Horsun
- Bugfix CORE-1926. MON$DATABASE returns outdated transaction counters. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1922. Trusted authentication doesn't work with the Services API. Contributor(s): Alex Peshkov
- Bugfix CORE-1919. Memory corruptions in EXECUTE STATEMENT may crash the server. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1909. Garbage in firebird.log on linux/amd64. Contributor(s): Alex Peshkov
- Bugfix CORE-1843. GBAK with service manager doesn't allow path with space. Contributor(s): Alex Peshkov
- Bugfix CORE-1596. Bug in CsConvert::convert. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1506. Server crash with isc_dsql_execute_immediate and zero length string. Contributor(s): Alex Peshkov
- Improvement CORE-2243. Make Firebird distribution on Windows easier . Contributor(s): Vlad Horsun
- Improvement CORE-2233. Allow non-SYSDBA users to monitor not only their current attachment but other their attachments as well. Contributor(s): Dmitry Yemanov
- Improvement CORE-2200. Extremely slow executing a cross join of 3 tables in Firebird 2.x. Contributor(s): Dmitry Yemanov
- Bugfix CORE-2329. Significant performance degradation in v2.1.2 RC1. Contributor(s): Dmitry Yemanov
Changes for v2.1.0 - v2.1.1
- Bugfix CORE-1890 Database monitoring process may hang under high load. Contributor(s): Dmitry Yemanov
Vlad Horsun - Bugfix CORE-1887 Newly created databases have wrong access rights. Contributor(s): Alex Peshkov
- Bugfix CORE-1885 Server crashes after CREATE COLLATION statement on Posix 64-bit. Contributor(s): Adriano dos Santos Fernandes
Alex Peshkov - Bugfix CORE-1884 Random crashes using stored procedures with expressions as default values of input parameters. Contributor(s): Vlad Horsun
- Bugfix CORE-1881 Database monitoring may crash the server or badly affect its page locking logic. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1876 Incremental backups with NBACKUP are broken. Contributor(s): Nickolay Samofatov
- Bugfix CORE-1875 Error/crash on script with CURRENT_DATE. Contributor(s): Vlad Horsun
- Bugfix CORE-1868 Server crashes in isc_dsql_free_statement(). Contributor(s): Alex Peshkov
- Bugfix CORE-1864 SELECT operator does not work in ISQL (big-endian hosts only). Contributor(s): Alex Peshkov
Paul Beach (pbeach at ibphoenix.com) - Bugfix CORE-1859 Arithmetic overflow or division by zero has occurred in MAX function. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1854 Value of CURRENT_USER may be not in upper case when using Unix OS authentication. Contributor(s): Alex Peshkov
- Bugfix CORE-1851 Applications using fbembed hang during the process termination if there are open connections left. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1845 Some standard calls show server installation directory to regular users. Contributor(s): Alex Peshkov
- Bugfix CORE-1844 Valgrind often reports "Conditional jump or move depends on uninitialised value(s)" in check_status_vector(). Contributor(s): Alex Peshkov
- Bugfix CORE-1841 If some VIEW used derived tables and long table names\aliases, it is possible to overflow RDB$VIEW_RELATIONS.RDB$CONTEXT_NAME. Contributor(s): Vlad Horsun
- Bugfix CORE-1840 Small memory leak per every DDL execution. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1839 Server crashes sorting by field, calculated using a recursive CTE. Contributor(s): Alex Peshkov
- Bugfix CORE-1838 SET STATISTICS INDEX on index of GTT may wrongly change index id by maximum available number for the database page size. Contributor(s): Vlad Horsun
- Bugfix CORE-1830 Possible index corruption with multiply updates of the same record in the same transaction and usage of savepoints. Contributor(s): Vlad Horsun
- Bugfix CORE-1826 changeRunUser.sh and restoreRootRunUser.sh scripts does not change run user in init.d scripts. Contributor(s): Alex Peshkov
- Bugfix CORE-1819 More efficient solution for CORE-1300 (Lower level index pages is missed from parent page). Contributor(s): Vlad Horsun
- Bugfix CORE-1817 The RelaxedAliasChecking parameter has no effect concerning RDB$DB_KEY. Contributor(s): Vlad Horsun
- Bugfix CORE-1812 Index is not used for some date/time expressions in dialect 1. Contributor(s): Dmitry Yemanov
- Bugfix CORE-1810 Issue with usernames containing the '.' character. Contributor(s): Alex Peshkov
- Bugfix CORE-1807 fbserver is assigned to a non-canonical port after abnormal termination. Contributor(s): Alex Peshkov
- Bugfix CORE-1802 Wrong maximum key size using PXW_CSY collation. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1798 RDB$DB_KEY evaluates to NULL in INSERT ... RETURNING. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1793 Server crashes preparing a query with unused parametrized CTE. Contributor(s): Vlad Horsun
- Bugfix CORE-1781 LIKE, STARTING WITH and CONTAINING may incorrectly return true. Contributor(s): Adriano dos Santos Fernandes
- Bugfix CORE-1775 Bad performance of the security checking during prepare. Contributor(s): Vlad Horsun
- Bugfix CORE-1731 Sometimes engine may "hang" using 100% CPU load and no IO activity for the few minutes. Contributor(s): Vlad Horsun
- Bugfix CORE-1421 SuperServer can't shutdown immediately after shutdown request after failed login attempt. Contributor(s): Alex Peshkov
- Bugfix CORE-1357 DummyPacketInterval mechanism broken. Contributor(s): Dmitry Yemanov
- Improvement CORE-1889 Security database has FW mode OFF, making it corrupted under some circumstances. Contributor(s): Alex Peshkov
- Bugfix CORE-1887 Newly created databases have wrong access rights. Contributor(s): Alex Peshkov
Changes for v2.1 RC 2 Build 17755 - v2.1.0
- Bugfix CORE-1820 Setup program doesn't detect a running server Contributor(s):Paul Reeves <preeves at ibphoenix.com> Dmitry Yemanov <dimitr at firebirdsql.org>
- Bugfix CORE-1818 Temporary files used for temporary page spaces are not deleted after use on Posix platform Contributor(s): Alex Peshkov <peshkoff at mail.ru>
- Bugfix CORE-1680 "gsec display" only shows some first users when there are many users (>50) in the security database Contributor(s): Alex Peshkov <peshkoff at mail.ru>