8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +01:00
firebird-mirror/CHANGELOG.md
2021-01-27 21:07:51 +03:00

57 KiB

v4.0 Release Candidate 1 (planned)

New features

  • CORE-5832: Add command to reset user session environment to its initial (default) state
    Contributor(s): Vlad Khorsun

  • CORE-3708: Add virtual table RDB$CONFIG that shows actual configuration settings
    Contributor(s): Vlad Khorsun

Improvements

  • CORE-6474: Report replica mode through isc_database_info, MON$DATABASE and SYSTEM context
    Contributor(s): Dmitry Yemanov

  • CORE-6469: Ability to trace session management commands (e.g. ALTER SESSION RESET)
    Contributor(s): Vlad Khorsun

  • CORE-6429: Timezone offset in timestamp/time literal, CAST, SET TIME ZONE and AT TIME ZONE should follow SQL standard syntax only
    Reference(s): /doc/sql.extensions/README.time_zone.md
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6413: Remove PIDFile/-pidfile directive/option from firebird Super(Server/Classic) systemd unit
    Contributor(s): Alex Peshkoff

  • CORE-6395: Allow usage of time zone displacement in config DefaultTimeZone
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6366: Check presence of tomcrypt & curses libraries before installing Firebird
    Contributor(s): Alex Peshkoff

  • CORE-6342: INT128 as explicit basic type for high precision numerics
    Reference(s): /doc/sql.extensions/README.data_types
    Contributor(s): Alex Peshkoff

  • CORE-6320: Replace Util methods to get interface pointer by legacy handle with plain functions
    Contributor(s): Alex Peshkoff

  • CORE-6308: Make it possible to update list of time zones (names and ids) without source code recompilation
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6300: Ability to retrieve next attachment id and next statement id
    Reference(s): /doc/README.monitoring_tables
    Contributor(s): Dmitry Yemanov

  • CORE-5085: Allow to fixup (nbackup) database via Services API
    Reference(s): /doc/README.services_extension
    Contributor(s): Alex Peshkoff

  • CORE-4841: Report explicit message about missing password in CREATE (OR ALTER) USER
    Contributor(s): Alex Peshkoff

  • CORE-2650: Improve sorting performance when long VARCHARs are involved
    Contributor(s): Dmitry Yemanov

