diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c9f057b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "chat.tools.terminal.autoApprove": { + "git add": true, + "git commit": true + } +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3555e79 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,91 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.5.2] - 2026-06-17 + +### Added +- Date fields now default to today's date when left blank during user entry + - `Date-Purchased` defaults to today when creating a new pen + - `Inked-date` defaults to today when creating a new pen + - `Purchased` defaults to today when creating a new ink +- Automatic `Inked-date` update when changing ink during pen edit + - When a user changes the current ink in a pen, `Inked-date` automatically updates to today's date + +### Changed +- Improved date field handling in interactive CLI mode +- Enhanced ink change workflow to maintain accurate ink date tracking + +## [0.5.1] - 2026-04-15 + +### Added +- Migrated storage backend from CSV to SQLite database +- Ink history tracking with timestamps + - New `pen_ink_history` table tracks all ink changes for each pen + - Includes when and what ink was changed to +- Project documentation (`PROJECT_DOCUMENTATION.md`) for developers and AI reference +- XDG Base Directory compliance for data storage + - Default storage path: `~/.local/share/pen-tracker/pen_tracker.db` + - Environment override: `PEN_TRACKER_DB` variable + +### Changed +- Storage format now uses SQLite instead of CSV +- Improved data persistence and querying capabilities +- Better ink tracking across pen collection + +### Removed +- TUI (Text User Interface) display has been removed +- CLI is now the primary interface + +## [0.3.0] - 2025-11-20 + +### Added +- Ink tracking support and collection management + - Add new inks with vendor, name, color, size, and notes + - View all inks in collection + - Select inks when creating or editing pens +- CLI commands for ink management + - `add-ink` — add a new ink + - `list-inks` — list all saved inks + +### Changed +- Updated storage file handling to support multiple CSV files + - Pens stored in `pens.csv` + - Inks stored in `inks.csv` +- Improved display formatting for pen and ink collections + +### Fixed +- Fixed loading of ink.csv from XDG storage directory +- Fixed display of pen inventory with proper formatting + +## [0.2.0] - 2025-10-15 + +### Added +- Initial CLI and TUI implementation for the Fountain Pen Tracker +- Interactive menu system for managing fountain pens +- Command-line interface with commands: `add`, `list`, `export` +- Full CRUD operations for pen collection +- Field support: make, model, nib, nib material, body, cap, postable, vendor, current ink, inked date, notes +- Date validation for purchase and ink dates (YYYY-MM-DD format) +- JSON export functionality + +### Changed +- Improved UI/UX for interactive menu navigation + +## [0.1.0] - 2025-09-10 + +### Added +- Initial project setup +- Basic data model for fountain pens +- Foundation for CLI tooling +- CSV storage support +- Test framework with basic engine tests + +[0.5.2]: https://github.com/donharper/pen-tracker/compare/0.5.1...0.5.2 +[0.5.1]: https://github.com/donharper/pen-tracker/compare/0.3.0...0.5.1 +[0.3.0]: https://github.com/donharper/pen-tracker/compare/0.2.0...0.3.0 +[0.2.0]: https://github.com/donharper/pen-tracker/compare/0.1.0...0.2.0 +[0.1.0]: https://github.com/donharper/pen-tracker/releases/tag/0.1.0