8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 15:23:03 +01:00
firebird-mirror/CHANGELOG.md
2024-07-06 09:30:56 +03:00

50 KiB
Raw Permalink Blame History

v5.0.1

Improvements

  • #8104: More efficient evaluation of expressions like RDB$DB_KEY <= ? after mass delete
    Contributor(s): Vlad Khorsun

  • #8066: Make protocol schemes case-insensitive
    Contributor(s): Vlad Khorsun

  • #8042: Improve conflict resolution on replica when table have both primary and unique keys
    Contributor(s): Vlad Khorsun

  • #8030: Better cardinality estimation when empty data pages exist
    Contributor(s): Vlad Khorsun

  • #8010: Remove gfix -cache option
    Contributor(s): Vlad Khorsun

  • #7978: Update Windows distributions with zlib version 1.3.1
    Contributor(s): Vlad Khorsun

  • #7928: Make TempCacheLimit setting to be per-database (not per-attachment) for SuperClassic
    Contributor(s): Vlad Khorsun

Bugfixes

  • #8168: MAKE_DBKEY bug after backup/restore
    Contributor(s): Vlad Khorsun

  • #8156: Can not specify concrete IPv6 address in ES/EDS connection string.
    Contributor(s): Vlad Khorsun

  • #8151: Deadlock happens when run 'List Trace Sessions' service and there are many active trace sessions
    Contributor(s): Vlad Khorsun

  • #8150: Process could attach to the deleted instance of shared memory
    Contributor(s): Alexander Peshkov, Vlad Khorsun

  • #8149: The hung or crash could happen when connection fires TRACE_EVENT_DETACH event and new trace session created concurrently
    Contributor(s): Vlad Khorsun

  • #8138: Bugcheck when replicator state is changed concurrently
    Contributor(s): Vlad Khorsun

  • #8136: Server crashes with IN (dbkey1, dbkey2, ...) condition
    Contributor(s): Dmitry Yemanov

  • #8123: Procedure manipulation can lead to wrong dependencies removal
    Contributor(s): Adriano dos Santos Fernandes

  • #8120: Cast dies with numeric value is out of range error
    Contributor(s): Vlad Khorsun

  • #8115: Unexpected results using LEFT JOIN with WHEN function
    Contributor(s): Dmitry Yemanov

  • #8114: Segfault in connections pool during server shutdown
    Contributor(s): Vlad Khorsun

  • #8112: Error isc_read_only_trans (335544361) should report SQLSTATE 25006
    Contributor(s): Adriano dos Santos Fernandes

  • #8110: Firebird 5 crashes on Android API level 34
    Contributor(s): Vlad Khorsun

  • #8108: ICU 63.1 suppresses conversion errors
    Contributor(s): Dmitry Kovalenko

  • #8101: Firebird crashes if a plugin factory returns nullptr and no error in status
    Contributor(s): Vlad Khorsun, Dimitry Sibiryakov

  • #8100: The isc_array_lookup_bounds function returns invalid values for low and high array bounds
    Contributor(s): Adriano dos Santos Fernandes

  • #8094: Creation index error when restore with parallels workers
    Contributor(s): Vlad Khorsun

  • #8089: AV when attaching database while low of free memory
    Contributor(s): Vlad Khorsun

  • #8087: AV when preparing a query with IN list that contains both literals and sub-query
    Contributor(s): Vlad Khorsun

  • #8086: IN predicate with string-type elements is evaluated wrongly against a numeric field
    Contributor(s): Dmitry Yemanov

  • #8085: Memory leak when executing a lot of different queries and StatementTimeout > 0
    Contributor(s): Vlad Khorsun

  • #8084: Partial index uniqueness violation
    Contributor(s): Vlad Khorsun

  • #8083: AV when writting into internal trace log
    Contributor(s): Vlad Khorsun

  • #8079: Engine could crash when executing some trigger(s) while another attachment modifies them
    Contributor(s): Vlad Khorsun

  • #8078: SIMILAR TO with constant pattern using |, *, ? or {0,N} doesn't work as expected
    Contributor(s): Adriano dos Santos Fernandes

  • #8077: Error "Too many recursion levels" does not stop execution of code that uses ON DISCONNECT trigger
    Contributor(s): Alexander Peshkov, Vlad Khorsun

  • #8063: (VAR)CHAR variables/parameters assignments fail in stored procedures with subroutines
    Contributor(s): Adriano dos Santos Fernandes

  • #8058: DDL changes in replication does not set the correct grantor
    Contributor(s): Dmitry Yemanov

  • #8056: "Too many temporary blobs" with blob_append when select a stored procedue using rows-clause
    Contributor(s): Vlad Khorsun

  • #8040: Bugcheck 183 (wrong record length) could happen on replica database after UK violation on insert
    Contributor(s): Vlad Khorsun

  • #8039: Segfault when opening damaged (last TIP is missing in RDB$PAGES, user's FW was OFF) database
    Contributor(s): Alexander Peshkov

  • #8037: Remove directory entries from debug symbols tarbal
    Contributor(s): Alexander Peshkov

  • #8034: (re)set owner/group in tarbal of non-root builds
    Contributor(s): Alexander Peshkov

  • #8033: Invalid result when string compared with indexed NUMERIC(x,y) field where x > 18 and y != 0
    Contributor(s): Alexander Peshkov

  • #8027: Broken gbak statistics
    Contributor(s): Alexander Peshkov

  • #8026: Crash LI-V5.0.0.1306 in libEngine13.so
    Contributor(s): Alexander Peshkov

  • #8016: Free memory issued for isql command list but has never been freed on output file write
    Contributor(s):

  • #8011: DECFLOAT error working with INT128 in UDR
    Contributor(s): Alexander Peshkov

  • #8006: INT128 datatype not supported in FB_MESSAGE macro
    Contributor(s): Alexander Peshkov

  • #8003: gbak can't backup database in ODS < 13
    Contributor(s): Vlad Khorsun

  • #7998: Сrash during partial index checking if the condition raises a conversion error
    Contributor(s): Dmitry Yemanov

  • #7997: Unexpected results when comparing integer with string containing value out of range of that integer datatype
    Contributor(s): Alexander Peshkov

  • #7996: gbak terminates/crashes when a read error occurs during restore
    Contributor(s): Vlad Khorsun

  • #7995: Unexpected results after creating partial index
    Contributor(s): Dmitry Yemanov

  • #7993: Unexpected results when using CASE WHEN with RIGHT JOIN
    Contributor(s): Dmitry Yemanov

  • #7992: Assertion (space > 0) failure during restore
    Contributor(s): Vlad Khorsun

  • #7985: Hang in case of error when sweep thread is attaching to database (CS case)
    Contributor(s): Alexander Peshkov

  • #7979: Hang when database with disconnect trigger using MON$ tables is shutting down
    Contributor(s): Alexander Peshkov

  • #7976: False validation error for short unpacked records
    Contributor(s): Dmitry Yemanov

  • #7974: Restore of wide table can fail with "adjusting an invalid decompression length from to "
    Contributor(s): Vlad Khorsun

  • #7969: Characters are garbled when replicating fields with type BLOB SUB_TYPE TEXT if the character set of the connection and the field are different
    Contributor(s): Dmitry Yemanov

  • #7962: System procedure/function inconsistency between SHOW FUNCTIONS and SHOW PROCEDURES in isql
    Contributor(s):

  • #7950: Unable to restore database when .fbk was created on host with other ICU
    Contributor(s): Alexander Peshkov

  • #7942: Error: database file appears corrupted after restore from backup
    Contributor(s): Vlad Khorsun

  • #7937: Inner join raises error "no current record for fetch operation" if a stored procedure depends on some table via input parameter and also has an indexed relationship with another table
    Contributor(s): Dmitry Yemanov

  • #7927: Some default values is set incorrectly for SC/CS architectures
    Contributor(s): Vlad Khorsun

  • #7921: FB5 uses PK for ordered plan even if less count of fields matching index exists
    Contributor(s): Dmitry Yemanov

  • #7899: Inconsistent state of master-detail occurs after RE-connect + 'SET AUTODDL OFF' + 'drop ' which is ROLLED BACK
    Contributor(s): Vlad Khorsun

  • #7896: replication.log remains empty (and without any error in firebird.log) until concurrent FB instance is running under different account and generates segments on its master. Significant delay required after stop concurrent FB it in order allow first one to write in its replication log.
    Contributor(s): Vlad Khorsun

  • #7873: Wrong memory buffer alignment and I/O buffer size when working in direct I/O mode
    Contributor(s): Vlad Khorsun

  • #7869: GBAK can write uninitialized data into RDB$RETURN_ARGUMENT and RDB$ARGUMENT_POSITION fields
    Contributor(s): Dmitry Kovalenko

  • #7863: Non-correlated sub-query is evaluated multiple times if it is based on a VIEW rather than on appropriate derived table
    Contributor(s): Dmitry Yemanov

  • #7394: autoconf 2.72
    Contributor(s): Alexander Peshkov

