Monday, July 13, 2026

Announcing node-firebird v2.6.0: TypeScript 7, Query Cancellation, Firebird 6.0 Support, and More

We are thrilled to share the journey of our last 7 releases (from v2.3.3 to v2.6.0), which mark one of the most transformative periods in the history of the node-firebird driver.

With this series of releases, we’ve migrated the driver to native TypeScript 7, implemented native Promise & async/await APIs, added support for Firebird 5.0 and 6.0 features, and introduced robust query cancellation support.

Here is a comprehensive summary of what's new and why you should upgrade today!


🌟 Key Highlights & Milestones

1. The TypeScript 7 Era

In v2.4.0, we successfully converted the entire project to native TypeScript 7. This ensures type safety across the driver, provides a better developer experience, and guarantees native compilation without overhead.

2. Modern Promises & async/await API

Beginning in v2.5.0 (TypeScript Phase B), we introduced a modern Promise-based API alongside the classic callback structure. You can now write clean, modern asynchronous code using async/await naturally.

3. Query Cancellation via AbortSignal

With the release of v2.6.0, we’ve added full query cancellation support. By using standard JavaScript AbortSignal, you can cancel long-running queries via op_cancel protocol interactions.

4. Firebird 6.0 & 5.0 Feature Parity

node-firebird now fully supports modern database engines:

  • Firebird 6.0 Support: SQL Schemas, Tablespaces, Native JSON, Named Arguments mapping, ROW types, and Protocol Version List Limit (maxNegotiatedProtocols).
  • Firebird 5.0 Support: Scrollable Cursors, RETURNING Multi-Rows, SKIP LOCKED operations, Parallel Workers, and Inline BLOBs.

📅 Release-by-Release Breakdown

🚀 v2.6.0 — Query Cancellation

  • Query Cancellation: Full implementation of op_cancel allowing you to pass an AbortSignal to cancel queries mid-flight.
  • Release Page: v2.6.0 Release Notes

🚀 v2.5.0 — TypeScript Phase B & Safety

  • Promises/async-await: Expanded TypeScript Phase B compiler improvements to support async/await structures.
  • Security & Logging: SRP handshake logging is now gated strictly behind FIREBIRD_DEBUG, ensuring database credentials and secrets are never leaked in logs.
  • Roadmap Updates: Added a comprehensive driver-parity comparison against popular database drivers (like pg and mysql2).
  • Release Page: v2.5.0 Release Notes

🚀 v2.4.2 — Documentation Refresher

  • Developer Resources: Added a complete table of contents, community/resources index, and a comprehensive contributing guide to encourage community participation.
  • Release Page: v2.4.2 Release Notes

🚀 v2.4.1 — Clean Up & Refinement

  • Modern Tooling: Refreshed README and ROADMAP for the TypeScript 7 era and tidied up the repository root.
  • Release Page: v2.4.1 Release Notes

🚀 v2.4.0 — The Big Upgrade: TypeScript 7 & Firebird 6.0

Our largest release in recent history, packing major feature upgrades:

  • TypeScript 7 Migration: Moved the compiler and codebases to native TS7.
  • Firebird 6.0 Features: Added SQL Schemas, Tablespaces, Native JSON, ROW type, named argument mappings, and protocol negotiating limits.
  • Firebird 5.0 Features: Scrollable Cursors, inline BLOBs, SKIP LOCKED support, and RETURNING clause enhancements.
  • Authentication & Wire Encryption: Dynamic srp256/384/512 authentication and modern chacha/chacha64 wire encryption support.
  • Stability Fixes: Corrected in-flight event notification duplications, fixed preparation hangs on Firebird 6.0, and prevented callbacks from hanging when a connection is abruptly lost mid-flight.
  • Release Page: v2.4.0 Release Notes

🚀 v2.3.4 — Dependency Maintenance

  • Lockfile Updates: Routine maintenance and package lock updates to ensure clean and secure builds.
  • Release Page: v2.3.4 Release Notes

🚀 v2.3.3 — Protocol Adjustments & Stability

  • Connection & Encoding: Connection-level character set mapping fixes, TCP keep-alive settings, and a new connectTimeout parameter.
  • BLOB Enhancements: Implemented blobReadChunkSize and serialized blob reading internally to prevent deadlocks under Firebird's concurrent handle limits.
  • Platform Support: Added a proxy trap to bind socket methods for seamless compatibility with Deno.
  • Release Page: v2.3.3 Release Notes

🛠️ Upgrading

Getting the latest improvements is as simple as upgrading via npm:

npm install node-firebird@latest

We want to thank all our contributors and the community for their feedback, bug reports, and pull requests that helped make this modern era of node-firebird possible!

Have questions or want to help contribute? Head over to the GitHub Repository and join the discussion.

No comments: