Last release 6 days ago
21 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Some releases are documented
notes for 32 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
528 releases · first in 2017
Release timeline
528 releases since 2017Releases
- v1.4.44 Aug 2020
Release notes2 sources agree
Open source →BUG FIXES
- entries: detect overflow when printing large amounts
- reader: only parse IAT entries when we're accumulating an IAT batch
IMPROVEMENTS
- achcli: print BatchControl records as well
- achcli: update help/usage text
- v1.4.4-0.20200908221800-3729a96479c78 Sept 2020pre-release
Nothing published for this version
- v1.4.323 Jul 2020
- v1.4.223 Jul 2020
Release notes2 sources agree
Open source →IMPROVEMENTS
- api: add example plaintext file for create route
- docs: flip Usage section priority, link to godocs and examples
- file: include the struct field in Unmarshal errors
BUG FIXES
- api: clarify batchNumber in BatchHeader is an integer
- api: include missing CompanyIdentification field on BatchHeader docs
- api: include missing
CompanyIdentificationfield onBatchHeaderdocs - api: quote number-looking example values
- v1.4.19 Jul 2020
Release notes2 sources agree
Open source →BUG FIXES
- batch: error if our offset account type is unknown
BUILD
- build: add openshift docker image
- build: enable codeql via github actions
- build: release via Actions, not TravisCI
- v1.4.1-rc19 Jul 2020pre-release
Nothing published for this version
- v1.4.1-0.20200709173453-fc50789c27039 Jul 2020pre-release
Nothing published for this version
- v1.4.029 Jun 2020
Release notes2 sources agree
Open source →Version v1.4.0 of ACH adds several notable features such as custom validation, a command-line tool
achclito describe files, and improvements for verifying NACHA compatibility on slightly malformed files. This release also contains enhanced testing and documentation improvements.Custom Validation
The ACH library (and HTTP server) now supports custom validation with the
ValidateOptsstruct by callingFile.SetValidation(..)andReader.SetValidation(...). This offers various options:RequireABAOrigin bool: Enable or disable routing number validation over theImmediateOriginfile header fieldBypassOriginValidation: Skip validation for theImmediateOriginfile header field and allow customTraceNumbervaluesBypassDestinationValidation: Skip validation for theImmediateDestinationfile header field and allow customTraceNumbervalues
The HTTP server also supports reading this struct with camel-cased names when calling the validation route.
achcli
achcliis a command-line utility for viewing ACH files in a more human readable format. This tool also allows maskingDFIAccountNumbervalues with the-maskflag.$ achcli -mask 20200601-1002-01.ach Describing ACH file '20200601-1002-01.ach' Origin OriginName Destination DestinationName FileCreationDate FileCreationTime 691000134 ASF APPLICATION SUPERVI 091400606 FIRST BANK & TRUST 181017 0306 BatchNumber SECCode ServiceClassCode CompanyName CompanyDiscretionaryData CompanyIdentification CompanyEntryDescription 1 WEB 200 CoinLion 123456789 TRANSFER TransactionCode RDFIIdentification AccountNumber Amount Name TraceNumber Category 26 09140060 *******89 12354 Paul Jones 091000017611242 Return Addenda99 ReturnCode OriginalTrace DateOfDeath OriginalDFI AddendaInformation TraceNumber R01 091400600000001 09100001 091000017611242 BatchCount BlockCount EntryAddendaCount TotalDebitAmount TotalCreditAmount 1 1 1 12354 0Malformed Files
ACH files with lines that are not 94 characters are now adjusted in-memory (missing or extra spaces) in an attempt to comply with NACHA standards. The underlying file on disk is not modified during this reading.
ADDITIONS
- batches: Add
LiftEffectiveEntryDate()to offer parsedtime.Timevalues ofEffectiveEntryDate - cmd/server: add version handler to admin HTTP server
- file: add BypassDestinationValidation to ValidateOpts
- file: add
ValidateWithto override specific default validations - file: support setting ValidateOpts on struct for calling Create()
- reader: morph lines to 94 characters if they end in spaces
- server: read
ValidateOptsin HTTP validate route - server: return fileID on create errors, enforce marshaled errors as strings
- file: support setting
ValidateOptson struct for callingCreate() - file: struct unmarshaling works again, it was depreciated for a couple releases
- reader: morph lines to 94 characters with spaces if they are some other length
- reader: allow setting ValidateOpts
- cmd/ach: initial setup of CLI tool to pretty print ACH files
BUG FIXES
- all: replace
ÇwithCacross the project - all: use filepath.Join instead of unix paths
- api: fixup flatten files OpenAPI spec
- api: note POST /files/create can return an error
- file: don't validate before flattening batches
- file: keep TraceNumbers when segmenting files
- server: fix segment OpenAPI spec and accept config body
- server: read empty SegmentFileConfiguration
- file: don't validate before flattening batches
IMPROVEMENTS
- api: used shared Error model
- api: use shorter summaries
- api: include AddendaXX, ADV, and IAT records that were missing from OpenAPI spec
- chore(deps): update module prometheus/client_golang to v1.4.1
- chore(deps): update module gorilla/mux to v1.7.4
- reader: write a test for what partial file comes back from invalid EntryDetails
- reader: allow zero-entry files if their controls signify as such
- server: use FoundABug error with mismatched routing
- validators: ensure alpha routing number check digit is invalid
- all: use filepath.Join instead of unix paths
- reader: append a lingering batch even if there's no batch control
BUILD
- chore(deps): update golang docker tag to v1.14
- build: run sonatype-nexus-community/nancy in CI
- build: leverage moov-io/infra's Go linter script
- v1.4.0-rc326 Jun 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200626231518-a98a585093f626 Jun 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200610184041-84a1c3e3ceb310 Jun 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200601221243-548e8020ed0b1 Jun 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200508160953-58402f54e2278 May 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200505195418-888af4ad04315 May 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200422220040-e40026c52e1f22 Apr 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200414174057-c73b2d280f0a14 Apr 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200331222826-d4d5e567be6331 Mar 2020pre-release
Nothing published for this version
- v1.4.0-rc1.0.20200323210417-9ab637d3484023 Mar 2020pre-release
Nothing published for this version
- v1.4.0-rc123 Mar 2020pre-release
Nothing published for this version
- v1.3.2-0.20200323170314-8212cf96d9ec23 Mar 2020pre-release
Nothing published for this version
- v1.3.2-0.20200227173700-a19c93aed21a27 Feb 2020pre-release
Nothing published for this version
- v1.3.2-0.20200226173955-78543f246eca26 Feb 2020pre-release
Nothing published for this version
- v1.3.2-0.20200212175912-6b49327f5ef412 Feb 2020pre-release
Nothing published for this version
- v1.3.2-0.20200124170558-e517f03c803424 Jan 2020pre-release
Nothing published for this version
- v1.3.122 Jan 2020
Release notes2 sources agree
Open source →BUG FIXES
- api,client: There was a mistaken character in the OpenAPI docs
Çwhich should have beenC.
IMPROVEMENTS
- build: upgrade golang.org/x/crypto
BUILD
- build: run sonatype-nexus-community/nancy in CI
- api,client: There was a mistaken character in the OpenAPI docs
- v1.3.020 Jan 2020
Release notes2 sources agree
Open source →BREAKING CHANGES
ImmediateOriginvalues are written with a leading space instead of a zero (0) due to post-2013 NACHA guidelines.
BUG FIXES
addenda98fix parsing with no spaces between routing and account number
ADDITIONS
- Add random names, amounts, and memo lines in test file generation script
cmd/writeACH/main.go
- v1.2.2-0.20200323210417-9ab637d3484023 Mar 2020pre-release
Nothing published for this version
- v1.2.2-0.20200115180031-c539373ad51715 Jan 2020pre-release
Nothing published for this version
- v1.2.2-0.20191101170628-7c57c87800e31 Nov 2019pre-release
Nothing published for this version
- v1.2.2-0.20191021193243-1bb27c82c42221 Oct 2019pre-release
Nothing published for this version
- v1.2.111 Oct 2019
Release notes2 sources agree
Open source →BUG FIXES
- fileHeader: Remove requirement of ImmediateOrigin to be a routing number
- v1.2.07 Oct 2019
Release notes2 sources agree
Open source →ADDITIONS
- Add
FlattenBatches() (*File, error)toach.File- FlattenBatches minimizes File Batches by consolidating them with the same BatchHeader data into one batch.
- Add
POST /files/:id/flattenwhich callsFlattenBatches()on a specific ACH file - Add
POST /files/:id/balanceto add Offset records onto each Batch in an ACH File. - Addenda98: Add
ChangeCodeField()for detailed information about a NOC/COR change file (ChangeCode) - Addenda99: Add
ReturnCodeField()for detailed information about file returns (ReturnCode)
BUG FIXES
- reader: set EntryDetail.Category to Return when Addenda99 is present
- batch: inspect Entrydetail records for Category
- batch: check ADV entries for Category
- reader: set EntryDetail.Category to NOC when Addenda98 is present
- file: Validate files after reading them from their JSON representation
- server: actaully render new Credit and Debit files from segmentation
IMPROVEMENTS
- created example files for HTTP routes
- file: parse ISO8601 and RFC3339 timestamps in JSON blobs
BUILD
- upgrade to Go 1.13
- build: download CI tools rather than install
- build: update staticcheck with Go 1.13
- Add
- v1.2.0-rc27 Oct 2019pre-release
Nothing published for this version
- v1.2.0-rc1.0.20191007144703-de501c48f4f67 Oct 2019pre-release
Nothing published for this version
- v1.2.0-rc1.0.20191007144415-d3f5291866dd7 Oct 2019pre-release
Nothing published for this version
- v1.2.0-rc1.0.20190930233622-be3e187cca9c30 Sept 2019pre-release
Nothing published for this version
- v1.2.0-rc119 Sept 2019pre-release
Nothing published for this version
- v1.1.1-0.20190919150720-c4a24008592319 Sept 2019pre-release
Nothing published for this version
- v1.1.1-0.20190830164847-4fac0b06f21930 Aug 2019pre-release
Nothing published for this version
- v1.1.019 Aug 2019
Release notes2 sources agree
Open source →BREAKING CHANGES
In our OpenAPI we've renamed fields generated as
IdtoID, which is more in-line with Go's style conventions.BUG FIXES
- fileHeader: allow immediate origin to be a 10 digit value (See: #513 by @eduardev)
- Fix JSON omitempty typo in
ADVEntryDetail - fileHeader: trim padded 0's from ImmediateOriginField() and fixup docs
- batch: only check DNE specifics if the SEC code is DNE
- files: FileHeader validate CheckRoutingNumber
- files: on empty FileCreation dates or times render today's value
- reader: return ErrFileAddendaOutsideBatch from parseAddenda when currentBatch is nil
ADDITIONS
- batch: add Equal method
- Addenda99: Add
ReturnCodeField()for detailed information about a returned file - files: support arbitrary merging of ACH files (See #529)
- entryDetail: validate that Amount is non-negative
- batch: create Debit and Credit EntryDetail offset records if needed (via
WithOffset) - addenda types: Add RuneCountInString check to Parse(record string) function
- file: create debit ach file and credit ach file from a mixed debit and credit ach file (via
SegmentFile) (see #528) - cmd/server: add environment variables to override command line flags (
-http.addrand-log.format) - file: support ADV and IAT files in (*File).SegmentFile(...)
- cmd/server: bind HTTP server with TLS if HTTPS_* variables are defined
- cmd/server: add endpoints for segmenting files into debits and credits
BUILD
- vendor: update dependencies
- Fix
moov/achfuzzdocker image build - api: inline parameters to fix codegen crash
- build: push moov/ach:latest and update docs accordingly
- chore(deps): update module prometheus/client_golang to v1.1.0
- v1.1.0-rc316 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc2.0.20190816171810-2116b702891516 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc2.0.20190813171021-d0288058ec7d13 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc2.0.20190812175020-f0dfd5085b1212 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc21 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc1.0.20190801230437-7f5e223c98f21 Aug 2019pre-release
Nothing published for this version
- v1.1.0-rc122 Jul 2019pre-release
Nothing published for this version
- v1.0.223 May 2019
Nothing published for this version
- v1.0.123 May 2019
Nothing published for this version
- v1.0.1-0.20190722022047-3adf60bbefa422 Jul 2019pre-release
Nothing published for this version
- v1.0.1-0.20190717175445-efada8c8c37517 Jul 2019pre-release
Nothing published for this version
- v1.0.1-0.20190627161251-130df29fdfbc27 Jun 2019pre-release
Nothing published for this version
- v1.0.1-0.20190424165414-c1497c09b16f24 Apr 2019pre-release
Nothing published for this version
- v1.0.1-0.20190418171132-43af2828a54318 Apr 2019pre-release
Nothing published for this version
- v1.0.1-0.20190417175406-18bb2699cafe17 Apr 2019pre-release
Nothing published for this version
- v1.0.1-0.20190412224213-f163d8ffdaa512 Apr 2019pre-release
Nothing published for this version
- v1.0.026 Mar 2019
- v0.6.026 Mar 2019
Release notes2 sources agree
Open source →BREAKING CHANGES
file.NotificationOfChangeacceptsBatcherinstead of*BatchCORto comply with linter errors
ADDITIONS
- Add const values for
BatchHeader.StandardEntryClassCode(See #392) - Add const values for
BatchHeader.ServiceClassCodeandBatchControl.ServiceClassCode. (See #391) - Add const values for
EntryDetail.TransactionCode(See #363) - server: Record
ach_files_deletedmetric. (See: #408) - server: log x-request-id header if present. (See: #407)
- server: Delete old
ach.Fileobjects from in-memory repository according toACH_FILE_TTLenv variable. - server: Support
-log.format=jsonfor JSON formatted logs
BUG FIXES
- Accept File's without an ID specified. Generate a random ID. (See: #405)
- server: Fix nil panics. (See: #406)
- server: Fix type-casting panics. (See: #423)
- server: validate file endpoint returns 400 instead of 500 (See: #488)
- server: set CORS headers on
GET /pingroute
BUILD
megacheckis deprecated. staticcheck should be used instead. (See #430)- Automate releases with Docker and binary uploads to release page.
- Update dependencies to their latest versions
- Update to Go 1.12
- v0.6.0-rc94 Mar 2019pre-release
Nothing published for this version
- v0.6.0-rc8.0.20190304171418-43aa3a7521974 Mar 2019pre-release
Nothing published for this version