Bugfixes

  • CORE-6475: Memory leak when running EXECUTE STATEMENT with named parameters
    Contributor(s): Vlad Khorsun

  • CORE-6472: Wrong byte order for UUIDs in gstat and monitoring output
    Contributor(s): Dmitriy Sibiryakov

  • CORE-6460: Incorrect query result when using named window
    Contributor(s): Vlad Khorsun

  • CORE-6453: EXECUTE STATEMENT fails on FB 4.x if containing time/timestamp with time zone parameters
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6450: Races in the security databases cache could lead to the server crash
    Contributor(s): Alex Peshkoff

  • CORE-6447: Unexpectedly different text of message for parameterized expression starting from second run
    Contributor(s): Vlad Khorsun

  • CORE-6441: Srp plugin keeps connection after database has been removed for ~10 seconds
    Contributor(s): Alex Peshkoff

  • CORE-6440: Expression indexes containing COALESCE inside cannot be matched by the optimizer after migration from v2.5 to v3.0
    Contributor(s): Dmitry Yemanov

  • CORE-6438: ISQL: bad headers when text columns has >= 80 characters
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6437: GFIX cannot set big value for page buffers
    Contributor(s): Vlad Khorsun

  • CORE-6433: Server could crash during a daily maintenance / set statistics index
    Contributor(s): Alex Peshkoff

  • CORE-6432: Possible buffer overflow in client library in Attachment::getInfo() call
    Contributor(s): Alex Peshkoff

  • CORE-6427: Whitespace as date separator causes conversion error
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6426: Assertion when the batch is executed without a BLOB field
    Contributor(s): Alex Peshkoff

  • CORE-6425: Exception in client library in IAttachment::createBatch()
    Contributor(s): Alex Peshkoff

  • CORE-6421: Parameter in offset expression in LAG, LEAD, NTH_VALUE window functions requires explicit cast to BIGINT or INTEGER
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6419: Truncation of strings to put in MON$ tables do not work correctly
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6415: Error "malformed string' is raised instead of "expected: N, actual: M" when UTF-8 charset is used and default value is longer than the column length
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6414: Error "expected length N, actual M" contains wrong value of M when UTF-8 charset is used in the field declaration
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6412: Firebird was freezing when trying to manage users via triggers
    Contributor(s): Alex Peshkoff

  • CORE-6408: RETURNING clause in the MERGE statement cannot reference column in aliased target table using qualified reference (alias.column) if DELETE action present
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6403: Some PSQL statements may lead to exceptions report wrong line/column
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6398: Error converting string with hex representation of INTEGER to SMALLINT
    Contributor(s): Alex Peshkoff

  • CORE-6397: Message length error with COALESCE and TIME/TIMESTAMP WITHOUT TIME ZONE and WITH TIME ZONE
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6389: Using binary string literal to assign to user-defined blob sub-types yield conversion error
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6387: Client process was aborting due to bugs inside the ChaCha plugin Contributor(s): Alex Peshkoff

  • CORE-6386: ALTER SEQUENCE RESTART WITH should not change the initial sequence START value
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6385: Wrong line and column information after IF statement
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6379: Bugcheck 179 (decompression overran buffer)
    Contributor(s): Vlad Khorsun

  • CORE-6377: Unable to restore database with tables using GENERATED ALWAYS AS IDENTITY columns
    Contributor(s): Alex Peshkoff

  • CORE-6376: IDENTITY column with explicit START WITH or INCREMENT BY starts with wrong value
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6357: LEAD() and LAG() do not allow to specify 3rd argument of INT128 datatype
    Contributor(s): Alex Peshkoff

  • CORE-6356: ROUND() does not allow second argument >=1 when its first argument is more than MAX_BIGINT / 10
    Contributor(s): Alex Peshkoff

  • CORE-6355: TRUNC() does not accept second argument = -128 (but shows it as required boundary in error message)
    Contributor(s): Alex Peshkoff

  • CORE-6353: INT128 data type has problems with some PSQL objects
    Contributor(s): Alex Peshkoff

  • CORE-6344: Invalid return type for functions with INT128 / Numeric(38) argument
    Contributor(s): Alex Peshkoff

  • CORE-6337: Sub-type information is lost when calculating arithmetic expressions
    Contributor(s): Alex Peshkoff

  • CORE-6336: Error "Implementation of text subtype not located" on attempt to use some collations defined in fbintl.conf
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6335: INSERT ... RETURNING does not require a SELECT privilege
    Contributor(s): Dmitry Yemanov

  • CORE-6328: FB4 Beta 2 may still be using the current date for TIME WITH TIME ZONE and extended wire protocol
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6325: NTILE/RANK/PERCENT_RANK may cause problems in big/complex statements
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6318: CAST('NOW' as TIME) raises a conversion error
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6316: Unable to specify new 32KB page size in CREATE DATABASE statement
    Contributor(s): Alex Peshkoff

  • CORE-6305: Android port build failure
    Contributor(s): Alex Peshkoff

  • CORE-6303: Error writing to TIMESTAMP/TIME WITH TIME ZONE array
    Contributor(s): Alex Peshkoff

  • CORE-6302: Error writing an array of NUMERIC(24,6) to the database
    Contributor(s): Alex Peshkoff

  • CORE-6084: CREATE SEQUENCE START WITH has wrong initial value
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6023: FB4 is unable to overwrite older ODS database
    Contributor(s): Alex Peshkoff

  • CORE-5838: Rotated trace files are locked by the engine
    Contributor(s): Vlad Khorsun

  • CORE-4985: A non-privileged user could implicitly count records in a restricted table
    Contributor(s): Dmitry Yemanov

  • CORE-2274: MERGE has a non-standard behaviour, accepts multiple matches
    Contributor(s): Vlad Khorsun

v4.0 Beta 2 (14-May-2020)

New features

