v1.63.1
What's Changed
Bug Fixes — File merging
- MergeDir stability: complete via channel close and drain instead of cancel-only shutdown, so in-flight parsers are not left blocked on errors (no deadlock when ADV/corrupt files appear among valid inputs). File header / validate opts are set on the merge goroutine to avoid races with parser workers.
MaxDollarAmountis per side: debit and credit totals are limited independently to match NACHA file control totals. Mixed debit+credit files under a shared cap may now stay in one file when each side is under the limit (previously a combined running total could split incorrectly).- walkDir: subdirectories are no longer enqueued as merge inputs after recursion (only their files are).
- Parse workers: default concurrency is adaptive (
4 * GOMAXPROCS, clamped 8–50) instead of a fixed 50. - Tests: expanded merge coverage (IAT limits, error/cancel paths, entry-loss checks) and split into
merge_test.go,merge_dir_test.go,merge_iat_test.go, andmerge_internal_test.go.
Commits since v1.63.0
- 471afd2 fix(merge): stabilize MergeDir and track debit/credit limits separately (#1823)
- 969b02f test(merge): expand coverage and split merge tests into focused files
- a38725d chore: updating wasm webui [skip ci]
Full Changelog: v1.63.0...v1.63.1