Skip to content
Douwe de Vries edited this page Jul 2, 2026 · 2 revisions

Lore

CSV Align grew quickly from a Rust CSV comparison tool into a shared-backend desktop and web app. The timeline below is derived from git history, tags, and release documentation.

Eras

The initial app, Apr 7 to Apr 12, 2026

  • Apr 7, 2026: The first version introduced Rust CSV comparison, sample CSV files, and early docs.
  • Apr 7, 2026: The Vite React frontend, Tauri packaging, CI workflows, and frontend services appeared the same day.
  • Apr 8 to Apr 12, 2026: Early v0.2 tags iterated through UI flow, comparison behavior, and packaging readiness.

v1 stabilization, Apr 13 to Apr 17, 2026

  • Apr 13, 2026: v1.0.0 marked the first stable app shape, with configure UX and curated release notes.
  • Apr 15, 2026: Pair-order persistence was added so repeated CSV shapes could reuse selected key and comparison-column order.
  • Apr 16 to Apr 17, 2026: The v1.1 and v1.2 tags refined workflow and desktop loading behavior.

Shared-backend v2, Apr 18 to Apr 19, 2026

  • Apr 18, 2026: The v2 refactor moved behavior into shared Rust workflows under src/backend/workflow.rs so Axum and Tauri could call the same code.
  • Apr 18, 2026: Snapshot persistence, tracing setup, session-store cleanup, and React 19 migration work landed around the same phase.
  • Apr 19, 2026: The v2.1 line began, becoming the long-running release train through July.

Packaging and release hardening, May 2026

  • May 9 to May 10, 2026: Linux package license metadata, Debian normalization, RPM generation, and signed APT repository work expanded .github/workflows/ci.yml, .github/workflows/release.yml, and scripts under scripts/.
  • May 19, 2026: Result search became field-scoped and simpler, centered on frontend/src/features/results/search.ts and frontend/src/components/ResultsTable.tsx.

Performance and contract cleanup, Jun to Jul 2026

  • Jun 2026: Frontend and backend tests grew around snapshots, JSON virtual fields, and transport parity.
  • Jul 2, 2026: Raw IPC upload paths, snapshot validation/performance improvements, and duplicated workflow collapse refined src-tauri/src/commands.rs, src/backend/comparison_snapshot.rs, and src/backend/workflow.rs.

Longest-standing features

Feature First seen Still active in
CSV loading and comparison Apr 7, 2026 src/data/csv_loader.rs, src/comparison/engine.rs
Export to CSV Apr 2026 src/data/export.rs, src/api/handlers.rs, src-tauri/src/commands.rs
React file/config/results flow Apr 7, 2026 frontend/src/App.tsx, frontend/src/hooks/useComparisonWorkflow.ts
Tauri desktop packaging Apr 7, 2026 src-tauri/tauri.conf.json, src-tauri/src/main.rs

Rewrites and replacements

  • Apr 18, 2026: Transport-specific backend behavior appears to have been replaced by shared workflow functions in src/backend/workflow.rs. This reduced duplicate logic between src/api/handlers.rs and src-tauri/src/commands.rs.
  • May 2026: Linux packaging shifted from default Tauri output toward project-owned metadata normalization and RPM package construction in scripts/normalize_linux_deb_desktop_id.py, scripts/validate_linux_deb_metadata.py, and scripts/build_rpm_package.py.
  • Jul 2026: Desktop file upload moved to raw IPC bytes in src-tauri/src/commands.rs and frontend/src/services/tauri.ts, avoiding the allocation cost of JSON-encoding large byte arrays.

Deprecated or superseded paths

No explicit @deprecated markers were found in source during the wiki scan. The closest superseded paths are older snapshot versions rejected by src/backend/comparison_snapshot.rs and the test-only path-based load_csv Tauri command in src-tauri/src/commands.rs.

For current release mechanics, read deployment. For technical pitfalls, read migration context.

Clone this wiki locally