Repository navigation
v1.2.9 - Better Error Visibility & Strict Mode
What's New for Users
This release significantly improves error visibility when using csvnorm with pipes and adds a new fail-fast mode for data quality pipelines.
🎯 Better Error Visibility in Pipelines
The Problem: When piping csvnorm output to tools like head, validation warnings appeared after the data, often getting lost when the pipe closed early.
What Changed:
⚠️ Validation errors now appear before the CSV output- 📁 Reject file saved to
./reject_errors.csv(current directory) instead of/tmp - ✅ Warnings are now visible even when piping to
head,tail, or other tools
Example:
# Before: warning might not be visible
csvnorm data.csv | head -10
# Now: warning appears before data, always visible
csvnorm data.csv | head -10
# ╭─ ! Validation Failed ─╮
# │ Rejected rows: 5 │
# │ Details: ./reject_errors.csv │
# ╰───────────────────────╯
# [CSV data follows...]🚨 New Fail-Fast Mode
New --strict flag for pipelines that require data quality guarantees:
# Exit with code 1 if any validation errors occur
csvnorm data.csv --strict | process.sh
# Use in CI/CD pipelines
csvnorm input.csv --strict > output.csv || exit 1In strict mode:
- ❌ Exits immediately if validation errors are found
- 🛑 No CSV output is produced on error
- 📊 Perfect for automated data quality checks
⚠️ Breaking Change
Reject file location changed for stdout mode:
- Before:
/tmp/csvnorm_xxxxx/reject_errors.csv - Now:
./reject_errors.csv(current working directory)
This makes reject files more accessible but means you may need to clean them up from your working directory.
File output mode unchanged: When using -o filename.csv, reject files still go to filename_reject_errors.csv in the same directory.
Full Changelog: v1.2.8...v1.2.9