Releases: reactnativecn/node-hdiffpatch
Releases · reactnativecn/node-hdiffpatch
Release list
v1.3.1
Fixes
- Restore glibc ≥ 2.33 compatibility for the linux-x64/arm64 prebuilds. v1.3.0's prebuilds required GLIBC_2.38 (via
__isoc23_strtoull) and failed to load on Ubuntu 22.04, Debian 12, and all bookworm-based official Node Docker images. The uint64 string parser no longer usesstrtoull; accepted input grammar is unchanged (canonical decimal only, overflow rejected).
If you saw ERR_DLOPEN_FAILED: version GLIBC_2.38 not found after upgrading to 1.3.0, this release fixes it.
v1.3.0
New APIs
diffWithCovers(old, new, covers, options)— create standard hdiffpatch payloads from caller-provided cover lines, withreplace/merge/native-coalescemodes and optionaldebugCoversintrospectionpatchSingleStream(oldPath, diffPath, outNewPath[, cb])— file-level apply for single-compressed diffs produced bydiff()/diffWithCovers()
CLI
hdp patchnow auto-detects the diff format by header magic (HDIFF13/HDIFFSF20), so it can apply bothhdp diffoutput anddiff()/diffWithCovers()output
Platforms & packaging
- New prebuilds:
darwin-x64andwin32-x64(in addition todarwin-arm64,linux-x64,linux-arm64) - Robust native module loading: local dev build → per-platform prebuild → node-gyp-build fallback with a clear error on unsupported platforms
- Prebuilds-only install: the
installscript was removed (the published package ships no sources);engines.node >= 14.17declared - npm publish now includes provenance attestation
Hardening & tests
- Diff-declared sizes are validated before allocation (size_t truncation guard)
- Cover fields reject negative numeric strings ("-1" no longer wraps to UINT64_MAX)
- CI test matrix across 5 platforms under both Node and Bun runtimes; async callback paths, corrupt-diff error propagation, and CLI formats are now covered
🤖 Generated with Claude Code