← Back to all sparks
F

Firebird

DEVOPS
Velocity0.0

Open source relational database with ANSI SQL support and stored procedures

Firebird maintains three release branches at once and ships the same fixes to all of them

relational-databasemulti-branch-releasesquery-optimizerbackportsblob-handlinglegacy-support
Current state
Firebird keeps 3.0, 4.0 and 5.0 alive simultaneously, and its release notes make the arrangement obvious: the same issue numbers appear across branches, usually on the same day. Issue #8598, which stops referential-integrity triggers firing when primary or unique keys are unchanged, shipped in 5.0.3, 4.0.6 and 4.0.7 alike. The 5.0 line is where genuinely new work lands — inline small blobs, network statistics exposed to applications, subquery unnesting — while 3.0 receives little beyond dependency updates and a bug count.
Where it's heading
The optimizer is the focus of the current cycle. Recent releases repeatedly target NULL handling in index navigation, cardinality estimation against primary record versions and empty data pages, and avoiding index work the planner can prove unnecessary. A second thread trims client-server round trips: blob info prefetched when a blob is opened, small blobs sent inline, network statistics collected for user applications. Nothing suggests a new major version is near; the effort is going into making the existing engine faster on the queries people actually run.
Prediction
Expect the 3.0 branch to keep receiving only security and dependency updates until it is retired, with 4.0 following the same trajectory. The optimizer work in 5.0.x has been steady enough across releases that more NULL-handling and cardinality refinements are the safest bet for the next one.

Recent moves

  1. 3mo ago

    Firebird 4.0.7 skips RI triggers when keys are unchanged

    The referential-integrity trigger optimization from #8598 reaches 4.0, having already shipped in 5.0.3 and 4.0.6 — a clear view of how backports move through Firebird's branches. A new Util::convert API method and a config-reload timing fix round it out.

    View source ↗
  2. 3mo ago

    Firebird 3.0.14 bundles zlib 1.3.2 and 17 bug fixes

    Published nine minutes after 4.0.7 and sharing two of its items, this is the 3.0 branch in maintenance mode. The notes do not enumerate the seventeen bugs, which is itself a signal of how this line is now treated.

    View source ↗
  3. 1y ago

    Firebird 3.0.13 fixes 15 bugs

    A bug count and three documentation links — the entire release note. The 3.0 branch receives corrections but no described improvements.

    View source ↗
  4. 1y ago

    Firebird 4.0.6 improves cardinality estimation, moves win_sspi to NTLM

    Cardinality estimation switches to primary record versions only, which affects plan choice on tables with heavy update history. The win_sspi authentication plugin moving to NTLM is the one item here with an operational rather than performance effect.

    View source ↗
  5. 1y ago

    Firebird 5.0.3 avoids index scans on NULL bounds, sends small blobs inline

    The most substantive release in the window and the clearest statement of where 5.0 is going: several optimizer changes around NULL keys and bounds, small blobs sent inline to cut round trips, and MON$ tables sharing blob content between compiled statements and statements. The 5.0 branch gets the engine work while older branches get the backports.

    View source ↗
  6. 1y ago

    Firebird 5.0.2 exposes network statistics and prefetches blob info

    Network statistics become available to user applications and the wire protocol starts prefetching blob info and data on open — both aimed at the client round trips that dominate real workloads. AUTO RELEASE TEMP BLOBID and NULL-skipping index navigation continue the same efficiency thread.

    View source ↗