Improvements

  • CORE-6286: Make usage of TIMESTAMP/TIME WITH TIME ZONE convenient for users when appropriate ICU library is not installed on the client side
    Reference(s): /doc/sql.extensions/README.time_zone.md, /doc/sql.extensions/README.set_bind.md
    Contributor(s): Alex Peshkoff

  • CORE-6279: Put options in user management statements in any order
    Reference(s): /doc/sql.extensions/README.user_management
    Contributor(s): Alex Peshkoff

  • CORE-6278: Efficient table scans for DBKEY-based range conditions
    Contributor(s): Dmitry Yemanov

  • CORE-6274: Increase parse speed of long queries
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6268: Add methods to set various names (field, relation, etc.) in metadata builder
    Reference(s): /doc/Using_OO_API.html
    Contributor(s): Alex Peshkoff

  • CORE-6239: Procedures and EXECUTE BLOCK without RETURNS should not be allowed to use SUSPEND
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6237: Performance problem when using SRP plugin
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6220: Enable delivery of known to the client key to any connection to the server
    Contributor(s): Alex Peshkoff

  • CORE-6219: Add support for special (inf/nan) values when sorting DECFLOAT values
    Contributor(s): Alex Peshkoff

  • CORE-6095: Extend trace record for COMMIT/ROLLBACK RETAINING to allow chaining of transaction ids
    Note(s): Backported into v3.0.6
    Contributor(s): Vlad Khorsun

  • CORE-6069: Show OS-specific error when entrypont is not found in dynamic library
    Contributor(s): Alex Peshkoff

  • CORE-6058: Change behavior of skipped and repeated wall times within time zones
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6049: Builtin functions converting binary string to hexadecimal representation and vice versa
    Reference(s): /doc/sql.extensions/README.builtin_functions.txt
    Contributor(s): Alex Peshkoff

  • CORE-6048: Provide ability to see current state of DB encryption
    Reference(s): /doc/README.monitoring_tables
    Contributor(s): Alex Peshkoff

  • CORE-6032: Add DPB properties for time zone bind and decfloat configuration
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6017: Add transaction info fb_info_tra_snapshot_number
    Contributor(s): Vlad Khorsun

  • CORE-5658: Execute statement with excess parameters
    Reference(s): /doc/sql.extensions/README.execute_statement2
    Contributor(s): Vlad Khorsun

  • CORE-5538: Add ability to backup/restore only those (several) tables which are enumerated as command line argument (pattern)
    Reference(s): /doc/README.gbak
    Contributor(s): Dimitry Sibiryakov

  • CORE-4726: Implement REcreate user <user_name> password <user_pwd>
    Contributor(s): Alex Peshkoff

  • CORE-4579: Distribute separate header files instead merged one
    Contributor(s): Dimitry Sibiryakov

  • CORE-3983: Ability to authenticate user in "EXECUTE STATEMENT ON EXTERNAL DATA SOURCE" by hash of the current password
    Contributor(s): Alex Peshkoff

