Thursday, December 18, 2025

The Easiest Performance Boost? 5 Reasons to Upgrade Firebird Now

Developers and database administrators often operate under a common assumption: unlocking powerful new software features requires significant, time-consuming, and expensive development work. New capabilities frequently sit on the shelf, waiting for the budget and time to rewrite applications to take advantage of them.

This assumption, however, doesn't always hold true. Recent versions of the Firebird database are packed with improvements that "just work" straight out of the box after an upgrade, offering substantial performance and administrative benefits with minimal to no effort. These enhancements are designed to leverage modern hardware and solve long-standing administrative challenges automatically.

This article reveals five of the most impactful, low-effort enhancements available in modern Firebird versions. They require no application rewrites or complex database schema changes—often, the only step needed is to run the upgrade.

But you don't need to undertake new development to take advantage of the many new features that ' just work ' straight out of the box. Often no more effort required than to just run the upgrade.

--------------------------------------------------------------------------------

1. Unleash Your Hardware: True Multi-Core Support (Firebird 3)

The number one reason to upgrade to Firebird 3 is its implementation of true Symmetric Multiprocessing (SMP) support for Super Server. This is the foundational step for modern performance.

This feature is so impactful because it finally allows the database engine to fully utilize modern multi-core processors. Prior to this release, the Super Server architecture was effectively single-threaded when handling client requests, meaning even a 64-core server could only use one core at a time to execute queries. Firebird 3 breaks this significant bottleneck, enabling the server to handle more concurrent operations and process queries faster. Best of all, this performance gain requires no changes to your applications or database structure; it works automatically after the upgrade.

2. Tame Huge Databases: Parallel Maintenance Operations (Firebird 5)

For administrators managing very large databases (100Gb+), the introduction of parallel (multi-threaded) operations in Firebird 5 is arguably the single most compelling reason to upgrade. This feature applies to critical tasks like backup/restore, sweep, and index creation.

The practical benefit is a dramatic reduction in maintenance windows. By setting the ParallelWorkers and MaxParallelWorkers configuration options in firebird.conf or databases.conf, you can instruct Firebird to use multiple CPU threads for these tasks. Operations that used to take hours can now be completed in a fraction of the time, drastically reducing downtime and improving administrative efficiency.

3. Build Effortless Resilience: Built-in Database Replication (Firebird 4)

Firebird 4 introduced built-in database replication, perhaps the most compelling reason to upgrade to this version. While it requires provisioning hardware for a replica server, the core functionality of replicating from a primary to a replica server works more or less out of the box.

The significance of this feature cannot be overstated. It provides a robust, native solution for high availability and disaster recovery. What is often a complex and costly feature to implement in other database systems is made accessible and straightforward in Firebird 4, allowing you to build a more resilient infrastructure with minimal configuration.

4. Stop Rogue Queries: Automatic Statement Timeouts (Firebird 4)

A practical administrative tool introduced in Firebird 4 is the Statement Timeouts feature. Configurable directly in the firebird.conf file, it automatically terminates any SQL statement that exceeds a specified time limit.

This is an invaluable safeguard, especially in environments where users can write and run their own queries. A single poorly constructed or long-running query can consume excessive server resources, impacting performance for all other users. Statement Timeouts prevent this scenario by acting as an automatic circuit breaker, preserving server stability and ensuring a consistent experience for everyone.

5. Defuse a Hidden Time Bomb: The Expanded Transaction ID Limit (Firebird 3)

One of the most critical, yet often invisible, improvements arrived in Firebird 3: the expansion of the transaction ID limit. This change solves a severe and predictable failure mode that plagued high-transaction databases.

Previously, the 32-bit transaction ID space (limited to roughly 2 billion transactions) could be exhausted in a matter of weeks under heavy usage. When the counter ran out, the engine could not assign a new transaction ID and was forced to refuse new connections to prevent catastrophic data corruption from ID wrap-around. The only fix was a full backup and restore cycle. Firebird 3 expands the transaction ID space to 48 bits, increasing the limit from ~2 billion to over 280 trillion (2⁴⁸). This extends the operational window before a maintenance reset from weeks to millennia under the same workload, effectively defusing a critical time bomb with a simple upgrade.

--------------------------------------------------------------------------------



Conclusion: Your Next "Free" Upgrade

As these five features demonstrate, significant and tangible improvements in performance, administration, and stability are often just one Firebird upgrade away. You can gain multi-core processing, faster maintenance, built-in replication, automated query control, and greater stability without needing to write a single new line of application code.

The "just works" philosophy embedded in these releases provides a powerful incentive for staying current. It proves that not all progress requires a massive investment in development—sometimes, the biggest gains are also the easiest to achieve.

Given these low-effort gains, what hidden potential in your own systems could you unlock with a simple upgrade?




More detailed features and performance info in the IBPhoenix article 

Full NetbookLM is here

Small slide show is here

Saturday, December 06, 2025

A modern C++ wrapper for the Firebird database API.

A modern C++ wrapper for the Firebird database API.

Documentation | Repository

fb-cpp provides a clean, modern C++ interface to the Firebird database engine. It wraps the Firebird C++ API with RAII principles, smart pointers, and modern C++ features.

Features Modern C++: Uses C++20 features for type safety and performance
  • RAII: Automatic resource management with smart pointers
  • Type Safety: Strong typing for database operations
  • Exception Safety: Proper error handling with exceptions
  • Boost Integration: Optional Boost.DLL for loading fbclient and Boost.Multiprecision support for large numbers

News via  Firebird-Devel group

Thursday, December 04, 2025

PHP Firebird changes in 2025 : 5.0.2 up through 6.1.1-RC.2.

I fetched the release notes for FirebirdSQL/php-firebird and made a concise summary of the user-visible changes and upgrade impact for versions from PHP Firebird 5.0.2 up through 6.1.1-RC.2.


I retrieved the release entries for 5.0.2, 6.1.1-RC.0, 6.1.1-RC.1 and 6.1.1-RC.2 and distilled the highlights and upgrade impact into a short, actionable summary below.


Summary of changes (5.0.2 → 6.1.1-RC.2)


- PHP Firebird 5.0.2 (published 2025-04-24)

  - Implemented INT128 support; values converted to string in PHP (PHP has no native 128-bit integer).

  - Removed trailing whitespaces on CHAR data types.

  - Added Windows installation requirement notes.

  - Impact: INT128 columns will appear as strings — check code that expects numeric types.


