  **************************
  * v2.0.3
  **************************

    * Fixed bug CORE-1434
        Incorrect result with EXECUTE STATEMENT and VARCHAR columns        
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1418
        Races when starting and quickly shutting down blocking AST thread
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Solaris port
      Contributor(s):
        Paul Beach <pbeach at ibphoenix.com>
        Alex Peshkov <peshkoff at mail.ru>

  **************************
  * v2.0.2
  **************************

    * Fixed bug CORE-1405
        Vulnerability in attach/create database when filename exceeds MAX_PATH_LEN
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1403
        Server crashes if a few events are being registered simultaneously
        by the client connected via XNET
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1400
        GSTAT doesn't support port number in connection string
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1399
        GSTAT does not use RemoteServicePort option in firebird.conf
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1398
        GSTAT: 'localhost' is case-sensitive in Windows
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1397
        Possible vulnerability in the remote server
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1380
        IO errors after changing FW on already attached database
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1371
        Execute block fails within execute statement
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1349
        Remote interface doesn't check (in REM_receive and REM_fetch calls)
        the client's supplied message length against the length of message's format
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1347
        Unexpected "cannot transliterate" error
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1331
        Charset transliterations don't work with EXECUTE STATEMENT
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1328
        Unexpected end of input when running gfix in dialog
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1312
        A remote attacker can check, if a file is present in the system,
        running firebird server
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1303
        Infinite loop in SS remote listener
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1302
        Races during service startup
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1300
        Lower level index pages is missed from parent page
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1299
        Wrong index entries order at non-leaf b-tree pages
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1298
        BTR\garbage_collect code can make a deadlock in a page cache
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1292
        Can't create table using long username and UTF8 as attachment charset
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1286
        Bug with COMPUTED BY fields
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1279
        Incorrect initialization of the engine with many simultaneous attachments at first time
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1276
        Sometime INET error reported as 0 in firebird.log instead of real error code
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1265
        Database detach deallocates the memory used by an active critical section
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1249
        Full shutdown mode doesn't work on Classic if there are other connections to the database
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1248
        Incorrect timestamp arithmetic when one of operands is negative number
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1247
        Blobs garbage collector removes wrong blob if going blob descriptor
        contains 0:0 (NULL value) but field's NULL flag is not set
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1240
        Any task, using libfbclient, hangs on exit (Darwin PPC)
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1223
        Wrong message in firebird.log on Open SuSe Linux 10.2:
        "Open file limit increased from 1024 to 0"
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1207
        FB Embedded requires extra OS privileges
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1205
        v2.1 GBAK crashes the v2.0.x server when attempting to backup a database  
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Claudio Valderrama <cvalde at usa.net>

    * Fixed bug CORE-1203
        Performance issue with some queries on Linux 32 bits
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1183
        View cannot be created if its WHERE clause contains IN <subquery> with a procedure reference  
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1156
        Prepare fails when having a parameter in a DSQL statement before a sub query
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1153
        Activating index change "STARTING" working as "LIKE" in join condition
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1149
        DoS attack on server using Services API
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1145
        Server locks up while attempting to commit a deletion of an expression index
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1142
        Cannot alter generator's comment to the same value
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed bug CORE-984
        fbclient.dll changes the security descriptor of the calling process
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-968
        Lost connection with Firebird server
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-900
        Deadlock when attaching simultaneously with services and standard APIs
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Improvement CORE-1148
        Regular users are prevented from retrieving the server log
        using Services API. This is now allowed for SYSDBA only.
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * MacOS Firebird Classic Intel Port
      Contributor(s):
        Paul Beach <pbeach at ibphoenix.com>

  **************************
  * v2.0.1
  **************************

    * Improvement CORE-1071
        Background garbage collector doesn't need to read backversions
        of the active record
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Improvement CORE-1047
        Add support for Gentoo/FreeBSD detection
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Improvement CORE-1012
        IBO problems with FB >= 1.5.3 "Error with joins
        and auto-generated search query"
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1140
        Server crashes when performing GC during index creation
        (related to existence of expression indices on the same table)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1139
        NBackup doesn't delete the delta file after successful backup
        on Win32 CS
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1136
        NBackup cannot backup a recently created database
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1133
        XNET (IPC) communication protocol does not work across sessions
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1130
        Bad optimization: <procedure> left join <subquery> (or <view>)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1127
        Circular index references in corrupt database causes fbserver
        to loop infinitely
      Contributor(s):
        Diane Downie <diane.downie at citrix.com>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1126
        UNION vs UTF8 literals: arithmetic exception is thrown
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1124
        NBackup doesn't work in the interactive mode on Windows
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1121
        NBackup: Page-level deadlock (bugcheck 215) when attempting
        to lock/backup a database under load
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        George Sergeev <georgy.sergeev at inbox.ru>

    * Fixed bug CORE-1110
        isc_get_client_xxx_version not fully compatible with IB's gds32.dll
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1104
        Linux install fails when x0rfbserver program is running
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1094
        isc_dsql_sql_info() returns unordered SQLVAR descriptors
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1080
        Bugcheck 167 (invalid SEND request) in SS when many parallel attachments
        begin to execute trigger not loaded into metadata cache
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1068
        ISQL doesn't print not-nullable blobs
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1064
        Wrong backup order for character sets and collations
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1063
        Server hangs eating CPU and performs huge I/O
        copying different codepage fields
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1059
        Remote Linux Classic crash
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1057
        GSEC hiding error - CryptAcquireContext
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1055
        Wrong parameter matching for self-referenced procedures
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1053
        Invalid results in SELECT, when index is used to evaluate
        "greater" operator in WHERE clause
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>
        Arno Brinkman <firebird at abvisie.nl>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1051
        Possible stack corruption in DFW\check_dependencies
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1046
        Core dump in CVT_move
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1040
        Wrong single-segment ascending index on character field with NULL
        and empty string values
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug CORE-1037
        Command-line for Installation of SuperServer Component is not working
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed bug CORE-1033
        LIKE clause doesn't work for computed values (at least in a view)
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-1029
        Bad plan in outer joins with IS NULL clauses
        (dependent on order of predicates)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1025
        Server crashes at runtime when an explicit MERGE plan
        is specified over a few JOIN ones
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1020
        Command-line switch /silent or /verysilent does not install the guardian
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed bug CORE-1017
        Service attachments (over presumably Xnet) fail
        when Classic started with -x -i parameters
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1016
        UdfAccess check is performed after loading the library
        and executing its startup code
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-1011
        Server crashes when being connected to via InterBase gds32.dll
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1010
        Server crashes if DDL statement execution raises an error
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1006
        AV at rollback and/or garbage collection if updated table has expression
        index with SELECT in it
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-1005
        DISTINCT vs NULLS LAST clause: wrong order of NULLs
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-1004
        Context already in use (BLR error)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-997
        Database Update 1.5 to 2.0 fails
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug CORE-988
        FB SuperServer 32bit old threading, regularly restarts
        "fbserver terminated abnormally (-1)"
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-984
        fbclient.dll changes the security descriptor of the calling process
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-982
        Error reading data from the connection
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-966
        Bug in socket binding for database events
      Contributor(s):
        Paul Beach <pbeach at ibphoenix.com>

    * Fixed bug CORE-959
        GSTAT does not work using the localhost connection string
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-952
        AV when blob is used in expression index
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug CORE-944
        FB2 RC4 Linux Classic server crashes
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug CORE-943
        Incorrect shutdown, when database is in the phisical backup mode
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug CORE-888
        DDL - object in use
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************************
  * v2.0 Final
  **************************

    * Fixed RC5 bug (CORE-980)
        NO WAIT is implied instead of WAIT when the host application
        doesn't provide TPB
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC5 bug
        Server crashes if being connected via gds32 from latest InterBase versions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Alex Peshkov <peshkoff at mail.ru>

  **************************
  * v2.0 Release Candidate 5
  **************************

    * Fixed unregistered bug
        Win32 installer was trying to upgrade an existing Fb 1.5 install.
        This was the underlying cause of CORE-934
      Contributor(s):
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed RC4 bug (CORE-897)
        Error "no current record to fetch" while execution a query
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC4 bug (CORE-924)
        An attempt to select DB_KEY from a procedure crashes the server
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC4 bug (CORE-923)
        Events (if many ones are registered) not working via the local protocol
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug (CORE-921)
        Core dump in stored procedure using execute statement
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed bug (CORE-911)
        AV in Classic server after long idle period when using long running
        read committed readonly transaction
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC4 bug (CORE-906)
        Updating table with non-unique index causes unique data violation error
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC4 bug (CORE-904)
        Too big use of memory in "prepare"
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug (CORE-902)
        Server crashes intermittently when executing DDL/DML statements
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC4 bug (CORE-898)
        Two uninitialized variables cause a server crash in alice.cpp / common_main
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC4 bug (CORE-895)
        In some rare cases unique index violation is possible. The case is when
        existing index entry is the last entry on the page and inserted record
        with the same key have a number less than in existing entry
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

  **************************
  * v2.0 Release Candidate 4
  **************************

    * Fixed RC3 bug (CORE-839)
        Instclient failed to install gds32 over an existing version
        from V1.5.1 or later
      Contributor:
        Paul Reeves <preeves at ibphoenix.com>

    * Fixed unregistered bug
        Service didn't restart correctly on SUSE Linux
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed RC3 bug (CORE-855)
        Aggregates in the WHERE clause vs derived tables
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC3 bug (CORE-883)
        The built-in BLR printer (isc_print_blr) doesn't support all FB2 features
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug (CORE-841)
        Access violation in services API (CORE-841)
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed RC3 bug (CORE-879)
        Dependencies are not cleared when creation of expression index fails
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC3 bug (CORE-860)
        Server crashes when attempting to restore a v1.5 backup
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC3 bug (CORE-858)
        Server crash when using UDF in PSQL
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed RC3 bug (CORE-857)
        CONTAINING not working correctly
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed RC3 bug (CORE-852)
        substring(current_user from 4) without "for" fails
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

  **************************
  * v2.0 Release Candidate 3
  **************************

    * Fixed RC2 bug
        GSTAT and NBAK should not require firebird.conf on Win32
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Added new collation
        ES_ES_CI_AI (case- and accent-insensitive) for ISO8859_1 charset
        (Spanish language)
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Server crashes with complex joins or derived tables and grouping
      Contributor(s):
        George Sergeev <gsergeev at broadviewsoftware.com>

    * Fixed RC2 bug
        Server lockup when an exception occurs during expression index evaluation
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC2 bug
        STARTS WITH not working properly on an indexed column with charset UTF8
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        TCP buffer size bigger than 32K cannot be processed correctly
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        NoNagle option for TCP sockets doesn't work properly
      Contributor(s):
        Fred Polizo <fpolizo at users.sourceforge.net>
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed RC2 bug
        Views WITH CHECK OPTION cannot be restored
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bug
        Server occasionally crashes when explicit plans present in procedures
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bug
        NBACKUP utility was missing in the Linux SS packages
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed RC2 bug
        Suboptimal execution path is chosen if an explicit plan presents
        for a complex inner join
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bug
        Expression: '' CONTAINING '' wrongly returned FALSE
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed RC2 bug
        Wrong results for ALL predicates in the ODS11 optimizer
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC2 bug
        Wrong decoding of the SPB tags
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

  **************************
  * v2.0 Release Candidate 2
  **************************

    * Fixed RC1 bug
        SuperServer performs slower than v1.5 on SMP machines
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed RC1 bug
        Domain level CHECK constraints don't allow NULL values
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Embedded server cannot connect via TCP,
        error "connection rejected by remote interface"
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed RC1 bug
        Error "operating system directive ReleaseSemaphore failed"
        under heavy concurrent load
      Contributor(s):
        Christian Barheine <cbarheine at sympatec.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        The INTL library (fbintl) cannot be loaded on some Windows distributions
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Configuration file change
        Option CreateInternalWindow is no longer required to run
        a few server instances and it has been removed
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        MERGE plan is used for related streams, causing "no current record" error
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Index data corruption under heavy concurrent load
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        AV when configured to use big (about 32K) TCP packets
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
        Alex Peshkov <peshkoff at mail.ru>

    * Added new collation
        ISO_PLK for ISO8859_2 charset (Polish language)
      Contributor(s):
        Jaroslaw Glowacki <joeaccord at plocman.pl>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed RC1 bug
        SHOW GENERATORS doesn't work in ISQL
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #1466193
        Semaphore array`s permissions in fb_lock_mgr were 0666 - i.e. anyone
        could lock them and block all future queries
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        2.0 regression - install of SuperServer over existing Classic was broken
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed SF #1456002
        2.0 regression - gsec illegally reported error on attempt to use long
        (>8 characters) password
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed SF #1011401
        start/stop script broke halt/reboot on slackware
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        2.0 regression - SuperServer startup script stopped all 'fbserver'
        processes, being specially dangerous in case of running both 2.0
        and 1.5 on the same box
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        fbguard did not detach from controlling terminal
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        2.0 regression - SuperServer did not shutdown properly due to
        unhandled exception in semaphore destructor
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed RC1 bug
        Set up the permissions for NBAK delta files properly to avoid server lockups
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Error "invalid transaction handle" when calling isc_array_lookup_bounds()
        from multiple threads
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Allow NO_NAGLE and KEEPALIVE socket options for CS builds
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Some integer operations delivered double precision result in Dialect 1
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Big number of buffer pages causes the server fault
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Wrong results by PSQL cursors that use a GROUP BY clause
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Missing nullability indicator in XSQLDA for EXECUTE BLOCK parameters
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Improperly allowed assignments to columns deleted
        by a concurrent transaction
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed RC1 bug
        Permission checks performed in the wrong order
        (column level before table level)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************************
  * v2.0 Release Candidate 1
  **************************

    * Enhancement
        Isql now shows the command line parameters and their explanations instead
        of a simple list of switches when unknown parameters are used.
      Contributor(s):
        Michal Kubecek <mike at mk-sys.cz>

    * Fixed SF #1446987
        BLOB not found
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Beta 2 bug
        Server crashes when dropping a constraint based on inactive index
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * New port
        Introduced AMD64 port for FreeBSD
      Contributor(s):
        Sergey Skvortsov <skv at protey.ru>
        Alex Peshkov <peshkoff at mail.ru>

    * Security change
        LegacyHash config option now defaults to 1 (TRUE)
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug (SF #1449377)
        Wrong sum result of derived table with no cast union select
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed SF #1434147
        Bugs with COUNT (DISTINCT XXX) when XXXX is a high integer
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

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

    * Fixed Beta 2 bug
        Incorrect malformed string error
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed Beta 2 bug
        Wrong behaviour on OS error in critical mutexes
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug
        Unexpected exception (like out of memory condition) lost in gbak
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Possible buffer overflow in WNET
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug
        Legacy users' management API failed due to not initialized memory
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Diagnostic enhancement
        Syslog messages also go to user's tty if process attached to it
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug
        "invalid handle" exception during events shutdown (local protocol only)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug
        PSQL cursors return incorrect results in case of sorting/aggregation
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug
        RETURNING INTO returns incorrect results
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF #1435997
        Close database error -901 for embedded server
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF #1260310
        Nessus scan causes server to drop connections
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug (SF #1439268)
        Sequence of commands crash FB server
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #1385092
        Firebird 1.5 SS freezes on terminated connection on blob
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 2 bug
        Server crashes due to bug in the Knuth-Morris-Pratt algorithm
        (LIKE implementation)
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF #1436066
        Adding index during DB activity causes GFIX errors
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Beta2 bug
        Wrong processing (missing records) of GREATER-THAN operator
        for compound indices in some cases
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        A few types of subqueries are wrongly treated as being variant,
        causing performance issues
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug (SF #$1433583)
        Unexpected error "key size exceeds implementation restriction"
        for UTF-8 charset
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Indices used in explicit plans inside PSQL could be dropped,
        thus causing restore issues
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        fb_lock_print fails with message:
        "the requested operation cannot be performed on a file
        with a user-mapped section open".
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Information API enhancements
        1) isc_info_active_transactions_count returns number
           of active transactions (SF #1315814)
        2) isc_transaction_info returns transaction isolation level
           and options (SF #1089646)
        3) isc_info_creation_date returns creation date of the database
      See also:
        /doc/sql.extensions/README.isc_info_xxx
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Transaction ID cannot silently (and dangerously) overflow anymore
        (the limit is still 2^31)
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Read committed transactions block garbage collection
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        ALL predicate may return wrong results
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Thread safety issues in datetime functions of the FBUDF library
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Build improvement
        FBUDF library no longer depends on FBCLIENT
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        Permissions are not checked for view columns
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Server crashes if positioned UPDATE/DELETE is executed via DSQL
        and it references a cursor which is already released.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed SF bug #1404157
        DFW is not ready for RECREATE TABLE/VIEW
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Restored the code which replaces ROLLBACK with COMMIT if a transaction
        has not modified any data
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        ROW_COUNT is cleared after SUSPEND execution
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1408079
        Parser does not validate string literal markers
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 2 bug
        Incorrect ambiguity error raised for quantified predicates (ANY/ALL/IN)
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bugs
        1) Wrong statistics if relation\index data is longer than 2^32 bytes length
        2) Wrong statistics: average index key length rounded to integer value
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Attachments with isc_dpb_no_garbage_collect option force the sweep
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Beta 2 bug
        Wrong string length calculated for UNICODE_FSS system domains
        in users views and tables
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 2 bug
        Incorrectly stored source for CURRENT_TIME\CURRENT_TIMESTAMP
        in procedure parameters default values
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

  **************
  * v2.0 Beta 2
  **************

    * Forward port from 1.5.3
        Added OldColumnNaming support
      Contributor:
        Paul Reeves <paul_reeves at ibphoenix.com>

    * Fixed Beta 1 bug
        Problem causing collation to be lost in sqlsubtype when using dynamic charset
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed Beta 1 bug
        Expression indices work incorrectly with the COLLATE clause
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Wrong results when a few candidate predicates have different matching rules
        to lower/upper bounds of the index
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Added new collations
        WIN_CZ for WIN1250 charset
        (Czech language, case-insensitive)
        WIN_CZ_CI_AI for WIN1250 charset
        (Czech language, case-insensitive, accent-insensitive)
      Contributor(s):
        Ivan Prenosil <Ivan.Prenosil at seznam.cz>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        The client library doesn't react on setting envvars
        via SetEnvironmentVariable()
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed SF bug #1404215
        Column dependencies are not stored for views
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Remote connections to the Services API performed with a wrong host
        are in fact served by the local protocol instead of throwing an error
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Bugcheck #205 (index bucket overfilled) during restore
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Expression indices cannot be used for navigation in outer joins
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Wrong (incomplete) errors are reported by system triggers
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #229237
        Blank passwords poorly supported
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Made the server version information human readable in ISQL
        when using the -z flag
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bugs
        A few buffer overruns in ISQL
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        An infinite fetch from explicit PSQL cursors
        based on a navigationally sorted stream
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security enhancements
        1) Active protection from brute-force attack in services API
        2) Redirection of remote requests is controlled by firebird.conf
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Incorrect encryption of password in embedded services manager
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 1 bug
        Unexpected warnings about missing UDF libraries during restore on Win32
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Linux SS performance degradation related to the threads management
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Incorrect Win32 error output by GSTAT
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 1 bug
        Incorrect report by GFIX validation about corruption
        of primary/unique indices
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bugs
        1) Long restore for complex interdependent metadata
        2) Indices not used for small tables
        3) Bad join order for non-indexed relationships
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Enhanced CAST function (SF #1371274)
        Now it's possible to use CAST to advise the engine about parameter types,
        hence avoiding the famous "Datatype unknown" error
      Example(s):
        SELECT CAST(? AS INT) FROM RDB$DATABASE
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1191206
        A few constraint issues
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1292106
        ORDER BY with FOR UPDATE WITH LOCK crashes index
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #609538
        Alter Index FK - bad error message
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Added new charset
        Charset WIN1258 for Vietnamese language
      Contributor(s):
        Nguyen The Phuong <phuongthe at gmail.com>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        GPRE is unable to generate more than 32K identifiers
      Contributor(s):
        Ann Harrison <aharrison at ibphoenix.com>

    * Fixed Beta 1 bug
        Datatype changes of index-constrained columns are allowed
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Wrong result for STARTING WITH and subquery containing CASE function
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed Beta 1 bug
        Backup of the security database is not allowed using Services API
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Cleaned up ibase.h
        Public headers don't contain private declarations anymore
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Wrong error can be reported when you access not active contexts
        in multi-action triggers
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF #1368741
        Wrong result for UPPER()
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Enhanced API call
        isc_blob_lookup_desc() now also describes blobs
        that are outputs of stored procedures
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed Beta 1 bug
        Server crashes when TRIM function is used in aggregation
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Server crashes when manipulating input DPB due to memory corruption
        in Parameter Blocks management
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 1 bug
        Column names are lost in case of UNION containing derived fields
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bug
        Server crashes when a few expression indices are used simultaneously
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed SF bug #1175157
        Error in thread scheduler causes server to lockup
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Wrong ISQL metadata extraction for triggers, check constraints
        and views with check option
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Server crash when attempting to load metadata for expression index
        that belong to a not scanned table
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Internal error is reported when attempting to pass/return blobs
        to/from string functions inside PSQL
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Corrupted IDs of system generators after restore
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Explicit plan could be rejected/ignored in ODS11 databases
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Root directory lookup change
        Registry is no longer used by the server processes
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bugs
        1) Improper thread data operations during the protocol port cleanup
        2) No transaction rollback / attachment cleanup for broken TCP connections
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Wrong error message is decoded when firebird.msg is missing or outdated
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Memory corruption and server crash caused by buffer overflows
        inside the BLR->ASCII blob filter
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Bad optimization of joins order
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Incorrect source SQL is stored in the metadata for DEFAULT CURRENT_TIME[STAMP]
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Column defaults remain cached after DROP DEFAULT statement
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Enhanced SET TRANSACTION statement
        All TPB options are now supported:
          - NO AUTO UNDO
          - IGNORE LIMBO
          - LOCK TIMEOUT <number>
      Example(s):
        SET TRANSACTION WAIT SNAPSHOT NO AUTO UNDO LOCK TIMEOUT 10
      See also:
        doc/sql.extensions/README.set_transaction.txt
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 1 bug
        Server crash caused by invalid reference to RDB$ROLES.RDB$SYSTEM_FLAG
        in ODS10 databases
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 1 bug
        Corrupted incremental backups are created after changes in large blobs
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed unregistered bug
        Server crash when attempting to restore a database backup
        with corrupted VARCHAR data
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        A successful status vector could be reported to the user
        after a failed DDL operation
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Threading issues in the DSQL metadata cache causing unexpected
        "invalid transaction handle" errors under load
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Incorrect checking of subqueries/derived tables in the HAVING clause
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Wrong result by the division operation after DDL changes
      Example(s):
        create table test(fld numeric(18, 2));
        insert into test (fld) values (1);
        commit;
        alter table test alter fld type numeric(18,3);
        select fld/3 from test; -- returns 0.033 instead of expected 0.333
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Beta 1 bug
        Memory corruption causing server to crash when using CURRENT_TIME[STAMP]
        in some complex cases (nested procedure calls or views)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1184099
        Incorrectly padding when using charset OCTETS
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Unexpected errors caused by improperly handled dead record versions
        created by the system transaction during DDL operations
      Contributor(s):
        Ann Harrison <aharrison at ibphoenix.com>

    * Further optimizer improvements
        Better cost-based calculation
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Beta 1 bug
        ALTER TABLE SET DEFAULT incorrectly modifies RDB$FIELDS
        instead of RDB$RELATION_FIELDS
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Beta 1 bug
        Index is not rebuilt after a datatype change
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Beta 1 bug (SF #1192225)
        Automatic NOT NULL in PK columns incomplete
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregister bug
        GBAK adds garbage bytes to SPB when called in the -SE mode
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>
        Claudio Valderrama <cvalde at usa.net>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Added new DDL statement
        RECREATE TRIGGER statement is now available in DDL
      Note(s):
        Semantics is the same as for other RECREATE statements
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregister bug
        SuperServer deadlock in the DSQL metadata cache
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Server crashes during some DDL actions
      Example(s):
        alter table rdb$relations add rdb$garbage varchar(30);
      Contributor(s):
        Jim Starkey <jas at netfrastructure.com>

    * Fixed SF bug #223060
        Slow processing of GREATER-THAN operator
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed unregistered bug
        Check constraints are not SQL compliant in regard to the NULL handling
      Example(s):
        CHECK (DEPTNO IN (10, 20, 30)) should allow NULL values
        in the DEPTNO column but it does not
      Contributor(s):
        Paul Ruizendaal <pnr at janus-software.com>
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Primary key could be created on a column having NULL values
      Example(s):
        create table bug (f1 int not null, f2 int not null);
        insert into bug (f1, f2) values (1, 1);
        commit;
        alter table bug add pk int not null primary key;
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Beta 1 bug
        Wrong access permissions to the QLI help database
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Beta 1 bug
        OLD/NEW context references are improperly recognized
        as matching another table
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed SF bug #1334034
        REVOKE damages ACL
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * v2.0 Beta 1
  **************

    * Fixed Alpha 3 bug
        Client crashes while calling isc_interpret() for isc_except error code
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        ALTER TABLE doesn't see uncommitted relations
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        Server crashes while performing the sweep
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        Improperly reused error codes causing wrong lookup in older firebird.msg
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Changed security2.fdb
        1) Table USERS_BG is renamed to RDB$USERS
        2) User name is now UNICODE_FSS instead of ASCII
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        "Cannot find record fragment" bugcheck happens during GC in system tables
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        Server crashes when attempting to release a BLOB
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        Incorrect ODS layout in AMD64 builds
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Alpha 3 bug
        Removed collation alias PT_BR for WIN1252,
        rolled back to globally unique collation names
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed SF bug #1211328
        Maximum BLOB size (error reporting)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        System triggers of wrong ODS are executed
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

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

    * Fixed Alpha 3 bug
        Deletes perform slower than in v1.5
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1292007
        INSERT and UPDATE allow duplicate field name
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 3 bug (SF #1305110)
        FB 2.0 clash between UDF and internal LOWER function
      Note(s):
        UDF lower is now declared as "LOWER" in ib_udf2.sql
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed SF bug #223128
        SYSDBA can grant non existent roles
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Broken GSEC compatibility (-database switch)
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed Alpha 3 bug
        Bugcheck or wrong result caused by the FETCH statement
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Server crashes when too big key is specified for an index retrieval
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        ISQL doesn't extract default values for stored procedure parameters
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed unregistered bug
        SQL string is stored truncated within the RDB$*_SOURCE columns in some cases
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Index is rebuilt while being described via the COMMENT ON INDEX statement
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 3 bug
        SEGV when legacy isc_interprete() is called
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Fixed Alpha 3 bug
        Server crashes on some DDL operations performed on not yet committed tables
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Installation enhancement
        Added optional switch -i[interactive] to instsvc.exe to allow interactive mode
        for LocalSystem services
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bug
        Broken implementation of the MATCHES predicate in GDML
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Issue of SQLVAR.sqllen from non-system MBCS fields
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        GBAK cannot restore a database containing broken foreign keys
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * SQL enhancement
        Allowed value expressions to be returned via the RETURNING clause
      See also:
        /doc/sql.extentions/README.returning.txt
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Implict NOT NULL (in PRIMARY KEY constraint) is	generated with the same
        constraint name of the PK
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bugs
        1) Unpredictable behaviour of gds__log() on POSIX in signal	handlers
        2) Signal safety issues in SuperServer shutdown
        3) Buffer overrruns in physical I/O functions
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * SQL enhancement
        CURRENT_TIME and CURRENT_TIMESTAMP now optionally allow seconds precision
      See also:
        /doc/sql.extentions/README.current_time.txt
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Not enough process permissions caused rejecting of XNET connections
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Security enhancement
        1) Always require login/password for remote clients
        2) Temporary disable logins for clients, making too many wrong attempts to login
      Contributor(s):
        Alex Peshkov <peshkoff at mail.ru>

    * Fixed unregistered bug
        Comparisons between strings in NONE and other charset caused an error
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed unregistered bug
        Incorrect UDF access checking
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug (SF #1249187)
        String literals dest. for large CHAR fields truncated
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed Alpha 3 bug (SF #1256675)
        Create foreign constraint without PK sometimes fails
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        WHEN EXCEPTION <name> handler doesn't work
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>
        Dmitry Yemanov <yemanov at yandex.ru>

    * DDL enhancement
        SET/DROP DEFAULT clauses are now available for ALTER DOMAIN and ALTER TABLE statements
      See also:
        /doc/sql.extentions/README.ddl.txt
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Improved Services API
        Services are now executed as threads rather than processes on some threadable CS builds
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bugs
        1) '1.5' / '0.5' doesn't work in Dialect 1
        2) avg ('1.5') doesn't work in Dialect 1
        3) 5 * '1.5' produces INT result instead of DOUBLE PRECISION in Dialect 1
        4) sum ('1.5') produces NUMERIC(15, 2) result instead of DOUBLE PRECISION in Dialect 1
        5) - '1.5' doesn't work in Dialect 1
        6) '1.5' * '0.5' and '1.5' / '0.5' are not forbidden in Dialect 3
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed SF bug #1250150
        Can't drop procedure
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug
        Expression index dependencies aren't tracked correctly
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug SF #1238104
        Incorrect sweep internal report
      Contributor(s):
        Claudio Valderrama <cvalde at usa.net>

    * Added UDF function
        IB_UDF_srand is now available in the IB_UDF library
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Added new collation
        BS_BA for WIN1250 charset (Bosnian language)
      Contributor(s):
        Fikret Hasovic <fikreth at bihtamp.net>

    * Fixed Alpha 3 bugs
        1) "WITH CHECK OPTION" bug
        2) Issue with unreleased contexts in derived tables
        3) Outer references to higher scope-levels are rejected in derived tables
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 3 bugs
        1) NEXT VALUE FOR bug for dialect 3 (32bit impementation was used)
        2) Issue with GEN_ID(<value>, NULL)
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bug
        Foreign-key checks failed due to the new INTL changes
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed Alpha 3 bug (SF #1289925)
        isc_array_lookup_bounds bug
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed Alpha 3 bugs
        1) Issues with NEW/OLD contexts and derived tables
        2) Issues with the IN predicate
        3) Invalid parsing of PLANs inside views
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed bug SF #1244126
        Update text BLOBs when connected with NONE charset
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Fixed bug SF #1242106
        1) Incorrect commit instead of rollback during shutdown
        2) Crash or bugcheck during SuperServer shutdown with active attachments
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed bug SF #1242982
        Bug in compound index key mangling
      Contributor(s):
        Arno Brinkman <firebird at abvisie.nl>

    * Fixed unregistered bug
        Crash occured in service gfix code when it tried to reattach to currently
        unavailable database. Since service can't interact with end user an endless
        loop leads to overflow service buffer and crash as result.
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed Alpha 3 bug (SF #1242106)
        In-Limbo transaction Services API broken
      Contributor(s):
        Vlad Horsun <horsun at kdb.dp.ua>

    * Fixed bug SF #1242379
        Collation changes VARCHAR's length
      Contributor(s):
        Adriano dos Santos Fernandes <adrianosf at uol.com.br>

    * Added ROLLBACK RETAIN syntax support
        ROLLBACK RETAIN statement is now supported in DSQL
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

    * Fixed unregistered bugs
        1) Do not overwrite destination during NBACKUP restore
        2) Fixed cases of corrupted backups created by NBACKUP
        3) Fixed some memory/handle leaks
      Contributor(s):
        Nickolay Samofatov <nickolay at broadviewsoftware.com>

    * Fixed Alpha 3 bug
        Threading issues in DSQL causing errors at prepare
      Contributor(s):
        Dmitry Yemanov <yemanov at yandex.ru>

  **************
  * 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_sql_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>
