TurboBird further development

Mustafa on Firebird-general group : I would like to introduce my continued development of TurboBird. The tool was originally developed by Abdel Azem Motaz, but was discontinued around 2015. I took over the code about a year ago and have been continuously developing, modernizing, and extending it since then.

TurboBird is a Lazarus (FreePascal) project and is currently cross-platform, supporting both Linux and Windows.

🔧 Technical Base / Refactoring

The biggest step was the complete removal of SQLDB:

  • Full migration to IBX
  • No SQLDB used anymore
  • More stable behavior with complex statements / metadata
  • Overall better Firebird compatibility

Additionally, the project now features dynamic loading of Firebird client libraries and parallel use of multiple Firebird versions (2.5 → 6.0) within a single instance. Thanks to IBX, script execution with and without terminators is now possible.

🚀 Performance & Scalability

The TreeView has been completely reworked with Lazy Loading (objects are loaded only when expanded), significantly reducing initial load times. Performance remains stable even with very large catalogs, having been tested with:

  • ~1,000,000 domains
  • ~10,000 packages
  • Several thousand tables

📊 Monitoring / Low-Level Access

The Activity Monitor provides a display of attachments, transactions, and statements, with the ability to directly terminate attachments or statements when necessary.

🔍 Navigation / UI

  • Tree filter: For working efficiently with large databases.
  • Reworked tab system: Movable and more compact.
  • QueryWindow: Code and result views can be maximized independently. The editor is intentionally decoupled from the theme system for more stable rendering.

🧰 Integrated Tools

  • Visual QueryBuilder: Drag & drop functionality to generate SQL.
  • Routine runner: For procedures, functions, UDF, and UDR.
  • DataEditor (formerly CSVEditor): Supports reading, editing, and exporting multiple formats; includes DBReader integration for data recovery.
  • Buildin-Tools menu: For direct access to all integrated utilities.

💾 Backup / Restore

Migration to IBX (Tony Whyman code) has enabled:

  • Server-side restore: Recommended and stable.
  • Client-side restore: Currently with some limitations.
  • Multi-file restore implementation.

📁 Data / Export

  • Export to 14 different formats (including Markdown and HTML).
  • Clipboard export with limits to protect against large datasets.
  • Support for complex data types, including arrays.

🧠 Firebird-specific Features

  • Proper support for case-sensitive identifiers.
  • Correct handling of quoted / unquoted identifiers.
  • Multi-version handling via IBX.
  • Automatic handling for older Firebird versions (e.g., DummyRole).

⚠️ Known Issues

  • Embedded connections: Please consider known limitations.
  • Client-side restore: May be incomplete (server-side recommended).

This is more than just maintenance—it is a large-scale technical refactoring and functional extension. I would be very interested in your feedback, especially regarding tests with different Firebird versions, edge cases, or general ideas.

Best regards,
Mustafa

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Help Us Test the new Firebird Docker Snapshot Images

We have been working on a significant overhaul of the official firebird-docker images, and a pre-release version is now available for testing at:

👉 Pre-release Container Registry

We would love to get feedback from the community before these changes are merged upstream.


What’s New

Firebird 6 Snapshot Images

The new images include a 6-snapshot tag built daily from the master branch of FirebirdSQL/firebird. This is the first time a Firebird 6 development snapshot has been available as a Docker image.

# Pull the latest Firebird 6 development snapshot
docker pull ghcr.io/fdcastel/firebird:6-snapshot

# Pull the latest Firebird 5 patch snapshot
docker pull ghcr.io/fdcastel/firebird:5-snapshot

Snapshot images are rebuilt daily, so you always get the latest development build.

Expanded Version Coverage

The image matrix has been significantly expanded to cover more versions and distributions:

  • Firebird 3.x: 3.0.8 through 3.0.13 (amd64 only; bookworm, bullseye, jammy)
  • Firebird 4.x: 4.0.0 through 4.0.6 (amd64; bookworm, bullseye, jammy, noble)
  • Firebird 5.x: 5.0.0 through 5.0.3 (amd64 + arm64; bookworm, bullseye, jammy, noble)
  • Firebird 6 snapshot: Daily build from master (amd64 + arm64)
  • Firebird 5 snapshot: Daily build from v5.0-release (amd64 + arm64)

How to Test

Pull the images directly from our pre-release registry to see how they perform in your environment:

Bash

# Latest stable (Firebird 5.0.3 on bookworm)
docker pull ghcr.io/fdcastel/firebird:latest
# Firebird 6 development snapshot ← Most wanted testers here!
docker pull ghcr.io/fdcastel/firebird:6-snapshot
# A specific version + distro
docker pull ghcr.io/fdcastel/firebird:5.0.3-jammy
docker pull ghcr.io/fdcastel/firebird:4.0.6-bookworm

We are especially looking for feedback on:

  • Starting a container and connecting via isql or your preferred driver.
  • ARM64 performance if you have compatible hardware (M-series Macs, Ampere, etc.).
  • Firebird 6 snapshot behavior: Any connection issues, startup errors, or unexpected behavior changes.

⚠️ Important: Pre-Release Notice

These images have not yet been merged into the official repository and may contain bugs. The Firebird 6 snapshot, in particular, is built from unreleased, in-development code.

Warning: Do not use pre-release or snapshot images in production environments. Snapshot tags (6-snapshot, 5-snapshot) are rebuilt daily and do not carry stability guarantees.


Feedback

Your input is vital to making these images solid before the official merge. Please report any issues, successful test results, or suggestions at the upstream pull request:

🔗 GitHub Pull Request #36

Whether it’s a simple “works great on my ARM64 machine” or a detailed bug report, all feedback is welcome.

Thank you for helping us improve the Firebird ecosystem!

— F.D. Castel

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Firebird 5.0.4, Firebird 4.0.7 and Firebird 3.0.14 sub-releases

Firebird Project is happy to announce general availability of Firebird 5.0.4Firebird 4.0.7 and Firebird 3.0.14 sub-releases.

Please refer to their documentation for the full list of changes. Binary kits for Windows, Linux, macOS and Android platforms are immediately available for download:

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
Loading...

RDB EXPERT 2026.03

You can join to the Telegram chat for discussion.

RDB Expert has received an update that includes the following:

Added:

  1. “Silent” application installation mode on Linux (using the “–quiet” flag).
  2. Option to automatically expand the connections tree when establishing connection to the database.
  3. Option to recalculate selectivity for the editing index.

Fixed:

  1. Duplicating events in the “Trace Manager” panel.
  2. Saving ER-diagrams with a header block to a file.
  3. Parsing and formatting SQL queries with Q-quoted string literals.
  4. Reloading connections tree when creating/deleting a database index.

View the full list of updates and download

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Firebird ODBC Driver v3.5.0-rc1 (Release Candidate) is out

We’re happy to share the Firebird ODBC Driver v3.5.0-rc1 release candidate, published on April 11, 2026. This RC focuses on improved Windows/ARM64 support, modernized build and CI tooling, installer updates, and a number of compatibility and correctness fixes.

Release page: https://github.com/FirebirdSQL/firebird-odbc-driver/releases/tag/v3.5.0-rc1


Highlights

  • Windows ARM64 support: new ARM64 Windows builds and packaging work to make installation smoother on ARM devices.
  • Installer improvements: MSI installer work, plus better handling of Windows “x64 compatible” scenarios.
  • Build modernization: introduction of a CMake build system and removal of obsolete build configurations.
  • CI and regression testing: a new GoogleTest baseline suite and GitHub Actions automation for build/test.
  • Documentation: README expanded with a new Connection String Parameters section.

What’s changed (RC changelog)

