# Changelog All notable changes to Seismo Fleet Manager 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.1.1] - 2025-12-02 ### Added - **Roster Editing API**: Full CRUD operations for roster management - `POST /api/roster/add` - Add new units to roster - `POST /api/roster/set-deployed/{unit_id}` - Toggle deployment status - `POST /api/roster/set-retired/{unit_id}` - Toggle retired status - `POST /api/roster/set-note/{unit_id}` - Update unit notes - **CSV Import**: Bulk roster import functionality - `POST /api/roster/import-csv` - Import units from CSV file - Support for all roster fields: unit_id, unit_type, deployed, retired, note, project_id, location - Optional update_existing parameter to control duplicate handling - Detailed import summary with added/updated/skipped/error counts - **Enhanced Database Models**: - Added `project_id` field to RosterUnit model - Added `location` field to RosterUnit model - Added `last_updated` timestamp tracking - **Dashboard Enhancements**: - Separate views for Active, Benched, and Retired units - New endpoints: `/dashboard/active` and `/dashboard/benched` ### Fixed - Database session management bug in `emit_status_snapshot()` - Added `get_db_session()` helper function for direct session access - Implemented proper session cleanup with try/finally blocks - Database schema synchronization issues - Database now properly recreates when model changes are detected ### Changed - Updated RosterUnit model to include additional metadata fields - Improved error handling in CSV import with row-level error reporting - Enhanced snapshot service to properly manage database connections ### Technical Details - All roster editing endpoints use Form data for better HTML form compatibility - CSV import uses multipart/form-data for file uploads - Boolean fields in CSV accept: 'true', '1', 'yes' (case-insensitive) - Database sessions now properly closed to prevent connection leaks ## [0.1.0] - 2024-11-20 ### Added - Initial release of Seismo Fleet Manager - FastAPI-based REST API for fleet management - SQLite database with SQLAlchemy ORM - Emitter reporting endpoints - Basic fleet status monitoring - Docker and Docker Compose support - Web-based dashboard with HTMX - Dark/light mode toggle - Interactive maps with Leaflet - Photo management per unit - Automated status categorization (OK/Pending/Missing) [0.1.1]: https://github.com/yourusername/seismo-fleet-manager/compare/v0.1.0...v0.1.1 [0.1.0]: https://github.com/yourusername/seismo-fleet-manager/releases/tag/v0.1.0