TetherBay 0.2.415
· Updated 2026-08-02
TetherBay 0.2.415 packages the latest documented beta improvements across relay resilience, network fallback, storage, and encrypted sync.
Highlights
- Windows setup now retries transient legacy-tree file locks.
After stopping the obsolete updater, both Setup and the one-line installer retry removal of its LocalAppData application tree for up to 15 seconds. A short-lived archive or process handle can no longer turn a successful updater shutdown into an immediate restart-required installation failure.
- RecruitLead download instructions no longer depend on the primary domain.
Pages reached through the CIS mirror now show mirror-hosted one-line installer URLs, and /get.ps1 plus /get.sh default their release-feed requests to that same mirror ingress and use the mirror artifact URL returned by the feed. Mirror deployment and release verification reject either script if it contains a primary-domain dependency.
- Windows upgrades now retire even an already-running legacy beta updater.
Setup disables and removes the old scheduled task, terminates its active PowerShell/VBS process tree, verifies the scheduled task is actually absent, and refuses to continue if the obsolete LocalAppData application copy cannot be removed. This closes the race that could restore and launch an old beta one second after a successful Program Files installation while preserving settings and synced folders.
- Windows one-line upgrades now complete cleanly over running beta clients.
The PowerShell flow downloads a recognisably named installer, closes existing launcher and agent processes, waits for setup to finish, verifies the installed binary version, and explicitly opens the matching launcher from Program Files. The release packager also rejects stale launcher or agent payloads whose FileVersion does not match the installer version, so a current filename cannot conceal old application bytes.
Fixes
- Windows setup now retries transient legacy-tree file locks. After stopping the obsolete updater, both Setup and the one-line installer retry removal of its LocalAppData application tree for up to 15 seconds. A short-lived archive or process handle can no longer turn a successful updater shutdown into an immediate restart-required installation failure.
- RecruitLead download instructions no longer depend on the primary domain. Pages reached through the CIS mirror now show mirror-hosted one-line installer URLs, and /get.ps1 plus /get.sh default their release-feed requests to that same mirror ingress and use the mirror artifact URL returned by the feed. Mirror deployment and release verification reject either script if it contains a primary-domain dependency.
- Windows upgrades now retire even an already-running legacy beta updater. Setup disables and removes the old scheduled task, terminates its active PowerShell/VBS process tree, verifies the scheduled task is actually absent, and refuses to continue if the obsolete LocalAppData application copy cannot be removed. This closes the race that could restore and launch an old beta one second after a successful Program Files installation while preserving settings and synced folders.
- Windows one-line upgrades now complete cleanly over running beta clients. The PowerShell flow downloads a recognisably named installer, closes existing launcher and agent processes, waits for setup to finish, verifies the installed binary version, and explicitly opens the matching launcher from Program Files. The release packager also rejects stale launcher or agent payloads whose FileVersion does not match the installer version, so a current filename cannot conceal old application bytes.
- Sync server no longer slows down as the total number of synced files grows. The relay's metadata store became database-authoritative: per-write work is now proportional to what actually changed (indexed point/range queries) instead of the whole dataset, and the server no longer loads all records into memory at startup — so boot time and memory stay flat as the service grows.
- One busy account can no longer degrade everyone else. Write contention is now keyed per folder/account behind a new lock manager (opt-in sharded mode), with a fair-share soft throttle that *slows* an over-active tenant rather than blocking it, and per-tenant lock metrics on /metrics. Closes the single-account denial-of-service path that could previously wedge the whole relay.
- PostgreSQL is now a supported metadata backend for the relay (selectable by configuration), alongside the existing SQLite store which remains the default for local and self-hosted use. Includes a one-shot SQLite→Postgres data migration tool with row-count reconciliation.
- Cloudflare R2 (S3-compatible) blob storage is production-ready. The relay can store encrypted blobs in R2 with presigned zero-egress downloads, a live storage health/deep-probe check, and a global storage-cap safety valve; switching is a configuration change. Verified end-to-end against a real S3 server.
- Server startup no longer waits on the boot-time storage maintenance pass. The audit that repairs/cleans staged and orphaned blobs now runs after the server is listening instead of before it binds, so health checks come up immediately even on an object-store backend where that pass can take minutes. Controlled by TETHERBAY_STARTUP_AUDIT_MODE (background default, off to skip at boot, blocking for the legacy pre-bind behavior).
- End-to-end encryption for synced folders and clipboard. File contents are encrypted on the sending device with AES-256-GCM (framed streaming AEAD) before upload; folder keys are shared device-to-device via sealed ECDH envelopes and never reach the relay. Clipboard items are sealed per-event with the account key. The relay stores ciphertext only and has no decryption path. Rollout is fail-closed — uploads are held rather than sent in the clear if any device in a folder cannot yet support E2E, so every device in a folder must be updated before content flows again. Clipboard E2E defaults ON since 2026-06-15.
- Remote file access hardened alongside folder encryption.
Known issues
- macOS beta packages are unsigned and not notarized; follow the documented Gatekeeper first-launch steps.
Availability
- win-x64 — Download
62739a3348a6beea86e6f26aa45a5ba59823dc681ea97ae8640eb95cc683fdde - osx-arm64 — Download
72c187c0bddfe2f936b7fccc8eb56e70f0bb22e7690945c1143997ab7b06e623 - osx-x64 — Download
877ce5239395986a29732348b50f6245e163442ca02ef909b5be94b6a550c508 - linux-x64 — Download
76557bf166ee30f352fe091e8d55985c74fb1e49ea9a3e83c19e764d66205d01 - linux-arm64 — Download
e057a82ac9c9ef8921c020bd3e822446a1f7a954e44e9cf428e3fbda260f1d7b - android — Download
43db40bbce75724e914bd1b42aa6146df1233395a9b267fb2067271769a4557c - ios — pending