v5.0 Final Release

(no changes)

v5.0 Release Candidate 2

Improvements

  • #7918: Allow to configure Firebird in posix using relative directories with options --with-fb*
    Contributor(s): Adriano dos Santos Fernandes

  • #7910: Add backward compatibility option that disables joins transformation
    Contributor(s): Dmitry Yemanov

  • #7854: Performance issue with time zones
    Contributor(s): Adriano dos Santos Fernandes, Vlad Khorsun

  • #7819: Difficulty returning the product version with the legacy connection
    Contributor(s): Vlad Khorsun

  • #7818: Extend rdb$get_context('SYSTEM', '***') with other info from MON$ATTACHMENT
    Contributor(s): Vlad Khorsun

  • #7814: Don't update database-level statistics on every page cache operation
    Contributor(s): Vlad Khorsun

  • #7810: Improve SKIP LOCKED implementation
    Contributor(s): Vlad Khorsun

  • #7755: Update Windows distribution with new zlib version 1.3 (released 2023-08-18)
    Contributor(s): Vlad Khorsun

Bugfixes

  • #7917: Hang in a case of error when the sweep thread is attaching the database
    Contributor(s): Alexander Peshkov

  • #7905: Segfault during TIP cache initialization
    Contributor(s): Alexander Peshkov

  • #7904: FB5 bad plan for query
    Contributor(s): Dmitry Yemanov

  • #7903: Unexpected Results when Using CASE-WHEN with LEFT JOIN
    Contributor(s): Dmitry Yemanov

  • #7885: Unstable error messages in services due to races related with service status vector
    Contributor(s): Alexander Peshkov

  • #7879: Unexpected Results when Using Natural Right Join
    Contributor(s): Dmitry Yemanov

  • #7867: Error "wrong page type" during garbage collection on v4.0.4
    Contributor(s): Ilya Eremin

  • #7860: Crash potentially caused by BETWEEN Operator
    Contributor(s): Vlad Khorsun

  • #7853: Do not consider non-deterministic expressions as invariants in pre-filters
    Contributor(s): Dmitry Yemanov

  • #7851: [FB1+, GBAK, Restore] The skip of att_functionarg_field_precision does not check RESTORE_format
    Contributor(s): Dmitry Kovalenko

  • #7846: FB4 can't backup/restore int128-array
    Contributor(s): Dmitry Kovalenko

  • #7844: Removing first column with SET WIDTH crashes ISQL
    Contributor(s): Adriano dos Santos Fernandes

  • #7839: Potential bug in BETWEEN Operator
    Contributor(s): Vlad Khorsun

  • #7832: Firebird 5 and 6 crash on "... RETURNING * " without INTO in PSQL
    Contributor(s): Adriano dos Santos Fernandes

  • #7831: Incorrect type of UDF-argument with array
    Contributor(s): Dmitry Kovalenko

  • #7827: Problem using python firebird-driver with either intel or m1 Mac buiilds with version 4.0.3 or 5.0+
    Contributor(s): Adriano dos Santos Fernandes

  • #7817: Memory leak is possible for UDF array arguments
    Contributor(s): Dmitry Yemanov

  • #7812: Service backup does not work in multiple engines configuration
    Contributor(s): Alexander Peshkov

  • #7800: Default publication status is not preserved after backup/restore
    Contributor(s): Dmitry Yemanov

  • #7795: NOT IN returns incorrect result if NULLs are present inside the value list
    Contributor(s): Dmitry Yemanov

  • #7779: Firebird 4.0.3 is constantly crashing with the same symptoms (fbclient.dll) (incl. DMP File Analysis)
    Contributor(s): Vlad Khorsun

  • #7772: Blob corruption in FB 4.0.3 (embedded)
    Contributor(s): Vlad Khorsun

  • #7770: restore takes 25% more time vs 4.0.0
    Contributor(s): Vlad Khorsun

  • #7767: Slow drop trigger command execution under FB5.0
    Contributor(s): Dmitry Yemanov

  • #7762: Crash on "Operating system call pthread_mutex_destroy failed. Error code 16" in log
    Contributor(s): Alexander Peshkov

  • #7761: Regression when displaying line number of errors in ISQL scripts
    Contributor(s): Adriano dos Santos Fernandes

  • #7760: Parameters inside the IN list may cause a string truncation error
    Contributor(s): Dmitry Yemanov

  • #7759: Routine calling overhead increased by factor 6 vs Firebird 4.0.0
    Contributor(s): Adriano dos Santos Fernandes

  • #7461: Differencies in field metadata descriptions between Firebird 2.5 and Firebird 4
    Contributor(s): Dmitry Yemanov

