Changelog

Version 1.4.3

Bugs Fixed

  • Previous fix for PYFB-43 was incomplete, corrected.

Version 1.4.2

Improvements

  • In relation to PYFB-43 I had to make a backward incompatible change to event processing API. Starting from this version EventConduit does not automatically starts collection of events upon creation, but it’s now necessary to call begin() method. To mitigate the inconvenience, EventConduit now supports context manager protocol that ensures calls to begin() and close() via with statement.

  • In relation to PYFB-39 I have decided to drop support for implicitly cached and reused prepared statements. I never liked this feature as I think it’s a sneaky method how to put some performance to badly written applications that in worst case may lead to significant resource consumption on server side when developers are not only lazy but also stupid. It was implemented for the sake of compatibility with KInterbasDB.

    This change has no impact on API, but may affect performance of your applications.

Bugs Fixed

  • PYFB-44 - Inserting a datetime.date into a TIMESTAMP column does not work
  • PYFB-42 - Python 3.4 and FDB - backup throws an exception
  • Unregistered - Fixes in monitor.TransactionInfo

Version 1.4.1

Improvements

Bugs Fixed

  • Unregistered - isolation_level parameter for fdb.connection has no effect.
  • Unregistered - Information gathered from monitoring tables is not properly dropped upon refresh request.

Version 1.4

New Features

  • fdb.schema submodule extended with support for user privileges.

Improvements

Bugs Fixed

  • PYFB-37 - Unicode Strings incorrect not allowed for insertion into BLOB SubType 1.

Version 1.3

New Features

Improvements

  • closed property and clear() method for Schema.
  • Unit tests reworked.

Bugs Fixed

Version 1.2

New Features

Improvements

  • Optional PEP 249 (Python DB API 2.0) Extensions

    • Connection.Error, Connection.ProgrammingError, etc.

      All exception classes defined by the DB API standard are exposed on the Connection objects as attributes (in addition to being available at module scope).

    • Cursor.connection

      This read-only attribute return a reference to the Connection object on which the cursor was created.

  • Cursor.transaction read-only attribute returns a reference to the Transaction object on which the cursor was created.

  • Optimized wekref management, especially for PreparedStatement.

  • create_database now supports two methods for database screation. You can specify CREATE DATABASE statement (as before) or provide set of named database parameters (SQL statement is created automatically from them).

  • Functions connection and create_database now take optional keyword parameter connection_class to obtain instances of different class instead Connection.

  • Support for legacy (pre-2.5) shutdown mode with mode fdb.services.SHUT_LEGACY.

  • fdb.Cursor.executemany() returns self, so it could be used directly as iterator.

  • Documentation inprovements.

Bugs Fixed

  • Unregistered: buffers parameter of fdb.connection doesn’t support values greater than 255.
  • Unregistered: Lowercase character set name passed to fdb.connect may result in wrong funcion of automatic data conversions and other failures (exceptions raised).

Version 1.1.1

Bugs Fixed

  • PYFB-35 - Call to fetch after a sql statement without a result should raise exception
  • PYFB-34 - Server resources not released on PreparedStatement destruction

Version 1.1

New Features

Bugs Fixed

  • PYFB-30 - BLOBs are truncated at first zero byte

Version 1.0

Improvements

  • Removed dependency on fbclient library to be present at import time (PYFB-24)

Bugs Fixed

  • PYFB-25 - Truncate long text from VARCHAR(5000)

Version 0.9.9

New Features

  • Firebird ARRAY support.

Other changes

  • Cursor.execute() returns Self, so it could be used as iterator.
  • Reading output from Services now uses more efficient method to get data from server.

Bugs Fixed

  • Fix: precision_cache in Connection works as intended.

Version 0.9.1

Just bugfixes to make FDB work on P3K again.

Version 0.9

New Features

  • Documentation; both in-source (in Sphinx autodoc format) and Sphinx (html)
  • Services API completely reworked

Other changes

  • Unregistered bugs fixed.
  • Various optimizations and cleanup
  • Object reference graph optimalizations
  • Many new tests in test suite

Version 0.8.5

New Features

  • Support for Firebird stream BLOBs (see ReleaseNotes for details)
  • Documentation (stub, from KInterbasDB 3.3.0)

Bugs Fixed

  • Fix for PYFB-17 and PYFB-18 (see our JIRA tracker for details)
  • Fixes for automatic unicode conversions + refactoring
  • Some optimizations

Version 0.8

New Features

  • Support for Firebird Event Notifications - JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-8>

Bugs Fixes

  • database_info (isc_info_firebird_version) fails opn amd64 linux - JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-16>
  • more than 2 consecutive cursor open execute and iter fail - JIRA entry <http://tracker.firebirdsql.org/browse/PYFB-15>

Version 0.7.2

New Features

  • Python 3 Support (thanks to Philippe Makowski)
  • Support for Distributed Transactions

And as always, some (unregistered) bugs fixed.

Version 0.7.1

Bug fixes.

Version 0.7

Initial release.

Almost feature-complete (ready for 95% of users), but it could be still buggy (it’s beta!), and the code wasn’t optimized for size and speed. In all other ways it’s ready for wide testing.

What’s missing

  • Distributed transactions
  • ARRAY support
  • EVENTs support
  • Stream BLOBs
  • TRACE service
  • Documentation (but you can use KInterbasDB one as FDB is as close to it as possible).
  • Python 3.x support (haven’t had time to test it, but it shouldn’t be hard to make it work there)