All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Live trace service tests against Firebird 3, 4, and 5 for database and service activity, transaction outcomes, statements, executable objects, and sweep.
- A portable agent skill for using
firebird-libin other projects, with a Hatch workflow that packages it as a versioned ZIP for GitHub releases. schema: Expose role system privileges and SQL SECURITY settings from Firebird 4 onward. Generated DDL includes explicit object clauses and the database default where applicable.gstat: Parse generator page encryption statistics intoStatDatabase.encrypted_generator_pages.- Add a standalone
tools/check_schema.pyreport for unused system metadata and unmappedRDB$TYPESrows. - Add a test that checks monitoring table and column coverage against Firebird 3, 4, and 5.
gstat: Parse theBig record pagesstatistic intoStatTable.big_record_pages.- Maintainer guides for the library modules, architecture, and testing workflow.
- Require
firebird-driver~=2.1(previously~=2.0). - Advertise Python 3.14 and 3.15, add Python 3.15 to the Hatch test matrix, and add version-specific embedded environments for the schema metadata checker.
- Support local and embedded Firebird 3, 4, and 5 backends in the test matrix;
obtain
gstattest data from the live service instead of checked-in output files. gstat: Correct the types of data, index, and BLOB page encryption statistics toEncryption.monitorandschema: Materialize all BLOB values fetched by their internal cursors.- Convert the user documentation from Sphinx to Zensical, including the site themes and docset build workflow.
trace: Parse Firebird 5 trigger labels and performance tables whose column spacing differs between engine versions.monitor: Preserve unavailable wire compression and encryption asNone, and avoid reading compiled statement references when the metadata is absent or null.schema: ReturnNonefor an index condition when its Firebird 5 metadata column is unavailable.trace: Preserve parameter values containing=instead of dropping the affected trace event (GT-9).- Correct the server log examples in the user documentation.
- Missing Firebird 5 items
database_guidandtable_sizeitems ingstatmodule. - Missing Firebird 5 items
parallel_workersandintermediate_gcinmonitormodule.
- Test changed from
unittesttopytest, more tests for greater coverage. - Minimal Python version raised to 3.11
- Improved documentation
- Parameter
any_infirebird.lib.schema.FunctionArgument.is_by_descriptorwas replaced byany_desckeyword-only argument. - Parameter
without_optionalinfirebrid.lib.logmsg.MsgDescwas changed to keyword-only. firebird.lib.schema.CharacterSet.default_colatewas renamed todefault_colation.
- Added
firebird.lib.schema.Privilege.is_usagemethod.
- Bug in
schema_get_all_indiceswith ODS 13.0
- Dependencies fixed to
firebird-base~=1.8andfirebird-driver~=1.10
- Build system changed from setuptools to hatch
- Package version is now defined in
firebird.lib.__about__.py(__version__)
- Initial support for Firebird 5 (new items in
schemaandmonitormodules). - Finally, Firebird 4 support was added (new items in
schemaandmonitormodules).
-
Potentially breaking changes:
- Enum
firebird.lib.monitor.ShutdownModewas removed and replaced withfirebird.driver.types.ShutdownMode. They are basically the same, but differ in value name ONLINE->NORMAL. firebird.lib.schema.ObjectTypevaluePACKAGEwas renamed toPACKAGE_HEADER
- Enum
-
Updated dependencies: firebird-driver>=1.9.0 and firebird-base>=1.6.1
-
Note: The list of reserved words (used internally to correctly quote identifiers) is not hardcoded in Firebird 5, but is instead read from
RDB$KEYWORDStable.
- Move away from
setup.cfgtopyproject.toml, changed source three layout.
- Further code optimizations.
- Addressing issues reported by pylint.
- Improved documentation.
- schema: Fixed problems with system PSQL functions and system packages.
- Tests now properly work on Firebird 4.0
- Documentation is now also provided as Dash / Zeal docset, downloadable from releases at github.
- Code optionizations.
- schema: Fix index type in
ConstraintandTableCREATE SQL. - trace: Fixed several unregistered bugs in parser.
- schema:
insertSQL forTable. - trace:
TransactionInfo.initial_id. - trace: Items
EventCommitRetaining.new_transaction_idandEventRollbackRetaining.new_transaction_id. - trace: Events
EventFunctionStartandEventFunctionFinish. - trace: Item
EventSweepFinish.access.
- schema:
SequenceALTER SQL uses RESTART instead START keyword. - trace:
EventServiceQuery.parameterswas replaced byEventServiceQuery.sentandEventServiceQuery.received.
- trace:
EventFreeStatement.transaction_idandEventCloseCursor.transaction_idwere removed.
- trace: New
has_statement_freeparsing option indicating that parsed trace containsFREE_STATEMENTevents.
- Build scheme changed to
PEP 517. - Various changes to documentation and type hint adjustments.
- trace: Adjustments to seen items cache management.
Initial release.