Releases: moov-io/ach
Release v1.38.0
This release of moov-io/ach standardizes ValidateOpts
query parameters on the HTTP server. Previously slightly different names
were used, which are still supported and deprecated. The GET/POST /files/{fileID}/validate
endpoints accept ValidateOpts
as
query parameters with this release.
IMPROVEMENTS
- feat: standardize validate opts query params, accept on GET/POST validate
- fix: nil check BatchHeader when reading JSON
- server/test: verify allowUnorderedBatchNumbers
Release v1.37.5
IMPROVEMENTS
- docs: update required fields for CreateFile schema object in openapi.yaml
- fix: add R62 to list of dishonored return codes
BUILD
- build(deps): bump github.com/aws/aws-lambda-go from 1.46.0 to 1.47.0
Release v1.37.4
IMPROVEMENTS
- fix: preserve IAT BatchControl.CompanyIdentification when parsing from json
Release v1.37.3
IMPROVEMENTS
- fix: CTX allows SavingsReturnNOCDebit
BUILD
- build(deps): bump golang.org/x/net from 0.22.0 to 0.24.0
- build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0
Release v1.37.2
IMPROVEMENTS
- fix: allow "slashed zero" which some OCR software produces
- test: verify trace numbers are kept through HTTP create
Release v1.37.1
IMPROVEMENTS
- perf: improve includesValidCharacters lookups
- perf: isTraceNumberODFI
Release v1.37.0
The latest update to moov-io/ach introduces significant performance enhancements, particularly to the MergeFiles(...)
function. Through rigorous testing, we've ensured that the merging process accurately incorporates all input files. However, should any issues arise, we encourage you to report them.
Furthermore, this update includes a new function, MergeDir(...)
, designed to combine a directory of ACH files efficiently, mirroring the functionality of MergeFiles but with enhanced performance.
Key modifications to the behavior of MergeFiles(..)
include:
- The management of duplicate trace numbers has been refined. They are now allocated to distinct batches within the same output file, in compliance with Nacha regulations, which mandate separation into different batches.
- The merging process now more accurately aligns with the
Conditions
constraints, significantly improving upon previous versions where the limit was seldom fully utilized. - ValidateOpts are now aggregated across all input files, ensuring that any non-zero value (for example,
true
) applies uniformly to all batches and entries within the file, streamlining the validation process.
IMPROVEMENTS
- cmd/achcli: read files in Nacha or JSON automatically
- docs: Update openapi.yaml - addenda17/addenda18/format for entryHash
- docs: add links to http endpoints where features overlap
- docs: clarify what isn't supported by MergeFiles
- feat: MergeFiles now combines
ValidateOpts
from all input files - fix: nil check Addenda records inside FileFromJSON
- fix: recreate batch header to avoid mutations
- merge: delve into subdir with custom FS provided
- merge: option to walk sub directories
- refactor: improve merge performance
- test: add checks for pickOutFile, findOutBatch and lineCount
- test: verify entries that are very close still merge properly
- test: verify more numericField inputs
BUILD
- fix(deps): update module golang.org/x/sync to v0.6.0
- build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0
- build(deps): bump golang.org/x/net from 0.21.0 to 0.22.0
Release v1.35.1
IMPROVEMENTS
- fix: further reuse memory buffers
- fix: nil check inside setEntryRecordType
- fix: parse large files without newlines
BUILD
- build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0
Release v1.35.0
ADDITIONS
- feat: Add
IATCorrectedDataField() string
onAddenda98
to return the expanded field
IMPROVEMENTS
- all: reduce string allocations
- fix: allow IAT corrections to not have IAT addenda records
- fix: read additional corrected data on IAT corrections
BUILD
- build(deps): bump github.com/prometheus/client_golang
Release v1.34.4
IMPROVEMENTS
- fix: check AllowMissingFileHeader and AllowMissingFileControl in reader