Bugfixes

  • CORE-6290: Hex number used at the end of statement may read invalid memory and produce wrong values or exceptions
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6283: isNullable() in message metadata, returned by metadata builder, does not match with datatype set by setType() in metadata builder
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6282: Change type of MON$ATTACHMENTS.MON$IDLE_TIMER and MON$STATEMENTS.MON$STATEMENT_TIMER to TIMESTAMP WITH TIME ZONE
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6281: Invalid timestamp errors with RDB$TIME_ZONE_UTIL.TRANSITIONS
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6280: MERGE statement loses parameters in WHEN (NOT) MATCHED clause that will never be matched, crashes server in some situations
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6272: Failed attach to a database is not traced
    Contributor(s): Alex Peshkoff

  • CORE-6266: Deleting records from MON$ATTACHMENTS using ORDER BY clause doesn't close the corresponding attachments
    Note(s): Backported into v3.0.6
    Contributor(s): Dmitry Yemanov

  • CORE-6265: Mapping rules are destroyed by backup / restore
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6264: GBAK with PIPE to stdout: invalid content if user '-se :service_mgr' command switch
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6262: SHOW DOMAIN/TABLE does not display character set of system objects
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6260: Warnings are not always displayed in ISQL
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6254: Server crashes when using SET TRANSACTION and ON TRANSACTION START trigger uses EXECUTE STATEMENT against current transaction
    Note(s): Backported into v3.0.6
    Contributor(s): Vlad Khorsun

  • CORE-6253: Crash caused by the locked fb_lock file
    Note(s): Backported into v3.0.6
    Contributor(s): Vlad Khorsun

  • CORE-6252: UNIQUE CONSTRAINT violation
    Note(s): Backported into v3.0.6
    Contributor(s): Vlad Khorsun

  • CORE-6251: Crash when built-in function LEFT or RIGHT is missing its 2nd argument
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6250: Signature mismatch when creating package body on identical packaged procedure header
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6248: A number of errors when database name is longer than 255 symbols
    Contributor(s): Alex Peshkoff

  • CORE-6243: Regression: v4 Beta 1 rejects POSITION element of v2.5 defined SQL2003 CREATE TRIGGER syntax
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6241: Values greater than number of days between 01.01.0001 and 31.12.9999 (=3652058) can be added or subtracted from DATE
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6238: DECFLOAT: subtraction Num1 - Num2 leads to "Decimal float overflow" if Num2 is specified in scientific notation and less than max double (1.7976931348623157e308)
    Contributor(s): Alex Peshkoff

  • CORE-6236: RDB$TIME_ZONE_UTIL package has wrong privilege for PUBLIC
    Contributor(s): Adriano dos Santos Fernandes, Dmitry Yemanov

  • CORE-6233: Wrong dependencies of stored function on view after backup/restore
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6231: Server crashes on shutdown of XNET connection to a local database when events have been registered
    Note(s): Backported into v3.0.6
    Contributor(s): Vlad Khorsun

  • CORE-6230: Unable to connect with database if security.db reference is removed from databases.conf file
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6227: isc_info_svc_user_dbpath always returns alias of main security database
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6224: Server crash: re-destruction of the rem_port object
    Note(s): Backported into v3.0.6
    Contributor(s): Dmitry Kovalenko, Alex Peshkoff

  • CORE-6221: Incorrect (throw-based) allocFunc for zlib1: memory leak is possible
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6218: COUNT(DISTINCT <DECFLOAT_FIELD>) leads FB to crash when there are duplicate values of this field
    Contributor(s): Alex Peshkoff

  • CORE-6217: [inet.cpp] Dangerous work with pointer: delete ptr; ptr=new ;
    Note(s): Backported into v3.0.6
    Contributor(s): Dmitry Kovalenko, Alex Peshkoff

  • CORE-6214: Update outdated tzdata version
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6212: Authentication plugin on server may get garbage data from client instead empty packet
    Contributor(s): Alex Peshkoff

  • CORE-6211: Command "ISQL -X" can not extract ROLE name when use multi-byte charset for connection
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6208: Grant lost in security.db after backup/restore cycle
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6207: Modifications needed to complile Firebird.pas under FPC
    Contributor(s): Alex Peshkoff

  • CORE-6206: VARCHAR of insufficient length used for set bind of decfloat to varchar
    Contributor(s): Vlad Khorsun

  • CORE-6205: Generate proper error for UNION DISTINCT with more than 255 columns
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6186: Original content of column which is involved into ENCRYPT() is displayed as distorted view after this call
    Contributor(s): Alex Peshkoff

  • CORE-6181: Operations when using "SET DECFLOAT BIND BIGINT,n" with result of 11+ digits, fail with "Decimal float invalid operation"
    Contributor(s): Alex Peshkoff

  • CORE-6174: ibase.h is missing from nightly builds
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6170: Cannot install on CentOS 8 because version of LibTomMath and LibNCurses library
    Contributor(s): Alex Peshkoff

  • CORE-6166: Problems with long object names (> 255 bytes)
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6160: SUBSTRING of non-text/-blob is described to return NONE character set in DSQL
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6159: SUBSTRING SIMILAR is described with wrong data type in DSQL
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6130: Creating backup to stdout using service manager is broken
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-6116: Metadata script extracted using ISQL of a database restored from a v2.5.9 backup is invalid when table has COMPUTED BY fields
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6110: 64-bit transaction IDs are not stored properly in status vector
    Contributor(s): Ilya Eremin

  • CORE-6080: Attempt to drop existing user randomly fails with "336723990 : record not found for user"
    Contributor(s): Vlad Khorsun

  • CORE-6071: Restore of encrypted backup of database with SQL dialect 1 fails
    Contributor(s): Alex Peshkoff

  • CORE-6061: Building with --with-builtin-tommath doesn't work
    Contributor(s): Alex Peshkoff

  • CORE-6056: Overflow warnings when building some collations
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6046: Incorrect time zone parsing reads garbage in memory
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6044: ISQL issues with increased identifier length
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6034: The original time zone should be set to the current time zone at routine invocation
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6033: SUBSTRING(CURRENT_TIMESTAMP) does not work
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-6019: Wire compression does not work without MSVC 2010 runtime installation
    Contributor(s): Vlad Khorsun

  • CORE-5976: GBAK multi-database file restore uses wrong minimum number of pages for first database file
    Contributor(s): Mark Rotteveel

  • CORE-5972: External engine trigger crashing server if table have computed field
    Note(s): Backported into v3.0.6
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5957: Bug in SIMILAR TO when adding numeric quantifier as bound for repetetion of expression leads to empty resultset
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5931: SIMILAR TO does not return result when invalid pattern is used
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5892: SQL SECURITY DEFINER context is not properly evaluated for monitoring tables
    Contributor(s): Roman Simakov

  • CORE-5697: Conversion from numeric literals to DECFLOAT adds precision that is not originally present
    Contributor(s): Alex Peshkoff

  • CORE-5696: Conversion from zero numeric literals to DECFLOAT results in incorrect value
    Contributor(s): Alex Peshkoff

  • CORE-5691: File description on Firebird executables should be specific
    Contributor(s): Vlad Khorsun

  • CORE-5664: SIMILAR TO is substantially (500-700x) slower than LIKE on trivial pattern matches with VARCHAR data
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5445: Cannot install on Debian Stretch/Testing because version of LibTomMath library
    Contributor(s): Alex Peshkoff

  • CORE-5364: gfix -online normal (executed in session #1) does not produce error when there is a SYSDBA-owned session #2
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

  • CORE-4893: SIMILAR-TO leads FB to crash when matching blob with size > 2Gb to a string literal
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-4874: Infinite "SIMILAR TO" matching
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-4739: Accent insensitive comparison: diacritical letters with DIAGONAL crossing stroke pass only test on EQUALITY to their non-accented forms
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-3858: Very poor performance of SIMILAR TO on some arguments
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-3380: Disable reading from the newly created BLOB
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-2251: GBAK doesn't return error code
    Note(s): Backported into v3.0.6
    Contributor(s): Alex Peshkoff

v4.0 Beta 1 (20-Feb-2019)

New features

Improvements

  • CORE-5973: Handling FP overflow in DOUBLE PRECISION value when converting from DECFLOAT
    Contributor(s): Alex Peshkoff

  • CORE-5954: Garbage collection in intermediate record versions
    Reference(s): /doc/README.read_consistency.md
    Contributor(s): Nickolay Samofatov, Roman Simakov, Vlad Khorsun

  • CORE-5952: Enhance restore performance of GBAK using batch API
    Contributor(s): Alex Peshkoff

  • CORE-5948: Make WIN_SSPI plugin produce keys for wirecrypt plugin
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5928: Make it possible for AuthClient plugin to access authentication block from DPB
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5921: Provide information about Global Commit Number, Commit Number of currently used database snapshot (if any) and Commit Numbers assigned to the committed transactions
    Reference(s): /doc/sql.extensions/README.builtin_functions.txt
    Contributor(s): Vlad Khorsun

  • CORE-5887: Allow the use of management statements in PSQL blocks
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5883: Services version 1 cleanup
    Contributor(s): Alex Peshkoff

  • CORE-5874: Provide name of read-only column incorrectly referenced in UPDATE ... SET xxx
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5779: Add support for riscv64
    Contributor(s): Richard Jones

  • CORE-5770: User who is allowed to manage other users must have this ability WITHOUT need to grant him RDB$ADMIN role
    Contributor(s): Alex Peshkoff

  • CORE-5741: Replace word "fixing" with "adjusting" in GBAK output
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5718: Make TempCacheLimit setting database-wise
    Contributor(s): Dmitry Yemanov

  • CORE-5705: Store precision of DECFLOAT in RDB$FIELDS
    Contributor(s): Alex Peshkoff

  • CORE-5647: Increase number of formats/versions of views from 255 to 32K
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5606: Add expression index name to exception message if computation failed
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-4529: Allow to use index when GROUP BY on field which has DESCENDING index
    Contributor(s): Dmitry Yemanov

  • CORE-4409: Enhancement in precision of calculations with NUMERIC/DECIMAL
    Contributor(s): Alex Peshkoff

  • CORE-3808: Provide ability to return all columns using RETURNING clause
    Reference(s): /doc/sql.extensions/README.returning
    Contributor(s): Adriano dos Santos Fernandes

Bugfixes

  • CORE-5995: Creator user name is empty in user trace sessions
    Note(s): Backported into v3.0.5
    Contributor(s): Vlad Khorsun

  • CORE-5993: When creation of audit log file fails, there is no error message in firebird.log
    Note(s): Backported into v3.0.5
    Contributor(s): Vlad Khorsun

  • CORE-5991: Trace could not work correctly with quoted file names in trace configurations
    Note(s): Backported into v3.0.5
    Contributor(s): Vlad Khorsun

  • CORE-5989: iconv / libiconv 1.15 vs libc / libiconv_open | common/isc_file.cpp
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5986: Incorrect evaluation of NULL IS [NOT] {FALSE | TRUE}
    Note(s): Backported into v3.0.5
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5985: Regression: ROLE does not passed in ES/EDS (specifying it in the statement is ignored)
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5982: Error "read permission for BLOB field", when it's an input/output procedure's parameter
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitriy Starodubov

  • CORE-5980: Firebird crashes due to concurrent operations with expression indices
    Note(s): Backported into v3.0.5
    Contributor(s): Vlad Khorsun

  • CORE-5974: Wrong result of select distinct with decfload/timezone/collated column
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5972: External engine trigger crashing server if table have computed field
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5965: FB3 optimizer chooses less efficient plan than FB2.5 optimizer
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-5959: Firebird returns wrong time after changes of time zone
    Note(s): Backported into v3.0.5
    Contributor(s): Vlad Khorsun

  • CORE-5955: Unable to init binreloc with ld >= 2.31
    Note(s): Backported into v3.0.5
    Contributor(s): Roman Simakov

  • CORE-5950: Deadlock when attaching to bugchecked database
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5943: Server crashes preparing a query with both DISTINCT/ORDER BY and non-field expression in the select list
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-5934: gpre_boot fails to link using cmake, undefined reference 'dladdr' and 'dlerror'
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5930: Bugcheck "incorrect snapshot deallocation - too few slots"
    Contributor(s): Vlad Khorsun

  • CORE-5927: With some non-standard authentication plugins providing correct crypt key wire anyway remains not encrypted
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5926: Attempt to create mapping with non-ASCII user name which is encoded in SINGLE-BYTE codepage (WIN1251) leads to 'Malformed string' error
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5918: Memory pool statistics is not accurate
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5907: Regression: can not launch trace if its 'database' section contains regexp pattern with curvy brackets to enclose quantifier
    Note(s): Backported into v3.0.5
    Contributor(s): Alex Peshkoff

  • CORE-5896: NOT NULL constraint is not synchronized after rename column
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5871: Incorrect caching of the subquery result (procedure call) in independent queries
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5862: Varchar computed column without explicit type does not populate RDB$CHARACTER_LENGTH
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5861: GRANT OPTION is not checked for new object
    Contributor(s): Roman Simakov

  • CORE-5855: Firebird 4.0 cannot backup DB with generators which contains space in the names
    Contributor(s): Alex Peshkoff

  • CORE-5800: After backup/restore the indexes by expression on computed field are not working properly
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-5795: ORDER BY clause on compound index may disable usage of other indices
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-5750: Date-time parsing is very weak
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5728: Field subtype of DEC_FIXED columns not returned by isc_info_sql_sub_type
    Contributor(s): Alex Peshkoff

  • CORE-5726: Unclear error message when inserting value exceeding max of DEC_FIXED decimal
    Contributor(s): Alex Peshkoff

  • CORE-5717: Reject non-constant date/time/timestamp literals
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5710: Datatype declaration DECFLOAT without precision should use a default precision
    Contributor(s): Alex Peshkoff

  • CORE-5700: DECFLOAT underflow should yield zero instead of an error
    Contributor(s): Alex Peshkoff

  • CORE-5699: DECFLOAT should not throw exceptions when +/-NaN, +/-sNaN and +/-Infinity is used in comparisons
    Contributor(s): Alex Peshkoff

  • CORE-5657: Various UDF-related security vulnerabilities
    Contributor(s): Alex Peshkoff

  • CORE-5646: Parse error when compiling a statement causes memory leak until attachment is disconnected
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5639: Mapping rule using WIN_SSPI plugin: windows user group conversion to firebird role does not work
    Contributor(s): Alex Peshkoff

  • CORE-5637: string right truncation on restore of security db
    Contributor(s): Alex Peshkoff

  • CORE-5612: Gradual slowdown of view operations (create, recreate or drop)
    Contributor(s): Dmitry Yemanov

  • CORE-5611: Higher memory consumption for prepared statements
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5593: System function RDB$ROLE_IN_USE cannot take long role names
    Contributor(s): Alex Peshkoff

  • CORE-5518: Firebird UDF string2blob() may allow remote code execution
    Contributor(s): Alex Peshkoff

  • CORE-5480: SUBSTRING startposition smaller than 1 should be allowed
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5395: Invalid data type for negation (minus operator)
    Note(s): Backported into v3.0.5
    Contributor(s): Adriano dos Santos Fernandes, Dmitry Yemanov

  • CORE-5118: Indices on computed fields are broken after restore (all keys are NULL)
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-5070: Compound index cannot be used for filtering in some ORDER/GROUP BY queries
    Note(s): Backported into v3.0.5
    Contributor(s): Dmitry Yemanov

  • CORE-1592: Altering procedure parameters can lead to unrestorable database
    Contributor(s): Adriano dos Santos Fernandes

v4.0 Alpha 1 (23-Aug-2017)

New features

Improvements

Bugfixes

  • CORE-5545: Wrong syntax with CREATE TRIGGER ... ON used with POSITION
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5454: INSERT into updatable view without explicit field list failed
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5408: Result of boolean expression can not be concatenated with string literal
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5404: Inconsistent column/line references when PSQL definitions return errors
    Contributor(s): Adriano dos Santos Fernandes

  • CORE-5237: Invalid handling of dot (.) and asterisk (*) in config file name and path for include clause
    Contributor(s): Dimitry Sibiryakov

  • CORE-5223: Double dots are prohibited in file names if access is restricted to a list of directories
    Contributor(s): Dimitry Sibiryakov

  • CORE-5141: Field definition allows several NOT NULL clauses
    Contributor(s): Dimitry Sibiryakov

  • CORE-4985: Non-privileged user can implicitly count records in a restricted table
    Contributor(s): Dmitry Yemanov

  • CORE-4701: Index and blob garbage collection don't take into accout data in undo log
    Contributor(s): Dimitry Sibiryakov

  • CORE-4483: Changed data not visible in WHEN-section if exception occured inside SP that has been called from this code
    Contributor(s): Dimitry Sibiryakov

  • CORE-4424: Rollback to wrong savepoint if several exception handlers on the same level are executed
    Contributor(s): Dimitry Sibiryakov