This repository was archived by the owner on Jul 19, 2026. It is now read-only.
Repository navigation
Added
ProcessToWriterAPI (457d341): New method that writes preprocessed output directly to anio.Writer, avoiding the output buffer allocation for large datasets- Sentinel Errors (0cd1558):
ErrNilWriter: Returned when a nilio.Writeris passed toProcessToWriterErrNilReader: Returned when a nilio.Readeris passed toProcessorProcessToWriter, distinguished fromErrEmptyFile
- Struct Tag Parse Cache (457d341):
sync.Map-based cache keyed by(reflect.Type, strict)eliminates redundant tag parsing on repeatedProcesscalls
Fixed
- Slice Reset on Reuse (457d341):
Processnow callsSetLen(0)before appending, so reusing the same destination slice no longer carries over stale elements - Sentinel Error Wrapping (457d341, 3026a38): Errors from
fileparser.Parseare now wrapped withErrEmptyFile/ErrUnsupportedFileTypesoerrors.Isworks correctly - Cross-Field Validation (457d341): Cross-field validators now use a preprocessed field-value map instead of column indices, fixing
target field ... not foundwhen the column is absent but filled byprep:"default=..." wrapParseErrorPrecision (3026a38, 0cd1558): Replaced broad substring matching with exact message matching against fileparser v0.5.1 error strings; separated"reader cannot be nil"fromErrEmptyFileinto its ownErrNilReader
Changed
- CI Hardening (457d341, 3026a38): Added
-raceflag andgovulncheck(pinned v1.1.4) to CI workflow - Go Version (785493a, 3026a38): Bumped minimum Go version to 1.25; updated
golang.org/x/netto v0.51.0 to resolve GO-2026-4559 - Documentation (c685c44):
- Rewrote "Before Using fileprep" as concise "Gotchas" section across all 7 README languages
- Added
ProcessToWriterto README,doc.go, andexample_test.go - Fixed CONTRIBUTING.md reference to non-existent
.cursorrules/.github/copilot-instructions.md - Added version support table to SECURITY.md