Firebird News

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: