-
v1.0.0 Stable
released this
2026-07-19 16:11:00 +02:00 | 11 commits to main since this release1.0.0 (2026-07-19)
Bug Fixes
- add /opt/homebrew/bin to PATH for all steps (44cebf8)
- add 6s timeout to MusicService Supabase fetch for offline fallback (057fbb3)
- add DEVELOPMENT_TEAM to project.yml (86fb683)
- add DEVELOPMENT_TEAM via xcodebuild CLI (ebfaa15)
- add HealthKit entitlement and regenerate Xcode project to resolve NSInvalidArgumentException (9943dce)
- add missing getPopularWorkouts export to data layer (569a9e1)
- add missing Workout fields to program workouts and guard against undefined level (f11eb6b)
- add NSSupportsLiveActivities to main app target + cleanup info plists (f5a36f0)
- add shared model sources to TabataGoWidget target (1bb6a54)
- add TabataGo scheme to project.yml (xcodegen 2.45.4 compatibility) (cfe8e8c)
- add widget target, push entitlement, error handling, force-unwrap (a173670)
- add xcodebuild -list debug, use -project flag (fdf4b6d)
- align bundleIdPrefix with Firebase app (com.tabatago → fr.millianlmx.tabatago) (52346fb)
- align program detail screen with Dark Medical design system (e0e02c4), closes #000
- change bundle ID from com.tabatago.app to fr.millianlmx.tabatago (6cc2530)
- ci: add -derivedDataPath and target find to build/derived — compatible with -scheme (3ca3e54)
- ci: add mkdir -p build to Package IPA step (d614e72)
- ci: add sudo back to xcode-select — must be run as root (595140e)
- ci: checkout PR branch instead of main (5079de0)
- ci: clean SPM caches and DerivedData on CI runner to remove stale PostHog resolution (00e02b7)
- ci: clean SPM/Xcode caches agressivement pour éviter les segfaults linker après changement de bundle ID (7c50282)
- ci: correct derived data path in install step (7d9a89e)
- ci: disable code signing — Mac runner has no Apple Developer account (4b75485)
- ci: eliminate pipeline bug preventing ios-deploy fallback (b956e51)
- ci: isolate SPM and DerivedData to prevent cache corruption (f14186a)
- ci: keep SPM cache — remove aggressive clean that forces RevenueCat re-clone (069b7d4)
- ci: remove -derivedDataPath and -clonedSourcePackagesDirPath incompatible with -target (8ce3833)
- ci: remove -derivedDataPath from resolve step (requires -scheme) (abf926e)
- ci: remove grep -v DerivedData from Package IPA step — app builds to DerivedData (4e2e807)
- ci: remove stale .xcodeproj from git, nuke before xcodegen to prevent PostHog ghost dependency (c45e85e)
- ci: remove sudo from docker install — Gitea ubuntu runner is root without sudo (46d9566)
- ci: remove sudo from Setup Xcode step to prevent password prompt hang (9739a73)
- ci: restore automatic code signing — Apple account now configured on runner (63fbae3)
- ci: revert build command from -scheme TabataGo to -target TabataGo (3202ea9), closes #if
- ci: switch from -target to -scheme for Xcode 26 SPM module path resolution (b48178f)
- ci: switch from Firebase OTA to Xcode WiFi/USB direct deploy (97b61d3)
- ci: switch to --token auth and add --project flag for Firebase deploy (09e77b4)
- ci: use npx firebase to avoid PATH issues with npm global install (5c73d6b)
- ci: use xcodebuild -version instead of xcode-select, clean only runner caches (2aa312a)
- ci: wrap deploy commands in if blocks for -e protection (b57584f)
- clean SPM cache, disable explicit modules (dde01ce)
- complete rewrite — add git clone checkout, install node+npm, fix all paths (1b3ce24)
- dismiss paywall and sync premium state after successful purchase (9f15ae2)
- Dynamic Island, Live Activity errors, background audio stop, CFBundleVersion (40ffb04)
- gitea→github context, add ios-deploy, remove -k (7a02a89)
- kill stale Package.resolved, pin PostHog exact, add module emission flags (7fb4419)
- Live Activity concurrency and state observation (71de3c0)
- Live Activity persists after workout cancel/background (e42c121)
- move #if outside array literal in TabataGoComplication.supportedFamilies (a382ad6), closes #if
- move Live Activity ownership to ViewModel, fix timer-at-0 and background freeze (c715c79)
- permanently fix PostHog module emission error (5817710), closes #if
- remove actions/checkout@v4 (no Node.js on Mac runner) (8f3979c)
- remove arch -arm64 from xcodegen (runner already handles it) (7464357)
- remove info.properties from widget target — use on-disk Info.plist with NSSupportsLiveActivities (8073614)
- remove PostHog from project.yml — EmitSwiftModule crashes on Xcode 26 (afc161c)
- remove remaining force-unwrap in widgetURL (AGENTS.md §7) (ee01380)
- rename GITEA_TOKEN to PR_API_TOKEN (GITEA_ prefix reserved) (e43f197)
- replace brew with npm for firebase-tools, use arch -arm64 for xcodegen (1d4d43f)
- resolve all 228 TypeScript errors across the project (4458044)
- resolve redirect loop after login (d2babbe)
- resolve trainers page issues and add seed data (42d9b26)
- restore UIBackgroundModes audio for background playback (316dab2)
- scope shared model sources to TabataGoWidget only (210c254)
- support both EXPO_PUBLIC and NEXT_PUBLIC env vars (4c5bcc4)
- test: resolve unhandled rejection in sidebar logout error test (20f0189)
- tolerate brew post-install warning exit code (96654d6)
- update PostHog to 3.62.0 to fix SwiftDriver compilation error (5b67aea)
- update workflow references to .github/ and gitignore xcuserstate (560b056)
- use canImport(WatchKit) guard for accessoryCorner, use -scheme in CI build (60ac624), closes #if #if #if
- use createBrowserClient for proper cookie-based auth (554ad2a)
- use full brew path with arch -arm64 for Rosetta runner (f5a777a)
- use full path for npm (da62d6f)
- use xcodebuild build + manual ipa packaging (no scheme needed) (a48ee00)
- widget: add NSExtension to info.properties for xcodegen compat (309d67c)
- wrap accessoryCorner in #if os(watchOS) for Xcode 26 compat (a6ea4ca), closes #if
- youtube-worker: sync package-lock.json with @google/genai dep and harden Dockerfile (a4c6a12)
Features
- 5 tab screens wired to centralized data layer (99d8fba)
- add admin-web Docker build & push workflow with semantic-release (0166398)
- add dependencies for i18n, notifications, purchases, and analytics (6a94d54)
- add form input components with tests (3df7dd4)
- add media upload component with comprehensive tests (6adf709)
- add reusable UI components with tests (71e9a9b)
- add shared card components (001b376)
- add storage utilities for file management (e2e9988)
- add success toasts for create operations and login (fc43f73)
- add workout form component with advanced test mocking (9dd1a4f)
- add workout management pages (bd14922)
- admin-web, functions: overhaul music library and add AI genre classification (edcd857)
- Apple Watch app + Paywall + Privacy Policy + rebranding (2ad7ae3)
- category/collection detail screens + Inter font loading (2d24831)
- close v1 feature gaps — freemium gating, video/audio infrastructure, EAS build config (a042c34)
- data layer with types, 50 workouts, and Zustand stores (5477ecb)
- design system v2 with liquid glass aesthetic (511e207)
- Dynamic Island pause state, Apple-aligned spacing, and UI polish (95f34e6)
- explore tab, React Query data layer, programs, sync, analytics, testing infrastructure (cd065d0)
- extend user profile with onboarding data model (b600833)
- i18n infrastructure with 4-locale support (en, fr, es, de) (d6bc7f5)
- i18n locale files for all screens (en, fr, es, de) (e59c87f)
- i18n: complete internationalization for iOS + watchOS across all views (0f5b7b9)
- implement beautiful toast notifications with Sonner (3d026b6)
- implement full authentication system with middleware protection (e0057e1)
- implement React Query for Supabase data fetching (b1741e9)
- integrate theme and i18n across all screens (f807980)
- Live Activity accessibility and supplemental families (small/medium) (fe005ee)
- migrate icons to SF Symbols, refactor explore tab, add collections/programs data layer (b833198)
- move HealthKit permission to onboarding, remove HR write (310124a)
- notification, purchase, and analytics services (540bb01)
- onboarding flow (6 screens) + audio engine + design system (fa189fe)
- onboarding flow with staggered-reveal wow screen (aa75afb)
- production-grade Live Activity with type-safe phases, decomposed views, previews, and alert transitions (dc3ff15), closes #Preview #Preview
- redesign Dynamic Island with phase-driven UI and animations (c152c22)
- redesign player with Dynamic Island, compact timer, and fix Live Activity timer drift (b0d364e)
- replace native confirm() dialogs with custom delete confirmation dialogs (b177656)
- shared components, hooks, and audio engine (13faf21)
- switch to Firebase OTA deployment, drop ios-deploy (9b06c0a)
- system light/dark theme infrastructure (f17125e)
- timer engine + full-screen timer UI (31bdb15)
- update Home screen to use React Query with loading states (1973241)
- update mobile app screens (8c8dbeb)
- workout flow — detail, player, and complete screens (b0521de)
- YouTube music download system with admin dashboard (3d8d9ef)
Downloads