Retour

Nouveautés

v1.9.9

Changelog

[1.9.9] - 2026-02-27

Fixed

  • Live Session Test Regression: Mise à jour de l'assertion test_history_and_pr_display pour correspondre au nouveau libellé du badge PR ("PR :" au lieu de "Record (PR)") introduit par le refactor v1.9.8.

[1.9.8] - 2026-02-27

Changed

  • Live Session Layout: Optimized page layout for better mobile UX.
  • "Programme de la séance" déplacé tout en bas de page (pleine largeur).
  • Bouton "Ajouter un set" colorié en bleu (btn-outline-primary).
  • Historique récent (PR, sets précédents) remonté juste sous le champ "Note" dans le formulaire.
  • Vidéo / image masquée par défaut ; bouton ? (Bootstrap collapse) pour l'afficher à la demande.

[1.9.7] - 2026-02-27

Fixed / Completed

  • Body Metrics Tracking (completion): Finished the full frontend implementation started in v1.9.6.
  • UI: Added the missing "Données Corporelles" tab pane in analytics_dashboard.html (form + Chart.js + history table).
  • Edit/Delete: Users can now edit and delete existing entries directly from the history table (PATCH/DELETE via the DRF API).
  • UX: "Modifier" button pre-fills the form; "Annuler" returns to creation mode; unique-date collision shows a helpful warning.
  • Testing: Added 3 regression tests: test_update_body_metrics, test_delete_body_metrics, test_cannot_access_other_user_metrics (6 tests total, all passing).

[1.9.6] - 2026-02-27

Added

  • Body Metrics Tracking: New feature to track body measurements over time.
  • Data Model: Added BodyMetrics model (Weight, Biceps, Chest, Thigh, Waist).
  • API: Implemented REST API endpoints for Body Metrics.
  • UI: Added "Données Corporelles" tab in Analytics Dashboard with entry form and interactive Chart.js visualizations.
  • Testing: Added regression tests for Body Metrics API.

[1.9.5] - 2026-02-27

Added

  • Live Session UI: Added a Tracking Type Modal to allow dynamically changing the unit of a set during a session (Reps, Time, Distance, with or without weight).
  • Live Session UX: Dynamically adjusts the input widths depending on the presence of a weight constraint (using col-12 when weight is omitted vs col-6).

Fixed

  • Mobile Safari: Replaced deprecated apple-mobile-web-app-capable with mobile-web-app-capable in base.html for PWA compliance.

[1.9.4] - 2026-02-27

Fixed

  • Analytics Integrity: Fixed a bug where cancelled or abandoned sessions were visible in analytics, charts, and dashboard stats. All analytics now strictly filter for flag_finished=True.
  • Session Management: Implemented auto-cleanup of orphan sessions. Starting any new session (Normal or Free) now automatically deletes previous unfinished sessions for that user.
  • Resume Feature: Improved "Resume Session" logic to ensure only one unfinished session can exist at a time per user.
  • Data Integrity: Unified the use of current_workout_session in templates to prevent context variable collisions.

[1.9.3] - 2026-02-27

Added

  • Feature (Cancel Session): Implemented "Cancel Session" for Free Sessions.
  • UI: Added a "Cancel" button in the Free Session Hub and the Exercise View (under the Options menu).
  • Logic: Unified cancellation logic for both normal and free sessions, ensuring all session data is deleted from the database.
  • Testing: Added regression tests (test_cancel_session.py) for both session types.

[1.9.2] - 2026-02-08

Added

  • Exercise Inventory: Admins can now approve or reject weight inventories from the "Pending Review" tab in Exercise List.
  • Exercise Inventory: Added pending badges and pending inventory counts for Admins.

Changed

  • Exercise Inventory: Users now see their own pending inventories in Exercise Detail.
  • Exercise Inventory: Redirect to Exercise Detail after submission for immediate feedback.

[1.9.1] - 2026-02-05

Added

  • Feature (Exercise Inventory): Added support for incremental weight generation.
  • Logic: New fields min_weight, max_weight, and increment in ExerciseWeightInventory.
  • Form: Automatic weight list generation (e.g., Min: 5, Max: 50, Interval: 2.5) in the submission form.
  • Validation: Strict validation of increment values (>0) and ranges (Min <= Max).
  • Admin: Improved Admin interface with grouped fieldsets for inventory management.
  • Infrastructure: Added make migrations target to the Makefile to facilitate database updates via Docker Compose.

[1.9.0] - 2026-02-04

Added

  • Feature (Exercise Inventory): Preparation for Drop Sets.
  • Model: New ExerciseWeightInventory to track available weights per exercise/machine.
  • Contribution: Users can now submit weight inventories (e.g., weights of a specific machine stack or dumbbell rack).
  • Validation: Admin workflow to approve or reject submitted inventories.
  • UI: Added inventory contribution links in Exercise List and Exercise Detail views.
  • Integration: Approved inventories are displayed in the Exercise Detail view.

