Skip to content

Releases: benjaminwestern/data-refinery

v2026.4.4

03 Apr 23:24
f606558

Choose a tag to compare

v2026.4.4

Highlights

  • Hardened TUI ComponentManager synchronisation 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/v4 to 4.1.4 and google.golang.org/api to 0.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/api from 0.273.0 to 0.274.0 (#32)
  • build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 (#33)

Full Changelog: v2026.3.3...v2026.4.4

v2026.3.3

31 Mar 09:18

Choose a tag to compare

Highlights

This release completes the workflow unification work across ingest, analysis, and rewrite.

Unified input model

  • Added a shared internal/input layer 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 xmlRecordPath in 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 mise and 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 none
  • go test ./...
  • bats tests/cli_smoke.bats
  • mise run go:lint

Full Changelog: v2026.3.2...v2026.3.3

v2026.3.2

31 Mar 05:11

Choose a tag to compare

Highlights

  • New ingest workflow: Added a first-class ingest command 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, added hk validation and hook tasks, and aligned the documented local check workflow around mise and hk.
  • Debt cleanup for release quality: Restored stricter lint coverage, brought .golangci.yaml back to green, and removed disconnected internal subsystems that were not part of the supported CLI surface.

Verification

  • mise run check
  • mise run hk:check:all
  • mise run hk:validate

Full Changelog: v2026.3.1...v2026.3.2

v2026.3.1

19 Mar 07:27

Choose a tag to compare