Repository navigation
Releases: steffenr/zwo-trainer
Release list
zwoTrainer v1.3.0
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Already installed? zwoTrainer offers the update itself (Settings → App → Check now); the .app.tar.gz and latest.json files are for that.
Changes since v1.2.3
- Mention the app languages on the features page (a1f9af0)
- Document the language setting (870d9f4)
- Describe multilingual text in the design rules (b44ad2a)
- Document the translation workflow for contributors (eb4b922)
- Check translations and i18n modules in CI (ab1f682)
- Add a translation consistency check (85f49ef)
- Copy the language to new riders like the theme (19850c5)
- Mark top bar labels for translation (e03a9be)
- Translate the app and add a language setting (c10f65a)
- Translate FTP test protocols, messages and results (0e482f7)
- Translate zone names in the diagram and zone list (a092e10)
- Add UI translations for English, German and French (a36145d)
Full diff: v1.2.3...v1.3.0
zwoTrainer v1.2.3
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Already installed? zwoTrainer offers the update itself (Settings → App → Check now); the .app.tar.gz and latest.json files are for that.
Changes since v1.2.2
- Set the updater public key (07da556)
- Add a one-time setup script for the updater key (2661577)
- Sign update files and publish latest.json with each release (64f6fb3)
- Offer available updates in the app (6ecda76)
- Add the updater plugin and update commands (9f261c7)
Full diff: v1.2.2...v1.2.3
zwoTrainer v1.2.2
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes since v1.2.1
- Bring the app's motion and sister-app links to the website (ebff6dc)
- Add micro animations outside the ride screen (5e3bbb8)
- Describe motion on the ride screen (d18c54d)
- Style the micro animations and honour reduced motion (6d0526d)
- Add micro animations to the ride screen (82c78f9)
- Let the power gauge arcs glide to new values (d85b4fd)
- Note the coach() logic in the ride loop (3e24c54)
- Describe the coach line in the ride screen design (0652cf3)
- Document the coach line and coach hints setting (d03c782)
- Style the coach line and drop the floating chart message (252c6ff)
- Add coach line to the current segment panel (d517ad9)
Full diff: v1.2.1...v1.2.2
zwoTrainer v1.2.1
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes since v1.2.0
Full diff: v1.2.0...v1.2.1
zwoTrainer v1.2.0
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes since v1.1.1
- Add the MIT License (© SteffenR), third-party notices for every release, website and source links in the macOS Help menu and a new About section in Settings → App (c907f6d)
- Update the site's ride and FTP test screenshots and the ride screen text to the new ride view layout (f3626ff)
- Rework the ride view: panels at 25/50/25, Live with the gauge on top and live power only, target cadence in Current segment, Next segment as plain values and the intensity control next to play/pause (9fdcd25)
- Correct the Strava naming docs in README and AGENTS.md: Garmin ignores the FIT workout name and forwards rides before the rename, so Strava keeps its default name and bike (fa5b9ac)
Full diff: v1.1.1...v1.2.0
zwoTrainer v1.1.1
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes since v1.1.0
- Update plist to 1.10.2 and webpki-root-certs to 1.0.10 in Cargo.lock, the latest compatible releases; tests and clippy pass and cargo audit still finds no known vulnerabilities (ab4a762)
- Update Rust dependencies: reqwest 0.13 with rustls and the form and query features, hmac 0.13 and sha1 0.11 with the KeyInit import, tokio 1.54 and cc; cargo audit finds no vulnerabilities (3be63bd)
- Add funding configuration for buy_me_a_coffee (65eb574)
- Bump dirs from 6.0.0 to 7.0.0 in /src-tauri (3c86887)
- Bump base64 from 0.22.1 to 0.23.1 in /src-tauri (3d7ce03)
- Bump the actions group with 8 updates (556ff5f)
Full diff: v1.1.0...v1.1.1
zwoTrainer v1.1.0
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes since v1.0.1
- Document Dependabot in README and AGENTS.md next to the other workflows: monthly PRs against develop, how Actions and Cargo updates are grouped and that CI tests every PR (52d6c2e)
- Add Dependabot for monthly dependency updates against develop: GitHub Actions grouped into one PR, Cargo minor and patch updates grouped, and each major crate update in its own PR (0ff3fc2)
- Fix the website support section: commit the rewritten page texts and the Buy Me a Coffee styles in site.css that were missing from the first site commit, so the section renders as designed (6fe5a9f)
- Document the website and its GitHub Pages workflow in README and AGENTS.md: where site/ lives, when pages.yml deploys it and the one-time Pages source setting in the repository (f77dd25)
- Add a GitHub Pages workflow for the website: deploys site/ on changes to develop, after each successful release build and by hand, and fills in the app version on the download page (4a17eb1)
- Add the website screenshots in site/img: ride screen, plans, workout library, FTP tests, virtual gears, ride summary and history, settings and devices menu, in dark and light (ec37fbb)
- Add the zwoTrainer website in site/: home, features and download pages with light and dark themes, platform installers, setup steps, FAQ and a Buy Me a Coffee section (3b0c947)
- Document the workout name in FIT files in README and AGENTS.md: workout and workout_step messages, why a rename after upload is too late for Strava and what doesn't reach it (b038c67)
- Send the planned workout steps with each saved ride: segment durations, power targets in watts for the current FTP and intensity, and warm-up, cool-down and rest step kinds (54ceff6)
- Write the planned workout into ride FIT files: a workout message with wkt_name and up to 100 workout_step power targets, so Garmin names the activity before passing it to Strava (85db3f6)
- Update AGENTS.md and DESIGN.md for the FTP test logic: measure tags, effort() and incomplete(), test ride rules, the pacing display and the plausibility note (934fb66)
- Document FTP test behaviour in the README: completed-effort rule, effort not completed, live pacing, ramp cool-down, skip and auto-pause rules, plausibility check (a6c03ab)
- Style the FTP test states: warn variant of the result box and Not completed badge, the plausibility note and smaller power ranges in ride stat columns (4af693b)
- Improve FTP test rides: effort-not-completed summary, live pacing with est. FTP, automatic ramp cool-down, no auto-pause or skipping inside efforts, plausibility note (dbc9440)
- Only count completed FTP test efforts: tag ramp samples, require 95 % of an all-out effort and report the effort as not completed instead of a too-low FTP (aa57c61)
- Add logo assets: the custom zone-block app icon as SVG and 1024 px PNG, plus wide logos with the zwoTrainer name for light, dark and mixed backgrounds alike (498f4dc)
- Replace the app icon with the new zone-block logo: regenerate the macOS icon with Apple icon-grid margin, the Windows and Linux icons and the top-bar icon.svg (1188a15)
- Enhance README with logo and formatting updates (6d46691)
Full diff: v1.0.1...v1.1.0
zwoTrainer v1.0.1
Native installers for zwoTrainer. They are unsigned:
- macOS (
_aarch64.dmgfor Apple silicon,_x64.dmgfor Intel): right-click the app → Open on first launch (or System Settings → Privacy & Security → Open Anyway), then allow Bluetooth access. - Windows (
-setup.exeor.msi): SmartScreen may warn — More info → Run anyway. - Linux (
.deb,.rpmor.AppImage): needs BlueZ (bluetoothd) running.
Changes
- Fix release upload: flatten installers before publishing (32a64ad)
- Register release and build workflows (34b94df)
- Run CI on develop (3279c80)
- Update all docs for cross-platform support and release process (b5efeb6)
- Add cross-platform wording and Windows screen wake lock support (03f89a1)
- Add cross-platform font stacks and macOS-only top bar padding (9490f68)
- Add sync-version.mjs script for consistent version management (e7c5228)
- Add CI and release GitHub Actions workflows (e5a716b)
- Configure multi-platform bundling: Windows, Linux, macOS signing (e8ffd93)
- Add cross-platform support: Linux wake-lock, Windows iCloud detection (5621940)
- Update documentation for ride redesign, Markdown plans, and collection support (5d8b9fb)
- Redesign ride screen: plan descriptions, Markdown, collection support, enhanced UX (4062ea5)
- Refactor ride screen CSS for new panel layout and add Markdown styles (455afca)
- Improve Diagram watt axis and fix ProgressRing inner track removal (6cb9315)
- Add Markdown renderer for plan descriptions (ec9bd99)
- Add open_link command and pass workout metadata to Garmin upload (b24c9ad)
- Distinguish plans from collections by weekly schedule detection (c1187a6)
- Improve Intervals.icu upload handling for array responses and activity naming (1dee65f)
- Improve Garmin upload with activity rename and delayed activity lookup (0950941)
- Update documentation for Intervals.icu and COROS upload support (c707538)
- Add CSS for platform cards, external service logos, and sync list (0b8dd04)
- Add frontend integration for Intervals.icu and COROS platform uploads (0d4a082)
- Add services module for Intervals.icu and COROS upload integration (c2b0618)
- Add frontend app controller: routing, profiles, ride loop, settings (e933782)
- Add frontend rendering engine and BLE device integration layer (ff850e4)
- Add frontend JS modules: ZWO helpers, FTP test protocols, virtual shifting physics (982e473)
- Add frontend HTML shell, CSS design system, and SVG icon (b572f99)
- Add project documentation, design system, and agent guidelines (712714c)
- Add Rust core: Tauri commands, state, library, BLE, FIT, Garmin, sync, ZWO (3493c5d)
- Add project configuration, dependencies, and Tauri scaffolding (8b63d6c)