v5.0 Release Candidate 1

New features

  • #7682: Use ParallelWorkers setting from firebird.conf as default for all parallelised operations
    Contributor(s): Vlad Khorsun

  • #7469: Make Android port (client / embedded) work inside apps
    Contributor(s): Adriano dos Santos Fernandes

  • #5959: Add support for QUARTER to EXTRACT, FIRST_DAY and LAST_DAY
    Contributor(s): Adriano dos Santos Fernandes

Improvements

  • #7752: Avoid the access path information inside the PLG$PROF_RECORD_SOURCES table from being truncated to 255 characters
    Contributor(s): Adriano dos Santos Fernandes

  • #7720: MacOS: build libicu and static libc++ using vcpkg
    Contributor(s): Adriano dos Santos Fernandes

  • #7707: Better processing and optimization if IN <list> predicates
    Contributor(s): Dmitry Yemanov

  • #7692: Make trace config parser resolve symlinks in database file path in trace configuration
    Contributor(s): Vlad Khorsun

  • #7688: Profiler should not miss query's top-level access paths nodes
    Contributor(s): Adriano dos Santos Fernandes

  • #7687: Add LEVEL column to PLG$PROF_RECORD_SOURCES and PLG$PROF_RECORD_SOURCE_STATS_VIEW
    Contributor(s): Adriano dos Santos Fernandes

  • #7685: Add overload FbVarChar::set function for non null-terminated string
    Contributor(s): Adriano dos Santos Fernandes

  • #7680: Make boot build on Windows a bit more user-friendly
    Contributor(s): Vlad Khorsun

  • #7652: Make the profiler store aggregated requests by default, with option for detailed store
    Contributor(s): Adriano dos Santos Fernandes

  • #7642: Getting the current DECFLOAT ROUND/TRAPS settings
    Contributor(s): Alexander Peshkov

  • #7637: Run as application not specifying switch -a
    Contributor(s): Vlad Khorsun

  • #7634: Include Performance Cores only in default affinity mask
    Contributor(s): Vlad Khorsun

  • #7576: Allow nested parenthesized joined table
    Contributor(s): Mark Rotteveel

  • #7559: Optimize creation of expression and partial indices
    Contributor(s): Dmitry Yemanov

  • #7550: Add support for -parallel in combination with gfix -icu
    Contributor(s): Vlad Khorsun

  • #7542: Compiler warnings raise when build cloop generated Firebird.pas in RAD Studio 11.3
    Contributor(s): Vlad Khorsun

  • #7539: RDB$GET/SET_CONTEXT(): enclosing in apostrophes or double quotes of a missed namespace/variable will make output more readable
    Contributor(s): Vlad Khorsun

  • #7536: Add ability to query current value of parallel workers for an attachment
    Contributor(s): Vlad Khorsun

  • #7506: Reduce output of the SHOW GRANTS command
    Contributor(s): Artyom Ivanov

  • #7494: Firebird performance issue - unnecessary index reads
    Contributor(s): Vlad Khorsun

  • #7475: SHOW SYSTEM command: provide list of functions belonging to system packages
    Contributor(s): Alexander Peshkov

  • #7466: Add COMPILE trace events for procedures/functions/triggers
    Contributor(s): Dmitry Yemanov

  • #7425: Add REPLICA MODE to the output of the isql SHOW DATABASE command
    Contributor(s): Dmitry Yemanov

  • #7405: Surface internal optimization modes (all rows vs first rows) at the SQL and configuration levels
    Contributor(s): Dmitry Yemanov

  • #7213: Use Windows private namespace for kernel objects used in server-to-server IPC
    Contributor(s): Vlad Khorsun

  • #7046: Make ability to add comment to mapping (COMMENT ON MAPPING ... IS ...)
    Contributor(s): Alexander Peshkov

  • #7001: ISQL showing publication status
    Contributor(s): Dmitry Yemanov

