Releases: PPeitsch/TimeTrack
Releases · PPeitsch/TimeTrack
v1.5.0
Added
- Comprehensive Test Coverage: Increased test coverage from 75% to 98% (Issue #29).
- Added
test_init_db.py: 15 tests for environment parsing and database info extraction. - Added
test_init_data.py: 8 tests for data seeding functions. - Added
test_import_log.py: 18 tests for import routes. - Added
test_pdf_importer.py: 19 tests for PDF parsing. - Expanded Excel importer tests with 15 edge cases.
- Expanded route tests with 7 time summary edge cases.
- Added
- Added
.coveragercconfiguration to exclude interactive scripts from coverage. - Integrated Codecov test results action for improved CI reporting.
- Dynamic Codecov coverage badge in README.
Changed
- Improved CI workflow with
junitxmloutput for better test reporting.
v1.4.0
Added
- File Import System: Implemented automatic time data import from PDF and Excel files (Issue #78).
- New
/importroute for uploading and parsing time reports. - Added
PDFImporterusingpdfplumberandExcelImporterusingpandas. - Factory pattern for selecting appropriate importer based on file type.
- Preview page to validate parsed data before import.
- New
- Added
observationcolumn toScheduleEntrymodel. - Added Flask-Migrate support for database migrations.
v1.3.2
Added
- Added
AGENTS.mdandWORKFLOW.mdto provide guidelines and workflows for AI agents.
v1.2.3
Added
- Increased test coverage for the
time_log.pymodule from 88% to 100%.
v1.2.2
Added
- Increased test coverage for the
manual_entry.pymodule from 72% to 98%.
v1.2.1
Fixed
- Corrected and updated the release comparison links in
CHANGELOG.md.
v1.2.0
Added
- CRUD Management for Absence Codes:
- Implemented a new "Settings" page at
/settings/absencesfor full CRUD (Create, Read, Update, Delete) management of absence codes. - Created a set of RESTful API endpoints under
/settings/api/absence-codesto support the new management interface. - Added a comprehensive test suite (
tests/test_settings.py) with 100% code coverage for the new backend routes and logic.
- Implemented a new "Settings" page at
Changed
- The "Manual Entry" dropdown is now dynamically populated with the user-managed absence codes from the database, replacing the previous hardcoded list.
- The "Calendar Log" view now fetches absence codes from the new centralized API endpoint, ensuring consistency across the application.
Fixed
- Prevented the deletion of absence codes that are currently in use in any
ScheduleEntry, ensuring data integrity.
v1.1.1
Changed
- Calendar Interaction Logic:
- Users can now select and modify weekends and holidays in the "Monthly Log" calendar to log work hours on non-standard workdays.
- The day editing modal now includes a "(Revert to Default)" option, allowing users to remove an override and restore a day to its original state (e.g., Holiday or Weekend).
- The backend API was updated to handle explicit "Work Day" overrides and the new "Revert to Default" action, ensuring predictable and intuitive behavior.
v1.1.0
Fixed
- Resolved a CSS bug in the "Monthly Log" calendar where day types with multiple words (e.g., "LICENCIA MÉDICA") were unreadable due to poor color contrast.
v1.0.9
Fixed
- Resolved a bug in the "Monthly Log" calendar where the "Edit Day Type" modal was not being populated with absence codes. This was caused by an error in the database initialization script that failed to seed the
absence_codestable. - Corrected an asynchronous flow issue in the frontend JavaScript to ensure the modal's dropdown is populated only after the absence codes have been successfully fetched from the API.