Add ROADMAP.md with user issues, Express.js, and detailed TypeScript sections#398
Merged
Conversation
…sections Agent-Logs-Url: https://github.com/hgourvest/node-firebird/sessions/e98130bb-f9e2-4bdf-9bad-dcbe101604d2 Co-authored-by: mariuz <18359+mariuz@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add new ROADMAP.md file with detailed future plans
Add ROADMAP.md with user issues, Express.js, and detailed TypeScript sections
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renames
Roadmap.md→ROADMAP.mdand expands it significantly to cover user-reported bugs, Express.js integration guidance, and a phased TypeScript plan with honest tradeoffs.Changes
Guiding principles — stability-first, callback-API compatibility, framework safety, incremental delivery
User-reported issues (P0/P1/P2) — all referenced issues (Issue with blobs not returning, query callback is never ran #387, Problem with pool connections hanging after idle time in v1.1.9 #357, Error when getting connection from pool #343, sequentially - Reached heap limit Allocation failed #313, If
<sql> RETURNING COLfails for some reason (e.g., PK, FK, DEADLOCK conflict), any other query will throw an uncaught error #341, pool may close and delete idleConnection #329, does node-firebird supports to use LIST function on sql? #353, Is protocol version hard coded? #348, BLOB data loading very slowly #335, Request: Add de option to set the default encoding from utf-8 to latin1 #336, Error when using the LIKE clause in a SELECT #332, deno #320) organized by priority with per-item goals and deliverablesExpress.js support — documents safe-by-default patterns (single pool,
finally-guarded release, transaction middleware, BLOB streaming); proposes optionalpool.withConnection/db.withTransactionhelpers with two acceptance-criteria examplesTypeScript roadmap (Phase A/B/C) — expands beyond benefits to include real constraints:
.d.tstypings for current API; notes on dynamic result shapes, blob-as-function quirk, drift riskUnhandledPromiseRejectiondifferences and serialization hazardsIn-flight PRs — tracks use native BigInt instead of the big-integer library #385 (native BigInt) and Implement IEEE 754-2008 DECFLOAT support for Firebird 4.0+ Protocol 16/17 #383 (DECFLOAT)
Release buckets table — maps all work to next patch / minor / future major
Incomplete-list note at the top linking to GitHub Issues
Original prompt
Repository to confirm: hgourvest/node-firebird.
Please create a pull request that adds a new
ROADMAP.mdfile to the root of the repository.Goals for ROADMAP.md
Improve/introduce a roadmap that includes:
Context / current state
ROADMAP.mddoes not currently exist.README.mddescribing usage and Firebird protocol support.<sql> RETURNING COLfails for some reason (e.g., PK, FK, DEADLOCK conflict), any other query will throw an uncaught error #341 (RETURNING failure leads to uncaught error)Requirements
ROADMAP.mdwith a clear structure:Output
ROADMAP.md.Add ROADMAP.md.The following is the prior conversation context from the user's chat exploration (may be truncated):
User: Could you improve roadmap with these indication:
Assistant: Below is an improved Roadmap draft you can paste into the repo (e.g., in
README.mdunder a new “Roadmap” section, or as a newROADMAP.md). It incorporates: (1) user-indicated issues, (2) Express.js support, (3) more detailed TypeScript plans.Notes:
ROADMAP.mdin the repo (fetch failed), so this is structured as a new section/file.Roadmap (Draft)
Guiding principles
1) User-reported issues (prioritized)
These items come directly from current open issues/PRs and should be tracked as roadmap deliverables.
P0 — Correctness / “hang” / “never returns”
Issue Issue with blobs not returning, query callback is never ran #387 — “blobs not returning, query callback never ran”
Goal: ensure query callbacks always settle (success/error) and that BLOB streaming cannot stall silently.
Deliverables:
Link: Issue with blobs not returning, query callback is never ran #387
Issue Problem with pool connections hanging after idle time in v1.1.9 #357 — “pool connections hanging after idle time”
Goal: pool should detect dead sockets and recover cleanly.
Deliverables:
db.detach()always returns connection to pool in all code paths.Link: Problem with pool connections hanging after idle time in v1.1.9 #357
Issue Error when getting connection from pool #343 — “Error when getting connection from pool”
Goal: pool should provide reliable acquisition and clear errors.
Deliverables:
Link: Error when getting connection from pool #343
Issue sequentially - Reached heap limit Allocation failed #313 — “sequentially heap limit / allocation failed”
Goal: reduce memory pressure and document safe usage patterns.
Deliverables:
sequentiallydoes not reta...This pull request was created from Copilot chat.