Firebird Java External Engine Plugin 1.0.0-beta-1 is now available for download https://github.com/FirebirdSQL/fbjava/releases/tag/1.0.0-beta-1
IBSurgeon releases version 7 of FirstAID: recovery for Firebird and InterBase databases.
This version includes the following new features and bugfixes:
- Support of InterBase is extended till the version of 2020
- Firebird 4 support was aligned with changes in ODS of Firebird 4.0 Beta 2 version, almost ready for the release
- Addressable space for 64-bit machines was increased to 3Gb, which allows to open and recover bigger databases
- Several bugfixes for BOOLEAN data type recovery and BLOBs processing
Download FirstAID now: https://ib-aid.com/en/ibsurgeon-firstaid/
Clients with available FirstAID activations (from version 3.0+) can download and use version 7.0 with existing licenses.
Those clients who have exhausted all activations, or users of FirstAID before 3.0, can upgrade here https://ib-aid.com/en/upgrades-ibsurgeon/
You would like to install Firebird Server 3 on your QNAP NAS?
You can download the necessary QPGK file from the following link. You will also find a short description of how to install it (for free use).
The installation only works on a QNAP NAS with Intel processor on 64 bit basis!
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.
There is now an official preview release – v0.5.0 – available on PyPI:
All core driver functionality works, except handling of limbo
transactions due to error discovered in Firebird (should be fixed in
soon to be released Firebird 3.0.6).
This preview version was released because the driver architecture is
evolving rapidly, and I would like get some feedback before the initial
release planned for end of June.
Some important notes about the driver architecture:
- It uses namespace package “firebird”, and the driver is distributed
as “firebird.driver” package. There are other packages that share the
same namespace: “firebird.base” and “firebird.butler”. In future I’d
like introduce “firebird.lib” package for extension libraries (former
schema, monitor and other extension modules in FDB).
- Although the initial driver design was close to FDB, there are
significant differences and the driver architecture and API will diverge
further from FDB or KInterbasDB. The sole backward “compatibility” is
defined as compliance to Python DB API 2.0. So the new driver is not and
will not be a drop-in replacement for FDB.
Here are some main decisions related to implementation and architecture:
a) Safe use. This translates to extensive use of type hints and
annotations, including Protocols etc. Also many arguments are defined as
keyword only to avoid ambiguity and improve code readability. This is
one from main reasons why Python 3.8 is minimal version required.
b) Wrong run-time conditions (like not closed connection) and some
arguments are checked ONLY as asserts. So optimized Python code does not
performs any such checks. Note that used trace/audit could be also
affected by optimization (depends on how you use it, see firebird-base
documentation for details).
c) Compact code. It often means that latest Python features are used
anywhere it makes sense (that includes := operator etc.).
d) Simplicity. This for example also means minimal number of names
defined, so all various constants and flags used by Firebird API are
defined as Python enums/flags. That same apply to number of function
parameters (with few exceptions).
- 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. See:
and raw documentation at https://firebird-base.rtfd.io/
This package is a shared base for current and future Python development
projects under Firebird Project umbrella (currently the driver, soon the
Saturnin and QA suite 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, so any
usability feedback would be appreciated. I also plan to take advantage
of extended configuration, so any ideas or suggestions about driver’s
configuration options would be appreciated.
- With release of Firebird 4.0 beta 2, I started to adapt the driver to
new Firebird version. Part of this adaptation is new architecture that
moves some functionality into separate “inner” classes, so it could be
switched at run-time according to used Firebird version (or ODS). So
far, all information-related functionality (methods and properties) in
Connection and Transaction was moved out into “Info” objects, accessible
through “info” property (i.e. Connection.info. etc.). The
Services class was renamed to Server, and over next month I’ll move out
all services-related functionality into series of separate
domain-specific inner objects like “backup”, “config”, “trace”, “users” etc.
The reference documentation is here:
- Please note, that FDB 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. However, one FDB maintenance release
is planned before that, so if you have any pending issues or pull
requests for FDB, please let me know.
Here is the first episode of the Developers.Pub series of interviews.
Firebird 2.5 Language Reference is Migrated to AsciiDoc
MWA Software is pleased to announce that release 2.3.4 of IBX for Lazarus is now available for download from https://mwasoftware.co.uk/ibx.
This is the first update in over a year and provides a consolidated set of minor bug fixes. The changelog for IBX itself is available from here and the changelog for the Firebird Pascal API is available from here.
The next release of IBX should be available in the near future and will focus on support for the forthcoming Firebird 4. It will provide support for the new Firebird data types including TIMESTAMP WITH TIME ZONE and extended precision numerics (DecFloat).
For the Portuguese speakers:
Dia 4/junho eu, Carlos H. cantu, participarei de mais uma Live, juntamente com o Alexandre Benson Smith e Marcelo Daibert, para falar sobre o Firebird e as novidades do Firebird 4, além de responder dúvidas dos participantes.
Mais informações e link para inscrição em https://fagoc.br/noticias/firebird-e-o-tema-do-proximo-webinar-da-ciencia-da-computacao-unifagoc