This release candidate includes the following changes and merged pull requests:

  • Feature ARM64 Windows (PR #256)
  • Update OdbcJdbcSetup.iss(PR #257)
  • Allow installing as x64compatible (PR #263)
  • Windows x64 build installation behavior on ARM Windows (related to #262) (PR #265)
  • Issue #251: fix/refactor to preserve quotes in default value column (PR #266)
  • Update WriteBuildNo.h (PR #267)
  • SQL_ATTR_CONNECTION_DEAD query always returns SQL_CD_FALSE (issue #270) (PR #274)
  • Add “Connection String Parameters” section to README (PR #278)
  • [1/3] Add GoogleTest suite baseline for regression testing (PR #276)
  • Fix bug in null-indicator offset calculation (SQLINTEGER → SQLLEN) (PR #279)
  • [2/3] Add CMake build system; remove obsolete build configurations (PR #281)
  • [3/3] Add GitHub Actions CI with build and test automation (PR #282)
  • Add API_GITHUB_ACCESS_TOKEN (Fix #284) (PR #285)
  • MSI installer, semantic versioning, and GitHub Releases (PR #286)

New contributors

Full changelog comparison: https://github.com/FirebirdSQL/firebird-odbc-driver/compare/v3-0-1-release…v3.5.0-rc1


Downloads

You can grab prebuilt artifacts from the release assets. This RC includes:

  • Linux: linux-x64, linux-arm64 (tar.gz)
  • Windows: win-x86, win-x64, win-arm64 (MSI and ZIP)

Download them from the GitHub release page (linked above) and test in your environment—especially if you rely on specific ODBC client tools, BI integrations, or custom applications.

Why a release candidate?

Release candidates are published to collect real-world feedback before a final stable release. If you can, please test v3.5.0-rc1 on your key workflows (connectivity, metadata discovery, parameter handling, and installer behavior on Windows) and report regressions or edge cases.

Feedback / issues

If you hit problems, file an issue on the project tracker with details about OS, architecture (x86/x64/ARM64), Firebird version, client application, and a minimal repro if possible.

Issues: https://github.com/FirebirdSQL/firebird-odbc-driver/issues

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)
Loading...

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
Loading...

PSFirebird: PowerShell Automation for Firebird on Windows and Linux

PSFirebird is a PowerShell module focused on automating Firebird environments, databases, and common administrative workflows. The main goal is to make Firebird easier to script end-to-end without depending on a manual installer flow or a machine-specific setup.

The problem is trying to solve was simple: working with Firebird in automation often means mixing shell scripts, ad hoc local installs, version-specific quirks, and CI setup glue. That gets especially painful when you need to test multiple Firebird versions, rehearse upgrades, or spin up disposable databases for integration tests. PSFirebird is designed to reduce that friction.

What PSFirebird Does

Today the module can:

  • Download official Firebird release assets and prepare portable environments
  • Run multiple Firebird versions side by side
  • Create, inspect, read, test, and remove databases
  • Execute SQL through isql from PowerShell
  • Read and update firebird.conf
  • Start ad hoc Firebird instances
  • Register Firebird as a Windows service or Linux systemd service
  • Backup and restore databases
  • Convert databases across Firebird versions with streaming backup/restore
  • Lock and unlock databases for filesystem-level copy using nbackup
  • Parse gstat output into structured PowerShell objects for tables and indices

The current codebase targets PowerShell 7.4+ on Windows and Linux. On Linux, the environment bootstrap currently targets Debian-based systems.

Why I Think This is Useful

PSFirebird is not meant to be another GUI admin tool. It is aimed at repeatable automation.

Some scenarios where it should be useful:

  • CI/CD pipelines that need a Firebird server on demand
  • Test matrices that need Firebird 3.x, 4.x, and 5.x side by side
  • Upgrade rehearsals from older databases to newer engine versions
  • Disposable local environments for development and debugging
  • Scripting routine admin tasks instead of doing everything manually

One of the most useful parts for me is the ability to create isolated Firebird environments directly from PowerShell, then run the rest of the workflow against that environment in a predictable way.

This project builds on earlier work I’ve done across several Firebird community initiatives such as SqlAlchemy-Firebird, the Firebird .NET Provider, the Firebird ODBC Driver, and the Python driver. Across all of these efforts, maintaining a robust and consistently repeatable testing foundation has been essential.

Example

Here is a small example that prepares two Firebird versions and converts a database from one environment to another:

$tempPath = [System.IO.Path]::GetTempPath()
$fb3 = New-FirebirdEnvironment -Version '3.0.12' -Path (Join-Path $tempPath 'fb3')
$fb5 = New-FirebirdEnvironment -Version '5.0.3' -Path (Join-Path $tempPath 'fb5')
$sourcePath = Join-Path $tempPath 'legacy.fdb'
$targetPath = Join-Path $tempPath 'legacy.fb50.fdb'

$db = New-FirebirdDatabase -Database $sourcePath -Environment $fb3 -Force

$env:ISC_USER = 'SYSDBA'
$env:ISC_PASSWORD = 'masterkey'
Convert-FirebirdDatabase -SourceDatabase $db -SourceEnvironment $fb3 -TargetDatabase $targetPath -TargetEnvironment $fb5 -Force

The module also includes helpers for scoped environment usage, configuration editing, SQL execution, service management, and database statistics collection.

Project Status

This is a real automation-oriented codebase, not just a thin proof of concept. The repository already includes:

  • Unit tests
  • Integration tests
  • Cross-version conversion tests
  • Windows and Linux CI coverage
  • A GitHub Actions example showing end-to-end module usage in a workflow

Feedback Wanted

If you work with Firebird, I would especially like feedback on:

  • Missing administrative workflows
  • Cross-platform behavior and Linux packaging assumptions
  • Upgrade and migration scenarios
  • Command naming and module ergonomics
  • CI and testing use cases

GitHub repository: https://github.com/fdcastel/PSFirebird

If this looks useful for your environment, take a look and let us know what would make it more practical for real-world Firebird automation.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

Modernizing the Firebird ODBC Driver: Moving to CMake

As part of an ongoing effort to improve the project’s infrastructure, we have just merged Pull Request #281, which introduces a modern CMake build system and drastically cleans up our repository by removing over 62,000 lines of obsolete configurations, old headers, and broken test projects.

This is the second phase of a three-part plan to streamline how the Firebird ODBC Driver is built and maintained.

What’s New: A Modern CMake Build System

Building the Firebird ODBC driver is now easier and more standardized. We’ve introduced a CMake build system that handles building the FirebirdODBC.dll driver, the IscDbc static library, and running our test suite via CTest.

One of the major improvements is that the build system now automatically downloads the Firebird 5.0.2 public headers from GitHub at build time, meaning we no longer have to manually vendor them in our repository.

For developers who prefer the existing Visual Studio 2022 solution, don’t worry—it still works! You simply need to run a one-time CMake configuration step to fetch the headers before opening the solution as usual.

Spring Cleaning: Removing the Old

Over the years, the repository accumulated a lot of build configurations for platforms and compilers that have long been discontinued. In this update, we did some massive spring cleaning:

  • Removed 14 Obsolete Build Configurations: We stripped out outdated build environments, including Borland C++ 5.5, Solaris, old macOS/Linux/FreeBSD makefiles, MinGW, and Visual Studio versions ranging from 6.0 (1998) up to 2008.
  • Deleted Vendored Headers: We removed roughly 25,000 lines of vendored Firebird headers (FBClient.Headers) and system Windows SDK headers, relying instead on CMake to fetch them or the system SDK.
  • Cleaned Up Tests: Old, non-functional test projects (like the JDBC-style test and legacy standalone apps) have been cleared out. They have been fully replaced by the Google Test suite introduced in our previous PR.

What Hasn’t Changed?

While the infrastructure has seen a massive overhaul, the driver source code itself remains completely untouched. There are no changes to the source files, no new features, and no performance alterations.

We heavily validated the new CMake build against the old build system, confirming that the output FirebirdODBC.dll is perfectly binary-compatible and exposes the exact same 120 exported symbols as before.


Thanks to @fdcastel for authoring this massive infrastructure improvement!

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

The first EmberWings issue of 2026 is now available

With Firebird’s 25th anniversary behind us, this edition looks forward, focusing on the challenges of understanding and operating long-lived database systems. It explores how performance and behavior often emerge from interactions across the system, rather than from isolated components, and examines how database vulnerabilities are assessed and interpreted in practice.

As always, the issue is presented in a clean, print-friendly layout designed for enjoyable reading, whether on screen or on paper.

The latest issue is available only to all Firebird Associates and Firebird Partners. It will be available to the general public in June 2026.

Also, the December 2025 issue is now available to all readers.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

1 2 3 493