You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat!: upgrade vendored HDiffPatch to v5.0.1, add diffSingleStream
BREAKING CHANGE: diffWithCovers is removed. It had no consumers (the HBC
transform pipeline ended up not using covers), and dropping it lets the
HDiffPatch submodule track pure upstream (v5.0.1, vendor/v5.0.1 branch on
the fork) with no custom patches to carry forward. lzma submodule moves
to v26.02 to match (new Z7_ST macro defined alongside _7ZIP_ST).
New API: diffSingleStream(oldPath, newPath, outDiffPath[, cb]) — streaming
block-match generation of the SAME single format diff() emits. Generation
memory stays O(match block): 100MB inputs measured at ~27MB RSS delta
(in-memory diff would need ~600MB). Output verified byte-exact through
the legacy v3.1.1 client patch core, so already-shipped clients can apply
these patches without any update.
Compat verified both ways: legacy-generated patches apply via v5 patch()
and v5-generated patches apply via the legacy prebuild; same-input patch
sizes are byte-identical and diff speed is unchanged. v5's default diff
progress printing is compiled out (_IS_OUT_DIFF_INFO=0) to keep server
worker logs clean. diff parameters are pinned to the historical values
(match score 3, step mem 256KB, lzma2 level 9 / 8MB dict / single thread)
so artifact characteristics stay continuous across the upgrade.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments