Added customizable weekly plan delivery time — choose when you receive your Sunday weekly training plan email (8:00–22:00 in your local timezone) from Settings → Notifications
Expanded daily email delivery time range — now available from 3:00 AM to 12:00 PM (previously 5:00–9:00 AM) for early risers and late starters
Fixed volume jump warning showing incorrect weekly TSS values — the warning was comparing rolling 7-day windows instead of calendar weeks (Mon–Sun), causing values like "146 TSS" to display when the actual week had 396 TSS
Fixed workout structure showing "undefined% FTP" for warmup/cooldown ramp segments — when the Intervals.icu API doesn't provide power data for ramps, the power range (e.g., "40-75%") is now extracted from the step text
Fixed zone progression focus areas sometimes labeling stable zones instead of declining zones — when multiple zones had the same level, the sort order was arbitrary; declining zones are now consistently prioritized as focus areas via trend-based tiebreaker
Fixed progressive overload showing false decline when comparing rides of very different durations — when comparing a long endurance ride (e.g., 4h @ 210W) to a short threshold session (e.g., 1h @ 220W), the power comparison incorrectly showed decline; now uses TSS comparison when durations differ by more than 50%
Added rowing activity support — rowing workouts are now properly recognized as endurance activities and analyzed with HR-based metrics instead of being misidentified as running
Improved weekly plan duration awareness — workout durations are now capped based on your recent training rhythm per sport, so you won't get a 2-hour swim if you normally swim 30 minutes (allows up to 30% progression above your recent max)