  **************
  * v1.5.2
  **************

    * Fixed v1.0 regression.
        Blobs containing more than 65535 segments are not backed up by GBAK properly
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed ISQL problems
        1) statement terminators and '--' comments are no longer recognized in multi-line literals
        2) tab characters are no longer translated to spaces in literal strings
      Contributor(s):
        Dimitry Sibiryakov <sd at topol.udm.net>
        Claudio Varderrama <cvalde at usa.net>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bug SF #1065511
        XP SP2 slow to connect to Linux server
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Possible server crash when execute_immediate is used to release or rollback transaction to non-existing savepoint
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Server locked when trying to restore database at location, prohibited in firebird.conf.
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed v1.5.0 regression.
        Fix bugs in distribution of conjunctions to components of outer joins by optimizer.
        Wrong outer join results could have been returned. The fix also makes engine use better plans for outer joins in a number of cases.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed 1.5.1 optimiser bug.
        Fix bug with unneeded fetches in joined relations when "OR" is used on base relation.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #728839.
        Left join defeats UDF by mangling a null descriptor.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed bug SF #544132.
        UDF with NULL input parameter.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed bug SF #1045970.
        CPU 100% with FB 1.5.1 (when events are used and client network connection is terminated)
      Note:
        Related to the previous events bugfix introduced in v1.5.1
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed v1.5.0 regression.
        Failed UDF name is never reported in the server log
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed v1.5.1 regression.
        1.5.0 was doing exit(3) on critical errors on Windows. No way you could use JIT debugger to analyse problems in your UDF routines
        1.5.1 was calling debugger always and this introduced problem with automatic restarts of server
        1.5.2 now calls debugger only if you set BugcheckAbort configuration file option to 1
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Error trying to delete from a naturally updatable view containing computed expressions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Numeric datatypes represented by floating-point variables are processed incorrect in EXECUTE STATEMENT
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Memory leak when a query contains both GROUP BY and DISTINCT and result set is empty
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug.
        Server leaks resources when an exception is thrown from the selectable stored procedure
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Problem with deadlock detection when pessimistic locking (WITH LOCK syntax) is used
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Server crashes when NULL is passed to EXECUTE STATEMENT ... INTO
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Server log is polluted with sigpipe errors when running SuperServer on unix
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed unregistered bug.
        100% CPU usage by the cache_writer thread in some rare cases
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug.
        Server crashes with complex (lots of streams used in a sort/merge) queries
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Possible server crash in op_connect handler
      Contributor(s):
        Aleksey Karyakin <karyakin at cmpmail.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Server blocking when events are used with NAT gateways
      Contributor(s):
        Chris Waters <chris at waters.co.nz>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Sweeper doesn't release its lock in the case of database shutdown
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug.
        Least significant bits of value are lost when rounding floating-point value to int/int64 value
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug.
        Backported fixes for a few memory access problems detected when testing HEAD under Valgrind
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Standard UDF library registration script changed
        Declarations of string manipulation routines in ib_udf.sql are altered to accept strings with lengths up to 255 characters
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Run-time errors in 64-bit SuperServer builds on platforms such as Linux/AMD64/NPTL which use high-order bits of 64-bit thread ID
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        CURRENT_TIMESTAMP yielding unpredictable results on 64-bit platforms
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed v1.5.1 regression
        Broken support for multi-dimensional array fields
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed v1.5.1 regression
        Plans for selectable stored procedures containing multiple FOR loops reported in reverse order
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Performance improvement
        Resource lists to check permissions are now computed on the fly as needed. This significantly reduces memory and CPU time consumption for complex schemas
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>
        Daniel Urban <daniel at sente.pl>

    * POSIX build and packaging change
        1) Work around bugs in GCC 3.3.2 and 3.3.3
        2) Support GCC 3.4 build
        3) Limit exports of Firebird libraries using version script
        4) Link client library and UDF libraries with POSIX threads. This cures problems with single-threaded hosts like PHP linking with libfbclient.so from CS packages
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bug SF #1027636
        The problem with output of Linux SuperServer startup script
      Contributor(s):
        Dale Mullins <dale_mullins at users.sourceforge.net>

    * POSIX build and packaging change
        Build system is extended to generate source bundles without autoconf dependency
      Contributor(s):
        Erik S. LaBianca <labiance at users.sourceforge.net>

    * Fixed bug SF #1063254
        EXISTS or SINGULAR predicate burried inside aggregate-functions caused wrong detection/mapping for aggregate queries.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

  **************
  * v1.5.1
  **************

    * Fixed unregistered bug.
        Fix 100% CPU consumption possible when events are used
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed v1.5 bug.
        Fix QLI crash when variables are used
      Contributor(s):
        Vladimir Tsvigun <praktik at hm.ukrtel.net>

    * Fixed v1.5 bug.
        Import (unmodified) libedit-2.6.9 to provide line editing capabilities for isql. This fixes crashes while long lines are entered
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed optimiser bug.
        Fix bug with FULL JOIN and IS NULL in where clause.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed v1.5 bug.
        Fix memory leak in cpl applet.
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed v1.5 bug.
        Fixed problem with system log overflow in case of missing aliases.conf
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed v1.5 bug.
        Problem with /etc/init.d/firebird modification.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        GSTAT doesn't work with remote connection strings.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed v1.5 limitation.
        Allowed Services API in CS builds.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bug SF #750659.
        Broken soname for libib_util.so.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Charset improvement.
        Allowed using NONE as a fully transparent charset everywhere.
      Contributor(s):
        Jim Beesley <jim.beesley at sas.com>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Added new collation.
        LT_LT for ISO8859_13 charset (Lithuanian language).
      Contributor(s):
        Jonas Jasas Jr. <jon at stekas.com>

    * Debugging enhancement.
        Added config-driven ability to abort server process in the case of bugchecks or structured exceptions (to produce a core dump).
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed v1.5 bug.
        1) Problem with IS NULL used in outer joined views.
        2) Use MERGE instead of JOIN when indices are not applicable for a join.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed v1.5 bug.
        Procedure parameters are extracted incorrectly by ISQL.
      Contributor(s):
        Dimitry Sibiryakov <sd at topol.udm.net>

    * Fixed unregistered bug.
        -n option of GBAK is ignored for NOT NULL contraints.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed bug SF #750659.
        Metadata backup and generator values.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed unregistered bug.
        Memory leak in the Services API.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Interdependent views cannot be restored properly.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed v1.5 bug.
        Wrong mapping of COUNT(*) in a HAVING clause when used with IN, ANY/SOME, ALL.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #919246.
        Exception/freeze in gds32.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bug SF #918653.
        NULLS FIRST doesn't work in unions.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bug SF #750664.
        Problems with generators in a read-only database.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Memory leak in isc_database_info().
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed v1.5 bug.
        Restore performance regression.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed bugs SF #627057, #922602.
        Wrong invariant dependencies tracking logic.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Server crashes on NULL in LIKE ESCAPE.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Solved a number of problems with the win32 lock manager.
        Problems manifested themselves as low performance when several operations were waiting on locks simultaneously.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug.
        Length of string types containing binary data (OCTETS) is determined incorrectly in UDFs.
      Contributor(s):
        Fred Polizo Jr. <fpolizo at users.sourceforge.net>

    * New port.
        Introduced AMD64 port.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed v1.5 bug.
        Memory leak in EXECUTE STATEMENT.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed v1.5 bug.
        Problem with searching firebird.conf in $FIREBIRD on win32.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed bug QC #7449.
        UDF arguments are prepared/optimized twice.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Generator pages are not flushed properly.
      Contributor(s):
        Oleg LOA <loa at mail.ru>
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug QC #7496.
        Memory leak in SPs when aggregation errors are handled in a WHEN block.
      Contributor(s):
        Oleg LOA <loa at mail.ru>

    * Fixed SF bug #784121.
        Expression evaluation is not supported in LEFT JOIN.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed unregistered bug.
        Server crashes when views and selectable procedures are intermixed.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved win32 installation utilities.
        Added a service description string to the services configuration info.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

    * Fixed v1.5 bug.
        Memory corruptions in the embedded DSQL API implementation.
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

  **************
  * v1.5 Final
  **************

    * None

  **************
  * v1.5 RC 9
  **************

    * Various installation fixes and improvements.
      Contributor(s):
        Mark O'Donohue <mark.odonohue at cytopia.com.au>
        Alexander Peshkoff <peshkoff at hotmail.ru>
        Nickolay Samofatov <skidder at bssys.com>
        Paul Reeves <preeves at ibphoenix.com>
        Olivier Mascia <om at tipgroup.com>

    * Fixed RC8 bug.
        Streamed blobs are restored incorrectly.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC8 bug.
        Restored support for new BLR codes in the built-in BLR blob filter.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC8 bug.
        Server crashes or wrong results related to views/SPs referenced from different contexts.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Upgraded examples.
        Example database and scripts are upgraded to SQL dialect 3.
      Contributor(s):
        Helen Borrie <helebor at tpg.com.au>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC8 bug.
        Record format is not updated properly in some cases.
      Contributor(s):
        Eugeny Kilin <john at citycard.izhnet.ru>

    * Improved win32 installation utilities.
        Link instreg, instsvc and instclient with C/C++ runtime statically to avoid dependencies from MS libraries.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

    * Fixed RC8 bug.
        Changed isc_get_client_version() API to return ISC (i.e. compatibility) version info.
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed unregistered bug.
        Possibility of SEGV in ISQL when exiting w/o connect or create database.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC8 bug.
        Fixed a couple of threading issues in the client library.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC8 bug.
        Computed fields evaluate to NULL in triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC8 bug.
        Restored valid user permissions for the security database.
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed bug SF #211781.
        Win32: Server don't close thread handles.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC8 bug.
        Fixed instclient.exe to generate correct file version info for gds32.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

  **************
  * v1.5 RC 8
  **************

    * C/C++ client interface version added
        FB_API_VER defined to 15 for Firebird 1.5 in ibase.h
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Server crash when closing a blob after a transaction is finished.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Server crash in some cases of sort finilization.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Oleg LOA <loa at mail.ru>

    * Fixed RC7 bug.
        Wrong behaviour of CreateInternalWindow flag in the service mode.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC7 bug.
        Wrong pathname resolution in the database creation.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Server crash when GBAK is running as a service in multi-volume operations.
      Contributor(s):
        Oleg LOA <loa at mail.ru>

    * Fixed unregistered bug.
        Server crash when NULL is evaluated in the BETWEEN predicate.
      Contributor(s):
        Oleg LOA <loa at mail.ru>

    * New win32 installation tool.
        Added instclient.exe tool as a replacement for the previous instgds.exe.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

    * Fixed RC7 bug.
        Fixed some race conditions in the server initialization code.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC7 bugs.
        Some packaging/installation issues on Linux.
      Contributor(s):
        Mark O'Donohue <mark.odonohue at cytopia.com.au>

    * Fixed unregistered bug.
        Charset problem when mixing none (constants)/ascii charset and other character-sets in concatenation.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC7 bug.
        Forcedly set SO_KEEPALIVE flag for POSIX CS connections independently of what was given by xinetd/inetd to us.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

  **************
  * v1.5 RC 7
  **************

    * Fixed unregistered bug.
        Server crashes when explicit PLAN with MERGE and JOINs is specified.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        Possible issues in the metadata cache.
      Contributor(s):
        Eugeny Kilin <john at citycard.izhnet.ru>

    * Fixed RC6 bug.
        Problem in the cyclic metadata dependency handling.
      Contributor(s):
        Eugeny Kilin <john at citycard.izhnet.ru>
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC6 bug.
        Solved problems with global new/delete operators in host applications using STL.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Reject user names with non-printable characters in GSEC.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Failure of GROUP BY <constant> operation.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        Unnamed columns when some functions/operations are used in the select list.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * Fixed RC6 bug.
        Wrong index utilization in some cases.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC6 bug.
        Server crash with explicit plans used in subqueries, when outer aggregation is performed.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * GSTAT enhancement.
        Command-line switches "-r" and "-t" are now supported via the Services API.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC6 bug.
        Removed handle leaks in the cached security database connection.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC6 bug.
        Long prepare time for explicit plans in complex joins.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security fix.
        Verify secondary database pathnames against DatabaseAccess entry of firebird.conf.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC6 bug.
        Server crashes in some cases of savepoints usage.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Renamed the registry key.
        1) The registry location is changed from "HKLM\SOFTWARE\FirebirdSQL\Firebird\CurrentVersion" to "HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances".
        2) The server path location is changed from "RootDirectory" to "DefaultInstance" for consistency with future versions.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

    * Enhanced win32 guardian.
        Added switch to start Classic server as an application.
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed RC6 bug.
        1) Fixed various issues with the win32 CS lock manager.
        2) Enabled automatic lock manager pool resizing.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Possible server crash after unsuccessful index creation.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC6 bug.
        Incorrect NULLs handling in unique indices.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Added new collation.
        ISO_HUN for ISO8859_2 charset (Hungarian language).
      Contributor(s):
        Sandor Szollosi <ssani at freemail.hu>

    * Fixed RC6 bug.
        CURRENT_ROLE isn't cleared for an invalid role specified.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Problems with parsing remote paths in GFIX (in-limbo transactions information).
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC6 bug.
        Problems with security.fdb access.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

  **************
  * v1.5 RC 6
  **************

    * Fixed unregistered bug.
        Fixed minor inconsistencies in charsets naming.
      Contributor(s):
        Peter Jacobi <pj at walter-graphtek.com>

    * Fixed unregistered bug.
        GSTAT crash in some switch combinations.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Fixed broken savepoint handling in BREAK/LEAVE/EXIT.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed optimizer.
        1) Prefer single indices instead of composite ones.
        2) Prefer full-match unique indices.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixes and enhancements to win32 instreg / instsvc install tools.
        See their help output for details.
      Contributor(s):
        Olivier Mascia <om at tipgroup.com>

    * Fixed unregistered bug.
        Improved OCTETS output in ISQL.
      Contributor(s):
        Peter Jacobi <pj at walter-graphtek.com>

    * Fixed RC5 bug.
        Fixed BREAK/LEAVE incompatibility with FOR EXECUTE STATEMENT loops.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC5 bug.
        Bug with expressions without fields inside aggregate-functions.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC5 bug.
        EXECUTE STATEMENT returning BLOB datatype.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC5 bug.
        Various issues with server-side database aliases. In particular, restore support for relative paths in local connection strings
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC5 bug.
        Possibly incorrect stream mapping in DSQL parser
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC5 bug.
        Make COALESCE/CASE output descriptor more SQL-standard.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC5 bug.
        Engine crash during execution of DDL altering long recursive procedure->trigger chains
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC5 bug.
        Thread-safety issues in the SS client library and Windows CS listener process
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC5 bug.
        Fix more Windows CS lock-ups. It passes heavy stress-tests now, seems to be stable
      Note:
        Automatic lock table resizing has been disabled for this target. You may need to adjust LockMemSize parameter if you experience "lock manager out of room" errors or failures during database restore
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC5 bug.
        Rollback unplanned change of isc_que_events API function parameter types
      Contributor(s):
        Dimitry Sibiryakov <sd at topol.udm.net>

    * Fixed RC5 bug.
        Engine crashes if IO error happens early during database startup in SS builds
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Maximum number of indices per table increased
        Backported appropriate changes from 1.0.3 tree
      Notes:
        1) Old maximum number of indices was 64, new max value is (DB_PAGE_SIZE/16)-2
        2) When actual number of indices for a particular table exceeds 256 engine behavior may be unstable
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed bug SF #721792
        Long runnning connection causes mem leak in OS kernel device
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

  **************
  * v1.5 RC 5
  **************

    * Fixed RC4 bug.
        Incorrect GDSCODE evaluation in the case of user-defined exceptions.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bugs SF #774987, #775003.
        1) ltrim('') and rtrim('') return NULL; rtrim forgets 1st char
        2) log(x, y) in fact returns log(y, x)
      Contributor(s):
        Paul Vinkenoog <paul at vinkenoog.nl>
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC4 bug.
        Incorrect nested aggregates tracking.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC4 bug.
        Various lockups in win32 CS.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Server crash caused by lost transaction context.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Explicit locking change.
        Make FOR UPDATE and WITH LOCK independent subclauses.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Server crash for any combination of sub-select & between.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Occasional server crash on plan generation.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v1.5 RC 4
  **************

    * Fixed RC3 bug.
        Server crash on some metadata operations.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC3 bug.
        Fixed restore of backup file without required UDF(s).
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC3 bug.
        Metadata cache issues related to CREATE OR ALTER statement.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug.
        Broken exception handling in SPs/triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #736318.
        "<value> STARTING WITH <field>" fails when using indices.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug.
        When one merge was done no other merge could be generated by the optimizer.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC3 bug.
        Various tempfile-related issues.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug.
        Wrong console input processing in ISQL.
      Contributor(s):
        Tomas Skoda <tomas.skoda at jdsoftware.sk>.

    * Fixed unregistered bug.
        Non-existent deadlock is raised after execution of pre-(update/delete) triggers.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Parser improvement.
        Make INSERTING/UPDATING/DELETING keywords non-reserved.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Error reporting improvements.
        Added new (more specific) error messages for some of v1.5 changes.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Arno Brinkman <firebird at abvisie.nl>
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC3 bug.
        Disabled explicit SELECT locking for non-trivial queries (aggregates, SPs, joins, unions).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Nickolay Samofatov <skidder at bssys.com>

    * Installation improvement / security fix.
        Added -login switch to instsvc allowing to install FB service as non-localsystem account.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC3 bug.
        1) Made savepoints SQL99-compliant.
        2) Fixed bug related to exception handling when savepoints are used.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug.
        'no current record for fetch operation' error for queries where a MERGE was done and/or SP/view/aggregates/unions were used together.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Re-introduced trimming of VARCHAR fields in the remote protocols.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Random server crash in the case of big queries being prepared.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug regarding API compatibility.
      Contributor(s):
        Dimitry Sibiryakov <sd at topol.udm.net>

    * Fixed RC3 memory leaks.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 problem.
         Server crash on restore (caused by GCC 3.2 bug).
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>
        Dimitry Sibiryakov <sd at topol.udm.net>

  **************
  * v1.5 RC 3
  **************

    * Fixed RC2 bug.
        Server crash on restore of some databases.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Configuration improvement.
        Make path management in firebird.conf to follow the OS requirements.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Wrong UDF arguments of types DATE/TIME (dialect 3).
      Contributor(s):
        Oleg LOA <loa at mail.ru>

    * Fixed unregistered bug.
        Possible reference integrity violation.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 installation issues on Linux.
        1) Permissions problem for firebird.conf (SF #745090).
        2) Generate aliases.conf on install.
        3) Use rpmbuild to create packages.
      Contributor(s):
        Erik S. LaBianca <labiance at users.sourceforge.net>
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC2 bug.
        Incorrect handling of numeric NULLs as EXCEPTION or EXECUTE STATEMENT arguments.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bugs.
        1) UDF linkage problems on Linux.
        2) Allow C programs use our shared libraries on POSIX platforms.
        3) Make libfbembed.so compatible with third-party tools such as Kylix.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Allow easy adjustment of LockSemCount on POSIX platforms. No need to use gds_drop or reboot machine to make new setting take effect
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Parser improvement.
        Make FIRST/SKIP keywords non-reserved.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC2 bug.
        Problems with fbclient.dll on Win9x.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC2 bug.
        Optimizer crash when all indices of a table had the selectivity of 1.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC2 bug.
        Various issues with the lock manager.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Wrong attachment reference after exception in PSQL.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        BREAK/LEAVE and EXIT statements are now available for usage in triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bug.
        Server crash when NULL is used as EXECUTE STATEMENT argument.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC2 bug.
        Server crash when explicit pessimistic locks are used from PSQL.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

  **************
  * v1.5 RC 2
  **************

    * Fixed unregistered bug.
        Possible index corruptions during garbage collection.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Solved problems with temporary files management:
        1) Security hole on all POSIX platforms except FREEBSD/OPENBSD related to mktemp usage (possible DoS attacks or privileges elevation)
        2) Only 27 unique filenames generated on win32 (which could cause unpredictable behavior in SS builds)
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed RC1 bug.
        Various server crashes in the remote protocol code.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Event manager change.
        Disabled usage of definite aux port in CS builds due to known issues.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Enabled aggregate functions from different parent context to be used inside another aggregate function.
      Example:
        SELECT MAX((SELECT COUNT(*) FROM RDB$RELATIONS)) FROM RDB$RELATIONS
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC1 bug.
        Aggregates from a different parent context were not allowed in the HAVING clause.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        Possible crashes on disconnect when event notification is used.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Service manager changes.
        Features of GSTAT/GSEC are not available via Services API in win32 CS (until v1.6 release).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Wrong record statistics is reported when operation fails due to some reason.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Problems with the service manager being attached from different clients simultaneously.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Various server crashes when any remote protocol is used.
      Note:
        IMPORTANT!!! - Don't forget to update the client library, because this bug existed in both server and client.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        stdin/stdout cannot be used to redirect console I/O in win32 build of GBAK.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC1 bug.
        Server crash in EXECUTE STATEMENT combined with exception handling block.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Broken lock table resizing in CS. No more "lock manager out of room" (Win32 CS 1.5 RC1) or crashes (possible in all other CS builds of Interbase/Firebird).
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * INTL improvement.
        Make UPPER function work for WIN1251 charset without explicit collations.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Cannot connect to the service manager with non-default password.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Fixed problem with CREATE OR ALTER TRIGGER.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Server crashes in some cases of error handling.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        Possible database corruption when you modify/delete the same record in pre-trigger for which this trigger was called.
        This issue also was known as BUGCHECK(291) before.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC1 bug.
        Incorrect values returned by ROW_COUNT.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Buffer overrun in isc_database_info() call.
      Contributor(s):
        Oleg LOA <loa at mail.ru>

    * IMPORTANT!!! - Configuration manager change.
        Now the server exits on missing / wrong firebird.conf with error report in system log.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed RC1 bug.
        SP with input parameters and aggregate tracking/validating methods failed.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC1 bug.
        Crash on disconnect in the embedded server.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug.
        Parameters from SPs in a sub-select were not remaped to the proper context in a aggregate query.
      Example:
        SELECT (SELECT SP.X FROM SP_TEST(T1.ID) SP) FROM TABLE1 T1 GROUP BY T1.ID
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC1 bug.
        Problem with start/stop commands of instsvc.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Services API.
        Enabled statistics Services API for POSIX CS builds.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

  **************
  * v1.5 RC 1
  **************

    * Fixed Beta 4 bug.
        EXECUTE STATEMENT and SQLDA > 32KB.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Changed parser.
        1) ROWS_AFFECTED is renamed to ROW_COUNT
        2) CONNECTION_ID/TRANSACTION_ID are renamed to CURRENT_CONNECTION/CURRENT_TRANSACTION
        3) Some of newly introduced tokens are made non-reserved
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 4 bugs.
        1) sub-selects inside COALESCE function
        2) parameter ordering
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Services API.
        Partially enabled Services API for win32 CS builds.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Wrong type of event delivery (unnecessary usage of OOB packets).
      Contributor(s):
        Jim Starkey <jas at netfrastructure.com>
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed Beta 4 bug.
        Optimizer couldn't ignore bad indices in some cases.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved lock manager
        Deadlocks are now detected and reported as soon all blocking processes received notifications, i.e. instantly in all normal cases
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Beta 4 bug.
        Locking and performance issues in win32 CS.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Beta 4 bug.
        Error during backup with "ignore in-limbo transactions" option.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Server crashes in some Services API operations.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 4 bug.
        Problems with IP address in connection strings.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 4 bug.
        Compatibility problems with new IBX versions.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 4 bug.
        EXECUTE STATEMENT: numeric variables and dialect 3 databases.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Advanced security abilities.
        Implemented configurable access for databases, external tables and UDF libraries.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed resource/memory leaks.
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>
        Alexander Peshkoff <peshkoff at hotmail.ru>
        Nickolay Samofatov <skidder at bssys.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Buffer overrun with multidimensional arrays.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 4 bug.
        RECREATE VIEW with check option.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 4 bug.
        Problems with loading INTL plugins.
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>

  **************
  * v1.5 Beta 4
  **************

    * Fixed bugs SF #213460, #678718.
        Various issues with events used on multihomed hosts.
      Note:
        Now it's also possible to setup a definite port for event processing.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed some resource leaks.
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed Beta 3 bug.
        Bug with an aggregate sub-query inside a IN clause.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Services API.
        Enabled Services API for posix CS builds.
      Notes:
        1. Appropriate changes in Win32 CS are not ready yet
        2. Backup/restore service was fixed, tested and should work
        3. Database validation was partially fixed and may work
        4. Other services are probably non-functional in CS builds yet
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * SQL enhancement.
        Allowed NULLs in unique constraints and indices (SQL-99 spec).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Beta 3 bug.
        Problems with RECREATE VIEW.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Performance improvement.
        VIO undo log now uses B+ tree to store savepoint record data. It improves performance when doing multiple updates of
        record in a single transaction just a little (usually 2-3 orders of magnitude for 100000 records).
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Database corruption when backing out the savepoint after large number of DML operations
        (so transaction-level savepoint is dropped) and record was updated _not_ under the savepoint and deleted under savepoint.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Improved EXECUTE STATEMENT.
        Now it's possible to return values from the dynamic SQL.
      Syntax:
        EXECUTE STATEMENT <value> INTO <var_list>; (singleton form)
        or
        FOR EXECUTE STATEMENT <value> INTO <var_list> DO <stmt_list>;
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed Beta 3 bug.
        With a large amount of SQL the server crashed on generating BLR.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

  **************
  * v1.5 Beta 3
  **************

    * Fixed Beta 2 bug.
        EXECUTE STATEMENT doesn't work in autocommit transactions.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug.
        Server crashes due to problems in the optimizer.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 2 bug.
        Minor ODS upgrade is no longer critical. Now you can attach any ODS 10.0 database without errors (no need to backup/restore).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug.
        "Wrong page type" error during some DDL operations.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Server hangs during disconnect after mass updates.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved optimizer.
        Sub-selects in SET clause of UPDATE now can use indices.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        "Context already in use" error in the case of DISTINCT with sub-selects.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Enhanced isc_database_info abilities.
        List of currently active transactions is now available via isc_database_info call.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Beta 2 bug.
        ISQL cannot work with scripts containing character code 0xFF.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug.
        Ineffective PLANs made by the optimizer for SPs and views.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Performance improvement.
        Shortcut boolean evaluation.
      Note:
        The behaviour is controlled by "CompleteBooleanEvaluation" option of firebird.conf. Default is 0 (shortcut evaluation).
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>

    * Fixed Beta 2 bug.
        Stack overflow during statement preparation.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Mike Nordell <tamlin at algonet.se>

    * Performance improvement.
        Speed-up for index operations (IA32 CPU architecture only)
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>

    * Fixed Beta 2 bug.
        Wrong record operation statistics.
      Contributor(s):
        Evgeny Kilin <john at citycard.izhnet.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug.
        Wrong line-number statistics in DSQL.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Beta 2 bug.
        Server crashes during some operations.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Change in universal triggers.
        Allowed access to both (OLD and NEW) contexts in universal triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved optimizer.
        When an equal-node and other nodes (geq, leq, between...) are available for an index retrieval, then use the equal node always instead of the others.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        Long delays during connecting/disconnecting on WinXP.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 2 bug.
        Server crash during service manager operations.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Generic cleanup.
        Removed a lot of unused code.
      Contributor(s):
        Blas Rodriguez Somoza <blas at puertareal.com>
        Erik Kunze <erik.kunze at philosys.de>

  **************
  * v1.5 Beta 2
  **************

    * Fixed bug SF #523589.
        View is affecting the result of a query.
      Comment:
        Problem was that RSE's (inside a view) where not flagged as variant.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Changed behaviour of the forced writes mode.
        Now, if FW=off (disabled), you can control how often dirty pages are flushed on disk.
      Note:
        It allows to use disabled FW mode with more reliablity than before (mostly it affects win32 platforms).
      Contributor(s):
        Blas Rodriguez Somoza <blas at puertareal.com>

    * Renamed ISC4.GDB.
        The security database has been renamed to security.fdb.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New configuration file.
        firebird.conf is finally published.
      Note:
        Directory handling options are not available yet.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New user-defined functions.
        Functions LPAD and RPAD are added to IB_UDF library.
      Contributor(s):
        Juan Guerrero <guerrero747 at yahoo.es>

    * Fixed Beta 1 bug.
        ISQL wasn't able to extract universal triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Sometimes GFIX didn't allow to specify "-user" and "-password" switches ("incompatible swiches" error).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security connection cache.
        Connection to the security database is now cached, thus allowing to decrease time of subsequent database attachments.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Some improvements.
        1. Reduce memory usage by the server.
        2. Direct external I/O when the memory is not available for the sorting.
        3. Increased number of streams and predicates supported by the optimizer.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #508594.
        LEFT JOIN with VIEWs.
      Comment:
        Simple LEFT JOIN on a VIEW with only an ON clause didn't use an index even if it was possible.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bug.
        Server crashes during retrieval of the database statistics.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug.
        Wrong context was used with FieldX IN (sub-select) predicate.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bug.
        Yet another "deadlock" error during metadata updates.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug.
        It wasn't possible to use non-aggregate related-fields from an aggregate query inside a sub-query.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bug.
        The client library cannot be loaded in some cases.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug.
        The guardian service cannot stop the server.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New character sets.
        DOS737, DOS775, DOS858, DOS862, DOS864, DOS866, DOS869,
        WIN1255, WIN1256, WIN1257,
        ISO8859_3, ISO8859_4, ISO8859_5, ISO8859_6, ISO8859_7, ISO8859_8, ISO8859_9, ISO8859_13
      Note:
        Collations for the above charsets are not available yet.
      Contributor(s):
        Blas Rodriguez Somoza <blas at puertareal.com>

  **************
  * v1.5 Beta 1
  **************

    * CREATE VIEW changes.
        Disallowed PLAN subclause.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Changed aggregate tracking behavior
        Introduce backwards compatibilty within aggregates.  Deepest field inside aggregate determine where an aggregate-context should belong to.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Improved optimizer.
        Better optimizations of "complex" JOIN queries (LEFT JOIN, views, SPs, etc).
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 5 bug.
        Major memory leaks are fixed.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New API functions.
        IB7-compliant functions to return version of the client library.
        isc_get_client_version(), isc_get_client_major_version(), isc_get_client_minor_version()
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Sort/merge improvement.
        Merging (SORT MERGE plans) is now done via in-memory sorting module.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 5 bug.
        "Invalid transaction handle (expecting explicit transaction start)" error.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New memory manager.
        Internal implementation of the memory manager has been changed to give us better performance.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Win32 build changes.
        1. Changed names of USER32 objects to allow the server run simultaneously with IB/FB1.
        2. Map name for local (IPC) protocol is changed, so v1.5 client library is no longer compatible with the previous versions via IPC.
        3. All transport protocol names (INET port and service, WNET pipe, IPC map) are now configurable via firebird.conf.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Trashed RDB$FIELD_LENGTH for views that contain concatenation of long CHAR/VARCHAR fields.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Triggers improvement.
        Added runtime action checks (INSERTING/UPDATING/DELETING predicates).
      Example:
        if (INSERTING) then
          new.OPER_TYPE = 'I';
        else
          new.OPER_TYPE = 'U';
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Cursors (WHERE CURRENT OF clause) cannot be used in triggers.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 5 bug.
        SAVEPOINT-related statements were allowed in PSQL via EXECUTE STATEMENT.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #221921.
        ORDER BY has no effect.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #213859.
        Subquery connected with 'IN' clause.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 5 bug.
        Wrong plan is used in the case of compound indices.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>,
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 5 bug.
        Backward compatibility with explicit plans is broken.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * ORDER BY improvement.
        Allowed arbitrary expressions in the ORDER BY clause.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        When UNIONS where used in a VIEW and that VIEW was used in the WHERE clause inside an sub-select then the engine crashed.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 5 bug.
        Fixed FB XDR double representation for Linux server and client.
        This fixes numerous bugs with double precision columns and UDF's when using Linux server and Jaybird or Windows client.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 5 bug.
        PLAN wasn't correctly returned.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 5 bug.
        Server crash or "deadlock" error during execution of ALTER PROCEDURE statement.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Generic code cleanup.
        Structures within Y-valve.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>
        Nickolay Samofatov <skidder at bssys.com>

    * Comments improvement.
        Single-line comments (--) are now allowed in any position of the SQL statement.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        "Request sycnhronization error" with BREAK statement.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #625899.
        Bugcheck 291.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * PSQL change.
        EXECUTE VARCHAR is renamed to EXECUTE STATEMENT.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed Alpha 5 bug and SF #219525.
        No current record for fetch operation.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        QLI doesn't understand BIGINT (aka INT64) datatype.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Length of text variables inside procs/triggers wasn't copied to descriptor structure.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

  **************
  * v1.5 Alpha 5
  **************

    * FIRST/SKIP and ORDER BY changes.
        1. Implemented ORDER BY clause in subqueries.
        2. Disallowed FIRST/SKIP for views.
        3. Allowed zero as valid argument for FIRST.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Buffer overflow (MAXPATHLEN) and rewritten local function dirname.
      Contributor(s):
        Erik Kunze <erik.kunze at philosys.de>

    * Fixed unregistered bug.
        Make SQLDA parameter mapping consistent with order and number of parameters in source SQL string.
      Notes:
        You can enable older mapping behavior (for backward compatibility) using "OldParameterOrdering" configuration manager parameter.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 4 bug.
        Crash when grouping by invariant subquery.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Improved optimizer.
        Let sub-selects also use indices when their parent is a stored procedure.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug.
        Removed request size limitation.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Nulls first/last and collation handling in "order by" clause of unions.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 4 bug.
        Optimizer, LEFT OUTER JOIN and error "no current record for fetch operation".
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 4 bug.
        Wrong privileges checks.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 4 bug.
        UDF node didn't contain any character set, was always NONE.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Generic code cleanup.
        Renamings, new safe macros, support for mingw.
      Contributor(s):
        Erik Kunze <erik.kunze at philosys.de>,
        Ignacio J. Ortega <nacho at siapi.es>,
        Dimitry Sibiryakov <sd at topol.udm.net>

    * Explicit record locking.
        Finalized explicit locking implementation. Should be stable and consistent now.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Improved optimizer.
        Better handling of AND nodes inside an OR node.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 4 bug.
        Restore problem for databases having views that use procedures AND are used by procedures.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 4 bug.
        Bad performance of the memory manager and some memory leaks.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 4 bug.
        Wrong ordinals of GDS32 exports.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v1.5 Alpha 4
  **************

    * Fixed Alpha 3 bug.
        Database cannot be restored properly in some situations.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 3 bug.
        Dynamic exception messages don't work properly.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Exceptions inside for/while loop in triggers are not handled correctly.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed bug SF #623992.
        Double forward slash in connection string.
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>,
        Mark O'Donohue <mark.odonohue at cytopia.com.au>

    * Fixed unregistered bug.
        Deadlock during some database operations.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Improved optimizer.
        If a few indices with much different selectivity could be used for index retrieval, only better of them are used while others are ignored.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug.
        Memory corruption that prevented restore of databases with procedures using plan expressions with long index names.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Quoted identifiers problem in plan expressions.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Win32 Classic Server.
        CS architecture is now supported on Win32 as well, but it still cannot be considered stable, so any feedback is welcome.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug.
        API routines are not accessible if gds32.dll is explicitly loaded.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Stored procedures are no longer recompiled before deletion.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * New collation for WIN1251 charset.
        WIN1251_UA for both Ukrainian and Russian languages.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Client library change.
        API routines are no longer exported by ordinals.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New configuration manager.
        Enable the same plain file based configuration for all supported platforms. Default configuration file will be released in the first beta build.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved optimizer.
        Added better support for using indices with "OR". Pick the best available compound index from all "AND" nodes.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 3 bug.
        Database appears corrupted (damaged BLOB pages).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Savepoints.
        Added support for explicit savepoint management.
      Syntax:
        SAVEPOINT savepoint_name; (create savepoint)
        ROLLBACK [WORK] TO [SAVEPOINT] savepoint_name; (rollback to previously created savepoint)
      Notes:
        Not available in PSQL.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Protocol cleanup.
        IPX/SPX network protocol is no longer supported.
      Contributor(s):
        Sean Leyne <sleyne at atkin.com>

    * Fixed Alpha 3 bug.
        Memory corruption when working with long record verion chains.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Obsolete platforms cleanup.
        Some platform are no longer supported by the current source code.
        DELTA, IMP, DG_X86, M88K, UNIXWARE, Ultrix, NeXT, ALPHA_NT, DGUX, MPE/XL, DecOSF, SGI, HP700, Netware, MSDOS, SUN3_3
      Contributor(s):
        Sean Leyne <sleyne at atkin.com>

    * Improved optimizer.
        Added support for detecting use of index with sub-selects in aggregate select.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Improved thread scheduler for Win32 SS.
        Now the server should be more responsible under heavy load.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Explicit record locking.
        Added support for explicit locking. Wait behavior in isc_tpb_wait transaction modes is not stable yet.
      Syntax:
        SELECT <...> [FOR UPDATE [OF col [, col ...]] [WITH LOCK]]
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

  **************
  * v1.5 Alpha 3
  **************

    * Fixed bug SF #558364.
        Triggers fail to compile if PLAN used.
      Note:
        Now you can use plans in triggers.
      Contributor(s):
        Ignacio J. Ortega <nacho at siapi.es>

    * Fixed unregistered bug.
        Distributed (2PC) transaction cannot be properly rolled back due to network errors.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>,
        Erik Kunze <erik.kunze at philosys.de>

    * Fixed Alpha 2 bug.
        Possible buffer overrun if dynamic exception messages are used.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 2 bug.
        Problem with sub-select and GROUP BY clause.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 2 bug.
        The server hangs with a bugcheck #284 (cannot restore singleton select data).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Generic cleanup.
        ISC_STATUS_LENGTH and MAXPATHLEN macros.
      Contributor(s):
        Erik Kunze <erik.kunze at philosys.de>

    * Fixed Alpha 2 bug.
        Version information is missing in libraries and tools.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 2 bug.
        Backported a few bits of FB1 code which have been lost.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>,
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #496784.
        When optimizer find indexes for LEFT JOIN, work like INNER JOIN.
      Note:
        Fixed problem which caused complex outer joins to produce wrong results.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 2 bug.
        Changes in aliases.conf are not applied until the server is restarted.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v1.5 Alpha 2
  **************

    * Fixed unregistered bug.
        BLOB subtype is ignored in system domains generated for expression fields in views.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed installation bug.
        instreg.exe doesn't create "GuardianOptions" registry value.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Resource leaks in DDL recursive procedure handling which caused some DDL to fail.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        Check constraint which uses only one table field is now dropped automatically when this field is dropped.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed Alpha 1 bug.
        GROUP BY ordinal doesn't work with column aliases.
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug.
        Views are not being created correctly (missing records in RDB$VIEW_RELATIONS).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v1.5 Alpha 1
  **************

    * Fixed unregistered bug.
        A well-known "decompression overran buffer" error appears during the schema creation.
      Contributor(s):
        Evgeny Kilin <john at citycard.izhnet.ru>

    * New ROWS_AFFECTED system variable (SF #451927).
        Return number of rows affected by the last INSERT/UPDATE/DELETE statement.
      Notes:
        1. Available in PSQL only.
        2. For any other statement than INSERT/UPDATE/DELETE, result is always zero.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Dynamic exception messages (SF #446240).
        Allow to throw an exception with another message than this exception has been created with.
      Syntax:
        EXCEPTION name [value];
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New SQLCODE and GDSCODE system variables (SF #547383).
        Provide an access to a code of the catched error within the WHEN-block.
      Notes:
        1. Available in PSQL only.
        2. Makes sense in WHEN-block only, in other places returns 0 (success).
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Exception re-initiate semantics.
        Allow an already catched exception to be re-thrown from the WHEN-block.
      Syntax:
        EXCEPTION;
      Note:
        Makes sense in WHEN-block only, in other places evaluates to no-op.
      Contributor(s):
        Digitman <digitman at hotbox.ru>

    * Fixed unregistered bug.
        The server crashes during the garbage collection under heavy load.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Deferred metadata compilation.
        Solve a lot of reasons of the well-known "object in use" error.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * New NULL order handling.
        Allow user-defined ordering of NULLs.
      Syntax:
        [ORDER BY <order_list>]
        <order_list> = {col | int} [COLLATE collation]
          [ASC[ENDING] | DESC[ENDING]] [NULLS {FIRST | LAST}]
          [, <order_list> ...]
      Note:
        Default behaviour is NULLS LAST.
      Contributor(s):
        Nickolay Samofatov <skidder at bssys.com>

    * Fixed unregistered bug.
        gstat shows wrong value for maxdup element.
      Contributor(s):
        Dmitry Kuzmenko <kdv at ibase.ru>

    * New registry key is used on win32.
        Currently it's SOFTWARE\Firebird Project\Firebird Server.
      Contributor(s):
        -

    * User-defined constraint index names (SF #451925).
        Allow an index name to be either constraint name or user-defined name.
      Syntax:
        <col_constraint> = [CONSTRAINT constraint]
          {UNIQUE [<constraint_index>]
          | PRIMARY KEY [<constraint_index>]
          | REFERENCES other_table [( other_col [, other_col ...])]
              [ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
              [ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
              [<constraint_index>]
          | CHECK ( <search_condition>)}
        <tconstraint> = [CONSTRAINT constraint]
          {{PRIMARY KEY | UNIQUE} ( col [, col ...]) [<constraint_index>]
          | FOREIGN KEY ( col [, col ...]) REFERENCES other_table
              [ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
              [ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
              [<constraint_index>]
          | CHECK ( <search_condition>)}
        <constraint_index> = USING [ASC[ENDING] | DESC[ENDING]] INDEX name
      Note:
        Index is named the same way as a constraint by default.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New RECREATE VIEW statement.
        A shorthand for DROP VIEW / CREATE VIEW couple of statements.
      Syntax:
        RECREATE VIEW name <view_definition>;
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Trigger which name starts with 'RDB$' cannot be altered or dropped at all.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Changed file names.
        Renamed distribution files to make sure we're Firebird. Now they're fbserver, fbclient, firebird.msg etc.
      Note:
        The client library is fbclient now and it should be used in all new FB-based projects. gds32 contains nothing but redirected exports and is provided for compatibility only.
      Contributor(s):
        -

    * Minor ODS upgrade.
        Added new system indices (RDB$INDEX_41, RDB$INDEX_42, RDB$INDEX_43), now ODS version is 10.1.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>,
        Nickolay Samofatov <skidder at bssys.com>

    * New CREATE OR ALTER statement (SF #451935).
        Allow either creating or altering a database object depending on its existance.
      Syntax:
        CREATE OR ALTER name <object_definition>;
      Notes:
        1. Applicable to SPs/triggers only.
        2. The statement has the same meaning as CREATE OR REPLACE one in Oracle.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Broken dependencies (like DB$34) appear in the database after metadata changes.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Enhanced declaration of local variables.
        Simplify syntax and allow declaring and defining variable at the same time.
      Syntax:
        DECLARE [VARIABLE] name <variable_type> [{'=' | DEFAULT} value];
      Example:
        DECLARE my_var INTEGER = 123;
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Disabled BREAK statement for triggers (like EXIT) due to known internal limitations.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Enhanced grouping (SF #555839, #546274).
        Allow to GROUP BY internal functions and subqueries. Also allow to GROUP BY ordinal (i.e. column position).
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New COALESCE internal function (SF #451917).
        Allow a column value to be calculated by a number of expressions, the first expression returning a non NULL value is returned as the column value.
      Syntax:
        COALESCE (value {, value} ... )
      Notes:
        1. COALESCE (V1, V2) is equivalent to the following case specification:
             CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END
        2. COALESCE (V1, V2, ..., Vn), for n >= 3, is equivalent to the following case specification:
             CASE WHEN V1 IS NOT NULL THEN V1 ELSE COALESCE (V2, ..., Vn) END
        3. The function has the same meaning as NVL one in Oracle.
      Example:
        SELECT
          PROJ_NAME AS Projectname,
          COALESCE(e.FULL_NAME, '[> not assigned <]') AS Employeename
        FROM
          PROJECT p LEFT JOIN EMPLOYEE e ON (e.EMP_NO = p.TEAM_LEADER)
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New NULLIF internal function (SF #451917).
        Return a NULL value for a sub-expression if it has a specific value, otherwise return the value of the sub-expression.
      Syntax:
        NULLIF (value, value)
      Note:
        NULLIF (V1, V2) is equivalent to the following case specification:
          CASE WHEN V1 = V2 THEN NULL ELSE V1 END
      Example:
        UPDATE PRODUCTS
          SET STOCK = NULLIF(STOCK, 0)
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New CASE internal function (SF #451917).
        Allow the result of a column to be determined by a the results of a case expression.
      Syntax:
        <case_specification> = <simple_case> | <searched_case>

        <simple_case> = CASE value <simple_when_clause> ... [ELSE value] END
        <simple_when_clause> = WHEN value THEN value

        <searched_case> = CASE <searched_when_clause> ... [ELSE value] END
        <searched_when_clause> = WHEN <search_condition> THEN value
      Note:
        The function has the same meaning as DECODE one in Oracle.
      Examples:
        1. Simple case:
          SELECT
            o.ID,
            o.Description,
            CASE o.Status
              WHEN 1 THEN 'confirmed'
              WHEN 2 THEN 'in production'
              WHEN 3 THEN 'ready'
              WHEN 4 THEN 'shipped'
              ELSE 'unknown status ''' || o.Status || ''''
            END
          FROM
            Orders o
        2. Searched case:
          SELECT
            o.ID,
            o.Description,
            CASE
              WHEN (o.Status IS NULL) THEN 'new'
              WHEN (o.Status = 1) THEN 'confirmed'
              WHEN (o.Status = 3) THEN 'in production'
              WHEN (o.Status = 4) THEN 'ready'
              WHEN (o.Status = 5) THEN 'shipped'
              ELSE 'unknown status ''' || o.Status || ''''
            END
          FROM
            Orders o
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #545725.
        Automatic/background sweep hangs.
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Fixed unregistered bug.
        The server crashes when XSQLDA structures are prepared for not all statement parameters.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Enabled support for empty BEGIN...END blocks.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Partially fixed bug SF #567931.
        Metadata security hole.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        INT64 arrays don't work.
      Contributor(s):
        Artem Petkevych <artem at protec.kiev.ua>

    * Fixed bug SF #437859.
        Execute procedure and string concat.
      Note:
        This change allows any expression to be used as a SP parameter.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #562417.
        Aggregate concatenated empty char.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Readline (cmd history) support added to ISQL.
      Contributor(s):
        Mark O'Donohue <mark.odonohue at cytopia.com.au>

    * New BIGINT datatype (SF #446206).
        Allow native SQL usage of 64-bit exact numerics.
      Note:
        Available in dialect 3 only.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Universal triggers (SF #451922).
        Allow one trigger to be fired for a number of action types.
      Syntax:
        CREATE TRIGGER name FOR table
          [ACTIVE | INACTIVE]
          <trigger_action_prefix>
          <trigger_action_suffix> [OR <trigger_action_suffix>] [OR <trigger_action_suffix>]
          [POSITION number]
          AS <trigger_body>
        <trigger_action_prefix> = {BEFORE | AFTER}
        <trigger_action_suffix> = {DELETE | INSERT | UPDATE}
      Example:
        CREATE TRIGGER my_trigger FOR my_table BEFORE INSERT OR UPDATE
          AS BEGIN
            IF (NEW.DOC_ID IS NULL) THEN
              EXCEPTION my_exception;
          END
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New CONNECTION_ID and TRANSACTION_ID system variables (SF #446238, #446243).
        Return appropriate internal identifier stored on the database header page.
      Notes:
        1. Available in SQL/PSQL.
        2. The values are reset after a database is restored.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Server-side database aliases (SF #446180).
        Any database can be attached to using an "alias" name instead of its physical pathname.
        The list of known database aliases is stored in aliases.conf file under the server installation root.
      Example:
        alias entry in the configuration file: my_database = d:\dbs\my\database.gdb
        connection string: localhost:my_database
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New plugin manager and INTL interface.
      Contributor(s):
        John Bellardo <bellardo at cs.ucsd.edu>

    * In-memory sorting.
        If SORT plan is used for a SQL statement, the sorting is done in memory.
        If there's not enough memory for this operation, old temporary file based method is used.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #538201.
        Crash with extract from null as date.
      Contributor(s):
        Claudio Varderrama <cvalde at usa.net>

    * New EXECUTE VARCHAR statement (SF #446256).
        Allow execution of dynamic SQL statements in SPs/triggers.
      Syntax:
        EXECUTE VARCHAR value;
      Notes:
        1. Available in PSQL only.
        2. Currently cannot return values, so SELECT statements are not allowed.
        3. Recursion level is limited to 50 (hardcoded).
      Example:
        EXECUTE VARCHAR my_var;
      Contributor(s):
        Alexander Peshkoff <peshkoff at hotmail.ru>

    * Major code cleanup.
      Contributor(s):
        Sean Leyne <sleyne at atkin.com>,
        Erik Kunze <erik.kunze at philosys.de>

    * New memory manager.
      Contributor(s):
        John Bellardo <bellardo at cs.ucsd.edu>

    * New exception handling logic.
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>,
        John Bellardo <bellardo at cs.ucsd.edu>

    * New autoconf-based build configuration.
      Contributor(s):
        John Bellardo <bellardo at cs.ucsd.edu>,
        Mark O'Donohue <mark.odonohue at cytopia.com.au>,
        Erik Kunze <erik.kunze at philosys.de>

    * The code port from C to C++.
      Contributor(s):
        Mike Nordell <tamlin at algonet.se>,
        John Bellardo <bellardo at cs.ucsd.edu>,
        Mark O'Donohue <mark.odonohue at cytopia.com.au>
