Release v0.3.0: CSV output, wishlist commands, improved error handling

- Replace stdout output with structured CSV file generation
- Add wishlist, all commands with --min-count and --max-wishlist flags
- Introduce CarCounts struct for shared analysis computation
- Improve error handling: return Result instead of unwrap/panic
- Add prize field to BestCarRecord
- Remove TODO.md
This commit is contained in:
Jan-Peter von Hunnius 2026-05-07 20:13:30 +02:00
parent 08c96d9981
commit 9d57b18a4e
8 changed files with 697 additions and 594 deletions

View file

@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.3.0] - 2026-05-07
### Added
- New `all` command that generates all output CSV files in a single parse pass
- New `wishlist` command with `--min-count` and `--max-wishlist` flags for wishlist management
- `--min-count` flag on `best` command to configure very_best threshold (default: 10)
- `--max-wishlist` flag on `wishlist` and `all` commands (default: 300)
- `CarCounts` struct and `compute_car_counts()` function for shared analysis computation
- CSV file output: `best.csv`, `very_best.csv`, `wishlist.csv`, `add.csv`, `remove.csv`
- All output files now include CSV headers
### Changed
- `best` command now writes to `best.csv` and `very_best.csv` instead of printing to stdout
- `trash` command now writes to `trash.csv` instead of printing to stdout
- All output files are sorted by car RQ (via `compare_cars()`)
- `wishlist` command now generates ideal wishlist, add/remove recommendations
### Removed
- `missing` command (functionality absorbed into `wishlist`/`add`/`remove`)
- `+` prefix from output (no longer needed with dedicated wishlist commands)
- `-` prefix from output (replaced by dedicated `remove.csv`)
- `print_best_cars()`, `print_wishlist_stale()`, `print_trash()` functions
## [0.2.0] - 2026-05-07
### Added
- Comprehensive documentation suite in `docs/` directory
- Detailed code comments for all public functions