[1.8.0] - 2026-02-03

Added

  • Feature (Custom Exercises): Users can now create custom exercises directly within a live session.
  • Quick Creation: A "+" button in the "Swap Exercise" modal opens a creation form.
  • Validation Workflow: User-created exercises are private by default but can be submitted for Admin validation.
  • Admin: Admins can approve or reject submitted exercises via a dedicated "Pending" tab in the Exercise Library.
  • Filtering: The Exercise Library now supports filtering by "All", "My Custom", and "Pending" (Staff only).
  • Security: Updated Django to 4.2.28 to address potential vulnerabilities.

[1.7.2] - 2026-02-02

Fixed

  • Infrastructure (Logging): Fixed an issue where Docker logs (stdout/stderr) were empty in production.
  • Configuration: Updated LOGGING settings in django_hub/settings.py to ensure logs are always sent to the console (stdout) in addition to file logging, resolving visibility issues in docker compose logs.

[1.7.1] - 2026-02-01

Fixed

  • Mobile (PWA): Fixed a critical bug where the Rest Timer would freeze at 00:00 without resetting, requiring a manual stop/start.
  • Logic: Removed obsolete countdownInterval check causing potential conflicts.
  • Stability: Added robust error handling for audio/vibration to prevent UI crashes on Android devices where AudioContext policies might block playback.

[1.7.0] - 2026-01-29

Added

  • Feature (Inverse PR): Implemented support for assisted exercises (e.g., Assisted Pullups).
  • Backend: New is_inverse_weight flag on Exercises.
  • Logic: Smart PR detection (lower weight = better performance) in FitnessAnalyzer.
  • UI: Added a Bootstrap switch in Exercise editor to toggle Inverse PR mode.
  • Live Session: Records and displays "Best Sets" and Personal Records correctly for inverse exercises.
  • Documentation: Incremented SITE_VERSION to 1.7.0.

[1.6.4] - 2026-01-26

Added

  • Mobile: New Dashboard with 3 main "Bricks" (Live, Programs, Exercises).
  • Mobile: Persistent Bottom Navigation Bar.
  • Mobile: "Continue Group" (Smart Rotation) brick on Dashboard.
  • Backend: Added REST API for Program Groups to support mobile sync.

[1.6.3] - 2026-01-26

Fixed

  • Mobile: Corrected Exercise selection screen (missing dart:io import and File usage).
  • Backend: Fixed PEP8 linting errors in serializers.py (Mixed indentation, trailing whitespace).

[1.6.2] - 2026-01-26

Fixed

  • Mobile: Resolved "Upload KO" (400 Bad Request) by ensuring notes fields are never null in payloads.
  • Mobile: Fixed Rest Timer increments to +/- 15s.

[1.6.1] - 2026-01-26

Added

  • Mobile: Fullscreen Rest Timer in Live Session.
  • Fixed: Immediate trigger of sync service after session completion.

[1.6.0] - 2026-01-25

Added (Mobile)

  • Phase 3 (Live Session): Implemented full offline session tracking.
  • Tracking: Real-time logging of sets (Weight, Reps, RIR) for each exercise in a program.
  • Navigation: Ability to navigate between exercises and track progress via a progress bar.
  • Persistence: Sessions and logs are saved locally using Drift (SQLite).
  • Synchronization: Added bidirectional sync for workout sessions.
  • Upload: Local finished sessions are automatically uploaded to the server during sync.
  • Status: Visual feedback for sync status ('pending' vs 'synced').

[1.5.0] - 2026-01-25

Added

  • Feature (Gym Card): Implemented a digital Gym Card feature for easier check-ins.
  • Profile: Users can now save their Gym Card Number (e.g., Basic Fit) and format (Code 39, QR, etc.) in their profile settings.
  • Access: Quick access via a barcode icon in the Dashboard (Mobile) and Live Session header.
  • UI: Displayed in a high-contrast, brightness-optimized modal.
  • UX: Vertical orientation for optimal smartphone scanning at gym turnstiles.

[1.4.5] - 2026-01-25

Improved

  • UX (Session Detail): The session detail view now displays actual performed performances (logs) by default instead of just the theoretical program items.
  • Real data is grouped by exercise for better readability.
  • Summary includes Charge x Reps/Duration, RIR, and Notes per set.
  • Theoretical program remains as a fallback if no performance data is recorded yet.

[1.4.4] - 2026-01-25

### Added- Feature (Resilience): Implemented "Resume Session" capability.
- Logic: Added flag_finished to WorkoutSession to track proper completion.
- Migration: Existing sessions are marked as finished to ensure a clean state.
- UI: Added a "Resume Session" tile in the Dashboard if an unfinished session (e.g., after a crash) is detected.

[1.4.3] - 2026-01-20

Improved

  • UI (Mobile): Optimized the "Suggested Session" card layout on small screens to prevent program name truncation. Titles now wrap properly and spacing is improved.

[1.4.2] - 2026-01-20

Fixed

  • Security (CSP): Moved inline JavaScript for Drag & Drop to an external file to comply with strict Content Security Policy.
  • UI (Dark Mode): Fixed visibility issues in the "Group Ordering" drag & drop zone by using theme-aware Bootstrap classes (bg-body-tertiary).

[1.4.1] - 2026-01-20

Added

  • Feature (Rotation): Implemented "Smart Program Rotation" for Program Groups.
  • Logic: Automatically suggests the next program in a group sequence based on the last completed session.
  • UI: Added a "Continue [Group Name]" card in the Start Session screen.
  • UX: Enabled Drag & Drop ordering for programs within a group using SortableJS.

[1.4.0] - 2026-01-20

Changed

  • Navigation (Admin): Restructured Admin navigation for better accessibility on both Desktop and Mobile.
  • Mobile: Moved IAM and User Management links to the bottom navigation bar under "Autre" for easier access on small screens.
  • Desktop: Consolidated admin links into the "Admin Tool" dropdown.
  • Cleanup: Removed redundant "Gestion Utilisateurs" menu from the top navbar.

[1.3.9] - 2026-01-20

Improved

  • UX (Admin): Optimized admin navigation on mobile. Admin tools are now accessible via the bottom navigation bar for staff users to prevent layout overflow.
  • UI (Admin): Fixed dark mode compatibility issues in User Management (search bar, table headers) and IAM Dashboard (permission cards).

[1.3.8] - 2026-01-20

Fixed

  • Live Session: Fixed an issue where decimal values (Weight, Distance) were not displaying correctly when editing a previous set due to localization conflicts (Comma vs Dot in inputs).

[1.3.7] - 2026-01-20

Fixed

  • Tests: Updated test_search_similar_exercises to reflect v1.3.6 logic changes (full library with similarity sorting) and fix CI failures.

[1.3.6] - 2026-01-20

Improved

  • Live Session: Enhanced "Swap Exercise" feature to list all exercises, prioritizing those targeting similar muscle groups, followed by the rest of the library.
  • UI: Fixed Dark Mode compatibility in Program Editor (Exercise list).

[1.3.5] - 2026-01-13

UX

  • Navigation: Improved contextual navigation. "Back" button in Exercise Detail now correctly returns to the Program or Session it came from, instead of defaulting to the Exercise Library.

[1.3.4] - 2026-01-XX

Fixed

  • Fix (Mobile/Desktop): Resolved "Copy for AI" reliability issues in Program Share Modal using pre-fetching.

[1.3.3] - 2026-01-XX

Fixed

  • Mobile: Resolved "Copy for AI" issue on mobile devices by implementing a robust fallback for the Clipboard API in non-secure contexts.
  • Mobile: Improved clipboard handling (v1.3.3 was a partial fix, this new patch v1.3.4 completes it).

[1.3.2] - 2026-01-XX

Changed

  • Code Quality: Enforced strict PEP8 compliance across the codebase.
  • Fix: Resolved linting errors and formatting issues in API views and URLs.

[1.3.1] - 2026-01-XX

Fixed

  • Stability: Increased Gunicorn timeout to 300s to prevent worker kills during long AI Program generation.
  • Infrastructure: Updated Docker & Gunicorn configuration.

[1.3.0] - 2026-01-XX

Added

  • Analytics: Implemented Muscle Heatmap visualization (Front/Back) based on muscle load.
  • API: Added endpoint for muscle load data.

[1.2.7] - 2025-12-XX

Added

  • UX: Immersive Fullscreen Timer for mobile devices with SVG progress ring.

[1.2.6] - 2025-12-XX

Added

  • Analytics: "By Exercise" detailed view with charts for Volume and Max Weight evolution.

[1.2.5] - 2025-12-XX

Fixed

  • Logic: Smart redirection in Live Session (skips completed exercises).
  • Fix: Set counter initialization bug.

[1.2.4] - 2025-12-XX

Fixed

  • Feature: Implemented Per-Set Personal Records in Live Session.

[1.2.3] - 2025-12-XX

Added

  • Deployment: Blue/Green deployment strategy with zero-downtime checks.

[1.2.2] - 2025-12-XX

Added

  • Messaging: Real-time chat with shared resources (Programs/Sessions).
App Icon
Installer Health Hub
Accédez plus rapidement à vos séances !