You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Minimum Age Verification & Age Gate (OnboardingScreen, BioDataSlide, app_*.arb): Enforced a minimum age requirement of 16 years during the onboarding sequence. Users entering a birth date corresponding to an age under 16 are presented with an immediate localized error message (onboardingDobUnderageError) and prevented from advancing through setup until updating their date of birth.
Training Experience Level in Onboarding & Settings (OnboardingScreen, ExperienceLevelSlide, SettingsScreen, ExperienceLevelService): Integrated a dedicated training experience selection slide (beginner, advanced, pro) directly into the onboarding sequence and added an adaptive setting tile in SettingsScreen. Refined definitions so each level explains positive, progressive capabilities: Beginner offers a streamlined workout interface focused on weight and reps with everyday muscle terms; Advanced unlocks detailed anatomical muscle breakdowns across the catalog and exercise views; Pro adds full intensity control with RIR (Reps in Reserve) on lifts and cardio intensity columns.
Long-Term Nutrition Goal Tracking (MyGoalsScreen, GoalDetailScreen, CreateGoalFlow): Introduced first-class nutrition goal tracking adhering to the Single Active Goal rule. Includes a guided 6-step goal creation wizard with automatic baseline detection from weight logs, interactive bidirectional pace & target date planner with physiological limits (0.25–1.0 kg/week; 0.5–1.5% body weight/week), motivation capture with quick suggestion chips, and full lifecycle management (active, superseded, retired, resumed).
Goal Trajectory & Visual Dashboard (GoalProgressHeroCard, ActiveGoalDashboardWidget, GoalAdjustmentSheet): Added a visual goal dashboard card showcasing current vs. baseline weight, remaining delta, progress percentage bar, dynamic target pace, and projected completion date. Includes full-width trajectory chart with historical data points, embedded seamlessly into both the Goal Detail screen and the Nutrition Hub.
Adaptive Weight Trend Smoothing & Ghost Line (WeightSmoothingUtil, MeasurementChartWidget, MeasurementsScreen, ActiveGoalDashboardWidget, BodyNutritionCorrelationScreen, iOS/Android Widgets): Introduced metabolic weight trend smoothing matching the Adaptive TDEE Engine's exponential filter ($\alpha = 0.35$). The primary curve renders as a prominent, smooth accent line with gradient shading, while actual daily weigh-ins remain fully visible as a subtle semi-transparent ghost line with interactive touch points. Enabled smoothing across all weight charts and native Home Screen widgets (SwiftUI MeasurementsWidget on iOS and Glance MeasurementChartRenderer on Android).
Weekly Goal Review System & Notifications (WeeklyGoalReviewScreen, AdaptiveReviewCard, RecommendationScheduler, GoalNotificationSettingsScreen): Implemented systematic 7-day review check-ins anchored to the goal's start date, evaluating weight trajectory, calorie adherence, and pace safety. Includes two-column comparison cards for current vs. recommended targets, safe multi-variable plan adjustments (adjusting weekly pace or extending target date with clear glass confirmation alerts), delta indicators (-0.15 kg/week, +14 days), and opt-in local notifications.
Manual Workout Plans (ManualPlanScreen, ManualPlanEditorScreen, PlanOverviewCard): Added user-authored weekly plans and 1–14 day training sequences built from saved routines, with rest days, a browsable calendar rail, direct Diary starts, explicit skips, partial/completed tracking, one-active-plan handling, immutable plan revisions, routine snapshots, and resume/restart behavior.
Workout Plan Reminders (GoalNotificationSettingsScreen, LocalNotificationService): Added opt-in local reminders for active manual plans with configurable time, automatic rescheduling after plan changes, no catch-up pressure, and direct notification navigation to the active plan.
Workout Hub Overhaul & Hevy-Style Routines (WorkoutHubScreen, Routines, MainScreen, watchAllRoutinesWithDetails): Redesigned the Workout Hub to serve as the unified, calm, and high-quality central workspace for training. Retained the active training plan hero card and muscle recovery tracker as top anchors. Replaced the oversized quick-start card with a compact 2-column duo-row (+ Freies Training and + Neue Routine). Routines are displayed in a direct vertical list ordered strictly by recent usage, featuring exercise summary previews and 3-dots actions. Added a dedicated calendar history button in the app bar.
Timed Sets in Live Workouts and Live Activities (LiveWorkoutScreen, iOS/Android Live Activities): Added an interactive play/stop timer control directly beside the duration in live workout set rows. The timer starts at zero, pauses and resumes smoothly, and displays elapsed time immediately. iOS Dynamic Island / Live Activity and Android ongoing notifications can start and stop the timer without foregrounding the app.
Progressive Engine Opt-In Prompt in Live Workouts (LiveWorkoutScreen, TrainingAutonomyService): Added a context-aware bottom sheet prompt (showGlassBottomMenu) featuring the animated neural orb (AiNeuralCloudOrbWidget) that offers to activate the Progressive Engine (AutonomyLevel.suggest) when an exercise with historical performance data appears in a live session, explaining automated weight suggestions and user control.
Cross-Platform Body-Measurement Import (HealthConnectWeightImportService, Apple Health / Health Connect Settings): Moved health reads out of one-way Health Export into a dedicated opt-in entry under Health & Tracking. Apple Health imports weight, body-fat percentage, and waist circumference; Health Connect imports weight and body-fat percentage. Imports run on cold start, retain source-record identity, and exclude Train Libre exports to prevent loops.
Reliable Apple Health & Health Connect Export Identity: Added persistent per-record UUIDs, payload fingerprints, and monotonic revision registries plus foreground database synchronization. Edited Train Libre records safely replace/revise native records without duplication or skipped entries.
Macronutrient Analytics & Statistics Hub Integration (StatisticsHubScreen, MacroSectionCard, MacroStatisticsScreen, MacroHistoryStackedBarChart): Added a new dedicated "Ernährung" analytics section to the Statistics Hub. Features interactive stacked mini-bars (Carbs, Fat, Protein proportional to daily calories) and period averages, leading to the full MacroStatisticsScreen with timeframe filters (7D to MAX), press-and-hold scrub interaction for exact daily values, reference lines, and chronological breakdowns.
Rolling 7-Day Intake vs. Target Comparison Chart (NutritionHubScreen, WeeklyIntakeVsTargetChart): Integrated an interactive 7-day intake comparison chart into the adaptive recommendation card inside the Nutrition Hub, displaying vertical stacked bars for actual intake over rolling days alongside the recommended target bar with macro badges.
Onboarding Goal Flow & Tactile Ruler Inputs (OnboardingScreen, AppRulerPicker, profile_slide): Integrated the guided nutrition and bodyweight goal wizard directly into the user onboarding sequence. Split profile steps into tactile individual slides featuring smooth continuous horizontal and vertical ruler pickers for height, weight, and body fat with optional direct numeric editing and photo selection.
Progressive AI Meal Review Transition & Skeleton Loading (AiMealCaptureScreen, AiMealReviewScreen, AiMealScanRunner): Implemented an instant transition to the review screen as soon as the initial AI vision response arrives, displaying photographed items and preliminary macro estimates immediately with elegant shimmer skeleton loading while local database matching completes concurrently in the background.
Nutrition Developer Lab (DeveloperSettingsScreen, NutritionDeveloperLabView, NutritionSandboxWidget): Added a dedicated interactive testing lab inside Developer Settings featuring dual tabs ("Allgemein" and "Nutrition Lab") with reactive parameter sliders, state matrix calculations in real time, 8 canonical scenario presets (Plateau, Intake Deviation, On Track, etc.), and local scan logs.
PostHog Telemetry Expansion for Training & Nutrition Plans (TelemetryService, TELEMETRY.md): Extended anonymous usage telemetry to fully cover the new Training Plans and Nutrition Goals / Adaptive Plans subsystems under strict zero-PII safeguards, coarse bucket aggregation, and explicit user opt-in.
Removed
AI Speed Mode / Parallel Hedge Setting (AiSettingsScreen): Removed the speculative parallel hedge request switch ("Geschwindigkeitsmodus") from AI settings. Empirical scan telemetry proved that sending duplicate requests after 4 seconds doubled token consumption without improving scan completion time, and introduced race conditions. Replaced by low reasoning effort configuration, lightweight repair passes, and progressive review skeleton loading.
Changed
App Store & Google Play Screenshot Deck Architecture & README Gallery (screenshot_editor, app-store-screenshots.json, sync_screenshots.sh, README.md): Expanded the marketing screenshot deck to 8 slides incorporating the new Weekly Goal Review screen (iOS_dark_weekly_goal_review.png). Structured the connected canvas layout to logically group Diary with AI Meal Capture (#1 & #2) with AI Capture tilted behind Diary (rotation: 7°), present Workout tracking as a standalone hero (#3), pair Metabolism/TDEE with Weekly Goal Review via connected canvas tilt transitions (#4 & #5), retain top-aligned Muscle Recovery (#6), and smoothly link Body Measurements and Offline Privacy (#7 & #8). Updated the README.md screenshot showcase into a complete 8-card grid reflecting the App Store sequence.
LiDAR Depth Estimation Disclosure Refinement (Store Metadata & Release Notes): Refined marketing copy across all supported languages from claiming portion size is "measured instead of guessed" to clarifying that LiDAR captures physical depth scale to assist AI portion estimation, aligning with FTC and advertising disclosure guidelines.
Responsive Adaptive TDEE & Trajectory Control: Shortened the adaptive nutrition signal window to 14 days, increased weekly TDEE process variance to $60^2$, replaced the phase-dependent observation ramp with a fixed 7,700 kcal/kg coefficient plus temporary phase-transition uncertainty, and added a separately bounded rate controller for persistent goal-trajectory error. Maintenance estimation is explicitly distinguished from trajectory correction.
AI Meal Scan Latency Optimization & Reasoning Effort (AiNetwork, AiMealScanRunner, AiService, MatchingLogic, RulesLogic): Configured 'reasoning_effort': 'low' for OpenAI reasoning models (gpt-6-luna, o1, o3, etc.) and thinkingBudget: 0 for explicit Gemini 2.5 Flash variants to reduce inference latency. Streamlined repair rounds to keep catalog-only repairs text-only while resending photos for visual and quantity repairs, and restricted ambiguous match validation to genuine calorie spreads.
Nutrition Hub Recipes & Supplements (NutritionHubScreen): Promoted Supplement Tracker to a first-class Nutrition entry, removed the redundant Food Explorer shortcut, and replaced the horizontal recipe carousel with a clear saved-recipe list that allows direct logging to the diary with quantity and meal-time confirmation.
Unified Horizontal Operation Progress (OperationProgressWidget, AppInitializerScreen, LongRunningOperationOverlay, SummaryCard, AdaptiveGlass): Introduced a reusable OperationProgressWidget featuring an AdaptiveGlass circular hero icon badge matching the app's ColdStartEmptyState design language positioned above an app-standard SummaryCard, with prominent title, a compact status row pairing left-aligned progress detail with right-aligned percentage and ellipsis truncation, and horizontal capsule progress bar (LinearProgressIndicator) across all long-running operations. Replaced custom/circular animations across database downloads (onboarding and settings), backup imports/exports, iCloud restore, and sync tasks to establish consistent visual presentation. Resolved developer-facing string concatenations (e.g., "Update Prüfe Produktdatenbank") into clean localized titles and added locale-aware thousands-separated counters for database import progress. Fixed a progress clamping issue where catalog stages previously held download progress at 100% or 94%, ensuring real-time percentage reporting from 0% to 100%.
Weekly Goal Review Bottom Glass Menu (WeeklyGoalReviewScreen, showGlassConfirmation): Replaced legacy Material AlertDialog popup when keeping current goals with showGlassConfirmation (showGlassBottomMenu), unifying all confirmation sheets in the weekly goal review flow to use the native glass bottom menu design language.
Platform-Adaptive Switch Uniformity (GoalNotificationSettingsScreen, SettingsScreen): Unified switches across settings screens to use PlatformAdaptiveSwitchListTile (GlassSwitch on iOS and platform switches across platforms) for workout plan reminders, weekly reviews, adaptive recommendations, and target date reminders.
Fixed
Backup Restore Foreign Key Constraint & Database Lock Fix (BackupManager, DriftDatabase, ICloudSyncService): Fixed backup restoration failures caused by SQLite foreign key constraint violations and database locks during restore transactions, with automatic reconciliation for historical baselines, predecessor goals, and logs, plus resolved an iCloud metadata crash.
Health Export Permissions, Retries & Recovery: Added native write-permission preflight, requested missing Apple Health read scopes, replaced message-based Health Connect quota detection with structured error-code handling, and made partial failures retryable without losing progress.
ProfileService Lifecycle & Disposal Fix (ProfileService, main.dart, profile_slide): Fixed crash caused by premature framework disposal of the ProfileService singleton across navigation transitions during onboarding.
Card Input Field & Dropdown Surface Contrast in Light Mode (SummaryCard, PlatformAdaptiveDropdownFormField): Resolved white-on-white visual blending where dropdown menus and input fields inside cards in Light Mode rendered with an identical white fill color by scoping fill colors to contrasting secondary surfaces.
AI Settings Scroll Jumping & Background Loading Fix (AiSettingsScreen): Preserved scroll positions stably and applied scoped shimmer loading to model dropdowns during background provider model fetching, eliminating layout shifts and top-right loading overlays.
Strict Weight Validation & Historical Measurement Fallback (RecommendationInputAdapter, DatabaseHelper, AdaptiveNutritionRecommendationService): Eliminated artificial 75 kg fallbacks in recommendation, onboarding, and goal tracking, strictly requiring verified body weight observations or immutable baseline snapshots.
1RM Guidance Copy: Corrected the workout summary, workout detail, and exercise detail info sheets to identify the Brzycki formula and its 1–12 repetition input range.
Local Notification Banners & iOS Foreground Delegate Setup (AppDelegate.swift, LocalNotificationService): Registered iOS foreground notification delegates to properly show alert banners and play sounds while the app is active.
Onboarding Flow & Experience Level Test Suite Reconciliation (adaptive_recommendation_settings_flow_test.dart, developer_settings_screen_test.dart): Updated widget test navigation sequences and expectation assertions to account for the new Experience Level slide and refined progressive experience level descriptions.