  **************
  * v2.0 Alpha 3
  **************

    * DDL improvement
        Allow to create foreign key constraints without need to get exclusive lock 
        on whole database 
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Fix 'partner index not found' error when one classic process
        dropped FK and another process trying to delete master record
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * ISQL improvement
        Make SQLDA_DISPLAY display input SQLDA parameters of INSERTs, UPDATEs and DELETEs
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Server crashed when PLAN for VIEW is specified but no table alias was given
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 2 bug (SF #1184591)
        Invalid ROW_COUNT variable value after DELETE
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bugs
        1) redundant attempts to get an	exclusive database lock during shutdown
        2) inaccurate timeout counting
        3) database lock is not released after bringing database online in the exclusive mode
        4) removed a 5 sec timeout when bringing database online in the shared mode
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1016040
        Missing external libraries causes engine exception
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * DML enhancement
        Implemented RETURNING clause for the INSERT statement
      See also:
        /doc/sql.extentions/README.returning
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1186607
        Foreign key relation VARCHAR <-> INT
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug SF #1211325
        BLOBs in external tables
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * New charsets/collations
        1) KOI8-R (Russian language) and KOI8-U (Ukrainian language) charsets and dictionary collations
        2) WIN1257_LV (Latvian), WIN1257_LT (Lithuanian), WIN1257_EE (Estonian) collations
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Aleksey Karyakin <karyakin at cmpmail.com>

    * Parser improvement
        Try report the line/column of an incomplete	statement.
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bugs
        1) Charset/collation issues for expression-based view columns
        2) Lost charset/collation for local PSQL variables
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 2 bug (SF #1171256)
        Local Protocol (XNET) isn't using aliases
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Database alises didn't work in WNET
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1211354
        Redundant evaluations in COALESCE
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Client crashed while disconnecting with active event listener
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1208932
        SHOW GRANT does not distinguish object types
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Optimizer improvement
        Use more realistic cost value for unique retrieval
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed SF bug #494981
        Bad exception report
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * DDL enhancement
        Implemented ALTER EXTERNAL FUNCTION to change the entry_point or the module_name when the UDF cannot be dropped due to existing dependecies
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 2 bugs
        1) bug with selectivity of non-equality comparisons
        2) changed the invertions selection code to help in both MERGE and JOIN paths
        3) implemented metadata extract for expression indices
        4) the threading issues in fbembed
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * DDL enhancement
        Implemented the COMMENT statement to set the metadata descriptions
      See also:
        /doc/sql.extentions/README.ddl.txt
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed bug SF #908319
        1.5 wrong err msg using gbak with service_mgr
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        A few internal buffer overflows are fixed
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        After an attempt to "create view v(c1) as select 1 from v" all clones of system request remained active forever
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Alpha 2 bug
        Server crashed in incorrect written EXECUTE BLOCK statement
      Example(s):
        EXECUTE BLOCK AS BEGIN
          INSERT INTO DUMMY (ID) VALUES(?);
        END
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        ISQL_disconnect_database overwriting the Quiet flag permanently
      Contributor(s):
        Miroslav Penchev <miroslav.penchev at bsc.bg>
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Server crashed during the table metadata scan in some cases
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Error "index key too big" when creating a descending index
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed SF bug #1191006
        Using where params in SUM return incorrect results
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 2 bug
        Problem with distributing sort to deeper RSE
      Example(s):
	    SELECT RDB$RELATION_NAME FROM (SELECT FIRST 10 * FROM RDB$RELATIONS ORDER BY RDB$RELATION_NAME DESC) ORDER BY RDB$RELATION_NAME
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed SF bug #1122344
        gbak -kill option drops existing shadow
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #750662
        Multiple declaration of blob filters
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Parser improvement
        UNIONs are allowed in ANY/ALL/IN subqueries
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #743679
        FIRST / SKIP not well implemented
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Optimizer improvement
        NOT conditions are simplified and optimized via index when possible
      Example(s):
        (NOT NOT A = 0) -> (A = 0)
        (NOT A > 0) -> (A <= 0)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #450404
        ISQL uppercases role in the command line
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        100% CPU load when an I/O error causes a rollover to non-existing shadow
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 2 bug (SF #1173988)
        Minor glitches in GBAK output
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Fix for the -b (Bail On Error) option when SQL commands are	issued and no db connection exists yet.
        Apply Miroslav Penchev's patch for bug with -Q always returning 1 to the operating system, discovered by Ivan Prenosil.
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * New INTL interface
        A new interface allowing the following enhancements and features
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * INTL enhancements
        1) Well-formedness checks of string constants and parameters
        2) Uppercase and lowercase all possible (and not only ASCII) characters in default collation orders
        3) Check length of characters (and not bytes) for new MBCS (including UTF8)
        4) Inform original character set in sqlsubtype of XSQLVAR when connecting with NONE
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * BLOB enhancements
        1) Allow usage of collations
        2) Perform comparison using entire content
        3) Convert between character sets when assigning from string or BLOB
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Unicode 4.0 support
        UTF8 character set with collations UCS_BASIC and UNICODE
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Brazilian collations
        1) Collation PT_BR for ISO8859_1 and WIN1252 character sets
        2) Collation WIN_PTBR for WIN1252 character set
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
        Paulo Henrique Albanez <lista at pha.com.br>

    * New string functions
        LOWER, BIT_LENGTH, CHAR_LENGTH/CHARACTER_LENGTH, OCTET_LENGTH, TRIM.
      See also:
        /doc/sql.extentions/README.length
        /doc/sql.extentions/README.trim
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * INTL plugins
        Character sets and collations are installed using a manifest file. Server write to the log when conflicts exist.
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #1073212
        Order by big columns (collate) terminates server
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #939844
        Queries > 263 chars with UNICODE DB throws GDS Exception
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #977785
        Wrong character lengths MBCS (UTF-8, East-Asian charsets)
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #536243
        UNICODE_FSS charset and UPPER function
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #942726
        UPPER does not convert aacute to Aacute for ISO8859_1
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #544630
        Problems when connecting using UNICODE
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
 
    * Fixed SF #540547
        Concatenation, numeric fields & charset
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Query produce different result depending on index presence when the last character of the string is the first character of a compression pair
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        SUBSTRING and multi-byte BLOB don't work correctly
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Pattern matching with multi-byte BLOB is performed in binary mode
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        It's not safe to connect with MBCS if database has columns using different character set
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

  **************
  * v2.0 Alpha 2
  **************

    * Fixed bug (SF #1016969)
        Unknown datatype for parameters in result of searched CASE expression
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug (SF #1188734)
        WHERE CURRENT OF doesn't work
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug (SF #1168898)
        Domain with check containing select
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug
        Bug with VALUE keyword in check constraint and bug with VALUE keyword where VALUE represents a column
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug
        Bug with ORDER BY and DISTINCT on OUTER JOIN
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug
        Select-list alias hides an expression datatype
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug
        Server crashed when SUBSTRING is used in the expression index
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Optimizer improvements
        Better choice of streams order in joins and better index usage in general
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bugs
        1) Bad optimization for tables with zero selectivities
        2) Wrong choice of index in	the case of the same selectivity and number of indices
        3) Wrong total selectivity calculated for compound non-equality	comparisons
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Database corruption when row is deleted in a BEFORE UPDATE trigger
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug
        Server crashed during validation of broken ODS11 indices
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Computed column of blob/array type zeroes the first column of the table being restored
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1155520
        Any user can replace databases created by others
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Shutdown ability
        Posix SS builds now handle SIGTERM and SIGINT to shutdown all connections gracefully
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        GBAK stalled when it's used via the service manager and invalid command line is passed
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Added new GBAK switch -RECREATE_DATABASE [OVERWRITE]
        Simple RECREATE_DATABASE is equal to CREATE_DATABASE, RECREATE_DATABASE OVERWRITE is equal to REPLACE_DATABASE
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Changed default value for TcpNoNagle config option
        TCP_NODELAY socket option is now set by default
      Contributor(s):
        Konstantin Kuznetsov <kkuznetsov at users.sourceforge.net>

    * Fixed Alpha 1 bug (SF #1173948)
        Prompt is shown when using -i switch
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed v1.5.0 bug
        Server locked up after unsuccessful attach to security.fdb
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Privileges granted to procedures/triggers/views are preserved after dropping the object
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        EXECUTE PROCEDURE doesn't check SQL permissions at the prepare stage
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * NEW context changes
        Reject any assignment to the NEW trigger context (make it read-only) in AFTER triggers
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug
        Expression index cannot be used for navigation
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Implemented RECREATE EXCEPTION and CREATE OR ALTER EXCEPTION statements (SF #1167973)
        Allow either creating, recreating or altering an exception, depending in its existance
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Bug in AddMonth() UDF when facing January
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        System transaction is reported as dead
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 1 bug (SF #1169884)
        Navigation vs IS NULL vs compound index
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug (SF #1169730)
        Database corruption caused by the new GC code
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 1 bug (SF #1169728)
        FIRST 1 vs ORDER DESC vs explicit plan (ODS11)
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 1 bug (SF #1169723)
        Database that will not restore using FB 2.0 Alpha1
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug (SF #1169708)
        Select from selectable SP takes MUCH more time than before
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug (SF #1169707)
        Database corruption - page 0 expected type 5, found 1
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        A number of buffer overflows
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Alpha 1 bug (SF #1168910)
        ISQL stops when meet any chars in comment
      Contributor(s):
        Dimitry Sibiryakov <sd at topol.udm.net>

    * Fixed unregistered bug
        Server crashed due to plan buffer overflows
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug
        Lost sort node that caused unordered data to be returned
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        SQL role wasn't properly parsed by the engine
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 1 bug
        Broken loopback connections via XNET.
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 1 bug
        Server crashed during SQL optimization
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * A number of ISQL changes
        1) Stop possible crash with long terminators
        2) Make SET SQLDA_DISPLAY work in release versions
        3) Avoid several SQL> prompts when using the INPUT command interactively
        4) Stop some memory leaks
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 1 bug
        "gbak -se" (backup/restore via the service manager) didn't work
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v2.0 Alpha 1
  **************

    * Fixed bug SF #1124720
        Problem with "FOR EXECUTE STATEMENT ... DO SUSPEND;"
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Compatibility related change
        New security.fdb is renamed to security2.fdb
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Optimizer improvements
        1) Usage of segment-level selectivities
        2) Better support for IS NULL
        3) Better support for STARTING WITH
        4) Matching both OR and AND nodes to indices
        5) Better cost estimations and hence better join orders
        6) Allowed indexed order (navigational walk) for outer joins
      Note(s):
        Available in ODS 11.0 only
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Improved GROUP BY and ORDER BY clauses
        Allowed column aliases in both these clauses
      Example(s):
        SELECT RDB$RELATION_ID AS ID
        FROM RDB$RELATIONS
        ORDER BY ID

        SELECT RDB$RELATION_NAME AS ID, COUNT(*)
        FROM RDB$RELATION_FIELDS
        GROUP BY ID
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Improved ORDER BY clause
        Allowed ordinals to work on a select list which contain an asterisk
      Example(s):
        SELECT *
        FROM RDB$RELATIONS
        ORDER BY 9
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #1076858
        Possible corruption in classic server
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Changed view updates logic
        Apply NOT NULL constraints to base tables only, ignoring the ones inherited by view columns from domain definitions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1116809
        Incorrect data type conversion
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug SF #1111570
        Drop table having check that references more than one column
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Possible server lockup/crash when 'RELEASE SAVEPOINT xxx ONLY' syntax is used or when existing savepoint name is reused in transaction context
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Improved configuration
        Allow the first path of ExternalFilesAccess to be used as default when external file is to be created
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug SF #1108909
        View can be created w/o rights on table name like "a b"
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Partially fixed bug SF #217042
        IB doesn't validate weird constructions
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Extended isc_dsql_info() API call
        Allows to retrieve relation aliases, if required
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Usage of an invalid index in an explicit plan causes garbage to be shown in the error message instead of the rejected index name
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Rare client crashes caused by improperly cleaned XDR packets
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bugs SF #504978, #527677, #1103666, #1103670, #1103683, #1103740
        1) GPRE variable names being truncated
        2) "ANSI85 compatible COBOL" switch broken
        3) GPRE uses inconsistent lengths
        4) GPRE invalidates a quoted cursor name after it's opened
        5) GPRE doesn't check the length of the db alias
        6) GPRE doesn't detect duplicate quoted cursors names
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed bug SF #512975
        Embed spaces and CR+LF before DEFAULT
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Server crash during SuperServer shutdown
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Cleanup
        Command line switch L for SuperServer is no longer recognized as the old local protocol was deleted
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security improvement
        Another layout of security.fdb
        Also, security.fdb has been renamed to security2.fdb
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Column-level privileges are preserved after this column is dropped
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Memory leak when selectable stored procedures are called from PSQL or in subqueries
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Index improvements
        Don't check uniqueness for null keys
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * SQL improvements
        1) Introduced SEQUENCE as a synonym for GENERATOR (as per SQL-99)
        2) Added SQL-99 compliant NEXT VALUE FOR <sequence_name> expression
        3) Implemented REVOKE ADMIN OPTION FROM statement
      See also:
        /doc/sql.extentions/README.sequence_generators
        /doc/sql.extentions/README.ddl.txt
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Backup issues with stream BLOBs
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Diagnostics about missing/unusable UDF module
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Optimizer improvements
        1) Distribute HAVING clause conjunctions to the WHERE clause when possible
        2) Distribute UNION conjunctions to the inner streams when possible
        3) Improved cross join and merge/sort handling
        4) Better optimization of mixed AND/OR predicates
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>
        Dmitry Yemanov <yemanov at yandex.ru>

    * SQL improvement
        Supported UDFs to be called as procedures (i.e. ignoring their output) in PSQL
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * ISQL improvement:
        Command line switch -b to bail out on error when used in non-interactive mode.
        Also, return an error code to the operating system.
      See also:
        /doc/README.isql_enhancements.txt
      Contributor(s):
        Damyan Ivanov <divanov at creditreform.bg>
        Claudio Valderrama <cvalde at usa.net>

    * Context variables
        Added support for context variables via RDB$GET_CONTEXT and RDB$SET_CONTEXT system functions
      See also:
        /doc/sql.extentions/README.context_variables2
      Contributor(s):
        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 bugs SF #459059 and #543106
        1) index breaks = ANY result
        2) bug with ALL keyword
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * ODS change
        Enlarged exception messages from 78 to 1021 bytes
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug SF #1057538
        UDF output parameter not being the last crashes the server
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        System users "AUTHENTICATOR" and "SWEEPER" were lost, causing "SQL SERVER" to be reported instead
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Configuration change
        Added new parameter LegacyHash to firebird.conf
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Security improvements
        1) New (more secure) password hash calculation algorithm
        2) Ability for users to modify their own passwords
        3) Rejected any remote (non-embedded) access to security.fdb
        4) Use Services API in GSEC
        5) Protect from attempts to brute-force accounts/passwords
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Configuration change
        Added new parameter GCPolicy to firebird.conf
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Garbage collection improvements
        New GC thread implementation and combined cooperative + background activity
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Some cases where ambiguous queries were still possible
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * ODS change
        Added RDB$DESCRIPTION to RDB$GENERATORS
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * CURRENT_TIMESTAMP and 'NOW' improvements
        Return milliseconds when a current timestamp is asked for
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * SQL improvement
        Allowed PLAN, ROWS and ORDER BY clauses in UPDATE/DELETE statements
      See also:
        /doc/sql.extentions/README.select_expressions
      Contributor(s):
      	Oleg Loa <loa at mail.ru>

    * 64-bit builds
        A number of changes (including ODS support) to support Firebird on 64-bit platforms
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * SQL improvement
        Added an equivalence predicate which behaves exactly as equality/inequality, but treats NULL = NULL as TRUE
      Syntax:
        A IS [NOT] DISTINCT FROM B
      See also:
        /doc/sql.extentions/README.distinct
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * SQL improvements
        1) Allowed FIRST/SKIP/ROWS/PLAN and ORDER BY clauses in views
        2) Added CROSS JOIN (A CROSS JOIN B means something like A INNER JOIN B ON 1 = 1 or just FROM A, B)
        3) Allowed UNION in subqueries and INSERT statement
      See also:
        /doc/sql.extentions/README.select_expressions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * New transaction option
        Added lock timeouts for WAIT transactions (see new TPB value isc_tpb_lock_timeout)
      Contributor(s):
        Aleksey Karyakin <karyakin at cmpmail.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * WNET protocol changes
        WNET (aka NetBEUI) protocol no longer performs client impersonation
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Introduced 40-bit (64-bit internally) record numbers to avoid ~30GB table size limit
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Buffer cache improvements
        1) Much faster algorithms to process the dirty pages tree
        2) Increased maximum page cache size to 128K pages (2GB for 16K page size)
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security improvements
        Fixed a number of known vulnerabilities in API
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Don't rollback prepared 2PC sub-transaction
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Server log improvement
        Add filename and line number to BUGCHECK log messages
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * GSEC improvement
        Now GSEC returns the error code when used as a non-interactive utility
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Server crash with DECLARE FILTER
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * SQL extention
        Allowed UNION DISTINCT as a synonym for simple UNION (as per SQL-99 spec)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #571026
        INET/INET_connect: gethostbyname
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #223058
        Multi-hop server ability broken
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Optimizer improvement
        Let's choose a reasonable join order for intermixed inner and outer joins
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Configuration change
        Added new parameter UsePriorityScheduler to firebird.conf
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * ISQL improvement
        ODS version is now shown as a part of SHOW DATABASE command
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Minor BLOB improvement
        Introduced BLOB SUB_TYPE BINARY as a synonym for SUB_TYPE 0
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * ODS change
        Introduced a concept of ODS type to be able to distinguish between InterBase databases, Firebird databases, databases created by debug builds of Firebird and private forks
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * UDF improvement
        Ability to signal SQL NULL via a NULL pointer
      See also:
        /doc/sql.extentions/README.ddl.txt
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Expression indices
        Implemented indices based on arbitrary expressions
      Syntax:
        CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]] INDEX <index_name> ON <table_name> ( <value_expression> )
      See also:
        /doc/sql.extentions/README.expression_indices
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Aleksey Karyakin <karyakin at cmpmail.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * IIF builtin function
        Added IIF (<search_condition>, <value1>, <value2>) as a shortcut for CASE WHEN <search_condition> THEN <value1> ELSE <value2> END
      See also:
        /doc/sql.extentions/README.iif
      Contributor(s):
      	Oleg Loa <loa at mail.ru>

    * Fixed unregistered bug
        A number of possible server crashes, as reported by Valgrind
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * IN/OR improvements
        Constant IN predicate or multiple OR booleans are now evaluated faster
      Contributor(s):
      	Oleg Loa <loa at mail.ru>

    * NULL becomes a syntactical value
        You may now specify A = NULL, B > NULL, etc (all of them evaluate to FALSE)
      See also:
        /doc/sql.extentions/README.null_value
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Concatenation overflow
        A compile-time check has been dropped in favour of the runtime one
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Issues with dates below Julian date stored in indices
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * PSQL stack trace
        Added ability to report a PSQL stack trace when exception occurs
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * OLD context changes
        Reject any assignment to the OLD trigger context (e.g. make it read-only)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Index scan imporvement
        NULLs are ignored during the index scan (when it makes sense)
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #735720
        SELECT ... STARTING WITH :v is wrong when :v = ''
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Crash when changing data type for field and specify wrong type or domain name
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * ODS change
        Added RDB$DESCRIPTION and RDB$SYSTEM_FLAG to RDB$ROLES
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed some BLOB issues
        1) Outrageous memory consumption when blobs are converted from strings during request processing
        2) Materialization doesn't cause invalidation of BLOB IDs too early
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Problems with UDF argument mapping to parameters
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Server crash due to incorrect accounting of attachment pointers used inside the lock structure
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Improved ISQL
        1) Fixed bug SF #223126 - Misplaced collation when extracting metadadata with ISQL
        2) Fixed bug SF #223513 - Ambiguity between tables and views
        3) Fixed bug SF #518349 - ISQL show mangles relationship
      Contributor(s):
        Blas Rodriguez Somoza <blas at puertareal.com>

    * Fixed bug SF #910423
        ALTER TABLE altering to VARCHAR
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Improved ISQL
        1) Fixed bug SF #910430 - ISQL and database dialect
        2) Add SET HEADING ON/OFF option
        3) Add -M2 command-line option to send output of statistics and plans to the same file than the rest of the output
      See also:
        /doc/README.isql_enhancements.txt
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Rounding problems in date/time arithmetics
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Wrong counting of line numbers in DSQL parser when multi-line literals and identifiers are used
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed v1.5 bug
        Random crash on restore
      Contributor(s):
        Jim Starkey <jas at netfrastructure.com>

    * Fixed unregistered bug
        Crash/lock-up with multiple calls of isc_dsql_prepare for a single statement (like IBO does)
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Server crash when too big/small system year is set up
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * User-defined plans improvements
        1) Propagate plan fragments to nested levels of joins, thus allowing to manually optimize complex outer joins
        2) Check the user-supplied plan for correctness in outer joins
        3) Added short-circuit optimization for user-supplied plans
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Server crash when the stream number exceeds the limit
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug.
        Memory leak in EXECUTE STATEMENT
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

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

    * Index structure improvements
        More effective compressing
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New database shutdown modes are introduced
        Single-user and full shutdown modes are implemented
      See also:
        /doc/README.shutdown_modes.txt
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Memory leak during conversion from string to blob
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * C/C++ client interface version added
        FB_API_VER defined to 20 for Firebird 2.0 in ibase.h
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Implemented EXECUTE BLOCK statement
        It is now possible to use dynamic PSQL with this statement
      See also:
        /doc/sql.extentions/README.execute_block
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Implemented support for default parameters for stored procedures
      See also:
        /doc/sql.extentions/README.default_parameters
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * DSQL parser changed
        It now always detects table aliases ambiguity and abandoned support for implicit double table aliases
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Problems with interdependent views during restore process
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed SF #750664
        Issues with read-only databases and transactions
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

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

    * Per-segment index selectivity maintenance
        Per-segment selectivity information is now available to the optimizer opening possibilities for more clever access path decisions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed/re-worked invariant tracking in PSQL and request cloning logic
        This fixes numerous issues with recursive procedures, for example SF #627057
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Re-worked logic of updatable views
        This solves problems with views that are implicitly updatable, but still have update triggers
      See also:
        /doc/sql.extentions/README.view_updates
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Added SQL200X ROWS clause
        New syntax to limit amount of records you want to get
      See also:
        /doc/sql.extentions/README.rows
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF #781610
        Problems with -- comments in ISQL
      Contributor(s):
        John Bellardo <bellardo at cs.ucsd.edu>
        Blas Rodriguez Somoza <blas at puertareal.com>

    * Support for explicit cursor syntax in PSQL
        It is now possible to declare and use multiple cursors in PSQL
      See also:
        /doc/sql.extentions/README.cursors
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * LIKE/CONTAINING/STARTING WITH functions re-worked
        1) functions now work with BLOBs correctly
        2) use single-pass Knuth-Morris-Pratt algorithm for pattern matching
        3) fix crash when NULL is used as ESCAPE character for LIKE
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

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

    * Nulls ordering is changed to be SQL200X-compliant (SF #225218)
        Implemented nulls placement behavior is MSSQL-like, works on ODS11 databases only since it requires new indices for operation. 
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Enable support for databases on raw devices
        You can now use raw devices to store database. Especially usable with database aliases
      Contributor(s):
        Erik Kunze <erik.kunze at philosys.de>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * New indices code
        Very fast, nicely tolerates large amount of duplicates, limit of 256 bytes key length removed
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Internal logging enhanced
        1) Implemented thread- and signal- safe debug logging facilities
        2) Updated routines that print out various internal structures (DSQL node tree, BLR, DYN, etc)
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Improved PLAN clause
        Allowed to specify more possible paths for the engine
      Example:
        PLAN (A ORDER IDX1 INDEX (IDX2, IDX3))
      See also:
        /doc/sql.extentions/README.plan
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Further optimizer improvements
        1) MERGE PLAN may now be generated for joins using equality comparsion on expressions
        2) Better logic regarding unique indices handling
        3) Improved logic for OR expressions
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New local protocol
        XNET is now used as local protocol for Windows and is supported in CS builds
      See also:
        /doc/README.xnet
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Services API are fully ported to Classic architecture
        All Services API are supported on Linux and Windows CS
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * SUBSTRING enhanced
        SUBSTRING built-in function now supports arbitrary expressions in parameters
      Contributor(s):
      	Oleg Loa <loa at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Added LEAVE <label> syntax support
        PSQL loops now may be marked with labels and terminated in Java style
      See also:
        /doc/sql.extentions/README.leave_labels
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Improved ROW_COUNT
        Now it's possible to get number of selected rows as well
      See also:
        /doc/sql.extentions/README.context_variables
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fix SF #750659
        Generators values were resisting metadata-only backup
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fix SF #544132, #728839
        Problems with nulls handling in UDFs
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fix SF #784121
        Problems with some expressions in outer join conditions
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Slightly reworked synchronization logic
        1) Significantly reduce thread lock contention in lock manager and in SuperServer thread pool manager
        2) Fix rare race condition that could cause SS engine to hang during request processing until next request arrival
        3) Make lock manager memory dumps more informative (OWN_hung is detected correctly)
        4) Decouple lock manager synchronization objects for different engine instances
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Derived tables support
        Implemented support for derived tables in DSQL (subqueries in FROM clause) as defined by SQL200X
      See also:
        /doc/sql.extentions/README.derived_tables.txt
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Enhanced GROUP BY clause
        Implemented support for arbitrary expressions in GROUP BY clause
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * UNION enhanced
        Fixed field type coersion logic in unions
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * New backup technology
        Implemented fast on-line physical incremental backup facilities
      See also:
        /doc/README.nbackup.txt
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Generic cleanup.
        Various cleaning and tidying up of code, warnings removal, 64-bitness cleanup, numerous minor bugfixes
      Contributor(s):
        Blas Rodriguez Somoza <blas at puertareal.com>
        Dmitry Yemanov <yemanov at yandex.ru>
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Generic cleanup
        Large amount of ongoing code cleanup and style standardization. In particular, broken WAL and journalling code is fully cleaned out
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
