Skip to content

Commit 0be992f

Browse files
committed
docs: changelog for v0.4.0
1 parent 4035843 commit 0be992f

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
All notable changes to this project are documented here.
44

5+
## [v0.4.0] - 2026-04-18
6+
7+
### ✨ Features
8+
- **New library**: all CSV operations are now exposed as Go functions under `github.com/maherelgamil/csvops/pkg/csvops` — importable by other Go programs (including the upcoming desktop app). Each operation takes a typed `Options` struct and returns a typed `Result`.
9+
- Every operation supports `context.Context` cancellation and an optional `Progress` callback.
10+
- **`merge`** (library only): new `InputFiles` option for explicit-order merging, plus `SkipErrors` + `OnWarn` for per-file non-fatal errors.
11+
- **`to-sqlite`** (library only): typed `IfExistsAction` enum (`Replace`, `Skip`, `Append`, `Fail`); `ToSQLiteResult.Skipped` reflects honored `Skip` mode.
12+
- Test suite extended to ~35 tests in `pkg/csvops/`, including regression coverage for deterministic dedupe output order and the adversarial-table-name SQL-injection fix.
13+
14+
### 🛠 Internal
15+
- CLI commands in `cmd/` are now thin wrappers over the library.
16+
- `io.Writer`-based output in `Filter` and `Merge` so callers can stream results to memory.
17+
18+
### 🧩 Compatibility
19+
- CLI flags and behavior unchanged. No breaking changes for end users.
20+
521
## [v0.3.0] - 2026-04-18
622

723
### 🔒 Security

0 commit comments

Comments
 (0)