Bugfixes

  • #7747: Fix an issue where the garbage collection in indexes and blobs is not performed in VIO_backout
    Contributor(s): Ilya Eremin

  • #7738: Crash on multiple connections/disconnections
    Contributor(s): Alexander Peshkov

  • #7737: Fix cases where the precedence relationship between a record page and a blob page is not set
    Contributor(s): Ilya Eremin

  • #7731: Display length of timestamp with timezone is wrong in dialect 1
    Contributor(s): Alexander Peshkov

  • #7730: Server ignores the size of VARCHAR when performing SET BIND ... TO VARCHAR(N)
    Contributor(s): Alexander Peshkov

  • #7729: SET BIND OF TS WITH TZ TO VARCHAR(128) uses the date format of dialect 1
    Contributor(s): Alexander Peshkov

  • #7727: Index for integer column cannot be used when INT128/DECFLOAT value is being searched
    Contributor(s): Dmitry Yemanov

  • #7723: Wrong error message on login if the user doesn't exists and WireCrypt is disabled
    Contributor(s): Alexander Peshkov

  • #7713: FOR SELECT statement can not see any changes made in DO block
    Contributor(s): Vlad Khorsun

  • #7710: Expression index - more than one null value cause attempt to store duplicate value error - FB5.0 beta 2
    Contributor(s): Vlad Khorsun

  • #7703: Requests leak in AutoCacheRequest
    Contributor(s): Alexander Peshkov

  • #7696: select from external procedure validates output parameters even when fetch method returns false
    Contributor(s): Adriano dos Santos Fernandes

  • #7694: Fix false positives of "missing entries for record X" error during index validation when a deleted record version is committed and has a backversion
    Contributor(s): Ilya Eremin

  • #7691: with caller privileges has no effect in triggers
    Contributor(s): Alexander Peshkov

  • #7683: rdb$time_zone_util.transitions returns an infinite resultset
    Contributor(s): Adriano dos Santos Fernandes

  • #7676: "Attempt to evaluate index expression recursively"
    Contributor(s): Dmitry Yemanov

  • #7670: Cursor name can duplicate parameter and variable names in procedures and functions
    Contributor(s): Adriano dos Santos Fernandes

  • #7665: Wrong result ordering in LEFT JOIN query
    Contributor(s): Dmitry Yemanov

  • #7664: DROP TABLE executed for a table with big records may lead to "wrong page type" or "end of file" error
    Contributor(s): Vlad Khorsun, Ilya Eremin

  • #7662: Fix performance issues in prepare_update()
    Contributor(s): Ilya Eremin

  • #7661: Classic Server rejects new connections
    Contributor(s): Vlad Khorsun

  • #7658: Segfault when closing database in valgrind-enabled build
    Contributor(s): Alexander Peshkov

  • #7649: Switch Linux performance counter timer to CLOCK_MONOTONIC_RAW
    Contributor(s): Adriano dos Santos Fernandes

  • #7641: Fix wrong profiler measurements due to overflow.
    Contributor(s): Adriano dos Santos Fernandes

  • #7638: OVERRIDING USER VALUE should be allowed for GENERATED ALWAYS AS IDENTITY
    Contributor(s): Adriano dos Santos Fernandes

  • #7627: The size of the database with big records becomes bigger after backup/restore
    Contributor(s): Ilya Eremin

  • #7626: Segfault when new attachment is done to shutting down database
    Contributor(s): Alexander Peshkov

  • #7611: Can't backup/restore database from v3 to v4 with SEC$USER_NAME field longer than 10 characters
    Contributor(s): Adriano dos Santos Fernandes

  • #7610: Uninitialized/random value assigned to RDB$ROLES -> RDB$SYSTEM PRIVILEGES when restoring from FB3 backup
    Contributor(s): Adriano dos Santos Fernandes

  • #7604: PSQL functions do not convert the output BLOB to the connection character set.
    Contributor(s): Adriano dos Santos Fernandes

  • #7603: BIN_SHR on INT128 does not apply sign extension
    Contributor(s): Alexander Peshkov

  • #7599: Conversion of text with '\0' to DECFLOAT without errors
    Contributor(s): Alexander Peshkov

  • #7598: DDL statements hang when the compiled statements cache is enabled
    Contributor(s): Vlad Khorsun

  • #7582: Missing isc_info_end in Firebird.pas
    Contributor(s): Alexander Peshkov

  • #7579: Cannot nbackup a firebird 3.0 database in firebird 4.0 service with engine12 setup in Providers
    Contributor(s): Alexander Peshkov

  • #7574: Derived table syntax allows dangling AS
    Contributor(s): Adriano dos Santos Fernandes

  • #7569: Multi-level order by and offset/fetch ignored on parenthesized query expressions
    Contributor(s): Adriano dos Santos Fernandes

  • #7562: Profiler elapsed times are incorrect in Windows
    Contributor(s): Adriano dos Santos Fernandes

  • #7556: FB Classic can hang when attempts to attach DB while it is starting to encrypt/decrypt
    Contributor(s): Alexander Peshkov

  • #7555: Invalid configuration for random fresh created database may be used after drop of another one with alias in databases.conf
    Contributor(s): Alexander Peshkov

  • #7554: Firebird 5 partial index creation causes server hang up
    Contributor(s): Vlad Khorsun

  • #7553: Firebird 5 profiler error with subselects
    Contributor(s): Adriano dos Santos Fernandes

  • #7548: SET BIND OF TIMESTAMP WITH TIME ZONE TO CHAR is not working with UTF8 connection charset
    Contributor(s): Adriano dos Santos Fernandes

  • #7537: Wrong name in error message when unknown namespace is passed into RDB$SET_CONTEXT()
    Contributor(s): Vlad Khorsun

  • #7535: High CPU usage connect to Firebird 3 database using Firebird 4 Classic and SuperClassic service
    Contributor(s): Vlad Khorsun

  • #7514: Segfault when detaching after deleting shadow on Classic
    Contributor(s): Alexander Peshkov

  • #7504: Segfault when closing SQL statement in remote provider during shutdown
    Contributor(s): Alexander Peshkov

  • #7499: Problem with restore
    Contributor(s): Vlad Khorsun

  • #7488: Invalid real to string cast
    Contributor(s): Alexander Peshkov, Artyom Abakumov

  • #7486: No initialization of rpb's runtime flags causes problems with SKIP LOCKED when config ReadConsistency = 0 and SuperServer
    Contributor(s): Adriano dos Santos Fernandes

  • #7484: External engine SYSTEM not found
    Contributor(s): Adriano dos Santos Fernandes

  • #7480: Firebird server stops accepting new connections after some time
    Contributor(s): Alexander Peshkov

  • #7472: Window functions may lead to crash interacting with others exceptions
    Contributor(s): Adriano dos Santos Fernandes

  • #7464: Crash on repeating update in 5.0
    Contributor(s): Adriano dos Santos Fernandes

  • #7456: Impossible drop function in package with name of PSQL-function
    Contributor(s): Adriano dos Santos Fernandes

  • #7445: Fix problem with client-only build requiring btyacc's generated files present
    Contributor(s): Adriano dos Santos Fernandes

  • #7387: Unreliable replication behaviour in Linux Classic
    Contributor(s): Dmitry Yemanov

  • #7233: Postfix for #5385 (CORE-5101): Fix slow database restore when Classic server mode is used
    Contributor(s): Ilya Eremin

