Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ on:
push:
branches:
- main
- ui/frontend-prototype
pull_request:

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

Expand Down
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Changelog

All notable project changes will be recorded here.

The project is currently in pre-release development.

## [0.1.0-alpha.1] - 2026-09-26

First functional alpha of Two-Export Comparator.

### Added

- local CSV and TSV file inspection in the browser;
- comma, semicolon and tab delimiter detection;
- quoted and multiline CSV field parsing;
- UTF-8 and UTF-8 BOM handling;
- basic text, number and date type inference;
- deterministic automatic column-pair suggestions;
- local hash-map based comparison;
- `MATCHED`, `MISMATCH`, `ONLY_A`, `ONLY_B`, `DUPLICATE` and `AMBIGUOUS` result states;
- numeric tolerance support;
- side-by-side Visual Diff;
- CSV result export with spreadsheet formula-injection protection;
- English and Latvian UI;
- bilingual README and translation contribution guide;
- project scope, security and contribution documentation;
- GitHub issue and pull-request templates;
- GitHub Actions test/build CI.

### Privacy model

Selected business files are processed in browser memory for the normal comparison workflow. The application does not require accounts, cloud upload, analytics or telemetry.

### Known alpha limitations

- automatic matching still needs broader regression coverage;
- ambiguous date formats need explicit handling;
- large-file performance still needs a measured baseline;
- accessibility and responsive audits are not yet complete;
- offline/static distribution is still planned.

2 changes: 1 addition & 1 deletion README.lv.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
> **Divi faili iekšā. Atšķirības ārā.**
> Privātumam draudzīgs pārlūka rīks, kas lokāli salīdzina divus CSV/TSV eksportus un vizuāli parāda atšķirības blakus.

**Statuss:** pirms publiskā laidiena / aktīvā izstrādē
**Statuss:** `v0.1.0-alpha.1` kandidāts — pirms publiskā laidiena / aktīvā izstrādē

## Kāpēc šis projekts pastāv

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
> **Two files in. Differences out.**
> A privacy-first browser tool that compares two CSV/TSV exports locally and shows the differences side by side.

**Status:** pre-release / active development
**Status:** `v0.1.0-alpha.1` candidate — pre-release / active development

## Why this exists

Expand Down
11 changes: 6 additions & 5 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,12 +126,12 @@ Status: ✅ complete · 🟡 in progress · ⬜ planned · ⛔ blocked
## Phase 8 — Public open-source release / Publisks open-source release ⬜

- ⬜ Final project name/branding review.
- ⬜ MIT license and public repository metadata.
- ⬜ CONTRIBUTING polish.
- ⬜ Issue and PR templates.
- 🟡 MIT license and repository metadata prepared; repository visibility remains a separate publication decision.
- ✅ CONTRIBUTING polish.
- ✅ Issue and PR templates.
- ⬜ Good first issues.
- ⬜ Help-wanted issues for parsers, formats and translations.
- ⬜ First tagged release.
- 🟡 First alpha release candidate prepared as v0.1.0-alpha.1.
- ⬜ Public launch documentation and screenshots.

---
Expand All @@ -147,7 +147,8 @@ Status: ✅ complete · 🟡 in progress · ⬜ planned · ⛔ blocked
| 2026-09-26 | R4 — Visual Diff pivot | ✅ | Product flow changed to Upload → automatic comparison → side-by-side Visual Diff. Manual mapping moved behind Expert settings. |
| 2026-09-26 | R5 — Real browser engine MVP | ✅ | Replaced mock default with real local CSV/TSV parsing, automatic mapping suggestions and deterministic comparison sufficient for the Visual Diff flow. Regression fixtures pass (4/4) and production build verified locally. |
| 2026-09-26 | R6 — Repository polish | ✅ | Reworked EN/LV README around the Visual Diff product promise, documented strict project scope, strengthened contribution/security guidance, added GitHub issue/PR templates, README hero artwork and CI workflow. |
| 2026-09-26 | R7 — Alpha release preparation | 🟡 | Prepared v0.1.0-alpha.1 metadata, changelog and release notes; simplified CI to one PR check plus one main-branch check and added concurrency cancellation. Social Preview upload and tagged prerelease remain. |

## Next target / Nākamais mērķis

**Next:** harden automatic matching/normalization without expanding the core workflow, then prepare the first public release candidate.
**Next:** publish the Social Preview, tag `v0.1.0-alpha.1` as a prerelease, then continue matching/normalization hardening without expanding the core workflow.
23 changes: 23 additions & 0 deletions docs/releases/v0.1.0-alpha.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# v0.1.0-alpha.1 — First functional alpha

Two files in. Differences out.

This prerelease marks the first functional Two-Export Comparator alpha: two CSV/TSV exports can be loaded locally in the browser, matched automatically and inspected through a side-by-side Visual Diff.

## Highlights

- local-only CSV/TSV processing;
- automatic delimiter detection;
- automatic column mapping suggestions;
- deterministic record matching;
- mismatches, missing rows, duplicates and ambiguous keys surfaced explicitly;
- side-by-side Visual Diff;
- CSV result export;
- English and Latvian UI;
- no account or cloud upload required for comparison.

## Important

This is an alpha prerelease, not a stable production release. Automatic mapping and normalization are deliberately conservative and still need broader edge-case coverage.

Use synthetic or non-sensitive sample data when reporting bugs publicly.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "two-export-comparator",
"version": "0.0.1",
"version": "0.1.0-alpha.1",
"private": true,
"type": "module",
"description": "Privacy-first browser utility for comparing two CSV/TSV exports locally.",
Expand Down
Loading