Repository navigation
v1.0
What's Changed
Version 1.0 introduces the Swim Training Calendar, providing an integrated calendar view of workout history and scheduled swimming events.
Swim Training Calendar
- Add a native WordPress Swim Training Calendar block.
- Add interactive Month and Week views.
- Add Previous, Next, and Today calendar navigation.
- Allow each swimmer to configure Saturday, Sunday, or Monday as the first day of the week.
- Apply the configured week boundary consistently to calendar display and weekly summaries.
- Display completed pool and open-water workouts on their actual workout dates.
- Display scheduled events and races distinctly from completed workouts.
- Add weekly summaries for workout count, total distance, active training time, pool distance, and open-water distance.
- Treat imported and manually entered workouts consistently in the calendar without emphasizing recording source.
- Add selectable workout cards with useful workout details directly within the calendar.
- Add a responsive date-grouped agenda view for narrow/mobile displays while retaining the traditional seven-column calendar on larger screens.
Privacy and REST API
- Add the authenticated
GET /swimlog/v1/calendarendpoint. - Keep calendar access private to the swimmer or an authorized administrator.
- Keep calendar authorization independent of Public Results, Public Open-Water Routes, and external REST API opt-in.
- Exclude GPS coordinates, trackpoints, workout notes, device/source information, and import metadata from calendar responses.
- Add bounded date-range validation and owner-scoped calendar queries.
Accessibility and User Interface
- Add keyboard-accessible workout interactions.
- Add Escape-to-close workout details with focus restoration.
- Add accessible relationships between calendar headings, workout controls, and detail regions.
- Add loading/busy-state and status announcements.
- Add visible keyboard focus treatment.
- Add reduced-motion support.
- Add forced-colors/high-contrast refinements.
- Add responsive mobile calendar presentation.
Training Data
Weekly calendar summaries use recorded or directly derived workout information only. Version 1.0 does not manufacture calories, TSS, physiological training load, recovery, fitness, injury risk, or other measurements that are not supported by the recorded workout data.
Compatibility and Data Preservation
- Maintain PHP 7.4 through 8.4 compatibility.
- Preserve existing workout, event, personal-best, analytics, and source data.
- No v1.0 database schema migration is required.
- Internal database schema version remains 0.9.
- Release package passed the complete PHP regression matrix and packaged WordPress Plugin Check.
Full Changelog: compare v0.9...v1.0