v5.0 Beta 1 (27-Mar-2023)

New features

Improvements

  • #7441: More cursor-related details in the plan output
    Contributor(s): Dmitry Yemanov

  • #7437: Update zlib to 1.2.13
    Contributor(s): Vlad Khorsun

  • #7411: Unify display of system procedures & packages with other system objects
    Contributor(s): Alexander Peshkov

  • #7399: Simplify client library build
    Contributor(s): Adriano dos Santos Fernandes

  • #7382: Performance improvement for BLOB copying
    Contributor(s): Adriano dos Santos Fernandes

  • #7331: Cost-based choice between nested loop join and hash join
    Contributor(s): Dmitry Yemanov

  • #7294: Allow FB-known macros in replication.conf
    Contributor(s): Dmitry Yemanov

  • #7293: Create Android packages with all necessary files in all architectures (x86, x64, arm32, arm64)
    Contributor(s): Adriano dos Santos Fernandes

  • #7284: Change release filenames as the following examples
    Contributor(s): Adriano dos Santos Fernandes

  • #7259: Remove TcpLoopbackFastPath and use of SIO_LOOPBACK_FAST_PATH
    Contributor(s): Vlad Khorsun

  • #7208: Trace: provide performance statistics for DDL statements
    Contributor(s): Vlad Khorsun

  • #7194: Make it possible to avoid fbclient dependency in pascal programs using firebird.pas
    Contributor(s): Alexander Peshkov

  • #7186: Nbackup RDB$BACKUP_HISTORY cleanup
    Contributor(s): Vlad Khorsun

  • #7169: Improve ICU version mismatch diagnostics
    Contributor(s): Adriano dos Santos Fernandes

  • #7168: Ignore missing UDR libraries during restore
    Contributor(s): Adriano dos Santos Fernandes

  • #7165: Provide ability to see in the trace log events related to missing security context
    Contributor(s): Vlad Khorsun

  • #7093: Improve indexed lookup speed of strings when the last keys characters are part of collated contractions
    Contributor(s): Adriano dos Santos Fernandes

  • #7092: Improve performance of CURRENT_TIME
    Contributor(s): Adriano dos Santos Fernandes

  • #7083: ResultSet::getInfo() implementation
    Contributor(s): Dmitry Yemanov

  • #7065: Connection hangs after delivery of 256GB of data
    Contributor(s): Alexander Peshkov

  • #7051: Network support for bi-directional cursors
    Contributor(s): Dmitry Yemanov

  • #7046: Make ability to add comment to mapping ('COMMENT ON MAPPING ... IS ...')
    Contributor(s): Alexander Peshkov

  • #7042: ON DISCONNECT triggers are not executed during forced attachment shutdown
    Contributor(s): Ilya Eremin

  • #7041: Firebird port for Apple M1
    Contributor(s): Adriano dos Santos Fernandes

  • #7038: Improve performance of STARTING WITH with insensitive collations
    Contributor(s): Adriano dos Santos Fernandes

  • #7025: Results of negation must be the same for each datatype (smallint / int / bigint / int128) when argument is least possible value for this type
    Contributor(s): Alexander Peshkov

  • #6992: Transform OUTER joins into INNER ones if the WHERE condition violates the outer join rules
    Contributor(s): Dmitry Yemanov

  • #6959: IBatch::getInfo() implementation
    Contributor(s): Alexander Peshkov

  • #6957: Add database creation time to the output of ISQL's command SHOW DATABASE
    Contributor(s): Vlad Khorsun

  • #6954: fb_info_protocol_version support
    Contributor(s): Alexander Peshkov

  • #6929: Add support of PKCS v.1.5 padding to RSA functions, needed for backward compatibility with old systems.
    Contributor(s): Alexander Peshkov

  • #6915: Allow attribute DISABLE-COMPRESSIONS in UNICODE collations
    Contributor(s): Adriano dos Santos Fernandes

  • #6903: Unable to create ICU-based collation with locale keywords
    Contributor(s): tkeinz, Adriano dos Santos Fernandes

  • #6874: Literal 65536 (interpreted as int) can not be multiplied by itself w/o cast if result more than 2^63-1
    Contributor(s): Alexander Peshkov

  • #6873: SIMILAR TO should use index when pattern starts with non-wildcard character (as LIKE does)
    Contributor(s): Adriano dos Santos Fernandes

  • #6872: Faster execution of indexed STARTING WITH with UNICODE collation
    Contributor(s): Adriano dos Santos Fernandes

  • #6815: Support multiple rows for DML RETURNING
    Contributor(s): Adriano dos Santos Fernandes

  • #6810: Use precise limit of salt length when signing messages and verifying the sign
    Contributor(s): Alexander Peshkov

  • #6809: Integer hex-literal support for INT128
    Contributor(s): Alexander Peshkov

  • #6794: Improvement: add MON$SESSION_TIMEZONE to MON$ATTACHMENTS
    Contributor(s): Adriano dos Santos Fernandes

  • #6740: Allow parenthesized query expression for standard-compliance [CORE6511]
    Contributor(s): Adriano dos Santos Fernandes

  • #6730: Trace: provide ability to see STATEMENT RESTART events (or their count) [CORE6500]
    Contributor(s): Vlad Khorsun

  • #6571: Improve memory consumption of statements and requests [CORE6330]
    Contributor(s): Adriano dos Santos Fernandes

  • #5589: Support full SQL standard character string literal syntax [CORE5312]
    Contributor(s): Adriano dos Santos Fernandes

  • #5588: Support full SQL standard binary string literal syntax [CORE5311]
    Contributor(s): Adriano dos Santos Fernandes

  • #4769: Allow sub-routines to access variables/parameters defined at the outer/parent level [CORE4449]
    Contributor(s): Adriano dos Santos Fernandes

  • #4723: Optimize the record-level RLE algorithm for a denser compression of shorter-than-declared strings and sets of subsequent NULLs [CORE4401]
    Contributor(s): Dmitry Yemanov

  • #1708: Avoid data retrieval if the WHERE clause always evaluates to FALSE [CORE1287]
    Contributor(s): Dmitry Yemanov

  • #281: RDB$BLOB_UTIL system package
    Contributor(s): Adriano dos Santos Fernandes

