Files
terra-view/CHANGELOG.md
2025-12-02 06:36:13 +00:00

2.7 KiB

Changelog

All notable changes to Seismo Fleet Manager will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

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)