github lingcang728/ZeppBridge v2.0.0
ZeppBridge 2.0.0

2 hours ago

ZeppBridge 2.0.0 — Linux packages, honest sync results, and a history list that goes past 500

Linux is published for the first time (as a preview), several places where the
app quietly told you something untrue are fixed, and two long-standing "why
can't I get at my own data" complaints are closed.

.deb, .rpm, AppImage and Flatpak are attached to this release and listed on
the download page. They are marked preview on purpose: CI builds and tests
every one of them, but nobody has yet completed sign-in plus keyring (Secret
Service / KWallet) on a real Linux desktop.
Nothing is signed — check your
download against SHA256SUMS.txt. Updates come from your package manager, not
from inside the app. If something breaks, please open an issue; that is exactly
what this needs right now.

  • A sync that lost a whole stream reported success. Only heart rate, daily
    summary and workouts counted. If sleep, HRV, wellness or workout detail
    genuinely failed, the app still said Updated. Any real failure is now
    Partial, and names the streams that failed. A stream your watch does not
    provide still counts as neutral.

  • Unrecognised sleep stages were labelled awake. Unknown stage codes were
    mapped to awake so the stage bar had no gaps — which meant asserting you were
    awake during a stretch nobody had verified. They are now drawn as Unknown,
    and the raw code is kept so the next one can be identified.

  • A corrupt reading inside a workout shifted every reading after it. An
    unparseable time delta was read as zero, putting that sample on the previous
    sample's timestamp: the sample count looked right while pace, power and splits
    were wrong. Unreadable rows are now skipped.

  • The history list is no longer capped at 500 records. With a full history
    downloaded, everything past the 500th record had no way into the app at all.
    Workout and sleep lists now page through the whole library and say how many of
    the total you are looking at.

  • A history backfill can run itself to the end. Filling in years used to mean
    pressing Start backfilling every few minutes for an hour. A Run to
    completion
    switch (on by default) chains the rounds; stop whenever you like,
    nothing already fetched is lost.

  • There is a plain Log out, on the account card. The only way out used to
    be Clear credentials, at the bottom of Advanced, which reads like it might
    delete your data. It now says outright that only the sign-in is cleared, and
    that switching between accounts is not supported yet.

  • Daily peak heart rate, from the raw samples. The Zepp app filters its daily
    peak. The heart rate page now charts the peak, average and low of the samples
    actually stored on this machine, day by day — with days that have very few
    samples drawn as hollow markers, because the "peak" of twelve readings is not
    that day's peak.

  • Syncs that failed once and worked on the second press should be rarer:
    redirects no longer eat a network retry, and a server's Retry-After is
    honoured instead of a flat 50 ms.

  • Cancelling a sync takes effect immediately rather than after the in-flight
    request's 35-second timeout.

  • When the token cannot be saved to the credential store, the app now names the
    likely causes and points at entering an App Token by hand or the HAR import.

  • Sixteen more Amazfit device numbers are recognised, including Balance 3,
    Active 3 Premium and T-Rex Ultra 2.

  • The MCP server speaks the 2026-07-28 protocol alongside the old one, so
    strictly-modern clients can connect. Nothing you have configured needs
    changing.

  • The export page now lists what an export contains before you press it. .fit
    is not among it: Zepp's cloud does not return enough to reconstruct one
    honestly, and ZeppBridge will not write a file that claims to be something it
    is not.

  • The local API no longer lets one slow client block another.

Windows: sign-in, sync and export checked by the maintainer on this build.
macOS: builds and passes CI; still unsigned, so Gatekeeper needs a workaround.
Linux: builds and passes CI; not yet exercised on a real desktop.
Overseas regions, Xiaomi/Google sign-in and Helio devices remain unverified —
the maintainer has one mainland-China account and no Helio hardware.

Full notes: CHANGELOG.md

Don't miss a new ZeppBridge release

NewReleases is sending notifications on new releases.