Bugfixes

  • #7388: Different invariants optimization between views and CTEs
    Contributor(s): Dmitry Yemanov

  • #7314: Multitreaded activating indices restarts server process
    Contributor(s): Vlad Khorsun

  • #7304: Events in system attachments (like garbage collector) are not traced
    Contributor(s): Alexander Peshkov

  • #7298: Info result parsing
    Contributor(s): Alexander Peshkov

  • #7296: During shutdown op_disconnect may be sent to invalid handle
    Contributor(s): Alexander Peshkov

  • #7295: Unexpected message 'Error reading data from the connection' when fbtracemgr is closed using Ctrl-C
    Contributor(s): Alexander Peshkov

  • #7283: Suspicious error message during install
    Contributor(s): Alexander Peshkov

  • #7262: Repeated op_batch_create leaks the batch
    Contributor(s): Alexander Peshkov

  • #7045: International characters in table or alias names causes queries of MON$STATEMENTS to fail
    Contributor(s): Adriano dos Santos Fernandes

  • #6968: On Windows, engine may hung when works with corrupted database and read after the end of file
    Contributor(s): Vlad Khorsun

  • #6854: Crash occurs when use SIMILAR TO
    Contributor(s): Adriano dos Santos Fernandes

  • #6845: Result type of AVG over BIGINT column results in type INT128
    Contributor(s): Alexander Peshkov

  • #6838: Deleting multiple rows from a view with triggers may cause triggers to fire just once
    Contributor(s): Dmitry Yemanov

  • #6836: fb_shutdown() does not wait for self completion in other thread
    Contributor(s): Alexander Peshkov

  • #6832: Segfault using "commit retaining" with GTT
    Contributor(s): Alexander Peshkov

  • #6825: Correct error message for DROP VIEW
    Contributor(s): Ilya Eremin

  • #6817: -fetch_password passwordfile does not work with gfix
    Contributor(s): Alexander Peshkov

  • #6807: Regression in FB 4.x : "Unexpected end of command" with incorrect line/column info
    Contributor(s): Adriano dos Santos Fernandes

  • #6801: Error recompiling a package with some combination of nested functions
    Contributor(s): Adriano dos Santos Fernandes

  • #5749: Token unknown error on formfeed in query [CORE5479]
    Contributor(s): Adriano dos Santos Fernandes

  • #5534: String truncation exception on UPPER/LOWER functions, UTF8 database and some multibyte characters [CORE5255]
    Contributor(s): Adriano dos Santos Fernandes

  • #5173: Compound ALTER TABLE statement with ADD and DROP the same constraint failed if this constraint involves index creation (PK/UNQ/FK) [CORE4878]
    Contributor(s): Ilya Eremin

  • #5082: Exception "too few key columns found for index" raises when attempt to create table with PK and immediatelly drop this PK within the same transaction [CORE4783]
    Contributor(s): Ilya Eremin

  • #4893: Syntax error when UNION subquery ("query primary") in parentheses [CORE4577]
    Contributor(s): Adriano dos Santos Fernandes

  • #4085: RDB$INDICES information stored inconsistently after a CREATE INDEX [CORE3741]
    Contributor(s): Dmitry Yemanov

  • #3886: RECREATE TABLE T with PK or UK is impossible after duplicate typing w/o commit when ISQL is launched in AUTODDL=OFF mode [CORE3529]
    Contributor(s): Ilya Eremin

  • #3812: Query with SP doesn't accept explicit plan [CORE3451]
    Contributor(s): Dmitry Yemanov

  • #3357: Bad execution plan if some stream depends on multiple streams via a function [CORE2975]
    Contributor(s): Dmitry Yemanov

  • #1210: Server hangs on I/O error during "open" operation for file "/tmp/firebird/fb_trace_ksVDoc" [CORE2917]
    Contributor(s): Alexander Peshkov

  • #3218: Optimizer fails applying stream-local predicates before merging [CORE2832]
    Contributor(s): Dmitry Yemanov

Cleanup

  • #7082: Remove the WNET protocol
    Contributor(s): Dmitry Yemanov

  • #6840: Remove QLI
    Contributor(s): Adriano dos Santos Fernandes