- PHP Firebird 6.1.1-RC.0 (published 2025-11-05)

  - Added IBASE_LOCK_TIMEOUT transaction option.

  - Added support for Firebird 4/5 types: INT128, DECFLOAT, TIME WITH TIMEZONE, TIMESTAMP WITH TIMEZONE.

  - New INI options:

    - ibase.default_trans_params (e.g., IBASE_READ | IBASE_NOWAIT)

    - ibase.default_lock_timeout (seconds; used together with IBASE_LOCK_TIMEOUT)

  - Support for long metadata (long table/field names).

  - Introduced IBASE_VER constant.

  - Various optimizations and bug fixes.

  - Note: Firebird 4/5 features require fbclient 4/5 dynamic library available in PATH.

  - Impact: to use the new types/features, ensure fbclient is updated and on PATH; consider configuring the new INI options for default transaction behavior.


- PHP Firebird 6.1.1-RC.1 (published 2025-11-06)

  - New function: ibase_get_client_version().

  - Build/runtime change: no compile-time dependency on fb_get_master_interface() and fb_get_statement_interface(); the extension now checks for these interfaces dynamically in the fbclient library.

  - A number of smaller fixes.

  - Impact: improved compatibility with varying fbclient builds; you can query client version from PHP.


- PHP Firebird 6.1.1-RC.2 (published 2025-11-10)

  - New functions: ibase_get_client_major_version(), ibase_get_client_minor_version().

  - Addressed multiple issues (referenced as #22, #78, #88, #91, #92, #95, #96 in release notes).

  - Possible breaking changes called out:

    - ibase_close() now closes the connection immediately instead of decreasing a reference count (see issue #22). Impact: code relying on previous refcount-based behavior may see connections closed sooner.

    - Fetching TIME fields with the IBASE_UNIXTIME flag now returns time as a string instead of negative values. Impact: code expecting numeric/negative values should be updated to handle string results.

  - Impact: review uses of ibase_close() and any code relying on previous reference-count semantics; update time-handling code that uses IBASE_UNIXTIME.


Upgrade checklist / recommendations

- Test your application against the new release candidates before deploying to production — RC releases are marked prerelease and the maintainers asked for thorough testing.

- If you rely on Firebird 4/5 types (INT128, DECFLOAT, timezone-aware TIME/TIMESTAMP), make sure the corresponding fbclient 4/5 library is installed and found via PATH on your system.

- Audit code that:

  - Expects INT128 as numeric — now strings.

  - Uses ibase_close() expecting refcounted behavior — adapt to immediate close semantics.

  - Fetches TIME values with IBASE_UNIXTIME — expect strings now; update parsing logic.

- Consider setting or reviewing the new INI options:

  - ibase.default_trans_params

  - ibase.default_lock_timeout

- Use the new client-version functions (ibase_get_client_version(), ibase_get_client_major_version(), ibase_get_client_minor_version()) for runtime checks to adapt behavior based on client capabilities.

- Run full test-suite / integration tests focusing on transactions, lock timeouts, date/time handling, and any code interacting with long metadata names.



Here is a one-page compatibility guide you can share with your team listing code snippets to change (e.g., ibase_close migration notes, TIME parsing examples).

 

The Firebird Book — A Gift for Everyone



The Firebird Book, Second Edition is made publicly available via the IBPhoenix digital store. Everyone can download the complete edition free of charge — no strings attached.

If you'd like to support Helen’s legacy and the Firebird community, there is an optional pay‑what‑you‑like contribution. Funds will support the organization of the Helen Borrie Memorial Award, recognizing individuals with sustained contributions to the Firebird project.

Wednesday, April 30, 2025

FirebirdSQL introduces support for Windows ARM64 builds

This FirebirdSQL pull request introduces support for Windows ARM64 builds to the Firebird project. The changes cover updates to build scripts, configuration files, and Visual Studio solution/project files to accommodate ARM64 architecture, ensuring compatibility and enabling compilation and functionality on Windows ARM64 platforms.

SQL-compliant aliases GREATEST and LEAST for the existing MAXVALUE and MINVALUE functions.

This FirebirdSQL pull request introduces SQL-compliant aliases GREATEST and LEAST for the existing MAXVALUE and MINVALUE functions. These aliases align with the SQL:2023 standard and provide a more intuitive and widely recognized syntax. The changes include updates to documentation, keywords, parser tokens, and system function definitions to support these new aliases.

Monday, April 07, 2025

Jaybird 6.0.1 and Jaybird 5.0.7 released

We are happy to announce the release of Jaybird 6.0.1 and Jaybird 5.0.7. Both releases provide a number of performance improvements to blob handling, and some bug fixes.

We plan to offer more blob performance improvements in upcoming releases of Jaybird 5 and 6, for Firebird 5.0.3 and higher (see also New Article: Data access methods used in Firebird).

Friday, April 04, 2025

New FirebirdSQL engine feature : Range-based FOR statement



Here is the description :

"The range-based FOR statement is used to iterate over a range of numeric values. The iteration is performed in increasing order when used with TO clause and in decreasing order when used with DOWNTO clause"

Syntax

[<label> :] 
 FOR <variable> = <initial value> {TO | DOWNTO} <final value> [BY <by value>] DO
          <statement>


Discussion on the Firebird-devel is here
Update: Feature already merged.

Wednesday, February 26, 2025

Firebird 5.0.2 minor release is available

Firebird Project is happy to announce general availability of Firebird 5.0.2 — the latest minor release in the Firebird 5.0 series.

This minor release offers bug fixes as well as a few improvements, please refer to the Release Notes for the full list of changes.

Binary kits for Windows, Linux, MacOS and Android platforms are immediately available for download.

Wednesday, January 29, 2025

Firebird Docker Images Now Under the Firebird Organization

We are pleased to announce the successful migration of Firebird Docker images to their new home:

https://github.com/FirebirdSQL/firebird-docker

The images are now published on Docker Hub at

https://hub.docker.com/r/firebirdsql/firebird

Thanks to Adriano dos Santos Fernandes for his invaluable contributions and improvements throughout this process.

Monday, January 13, 2025

A sad day for the Firebird Project



Helen Borrie, a key figure in the Firebird relational database project and a longtime contributor at IBPhoenix, passed away on January 2, 2025. Her contributions were essential to Firebird’s creation and its development over the past 25 years.

Read the rest of the official announcement


Jaybird 6.0.0 released

We're happy to announce the first release of Jaybird 6, Jaybird 6.0.0.

Thursday, November 21, 2024

Read free book "Detailed New Featuires Of Firebird 5": available as HTML and as PDF

Dive deep into the revolutionary features of Firebird 5.0 with this comprehensive guide written by database expert Denis Simonov and edited by Alexey Kovyazin.


This book offers an in-depth exploration of the significant advancements that make Firebird 5.0 a pivotal release in the world of relational databases.


Whether you're a seasoned database administrator, a curious developer, or an IT professional looking to stay ahead of the curve, this book provides the knowledge and insights you need to leverage the full potential of Firebird 5.0.

 https://firebirdsql.org/en/community-news/free-book-detailed-features-of-firebird-5-is-published/


Thursday, January 25, 2024

Firebird 5.0 Is Released

Firebird Project is happy to announce general availability of Firebird 5.0 — the latest major release of the Firebird relational database for Windows, Linux, MacOS and Android platforms.

This release introduces improvements in areas of performance, multithreaded processing (including backup, restore, sweep), SQL queries profiling, with better scalability and numerous enhancements in SQL language.

Please refer to the Release Notes for the full list of changes. The complete Language Reference is also available.

Monday, December 18, 2023

Call For Testing Firebird ODBC Driver for Firebird 3.x

The new version of Firebird ODBC driver is in Beta stage now.
Version 3.0.0 Beta is available for testing on Windows. It works only with Firebird 3+ , and requires fbclient.dll from Firebird 3 or above.


https://github.com/FirebirdSQL/firebird-odbc-driver/wiki

Please download, test, and report any issues!

Issues can be reported here: https://github.com/FirebirdSQL/firebird-odbc-driver/issues

Original Pull request for new driver (work in progress): 

Here is an ODBC driver edition, adopted to OOAPI calls instead of isc_ calls.
Since OOAPI is supported by the FB3.0 and later client library, this driver version should be used with FB3.0+ only.

This code has not yet been fully tested and is not guaranteed to work correctly in all cases.

Wednesday, November 01, 2023

Valgrind 3.22 is available

News via reddit : 
"We are pleased to announce a new release of Valgrind, version 3.22.0,
available from https://valgrind.org/downloads/current.html.
See the release notes below for details of changes.
Our thanks to all those who contribute to Valgrind's development. This
release represents a great deal of time, energy and effort on the part
of many people.
Happy and productive debugging and profiling,
-- The Valgrind Developers"

ps : related to Firebird development (debugging memory allocation) search for USE_VALGRID on github repo

Wednesday, October 11, 2023

Firebird 5.0 Release Candidate 1 is available for testing

Firebird Project announces the first Release Candidate of Firebird 5.0, the next major version of the Firebird relational database, which is now available for testing on all supported platforms (Windows, Linux, MacOS, Android).

This Release Candidate demonstrates the complete set of features and improvements developed for the new release. Release Candidates are generally considered stable enough and may be recommended for testing in "almost-production" environments. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.



Please read the Release Notes carefully before installing and testing this Release Candidate

Flamerobin 0.9.9 Snapshot released with a few fixes



Flamerobin 0.9.9 Snapshot released with a few fixes

What’s Changed :
  • Fix Mac OS compilation by @rlakis in #328
  • Fix saving style error and code scanning alert by @arvanus in #330
  • Improve SQL statistics by @arvanus in #331



New Contributors :
@rlakis made their first contribution in #328

Sunday, July 16, 2023

Firebird-driver 1.9.0 released

The firebird-driver package provides official Python Database API 2.0-compliant driver. In addition to the minimal feature set of the standard Python DB API, this driver also exposes the new (interface-based) client API introduced in Firebird 3, and number of additional extensions and enhancements for convenient use of Firebird RDBMS. The driver is written as pure-Python package (requires Python 3.8+) on top of Firebird client library (fbclient.so/dll) using ctypes. Driver supports Firebird version 3.0 and higher.


You can download this driver from PyPI or install it using pip.

This version intruduces initial support for Firebird 5.0 new API and features.

See the Changelog for full details.

New features in Firebird 5, Annual General Meeting, elections, and a bit of Firebird history

In this video we discuss the new features of Firebird 5 with Dmitry Yemanov (core developer, RedSoft), Jason Wharton (IBObjects, Temporary Secretary of Firebird Foundation) and Alexey Kovyazin (IBSurgeon, Firebird Foundation Comittee member), then we announce elections during the Annual General Meeting.

In the end of the video Jason, as one of the founders of Firebird Foundation, remembers how everything started.


July 24: Annual General Meeting of Firebird Foundation



All members of Firebird Foundation - please participate in Annual General Meeting at July 24, 2023! We need to elect new President, Vice-President, Secretary and Treasurer. Email was sent to ffmembers, if you did not receive it, please check your spam folder.

If you do not have access to FFMembers mail list (ffmembers at googlegroups com), please contact Alexey Kovyazin directly (ak at ib-aid com).

Friday, May 05, 2023

Flamerobin 0.9.7 Snapshot released with a few Firebird 4 fixes

 Flamerobin 0.9.7 Snapshot released with a few Firebird 4 fixes

  • Int128 does not respect scale (Issue #166
  • Make Domain::dataTypeToString able to process fb4 types. 
  • fix some bugs converting int128/dec34/dec16 to string 
  • replace CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR when copy templates in CMakeList.txt by @Khalyutin in #310

Sunday, April 02, 2023

Firebird Project announces the first Beta release of Firebird 5.0

Firebird Project announces the first Beta release of Firebird 5.0, the next major version of the Firebird relational database, which is now available for testing.

This Beta release arrives with features and improvements already implemented by the Firebird development team, as well as with many bugfixes. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.

Beta releases are not encouraged for production usage or any other goals that require a stable system. They are, however, recommended for those users who want to help in identifying issues and bottlenecks thus allowing to progress faster through the Beta/RC stages towards the final release.

Please read the Release Notes carefully before installing and testing this Beta release

Monday, March 20, 2023

Firebird 5 compiling on Oracle Linux 8 Ampere V1 (arm64)



You can compile just fine Firebird 4/5 on Oracle Linux 8 Ampere V1 (arm64) all you need is GCC Toolset 12 enabled as described here .

Also same steps work for Oracle Linux 8.x on x86-64. 


sudo dnf group install "Development Tools"
sudo dnf install libicu-devel cmake git 
sudo dnf install gcc-toolset-12
scl enable gcc-toolset-12 bash

git clone https://github.com/FirebirdSQL/firebird.git
cd firebird
./configure --with-builtin-tommath --with-builtin-tomcrypt
make

Friday, March 17, 2023

Rust Firebird Client updated to v0.23.0 with a few features

Rust Firebird Client updated to v0.23.0 with a few features :

Firebird events support added on native client #133 #142

Crates.io link is here .

Sponsoring Link for Fernando Batels is here .

Thursday, December 08, 2022

Firebird high-level native client for Node.js / TypeScript status status for Firebird Advent 2022

 Firebird high-level native client for Node.js / TypeScript status status for Firebird / Typescript Advent 2022

https://qiita.com/advent-calendar/2022/firebird

To use the driver you can start with the readme from npm/github

https://www.npmjs.com/package/node-firebird-driver-native

A few more examples are in the packages/node-firebird-driver/src/test directory
We have seen several releases with a few features and changes :


January, 26, 2022

driver, driver-native - 2.4.0
  • Feature #115 - Add method Statement.getExecPathText.
  • Feature #119 - Implementation of isValid property.
  • Feature #121 - Deprecate methods executeReturning* replacing by executeSingleton*.
native-api
  • Feature #114 - Add support for Visual Studio 2022 build.

July, 20, 2021

driver, driver-native - 2.3.0
  • Feature #101 - Add property Statement.hasResultSet.
  • Feature #102 - Add method Statement.setCursorName.
June, 07, 2021

driver-native - 2.2.0
  • Feature #87 - Support Firebird 4 INT128 data type.
  • Feature #88 - Support Firebird 4 DECFLOAT(16) and DECFLOAT(34) data types.
  • Feature #89 - Support Firebird 4 TIME WITH TIME ZONE and TIMESTAMP WITH TIME ZONE data types.
  • Fix #94 - Wrong year in date/timestamp when year < 100.
May, 07, 2021

native-api - 2.1.2
  • Fix #86 - Race condition in events processing.

Saturday, December 03, 2022

node-firebird driver status for Firebird Advent 2022

node-firebird status for Firebird Advent 2022 

https://qiita.com/advent-calendar/2022/firebird 

also for  Javascript Advent 

https://qiita.com/advent-calendar/2022/javascript

This year we have seen several releases with a few features and changes :
Version 1.1.0 Changes : 

Version 1.1.2 Changes : 
Version 1.1.3 Changes : 
  • fix(blobAsText): add compatibility with wire protocol version >= 13 by @jesusvilla in #282
Version 1.1.4 Changes : 
  • Fix Typo : Replace ISOLATION_READ_COMMITED with ISOLATION_READ_COMMITTED mentioned here #262

Npm trends for node-firebird package 



Friday, November 25, 2022

LibreOffice Base can connect to an external Firebird server

LibreOffice Base can connect to an external Firebird server , here is an example with employee.fdb from Firebird 3 examples folder copied to c:\tmp


Tested with LibreOffice 7.4.x and Firebird 3 default install on Windows 11 (all 64 bits versions)

and here is the Relation Design in LibreOffice Base 





Thursday, September 29, 2022

Linux 0.0.1 compiling on Ubuntu 64


You might need some packages first

$ sudo apt-get install bin86 kvm qemu gcc build-essential qemu-system-x86 gcc-multilib

clone the github repo with 64 build fixes https://github.com/mariuz/linux-0.01


$ gh repo clone mariuz/linux-0.01

$ unzip hd_oldlinux.img.zip

$ make

$ make run 

or 

$ make run-curses 



SeaBIOS (version 1.13.0-1ubuntu1.1)
iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+0078EBD0+006CEBD0 CA00
Booting from Floppy...
Loading system ...
Partition table ok.
31278/40950 free blocks
13544/13664 free inodes
1494 buffers = 1529856 bytes buffer space
Ok.
#

Friday, July 01, 2022

Flamerobin 0.9.3.12 Snapshot released with a few Firebird 4 fixes

  Flamerobin 0.9.3.12 Snapshot released with a few Firebird 4 fixes , here is the changelog 


Full Changelog: 0.9.3.11...0.9.3.12

Wednesday, June 22, 2022

Firebird 3.0.10 sub-release is available

Firebird Project is happy to announce general availability of Firebird 3.0.10 — the latest point release in the Firebird 3.0 series.This sub-release offers a few important bugfixes, please refer to the Release Notes for the full list of changes.
Binary kits for Windows, Linux and Android platforms are immediately available for download, packages for Mac OS will follow shortly.

Wednesday, March 23, 2022

Firebird 4.0.1 and 3.0.9 Docker images are released

 Firebird 4.0.1 and 3.0.9 Docker images are released and the following tags can be used :  v4.0 , v4.0.1 , latest or 3.0, v3.0, v3.0.9 .

Wednesday, February 16, 2022

Firebird 3.0.9 sub-release is available

Firebird Project is happy to announce general availability of Firebird 3.0.9 — the latest point release in the Firebird 3.0 series.
This sub-release offers a few important bugfixes, please refer to the Release Notes for the full list of changes.
Binary kits for Windows, Linux and Android platforms are immediately available for download, packages for Mac OS will follow shortly.

Thursday, January 27, 2022

Node-firebird-driver-native version 2.4.0 has been released with a few features added.

Node-firebird-driver-native version 2.4.0 has been released with a few features added.

Tuesday, January 04, 2022

Firebird Grammar railroad diagram

Railroad diagram for the Firebird database you can see/get it here (following the instructions)

https://github.com/FirebirdSQL/firebird/issues/6898



Zip file with self contained images is here (generated with the above instructions).

Tuesday, December 28, 2021

Short overview of Firebird events in 2021

From all of us at Firebird Project, we'd like to wish you a safe and happy holiday season and a peaceful and prosperous new year!

And here is a short overview of Firebird events in 2021.

Thursday, December 23, 2021

Firebird Project is happy to announce general availability of Firebird 4.0.1

Firebird Project is happy to announce general availability of Firebird 4.0.1 — the first point release in the Firebird 4.0 series.

This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.
Binary kits for Windows, Linux and Android platforms are immediately available for download.

Tuesday, December 14, 2021

Flamerobin 0.9.3.11 Snapshot released with new Firebird 4 features and fixes

 Flamerobin 0.9.3.11 Snapshot released with new firebird 4 features and fixes :


  • Fixed timestamp problem with Fb4 : PR #224
  • Fixed problems with numeric types
  • Fix encoding at blob editor
  • Fix UDF property loading at Fb<=2.5
  • Implementing Fb4 datatypes by @andy-123( in progress) : PR #223 Implement time zone support for firebird 4

Wednesday, December 08, 2021

Leaving MySQL - blog post by long-term MySQL team member Steinar H. Gunderson


Leaving MySQL - blog post by long-term MySQL team member Steinar H. Gunderson

with discussions on Hacker News :
https://news.ycombinator.com/item?id=29455852

Friday, November 19, 2021

Firebird 3.0.8 Docker image is released

Firebird 3.0.8 Docker image is released and the following tags can be used : 3.0, v3.0, v3.0.8 .

Wednesday, November 17, 2021

Firebird 3.0.8 sub-release is available

Firebird Project is happy to announce general availability of Firebird 3.0.8 — the latest point release in the Firebird 3.0 series.

This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.

Binary kits for Windows, Linux, Mac OS and Android platforms are immediately available for download.

Tuesday, August 10, 2021

Rust Firebird Client updated to v0.17.0 with a few features and enhancements.

 Rust Firebird Client updated to v0.17.0 with a few features and enhancements.


New Features: 

- create_database() added CreateDatabase with embedded client #112 

- Add support for create_database() method, aka isc_create_database #115


Bug Fixes:

- rsfbclient always recompiled #113 , #114

Wednesday, July 21, 2021

Firebird 4.0 Docker has been released with images for AMD64, ARM64 and ARM/V7

  Firebird 4.0 Docker has been released with images for AMD64,  ARM64 and ARM/V7.

 New arm images can be used natively on Raspberry Pi , Apple Silicon and Amazon Graviton instances (or any docker host that supports arm).

Monday, June 07, 2021

New Flamerobin snapshot available : version 0.9.3.8 with a few fixes and features



New Flamerobin snapshot available : version 0.9.3.8 with a few fixes and features:

New features
  • Indexes, Functions, Packages, Global Temporaries, DB Triggers and DDL Triggers supported
  • New localized grid support, allows to use commas or dots for decimal separator (View->Preferences->General: Use language locale settings

Enhancements and Bug fixes
  • Fix Dependency tab not showing Functions and triggers
  • Fix slow opening of remote database

For more info please read commit history log

Firebird Project is happy to announce general availability of Firebird 4.0

Firebird Project is happy to announce general availability of Firebird 4.0 — the latest major release of the Firebird relational database.

Firebird 4.0 introduces new data types and many improvements without radical changes in architecture or operation, the most important are:
Built-in logical replication;
Extended length of metadata identifiers (up to 63 characters);
New INT128 and DECFLOAT data types, longer precision for NUMERIC/DECIMAL data types;
Support for international time zones;
Configurable time-outs for connections and statements;
Pooling of external connections;
Batch operations in the API;
Built-in cryptographic functions;
New ODS (version 13) with new system and monitoring tables;
Maximum page size increased to 32KB.

Please refer to the Release Notes for the full list of changes. The complete Language Reference is also available.

Binary kits for Windows, Linux and Android platforms (both 32-bit and 64-bit) are immediately available for download.

Friday, March 12, 2021

New Flamerobin snapshot available! 0.9.3.7 with a few fixes and small features

New Flamerobin snapshot available! 0.9.3.7 with a few fixes and small features

https://github.com/mariuz/flamerobin/releases/tag/0.9.3.7

Take a look, test and comment!

Thursday, February 25, 2021

Firebird 3.0 Language Reference (English) Released

The Firebird Documentation Team is proud to announce the first release of the English Firebird 3.0 Language Reference (HTML, PDF). You can also find it on the Documentation page. This new Language Reference covers all SQL syntax of Firebird 3.0.

The new English Firebird 3.0 Language Reference is based in part on the Russian Firebird 3.0 Language Reference, but is not a direct translation (though we thankfully copied parts of it). Work has also been started on the Firebird 4.0 Language Reference.

Saturday, February 20, 2021

New version of RedExpert 2021.02 has been released

New version of RedExpert 2021.02 is available with a few fixes

Thursday, February 18, 2021

Firebird 4.0 RC1 Docker image based on Debian buster is released

You can use and test Firebird 4.0 RC1 Docker image based on Debian buster

Tuesday, February 09, 2021

Interesting discussion on HN : LibreOffice tells businesses: Get off Community version, you are hurting devs

Interesting discussion on HackerNews : LibreOffice tells businesses: Get off Community version, you are hurting devs

https://news.ycombinator.com/item?id=26054160

Jaybird 4.0.2 and 3.0.10 released

Jaybird 4.0.2 and 3.0.10 have been released.

Firebird 4.0 Release Candidate 1 is available for testing


Firebird Project announces the first Release Candidate of Firebird 4.0, the next major version of the Firebird relational database, which is now available for testing on Windows and Linux platforms.

This Release Candidate demonstrates the complete set of features and improvements developed for the new release. Release Candidates are generally considered stable enough and may be recommended for testing in "almost-production" environments. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.

Please read the Release Notes carefully before installing and testing this Release Candidate.

Wednesday, January 13, 2021

Firebird Embedded in a sandboxed MacOS App

For those who might not be aware, Firebird on MacOS is now relocatable, in that you don't necessarily have to install it as a Framework, this also means that you can create an embedded version out of the current installer.

The rest of article is here on Paul's blog

Wednesday, December 23, 2020

Firebird php driver status for Firebird Advent 2020 ⛄

 Firebird php driver status for Firebird Advent 2020 ⛄

https://qiita.com/advent-calendar/2020/firebird


A new version of the Firebird PHP driver was recently released. This version supports booleans values. Precompiled binaries for PHP 7.3 , 7.4 and 8.0 are available at the download section.

The driver is marked as 1.1.0 stable . Please report any problems to the tracker at https://github.com/FirebirdSQL/php-firebird/issues.

See also:
Firebird PHP driver on Github
Firebird PHP driver download


Monday, December 21, 2020

Firebird LibreOffice status



Firebird LibreOffice status for Firebird Advent 2020 ⛄

https://qiita.com/advent-calendar/2020/firebird

This year Firebird was updated to 3.0.7 in master branch (LibreOffice 7.2),  patches related are in external/firebird , interesting to note is build patch for macOS on arm64.

Firebird driver related changelog with fixes is located in connectivity/source/drivers/firebird

The list of new bugs can be found in bugzilla , usually search the term "NEW firebird".


Saturday, December 19, 2020

Firebird Rust driver status

Firebird rust driver status for Firebird Advent 2020 ⛄

https://qiita.com/advent-calendar/2020/firebird

Last version released is 0.13.0 with a few changes.

Rust firebird github repository is located here 

https://github.com/fernandobatels/rsfbclient

Crates page is here 

https://crates.io/crates/rsfbclient

Docs are located here 

https://docs.rs/rsfbclient/0.13.0/rsfbclient/

More examples in the github repository 

https://github.com/fernandobatels/rsfbclient/tree/master/examples

Cool features : connection to the firebird db can be made in embeeded mode if is on the same machine 

also using the libfbclient to a remote server or using the pure rust implementation 😀 

https://docs.rs/rsfbclient/0.13.0/rsfbclient/builders/struct.NativeConnectionBuilder.html

Another interesting project is  rbfbclient : A new version of Firebird Extension Library for Ruby using Rust instead of C for binding of firebird API.


Thursday, December 17, 2020

Firebird SQLAlchemy support

Firebird SQLAlchemy status for Firebird Advent 2020

https://qiita.com/advent-calendar/2020/firebird

Current SQLAlchemy release 1.3.20 supports firebird out of the box 

https://docs.sqlalchemy.org/en/13/dialects/firebird.html

In the future the driver is moved outside of SQLAlchemy repository in this place 

https://github.com/pauldex/sqlalchemy-firebird

so it will be installed in the future releases with :

pip install sqlalchemy-firebird

After sqlalchemy and driver install you can follow the official tutorial or something similar using the firebird dialect 

https://overiq.com/sqlalchemy-101/installing-sqlalchemy-and-connecting-to-database/



Tuesday, December 15, 2020

django-firebird driver status

Firebird django-firebird driver status for Firebird Advent 2020 

https://qiita.com/advent-calendar/2020/firebird

django-firebird pre released 2.2a1 version with support for Firebird 3 and Django 2.2.x LTS (That will be supported until 2022 according to the roadmap

Thanks to this pull request #111.

The stable version corresponds with django 2.2 and live into stable/2.2.x branch. The current master branch of this repository is being developed under django 3.0.x.

fbd is the legacy official driver with support for python 2.x and python 3.x , 
We need to switch to new python3/firebird3.x only driver in the future firebird-driver

So the recommended way today is Django 2.2.x and fdb driver (for Firebird 3.x)

Alternate experimental driver : djfirebirdsql

DJFirebirdSQL is a Django firebird database backend using pure python driver pyfirebirdsql (Work in progress)

https://github.com/nakagami/djfirebirdsql

Requirements: Django 3.1 and Firebird 4.0 beta1 (Firebird 3.0 minimum version required)

Saturday, December 12, 2020

Firebird python3 driver status

Firebird python3 driver status for Firebird Advent 2020 

https://qiita.com/advent-calendar/2020/firebird

The firebird-driver package provides driver for Python 3.8+ and Firebird 3+. This driver uses new Firebird OO API provided by fbclient library. You can download it or install directly from Python Package Index.

To use the driver you can start with the Getting Started from documentation area 

A few more examples are in Usage Guide from documentation area

Please note, that his new driver requires Firebird 3+ and Python 3.8+.
This “high” base line was chosen deliberately, to use all new features
available from latest Firebird & Python releases without constraints and
limits that backward compatibility would require. Internally, the driver
uses new client API based on interfaces introduced by Firebird 3. This
new API has many limits raised (like statement sizes, blob sizes etc.)
or completely lifted (like number of databases participating in
distributed transaction), and provides access to new Firebird features
(like scrollable cursors).

The 1.0 release supports all key driver features you know
from FDB (passes all tests for FDB features)

New features in comparison to FDB:
– scrollable cursors
– type hints everywhere
– new FB client API instead old one
– enhanced Enums and Flags classes instead isc_* constants
– better and more rich support for Firebird services

The driver has also much cleaner structure and namespaces, and less core
code than FDB, and although it was not measured yet, it should also
perform better. However, the driver API is not 100% backward compatible
(with FDB).

Please note, that FDB driver is now considered as legacy driver, and its development will be discontinued together with 2.5 once Firebird 4.0 will be released later this year.

The driver uses firebird-base package, which is a collection of modules that have general applicability, like extended configuration, context-driven logging and trace/audit, hooks, work with structured binary buffers, extended data structures etc. The driver uses almost all features provided by "base" package, but specifically the use of hook mechanism and context-driven logging and trace/audit are potentially the most valuable improvements.


The firebird-lib package provides extensions to the firebird-driver.
This package provides modules for:
Work with Firebird database schema.
Work with Firebird monitoring tables.
Processing output from gstat Firebird utility.
Processing Firebird server log.
Processing output from Firebird server trace & audit sessions.

You can download this library from PyPI or or install it using pip.

Friday, December 11, 2020

Firebird high-level native client for Node.js / TypeScript status

Firebird high-level native client for Node.js / TypeScript status status for Firebird Advent 2020 

https://qiita.com/advent-calendar/2020/firebird

To use the driver you can start with the readme from npm/github 

https://www.npmjs.com/package/node-firebird-driver-native

A few more examples are in the packages/node-firebird-driver/src/test directory

We have seen several releases with a few features and changes :


2.1.1 (November, 22, 2020)
driver-native
  • Feature #62 - Change value of getDefaultLibraryFilename in MacOS.
  • Feature #63 - Make getMaster return OS error when failing to load the client library.
driver
  • Fix #69 - Subsequent use of Statement::execute* methods may send incorrect value of input parameters.
2.1.0 (December, 29, 2019)
driver
  • Feature #30 - Add methods executeReturningAsObject and fetchAsObject to return records as objects instead of arrays.
  • Feature #43 - Add Statement.columnLabels property.

Thursday, December 10, 2020

node-firebird status for Firebird Advent 2020

node-firebird status for Firebird Advent 2020 

https://qiita.com/advent-calendar/2020/firebird


This year we have seen several releases with a few features and changes :

Version 0.9.3 Changes : 
Fixes Issue #182 - Parameterize the location of firebird.msg

Version 0.9.4 Changes : 
Fix issues #222, #220, #216, #209, #208
Thanks to @jucapablanca

Version 0.9.5 Changes : 
Minor corrections #226

Version 0.9.6 Changes : 
Corrections for reading empty blobs fields and also for empty varchar fields of type charset none returning undefined #228

Version 0.9.7 Changes : 
Adding ServiceManager typescript definitions; and fixing typos and potential bugs. #229

Version 0.9.8 Changes : 
Adding GDSCodes #231

Version 0.9.9 Changes : 
Supports of BOOLEAN type, bug fix, and intellisense experience improvement. #235
Correct issues and new implementations #238

Tuesday, December 08, 2020

FirebirdWebAdmin status for Firebird Advent 2020

FirebirdWebAdmin status for Firebird Advent 2020 

https://qiita.com/advent-calendar/2020/firebird



This year we have seen one release with a few features and small changes in master branch 

Version 3.4.1 (27.02.2020) Changes : 
  • [enhancement:] Adjust "Accessories" page UI.
  • [enhancement:] Remove Crowdin badge from footer.
  • [enhancement:] Update debug_funcs.inc.php
  • [bugfix:] Don't warn if "isql" is "isql-fb" on Linux
  • [typo:] Correct typo: firebirid -> firebird
  • [bugfix] fix sql create database
  • [enhancement:] Add Character Sets
  • [enhancement:] Quiet PHP7.2 deprecation warning …
  • [enhancement:] Further create_function refactor
  • [enhancement:] Remove unused/outdated markableFbwaTable.
  • [enhancement:] cosmetics

Further informations 
See CHANGELOG.md to get the full changelog.

One option to install 3.4.1 is now using a docker image that will pull the requirements (apache/php)


https://hub.docker.com/r/marianaldenhoevel/firebirdwebadmin

Thursday, October 22, 2020

Firebird 3.0.7 sub-release is available



Firebird Project is happy to announce general availability of Firebird 3.0.7 — the latest point release in the Firebird 3.0 series.
This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.
Binary kits for Windows, Linux, Mac OS and Android platforms are immediately available for download.

All users of Firebird v3.0.6 are strongly encouraged to upgrade to v3.0.7 as soon as possible due to several serious bugs found in v3.0.6 and fixed in this point release.

Monday, October 19, 2020

Python 3 Firebird-driver & Firebird-lib 1.0.0 released



The firebird-driver package provides official Python Database API 2.0-compliant driver. In addition to the minimal feature set of the standard Python DB API, this driver also exposes the new (interface-based) client API introduced in Firebird 3, and number of additional extensions and enhancements for convenient use of Firebird RDBMS. The driver is written as pure-Python package (requires Python 3.8+) on top of Firebird client library (fbclient.so/dll) using ctypes. Driver supports Firebird version 3.0 and higher.

You can download this driver from PyPI or or install it using pip.

Please note, that FDB driver is now considered as legacy driver, and its development will be discontinued together with 2.5 once Firebird 4.0 will be released later this year.

The driver uses firebird-base package, which is a collection of modules that have general applicability, like extended configuration, context-driven logging and trace/audit, hooks, work with structured binary buffers, extended data structures etc. The driver uses almost all features provided by “base” package, but specifically the use of hook mechanism and context-driven logging and trace/audit are potentially the most valuable improvements.


The firebird-lib package provides extensions to the firebird-driver.
This package provides modules for:
Work with Firebird database schema.
Work with Firebird monitoring tables.
Processing output from gstat Firebird utility.
Processing Firebird server log.
Processing output from Firebird server trace & audit sessions.

You can download this library from PyPI or or install it using pip.

Monday, September 21, 2020

Firebird driver for Python 3– release 0.8.0

The driver is no longer beta, and is now considered as stable for Firebird 3.0 (support for Firebird 4 is still evolving till final release). Documentation is now complete.

ChangeLog:

Documentation, both in code and separate (especially Usage Guide).

Added support for new FB4 data types in ARRAY fields.

Refactoring in driver hooks.

New Cursor.call_procedure() method.

Refactoring and fixes in Server and its services.

New Flamerobin snapshot available! 0.9.3.4 with a few fixes and small features

 New Flamerobin snapshot available! 0.9.3.4 with a few fixes and small features


https://github.com/mariuz/flamerobin/releases/tag/0.9.3.4


Take a look, test and comment!

Wednesday, September 09, 2020

Rust Firebird Client updated with Firebird wire protocol implemented

Rust Firebird Client updated with Firebird wire protocol implemented in pure Rust and ARM support

https://github.com/fernandobatels/rsfbclient/pull/22

https://crates.io/crates/rsfbclient

Saturday, September 05, 2020

New Firebird driver for Python – release 0.7.0



New Firebird driver for Python – release 0.7.0. This version provides support for new Firebird 4 data types: TIME/TIMESTAMP WITH TIMEZONE, DECFLOAT and extended DECIMAL/NUMERIC via internal INT128 storage.

Monday, August 24, 2020

Building Firebird 3.0 Client / Embedded for Android ARM-64

Download and install ndk  unzip in your home (ndk-r17c is the last with gcc support)

install firebird build dependencies
sudo apt-get build-dep firebird3.0
export NDK=$HOME/android-ndk-r17c
echo $NDK

get the Firebird 3.0 source code

git clone https://github.com/FirebirdSQL/firebird.git
cd firebird
git checkout B3_0_Release
./autogen.sh --prefix=/opt/firebird --enable-binreloc --with-cross-build=android.arm64 --without-editline  
make

after that the libfbclient.so is created for arm-64

file  gen/buildroot/opt/firebird/lib/libfbclient.so.3.0.0 
gen/buildroot/opt/firebird/lib/libfbclient.so.3.0.0: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b6cb7db07fcad2475aa79352fb515cbe3ac44eea, stripped

Soon i will add a download link

ps: fbclient.so in 3.0 can be used as embedded

Tuesday, June 30, 2020

Firebird Project is happy to announce general availability of Firebird 3.0.6

Firebird Project is happy to announce general availability of Firebird 3.0.6 — the 6th point release in the Firebird 3.0 series.

This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.
Binary kits for Windows, Linux and Android platforms are immediately available for download, Mac OS packages will follow shortly.

Wednesday, May 27, 2020

Mark Rotteveel and documentation team migrated the first documents to asciidoc



Mark Rotteveel and documentation team migrated the first documents to asciidoc

– Docbuilding Howto
https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/docbuildhowto/firebird-docbuilding-howto.html

– Docwriting Guide
https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/docwritehowto/firebird-docwriting-guide.html

ps: Since May/June 2020, the Firebird documentation project has switched to AsciiDoc for its documentation. This section gives a short overview how AsciiDoc is used by the project.

Tuesday, May 19, 2020

Firebird 4.0 Beta 2 release is available for testing

Firebird Project announces the second (and last) Beta release of Firebird 4.0, the next major version of the Firebird relational database, which is now available for testing on Windows and Linux platforms.

This Beta release arrives with features and improvements already implemented by the Firebird development team, as well as with countless bugfixes. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.

Beta releases are not encouraged for production usage or any other goals that require a stable system. They are, however, recommended for those users who want to help in identifying issues and bottlenecks thus allowing to progress faster through the Beta/RC stages towards the final release.

Please read the Release Notes carefully before installing and testing this Beta release.

Tuesday, March 31, 2020

Compiling Flamerobin under Mac OS latest version

Updated instructions are now here
https://github.com/mariuz/flamerobin/blob/master/BUILD.txt#L182

Thanks to Tomas Dvorak

We are happy to announce the first release of Jaybird 4.

We are happy to announce the first release of Jaybird 4.

Jaybird 4 is – compared to Jaybird 3 – an incremental release that builds on the foundations of Jaybird 3.
The focus of this release has been on further improving JDBC support and adding support for the new data types and features of Firebird 4.


The main new features are:
  • Wire encryption support (backported to Jaybird 3.0.4)
  • Database encryption support (backported to Jaybird 3.0.4)
  • Wire compression support
  • Authentication plugin improvements
  • Firebird 4 data type bind configuration support (since Jaybird 4.0.0-beta-2)
  • Firebird 4 DECFLOAT support
  • Firebird 4 extended numeric precision support
  • Firebird 4 time zone support
  • Firebird 4 statement timeout support (since Jaybird 4.0.0-beta-2)
  • JDBC RowId support
  • DatabaseMetaData getPseudoColumns implemented
  • DatabaseMetaData getVersionColumns implemented
  • DatabaseMetaData getFunctions implemented (since Jaybird 4.0.0-beta-2)
  • DatabaseMetaData getFunctionColumns implemented (since Jaybird 4.0.0-beta-2)
  • Improved JDBC function escape support
  • New JDBC protocol prefix jdbc:firebird:
  • URL encoding in query part of JDBC URL (backported to Jaybird 3.0.9)
  • Generated keys support improvements
  • Operation monitoring
See also:

Tuesday, January 14, 2020

Firebird 3.0.5 sub-release is available

Firebird Project is happy to announce general availability of Firebird 3.0.5 — the 5th point release in the Firebird 3.0 series.

This sub-release offers many bug fixes and also adds a few improvements, please refer to the Release Notes for the full list of changes.
Binary kits for Windows and Linux platforms are immediately available for download, Android and Mac OS packages will follow shortly.

Friday, January 10, 2020

Firebird high-level native client for Node.js / TypeScript updated to v2.1.0


Firebird high-level native client for Node.js / TypeScript updated to v2.1.0 with a few changes .


Feature #30 - Add methods executeReturningAsObject and fetchAsObject to return records as objects instead of arrays.
Feature #43 - Add Statement.columnLabels property.

Monday, January 06, 2020

Wire encryption plugin using chacha cypher in Firebird master branch

AlexPeshkoff Added wire crypt plugin using ChaCha cipher Co-authored-by: Vlad Khorsun

Here is the pull request #244

SHA-256 in Firebird 3.0.x

Thanks to contributions from Alex Peshkov and Tony Whyman in Firebird 3.0.4

SHA-256 message digest may be used instead of SHA-1 for generating the client proof:

Thursday, December 19, 2019

Firebird driver for PHP 7.4 ready for download

Firebird driver for PHP 7.4 ready for download


Tuesday, December 17, 2019

Firebird high-level native client for Node.js / TypeScript updated to v2.0

Firebird high-level native client for Node.js / TypeScript updated to v2.0 with a few changes :

native-driver

  • Feature #34 - Support for Firebird events.
  • Feature #42 - SQL role name in connection options.

native-api

  • Minimal node version is 10.6.0.
  • Fix #41 - Error: pointer argument must be an instance of Pointer class or null with node v13.

all projects

  • Upgrade TypeScript to v3.7.

Thursday, November 21, 2019

Sourcetrail is now free and open-source

Sourcetrail is very useful when you try to study/navigate large C++ codebases like @firebirdsql / @LibreOffice


Monday, October 28, 2019

Replication in Firebird 4: Configuration and practical examples

Replication is a long-awaited feature that allows the creating of reliable high-performance database replicas without user-defined triggers and with full DDL support. This talk presents the replication subsystem architecture, possible replication modes, their impact on performance and available tuning options. We'll demonstrate how to set up a simple standby configuration and use it in practice.


Download PDF

Firebird on the road from v4 to v5

This talk done at Firebird Conference 2019 describes the current state of the v4 development and reviews its key features (new data types, Batch API, timezones). Dimitry Yemanov spoke about the future of Firebird development, including the updated release plan and expected post-v4 features. Review of upcoming features for Firebird 5


Download PDF



Wednesday, October 02, 2019

Embedded Firebird 3 Framework on MacOSX

Paul Beach has finally managed to get around to preparing a mechanism for creating an embedded Firebird Framework on MacOSX.


If you can’t build Firebird from scratch you can download a copy of the embedded framework (currently Firebird 3.0.4) from IBPhoenix. (Approx 15mb)

32bit Embedded Framework

64bit Embedded Framework

Thursday, September 05, 2019

Understanding High Performance

Understanding High Performance via Michael Abrash's Graphics Programming Black Book

"Before we can create high-performance code, we must understand what high performance is. The objective (not always attained) in creating high-performance software is to make the software able to carry out its appointed tasks so rapidly that it responds instantaneously, as far as the user is concerned. In other words, high-performance code should ideally run so fast that any further improvement in the code would be pointless.
Notice that the above definition most emphatically does not say anything about making the software as fast as possible. It also does not say anything about using assembly language, or an optimizing compiler, or, for that matter, a compiler at all. It also doesn't say anything about how the code was designed and written. What it does say is that high-performance code shouldn't get in the user's way—and that's all.
That's an important distinction, because all too many programmers think that assembly language, or the right compiler, or a particular high-level language, or a certain design approach is the answer to creating high-performance code. They're not, any more than choosing a certain set of tools is the key to building a house. You do indeed need tools to build a house, but any of many sets of tools will do. You also need a blueprint, an understanding of everything that goes into a house, and the ability to use the tools.
Likewise, high-performance programming requires a clear understanding of the purpose of the software being built, an overall program design, algorithms for implementing particular tasks, an understanding of what the computer can do and of what all relevant software is doing—and solid programming skills, preferably using an optimizing compiler or assembly language. The optimization at the end is just the finishing touch, however."

Tuesday, September 03, 2019

ADO.NET provider 7.1.0.0 for Firebird is ready

New version 7.1.0.0 of ADO.NET provider for Firebird is ready for download. The main focus of this release is performance.

Wednesday, August 21, 2019

New version 7.0.0.0 of ADO.NET provider for Firebird is ready for download.

New version 7.0.0.0 of ADO.NET provider for Firebird is ready for download. The main focus of this release is wire encryption.

Monday, August 12, 2019

Firebird high-level native client for Node.js / TypeScript updated to v1.0.0

Firebird high-level native client for Node.js / TypeScript updated to v1.0.0

Thursday, April 18, 2019

Xubuntu 19.04: The Exhaustive Update

Xubuntu 19.04: The Exhaustive Update #Xubuntu #Xfce #DiscoDingo https://bluesabre.org/2019/04/18/xubuntu-19-04-the-exhaustive-update/

Thursday, February 21, 2019

Firebird 4.0 Beta 1 release is available for testing

Firebird Project announces the first Beta release of Firebird 4.0, the next major version of the Firebird relational database, which is now available for testing.

This Beta release arrives with features and improvements already implemented by the Firebird development team, as well as with countless bugfixes. Our users are appreciated giving it a try and providing feedback to the development mailing list. Apparent bugs can be reported directly to the bugtracker.

Beta releases are not encouraged for production usage or any other goals that require a stable system. They are, however, recommended for those users who want to help in identifying issues and bottlenecks thus allowing to progress faster through the Beta/RC stages towards the final release.

Please read the Release Notes carefully before installing and testing this Beta release.

Saturday, February 09, 2019

Pure Elixir database driver for Firebird

Pure Elixir database driver for Firebird

Firebird 4.0 Built-in logical replication

Firebird 4.0 implemented Built-in logical replication is now merged

Here is the pull request

https://github.com/FirebirdSQL/firebird/pull/182


We know that is a long standing feature request

Firebird 4.0 Changed travis distribution used to Ubuntu xenial.

Firebird 4.0 is using Ubuntu xenial on travis .
https://travis-ci.org/FirebirdSQL/firebird

.travis.yml looks a lot simpler after this change.

Build Status 
ps: Here is official Travis CI announcement: Ubuntu Xenial 16.04 is available

Tuesday, February 05, 2019

Max Transaction ID in Firebird



Firebird 3.0.x introduced 48-bit internal transaction IDs that are publicly (via API and MON$ tables) represented as 64-bit numbers. This makes the new limit roughly equal to 2.8*10^14 transactions, later it could be extended up to the 2^63 limit.


Related notice in Firebird 3.0.x release notes.
Related article about Posgtresql : How long will a 64 bit Transaction-ID last in PostgreSQL?

Friday, January 18, 2019

Understanding Debian: The Universal Operating System

"And my final test as to whether or not Debian succeeded was: could the founder step away from the project and could the project keep going because that is the only point at which you know that the project has basically taken a life of its own." ~ Ian Murdock