From 9166c64b08b6dd98240ac74df3dc2c86d7424273 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2026 02:47:34 +0000 Subject: [PATCH 1/2] chore(main): release 1.0.26 --- .github/.release-please-manifest.json | 2 +- crates/db2-napi/CHANGELOG.md | 14 ++++++++++++++ crates/db2-napi/package-lock.json | 4 ++-- crates/db2-napi/package.json | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index 3274761..fc34934 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - "crates/db2-napi": "1.0.25" + "crates/db2-napi": "1.0.26" } diff --git a/crates/db2-napi/CHANGELOG.md b/crates/db2-napi/CHANGELOG.md index 305935a..9ab7796 100644 --- a/crates/db2-napi/CHANGELOG.md +++ b/crates/db2-napi/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to this package will be documented in this file. +## [1.0.26](https://github.com/gurungabit/db2-node/compare/v1.0.25...v1.0.26) (2026-10-05) + + +### Bug Fixes + +* send LUW LOB parameters beyond 32767 bytes as EXTDTA ([9a94ee4](https://github.com/gurungabit/db2-node/commit/9a94ee4425fa22c52407d47652c974551dfefbb6)) + + +### Performance Improvements + +* complete LUW replies at the DRDA chain end instead of timed drains ([7233a9e](https://github.com/gurungabit/db2-node/commit/7233a9e1be942817c99d6159afead2b22e5421f1)) +* complete LUW replies at the DRDA chain end instead of timed drains ([91d6927](https://github.com/gurungabit/db2-node/commit/91d6927b426ccbf1eb5790f770d81f75941699d6)) +* pass binary parameters to the addon without per-byte arrays ([37bae9a](https://github.com/gurungabit/db2-node/commit/37bae9a1eb78543a2e2f869a6195e6d1903681b6)) + ## [1.0.25](https://github.com/gurungabit/db2-node/compare/v1.0.24...v1.0.25) (2026-10-04) db2-node 1.0.25 resolves seven reported issues across LOB decoding, JavaScript query APIs, bundled TLS libraries, and credential encoding. diff --git a/crates/db2-napi/package-lock.json b/crates/db2-napi/package-lock.json index 0285d76..897eb2b 100644 --- a/crates/db2-napi/package-lock.json +++ b/crates/db2-napi/package-lock.json @@ -1,12 +1,12 @@ { "name": "db2-node", - "version": "1.0.25", + "version": "1.0.26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "db2-node", - "version": "1.0.25", + "version": "1.0.26", "license": "MIT", "devDependencies": { "@napi-rs/cli": "^2" diff --git a/crates/db2-napi/package.json b/crates/db2-napi/package.json index 9c67fcf..08973f1 100644 --- a/crates/db2-napi/package.json +++ b/crates/db2-napi/package.json @@ -1,6 +1,6 @@ { "name": "db2-node", - "version": "1.0.25", + "version": "1.0.26", "description": "Zero-dependency DB2 driver for Node.js, built with pure Rust", "main": "index.cjs", "types": "types.d.ts", From 72c4b15f17ee5ce4e292fa598f4717484ba098ac Mon Sep 17 00:00:00 2001 From: Abit Gurung Date: Sun, 4 Oct 2026 21:48:28 -0500 Subject: [PATCH 2/2] docs: complete 1.0.26 release notes and install guidance Replace the generated list, which repeated the reply-chain change and omitted the XML/empty-LOB fix, with notes covering #31, binary parameters and the latency work, and point the install examples at 1.0.26. --- README.md | 6 +++--- crates/db2-napi/CHANGELOG.md | 15 ++++++--------- crates/db2-napi/README.md | 6 +++--- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index c2ab87a..20bfbf4 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,10 @@ npm install db2-node Install from a GitHub release tarball: ```bash -npm install https://github.com/gurungabit/db2-node/releases/download/v1.0.25/db2-node-1.0.25.tgz +npm install https://github.com/gurungabit/db2-node/releases/download/v1.0.26/db2-node-1.0.26.tgz ``` -Replace `v1.0.25` and `1.0.25` with the release version you want. +Replace `v1.0.26` and `1.0.26` with the release version you want. ```ts import { Client } from "db2-node"; @@ -223,7 +223,7 @@ The deployed docs site lives at `https://db2-node.github.io/`. ## Status -The `1.0.25` release fixes the issues reported in #19–25: mixed/NULL LOB decoding, duplicate result columns, BOOLEAN text bindings, driver error classifications, bundled TLS libraries, and LUW password punctuation. Validation uses Docker Db2 12.1 and 11.5: +The `1.0.26` release writes LOB and XML parameters larger than 32,767 bytes (#31) and completes Db2 LUW replies at the end of the DRDA reply chain, so requests no longer pay fixed 25 ms and 250 ms reply waits. Validation uses Docker Db2 12.1 and 11.5: - Rust and Node integration suites are green - TLS behavior is covered in both Rust and Node tests diff --git a/crates/db2-napi/CHANGELOG.md b/crates/db2-napi/CHANGELOG.md index 9ab7796..3f8b525 100644 --- a/crates/db2-napi/CHANGELOG.md +++ b/crates/db2-napi/CHANGELOG.md @@ -4,17 +4,14 @@ All notable changes to this package will be documented in this file. ## [1.0.26](https://github.com/gurungabit/db2-node/compare/v1.0.25...v1.0.26) (2026-10-05) +db2-node 1.0.26 fixes LOB parameters that were silently not written and removes the fixed reply waits that dominated request latency on Db2 LUW. -### Bug Fixes - -* send LUW LOB parameters beyond 32767 bytes as EXTDTA ([9a94ee4](https://github.com/gurungabit/db2-node/commit/9a94ee4425fa22c52407d47652c974551dfefbb6)) - - -### Performance Improvements +- Write parameters bound to CLOB, BLOB and DBCLOB columns declared larger than 32,767 bytes. They are now sent as DRDA LOB placeholders with EXTDTA, instead of oversized VARCHAR descriptors that Db2 LUW rejected while the statement reported `rowCount: 0`. Direct and prepared execution, batches, CALL, NULL and empty values are covered. A rejected descriptor (DSCINVRM) now raises an error instead of reporting success. (#31; PR #32) +- Accept XML parameters larger than 32,767 bytes on Db2 LUW. (PR #32) +- Pass `Buffer`, typed array and `ArrayBuffer` parameters to the native addon without per-byte conversion. A 50 MB BLOB write drops from about 3 s to under 0.5 s and no longer blocks the event loop. (PR #32) +- Complete Db2 LUW replies at the end of the DRDA reply chain. The driver no longer waits `frameDrainTimeout` (25 ms) after each reply, or 250 ms before fetching results with LOB columns. On Db2 12.1, `VALUES 1` drops from about 30 ms to 0.5 ms and a LOB SELECT from about 285 ms to 1 ms. `frameDrainTimeout` now applies only to Db2 for z/OS. (PR #34) -* complete LUW replies at the DRDA chain end instead of timed drains ([7233a9e](https://github.com/gurungabit/db2-node/commit/7233a9e1be942817c99d6159afead2b22e5421f1)) -* complete LUW replies at the DRDA chain end instead of timed drains ([91d6927](https://github.com/gurungabit/db2-node/commit/91d6927b426ccbf1eb5790f770d81f75941699d6)) -* pass binary parameters to the addon without per-byte arrays ([37bae9a](https://github.com/gurungabit/db2-node/commit/37bae9a1eb78543a2e2f869a6195e6d1903681b6)) +Validation covers Db2 LUW 12.1 and 11.5, TLS on 12.1, and the full Rust and Node suites run through a DRDA protocol audit. No live z/OS server was available; z/OS keeps its existing reply handling. ## [1.0.25](https://github.com/gurungabit/db2-node/compare/v1.0.24...v1.0.25) (2026-10-04) diff --git a/crates/db2-napi/README.md b/crates/db2-napi/README.md index 5047e27..1885a58 100644 --- a/crates/db2-napi/README.md +++ b/crates/db2-napi/README.md @@ -4,7 +4,7 @@ Pure Rust DB2 driver for Node.js using the DRDA wire protocol directly. No IBM C ## Status -`1.0.25` is the current release. It fixes the issues reported in #19–25: mixed/NULL LOB values, duplicate result columns, BOOLEAN text parameters, driver diagnostics, bundled TLS libraries, and LUW passwords containing punctuation. Validation covers Docker Db2 12.1 and 11.5, with verified TLS on 12.1. The package supports parameterized queries, prepared statements, transactions, connection pooling, TLS, `ibm_db` compatibility entry points, and the existing Db2 for z/OS paths. No live z/OS server was tested for this release. +`1.0.26` is the current release. It writes LOB and XML parameters larger than 32,767 bytes (#31), passes binary parameters without per-byte conversion, and completes Db2 LUW replies at the end of the DRDA reply chain instead of waiting on fixed timers. Validation covers Docker Db2 12.1 and 11.5, with verified TLS on 12.1. The package supports parameterized queries, prepared statements, transactions, connection pooling, TLS, `ibm_db` compatibility entry points, and the existing Db2 for z/OS paths. No live z/OS server was tested for this release. ## Install @@ -15,10 +15,10 @@ npm install db2-node You can also install the npm-packed artifact from a GitHub release: ```bash -npm install https://github.com/gurungabit/db2-node/releases/download/v1.0.25/db2-node-1.0.25.tgz +npm install https://github.com/gurungabit/db2-node/releases/download/v1.0.26/db2-node-1.0.26.tgz ``` -Replace `v1.0.25` and `1.0.25` with the release version you want. +Replace `v1.0.26` and `1.0.26` with the release version you want. Prebuilt native binaries ship for supported platforms — no Rust toolchain needed: