Releases: benjaminwestern/data-refinery
Releases · benjaminwestern/data-refinery
v2026.4.4
v2026.4.4
Highlights
- Hardened TUI
ComponentManagersynchronisation across registration, lookup, update replacement, and resize handling to eliminate concurrent access failures. - Added a race-focused regression test covering concurrent update, view, and window-size traffic in the component manager.
- Updated key dependencies:
github.com/go-jose/go-jose/v4to4.1.4andgoogle.golang.org/apito0.274.0.
Included Changes Since v2026.3.3
- fix(tui): resolve concurrent map read/write in ComponentManager (#34)
- fix(tui): harden component manager synchronization (#34)
- build(deps): bump
google.golang.org/apifrom0.273.0to0.274.0(#32) - build(deps): bump
github.com/go-jose/go-jose/v4from4.1.3to4.1.4(#33)
Full Changelog: v2026.3.3...v2026.4.4
v2026.3.3
Highlights
This release completes the workflow unification work across ingest, analysis, and rewrite.
Unified input model
- Added a shared
internal/inputlayer so workflow consumers read supported files through one common reader contract instead of format-specific code paths. - Preserved existing JSON, NDJSON, and JSONL workflow semantics while extending the same reader surface to CSV, TSV, XLSX, and XML.
- Kept analysis and rewrite on the same structured input path, which reduces divergence between record loading, traversal, and decode handling.
Unified output path
- Added a shared staged output target abstraction so local and GCS writes follow one consistent writer flow.
- Moved the workflow layers towards a common write path for generated reports and transformed output while keeping existing safety behaviour intact.
XML uplift
- Added XML ingest support. Ingest now accepts XML inputs and uses
xmlRecordPathin the matching mapping rule to treat repeated XML elements as logical records. - XML is now part of the supported workflow surface across ingest, analysis, and rewrite.
- Updated the CLI help and README so the documented support matrix matches the implementation.
Smoke coverage and verification
- Added a repo-kept fake-data corpus under
examples/smoke. - Added BATS CLI smoke coverage across analysis, ingest, and rewrite with real checked-in fixtures.
- Wired Go tests and BATS into
miseand hk so the release path and pre-commit checks exercise the same workflows.
Format matrix
| Format | Ingest | Analysis | Rewrite |
|---|---|---|---|
| CSV | Yes | Yes | No |
| TSV | Yes | Yes | No |
| XLSX | Yes | Yes | No |
| XML | Yes | Yes | Yes |
| JSON | Yes | Yes | Yes |
| NDJSON | Yes | Yes | Yes |
| JSONL | Yes | Yes | Yes |
Tabular rewrite remains intentionally out of scope in this release.
Verification
hk check --all --stash nonego test ./...bats tests/cli_smoke.batsmise run go:lint
Full Changelog: v2026.3.2...v2026.3.3
v2026.3.2
Highlights
- New ingest workflow: Added a first-class
ingestcommand that normalizes CSV, TSV, XLSX, JSON, NDJSON, and JSONL inputs into one unified schema for downstream analysis and rewrite flows. - Flexible output targets: Ingest output now supports local paths and
gs://destinations, with normalized dataset output in.csv,.json,.ndjson, or.jsonl, plus clear CSV rejection for nested records that require JSON-based formats. - Clearer docs and CLI surface: Reworked the README, added workflow diagrams and examples, documented prerequisites and roadmap items, and tightened command help so analysis, ingest, and rewrite usage is explicit from the CLI.
- Stronger local automation: Moved repo verification into
mise, addedhkvalidation and hook tasks, and aligned the documented local check workflow aroundmiseandhk. - Debt cleanup for release quality: Restored stricter lint coverage, brought
.golangci.yamlback to green, and removed disconnected internal subsystems that were not part of the supported CLI surface.
Verification
mise run checkmise run hk:check:allmise run hk:validate
Full Changelog: v2026.3.1...v2026.3.2