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,
RETURNINGMulti-Rows,SKIP LOCKEDoperations, Parallel Workers, and Inline BLOBs.
📅 Release-by-Release Breakdown
🚀 v2.6.0 — Query Cancellation
- Query Cancellation: Full implementation of
op_cancelallowing you to pass anAbortSignalto 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
pgandmysql2). - 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 LOCKEDsupport, andRETURNINGclause enhancements. - Authentication & Wire Encryption: Dynamic
srp256/384/512authentication and modernchacha/chacha64wire 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
connectTimeoutparameter. - BLOB Enhancements: Implemented
blobReadChunkSizeand 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.
.png)