CommonCompute
Get startedDownload the Mac app
Changelog

What we shipped.

Every release of the Common Compute Mac app, in order. Updates ship via Sparkle and install silently on relaunch. Tagged versions live on GitHub.

August 13, 2026

v1.7.14

Fixed
  • The app no longer crashes when its window is reopened. Closing the main window and bringing it back — or just waking the Mac after it slept — could crash the app outright. The window was being released twice while its open/close animation was still running, so the animation finished by reaching for something that no longer existed. Crash reports on 1.6.6 and 1.7.13 are identical down to the instruction. If your Mac has been dropping offline for no apparent reason, especially after sleeping, this is the likely reason.
  • Updates install again on Macs that are left running. The app asks before quitting while you are earning, which was right for you pressing ⌘Q but wrong for the updater: the update process asks the app to quit exactly the same way, so it was being met with a confirmation box and quietly cancelled. On a Mac nobody is sitting at, the update then never installed at all. The updater is now recognised and lets itself out; the confirmation you see when you quit is unchanged.
  • Only one main window opens. A sign-in handoff from the browser, or opening the app from the dock at the wrong moment, could leave you with two identical windows.
August 11, 2026

v1.7.13

Added
  • Answers now appear as they are written. mlx_llm already generated text incrementally, but the words were dropped on the way out and the customer sat in silence until the whole answer was finished. This build reports the partial text as it goes, so a streamed request shows tokens arriving instead of one block at the end. Nothing about how a job is paid or measured changes.
  • Two more kinds of work can land on your Mac. fluid_asr (speech transcription) and coreml_vision (image captioning) are now live. Both runners already shipped in earlier builds — only the catalog was holding them back — so this widens what your machine can be sent, not what it can do.
Changed
  • Neural Engine work now stays on the Neural Engine. Every lane is classified by how well it fits the ANE, and the ones that fit natively are pinned to it rather than being allowed to drift onto the GPU. Your GPU stays free for a second job, so a Mac can run vision work and a model at the same time instead of the two contending.
  • Sentiment scoring no longer reads plain facts as complaints. "The package arrived on Tuesday" was being labelled negative. The threshold was recalibrated against hand-labelled text — 21 of 26 correct, up from 15 — and the raw score is still returned, so anything reading it directly is unaffected.
  • Short reranking jobs stop waiting behind long ones. Reranking was queued in the GPU pool even though it never touches the GPU, so a one-second job could sit behind a model generation holding that slot for up to 45 minutes. It now queues in the pool it actually uses. Your Mac runs no more work at once than before — the short jobs just stop being blocked by the long ones.
Fixed
  • You are no longer penalised when a job's input is the problem. If an image has no subject to cut out, no Mac on the network can do that work — but every Mac that tried was taking a reliability hit for it, and reliability decides what you get sent. One prod job failed on three Macs in three seconds and docked all three. Unprocessable input is now its own outcome: it settles once, reports honestly to the customer, and never touches your score.
  • Group photos no longer come back with zero faces. The face detector silently discarded faces it could not fit landmarks to and reported that as an empty photo — a 13-person team photo returned none. It now runs both detectors and merges the results: never worse than before, better on 9 of 26 test images.
August 8, 2026

v1.7.12

Added
  • Image generation on your Mac. Four diffusion models (SD-Turbo, Vega, SSD-1B, SDXL-Turbo) now run through one shared runner, so mlx_image work can land on your machine. Weights are pinned to exact versions and verified before they load.
  • Tool calling for local LLMs. mlx_llm can now run tool-calling requests, along with five sampling controls that were being sent and silently dropped: top_p, stop, presence_penalty, frequency_penalty and seed.
Fixed
  • Someone else's sign-in link can no longer move your Mac to their account. Opening a commoncompute:// link used to sign this Mac in to whatever account the link named, with no prompt — so a link from anywhere, opened by anything, could quietly redirect your earnings. The app now only accepts a sign-in it started itself, and if you're already signed in as someone else it asks first and names both accounts.
  • A malformed job input can no longer delete other jobs' files. A crafted download URL could escape the per-task scratch folder and wipe the working files of every other job running on your Mac at that moment — failing work you were part-way through and denting the reliability score that gates your payouts. The name is now sanitised through the same routine the rest of the app uses, and the destination is re-checked before anything is written or removed.
Security

Both fixes above came out of a full platform security review. Neither was ever seen in the wild, and neither needed anything from you — but until this build they were reachable, and a provider running an older version stays exposed to them. Updating is worth doing.

August 7, 2026

v1.7.11

Added
  • A dedicated Models page. Every model your Mac can run — including the MLX models, which never had a way to see or manage them before this — now lives in one place: what's downloaded, how much disk it's using, and a Download or Remove button for each one.
  • Auto-download, per model. If you'd rather a specific model never download on its own, turn it off — the app will decline work that needs it instead of pulling it silently. Everything still downloads lazily by default, same as always; this just gives you a say in which ones.
  • A storage budget. Set a soft cap on how much disk models are allowed to use, and free up space back down to it in one click when you're over.
Fixed
  • "Reset app data" now actually clears every downloaded model. It was only clearing part of what it claimed to.
August 6, 2026

v1.7.10

Changed
  • Text recognition got a lot better at its job. The OCR your Mac runs was using almost none of what Apple's Vision framework can actually do. It now reads the language the customer asked for instead of assuming English, reads photos the right way up instead of sideways, and returns the text in reading order instead of whatever order the detector happened to find it in. If OCR work on your Mac has been coming back looking wrong, this is why — the recognition was fine, everything around it wasn't.
  • PDFs that already contain text are no longer re-read from pixels. A PDF exported from Word or an invoicing system carries its text inside the file. Your Mac was rendering it to an image and recognising it back, which is slower and less accurate than just reading what was already there. Now it reads it directly. Scanned PDFs are unaffected — those still go through full recognition, and the app tells the difference by checking whether there's enough real text to trust.
  • The recognition version is pinned. Results no longer shift when your Mac updates macOS. That matters for you specifically: verification compares your output against a known-good answer, and until now two Macs on different macOS versions could disagree about the same page.
Added
  • A second OCR engine, for the work the first one can't do. Apple Vision is excellent on printed text and weak on handwriting — on a real test set it read printed text near-perfectly and only managed 7 of 45 handwritten fields. Customers can now ask for a vision-language model instead, which runs on the GPU rather than the Neural Engine and needs a Mac with 16 GB or more. It takes longer per page and returns text without the position boxes Apple Vision gives, so it's offered as a separate choice rather than a silent substitution — nobody should pay for one engine and receive the other.
August 5, 2026

v1.7.9

Added
  • Work for Macs with 32 GB or more. Large models were listed but not actually orderable — the lane they sat on was switched off and its code was a stub, so a 64 GB Mac had nothing to run that a 16 GB Mac couldn't. There are now 21 models that need 32 GB or more, and they route to the machines that can hold them.
  • Every model is pinned to an exact version. The app used to resolve models through a general-purpose list that tracked whatever was current upstream. It now carries its own catalog, and each entry names a specific commit, so the weights that land on your Mac are the ones we checked and not whatever replaced them since.
  • Jobs prefer the Mac that already has the model. If a customer asks for a model your Mac has already downloaded, you now get a large scheduling advantage for that job over a Mac that would have to fetch it first. Your Mac tells the scheduler which models it has on disk; nothing about your files or your jobs is shared.
Changed
  • A job you decline because an engine is busy no longer counts against you. Your Mac says no when its ANE or GPU is already occupied — that is the app working correctly, not a fault. It was being recorded the same way as a crash or a timeout, so a busy Mac was quietly losing reliability for doing the right thing, and reliability is what decides which work you get offered.
  • New installs need Apple Silicon. An Intel Mac has no Neural Engine, and most of the work on this marketplace requires one, so an Intel Mac sits in the queue being passed over rather than earning. The two currently enrolled have between them completed no jobs and earned nothing. Enrolling a new Intel Mac is now refused up front, with the reason, instead of leaving you to work that out from an empty earnings page. If you already had one enrolled, it keeps working — the app just shows a notice explaining the requirement.
Fixed
  • Two jobs of the same kind running at once could get each other's files. If your Mac was working on two jobs of the same type simultaneously, the second one could overwrite the first one's inputs partway through, so one customer's job ran on another customer's data and returned the wrong result. Both customers were billed. Only ever possible on engines that run more than one job at a time, and never on the ANE, which runs one at a time — but it was possible, and it is now structurally prevented rather than avoided by timing.
  • Uploading a finished result could be rejected. A security check meant for browser form posts was being applied to your Mac's result uploads, failing them for the wrong reason.
  • Transcription now uses the model the customer actually asked for. A request for Whisper Large v3 was being served by Whisper base — the customer paid for the larger model and your Mac ran the smaller one. Both sides now agree on which model runs.
  • Images stopped being shrunk before the model reads them. Every image was being squashed to 448×448 first, which is fine for "what is in this picture" and useless for reading text off a page. Document work coming back as nonsense was this, not the model.
August 3, 2026

v1.7.8

Added
  • See what your compute actually costs you in electricity. Settings ▸ Electricity looks up your local utility's published rates from your postal code — including time-of-use plans, where the price changes by hour — and reads this Mac's real power draw from its own sensors where it can, rather than guessing from the chip model (it says which one it's doing). Only the extra power drawn while jobs were running counts, above what your Mac uses sitting idle, since it was going to be on anyway. Your Earnings page then shows what you net after power. If the lookup doesn't cover your utility, or you'd rather not share a location, you can type your own rate in instead — that always wins.
  • Cheapest-hours scheduling. If your utility charges less overnight, the app can say so and offer to run only during your cheapest hours. It states the trade honestly: fewer hours available means less earned overall, in exchange for a lower power cost per job.
  • A heads-up if FileVault is off. Customer files sit on your Mac while a job runs, so we're moving toward sending work only to Macs with an encrypted disk. Nothing changes for you in this version — it only warns, and points you at the right settings pane. If FileVault is already on, or your Mac can't report either way, you'll never see it.
Changed
  • Your reliability score now measures one thing instead of two. It used to mix "does this Mac finish work" with "does this Mac return honest results", and the first drowned out the second — Macs with spotless verification records were sitting below the payout line purely on crashes and dropped jobs. Those are now separate, and payouts read the honesty number. If you have been passing verification checks, this can only help you.
  • Signing in now enforces two-factor if you have it switched on. Previously it was possible to enable two-factor on your account and still get in with just a password.
Fixed
  • Customer files are now deleted from your Mac as soon as a job finishes, instead of accumulating in the app's cache indefinitely.
  • The app now respects your system text size. Every label was a fixed size before, so turning text up in Accessibility settings did nothing here — which mattered, because a lot of this app's labels are small. VoiceOver also now reads earnings figures, job rows, and settings switches as whole facts rather than disconnected fragments, and the dimmest text colour has been brightened to a legible contrast.
  • "Offline" is no longer the faintest thing on screen. The status dot for a Mac that isn't connected was the palest colour in the app — the one state you'd most want to notice.
  • Settings no longer quietly undoes a change made elsewhere in the same window.
  • ⌘, now opens the Settings you already know, rather than a second window showing the same settings with its own scrollbar.
  • Escape closes the job details, email verification, and setup windows. Previously they could only be dismissed with the mouse.
July 29, 2026

v1.7.7

Fixed
  • Speech transcription is no longer offered by Macs that have Dictation turned off. 1.7.6 stopped un-granted Macs from taking speech work, but a Mac can pass every permission check and still fail the job if Dictation itself is switched off in System Settings — nothing the app could see up front. Now the first job that hits it takes the lane off your advertised list, so the work goes to a Mac that can do it instead of costing you an attempt and dinging your reliability every time. Turn Dictation on (System Settings ▸ Keyboard ▸ Dictation) and the lane starts earning again on its own within a few hours — no reinstall, nothing to click.
July 26, 2026

v1.7.6

Fixed
  • Long audio and video jobs can now be split across several Macs. The split step was failing to read the source file's duration, so every attempt gave up before any work was shared out. Your Mac can now take a slice of a long recording instead of only whole files.
  • Speech transcription is no longer offered by Macs that haven't been granted speech-recognition permission. Previously an un-granted Mac would accept the job and then sit on it until it timed out — which cost you the attempt and dinged your reliability score for a permission you were never actually asked for.
  • The permission request for speech recognition comes back if it was never answered. Dismissing the window used to count as answering it, which left some Macs quietly unable to take speech work. Declining it still sticks — this only returns for people who never saw the ask.
  • Transcription jobs that produce no words now fail honestly instead of reporting a full-length result, so a customer is never billed for silence and you are never credited for work that didn't happen.
Changed
  • Earnings wording now matches the published rate: you keep 80–100% of the customer price depending on your agreement, with a flat 20% platform take. Providers who joined before October 1, 2026 keep 100%, permanently.
July 23, 2026

v1.7.5

Added
  • The app now offers to pre-download common translation language packs up front — during first-run setup for new installs, or once for existing installs — instead of only discovering the download step when a translation job fails until you find Settings ▸ Languages yourself.
July 22, 2026

v1.7.4

Added
  • LoRA fine-tuning (mlx_finetune) is now a real workload — trains a small on-device model against your own examples and hands back the adapter weights, instead of failing with "not enabled yet."
  • Image captioning (coreml_vision) is now a real workload.
Fixed
  • Stable Diffusion (sd_mlx) jobs no longer time out on a Mac's first use, when the model still needs to download.
July 22, 2026

v1.7.3

Added
  • The app now asks for Speech Recognition permission up front — during first-run setup for new installs, or once for existing installs — instead of only discovering it's missing when a speech-to-text job actually needs it. Fully on-device; your audio never leaves your Mac.
  • Settings now has a Languages section where you can pre-download translation language packs before a translation job needs them, instead of a job simply failing until you find the right System Settings screen yourself.
Fixed
  • Clearer error message when a translation job needs a language pack that isn't downloaded yet, pointing you at the new Settings ▸ Languages panel.
July 22, 2026

v1.7.2

Fixed
  • Fixed a bug where several workloads that fetch a real audio or video file (rather than receiving it inline) — transcode, scene detection, audio classification, loudness normalization, denoise, thumbnails, trajectory and optical-flow detection, and video composition — could hang and eventually fail instead of completing, because the app never actually registered its download handler with the network session it created. All of these now complete normally.
July 20, 2026

v1.7.1

Added
  • The app can now show you a quick in-app or system notification directly from us — for example when an update's ready — instead of only reaching you by email.
Fixed
  • The app no longer repeatedly asks for your Mac login password after a fresh install. A broken Keychain entitlement shipped in every notarized release to date (it wasn't fully resolving to this app's identity), so macOS couldn't durably remember that you'd allowed it access — now fixed, so you're only asked once, if at all.
July 19, 2026

v1.7.0

Added
  • Whisper transcription is real. Speech-to-text now runs on WhisperKit's ANE-optimized Core ML pipeline (openai_whisper-base by default, large-v3-turbo on request); the model downloads itself on first use. Subtitle generation produces real timed SRT/VTT cues from the same pipeline.
  • On-device LLM chat and vision Q&A. MLX-backed language models (Llama 3.2 3B / Llama 3.1 8B, 4-bit) and vision-language answering (Qwen2-VL 2B) with real token accounting — only registry-listed models can load; arbitrary model repos are refused.
  • Image generation. Stable Diffusion via MLX (SDXL-Turbo default, SD 2.1-base selectable), seeded and reproducible.
  • Speaker diarization. Who-spoke-when segmentation via FluidAudio's pyannote-lineage Core ML models.
  • All model weights download from their official model repositories on first use and are cached locally; nothing runs without a verified source.
Changed
  • Requires macOS 14 Sonoma or newer (the model frameworks' floor). Macs on macOS 11–13 stay on 1.6.17 — the update feed marks this release accordingly.
  • The app's downloads moved to dedicated hosting; the update feed location is unchanged.
  • Model bundles fetched by the app's own model manager are now strictly manifest-verified (checksum required, no fallback URLs) and support archive extraction.
Fixed
  • The long-context 70B lane no longer silently delegates to a small model — it declines honestly until a genuinely 70B-class path ships.
July 19, 2026

v1.6.17

Added
  • Nine more capabilities now run for real on Apple frameworks: motion-path tracking and optical flow in video (Vision), video concatenation and trimming (AVFoundation), PDF merge / split / extract / watermark (PDFKit), tabular model training (Create ML), loudness normalization to a target LUFS and a real spectral-gate noise reducer (Accelerate vDSP), fast on-device speech-to-text (Apple Speech, never leaves the Mac), and the built-in Apple Foundation language model on macOS 26. All report billable usage correctly.
  • The menu bar shows "Update ready — Restart now" when a new version is staged, so you can update on your schedule.
Fixed
  • Updates now install themselves. The app used to stage downloaded updates and wait for a relaunch that, for an always-on provider, never came — Macs silently stayed on old versions. Staged updates now install automatically the next time the device is idle (no workload running), with a hard 6-hour cap so busy devices still update the same day.
  • Video transcode honors the requested codec and bitrate (it silently produced H.264 before), keeps the audio track (it silently dropped it before), preserves rotation, no longer stalls forever on 10-bit / HDR sources, and fails legibly instead of hanging when an encode goes wrong.
  • Translation no longer hangs when running headless; unavailable or not-downloaded language pairs fail immediately with a clear message.
Changed
  • The self-test mode (--selftest-runners) now exercises audio, video, PDF, and tabular-training workloads too (--audio / --video / --pdf fixture flags), covering the full real catalog on-device.
July 18, 2026

v1.6.16

Added
  • Two more Apple-framework capabilities now run for real: image similarity / dedup (Vision feature-prints with a pairwise distance matrix) and Core Image filter pipelines (grayscale, sepia, blur, sharpen, brightness, contrast, saturation, invert, auto-enhance). Both report billable usage correctly.
Changed
  • The self-test mode (--selftest-runners) now covers text workloads and accepts any usage metric, so more of the catalog can be validated on the device before it goes live.
July 17, 2026

v1.6.15

Added
  • Eight new Apple Vision capabilities, ready for the upcoming catalog lanes: whole-image classification, animal recognition, saliency detection, hand pose, animal body pose (macOS 14+), document segmentation, rectangle detection, and person segmentation. All report billable usage correctly.
  • A headless self-test mode (--selftest-runners) that validates this Mac's workload runners directly — used before new capabilities go live, and handy for support diagnostics.
Fixed
  • Task-envelope replay protection is stricter: the anti-replay window now fully covers the clock-skew tolerance, and an invalid envelope can no longer consume a nonce that a legitimate envelope needed.
  • Placeholder runners for not-yet-enabled workloads (LLM chat, image generation, vision Q&A stubs) now fail honestly instead of returning fabricated "completed" results.
July 6, 2026

v1.6.14

Fixed
  • Jobs now report their billable usage correctly. Transcription reports the audio duration it processed, image and document workloads report the items they handled, transcodes report output minutes, and speech/translation report characters — so completed work is billed and earnings accrue as intended. Previously only embeddings reported usage; every other workload completed successfully but recorded no billable usage at all.
  • Workloads that aren't fully implemented yet no longer risk recording billable usage for placeholder responses.
July 2, 2026

v1.6.13

Added
  • Large jobs now transfer end-to-end through a presigned artifact bridge: inputs and results that exceed the 256KB inline-envelope cap (long audio/ video, big document batches, large embedding outputs) move over a short-lived signed https URL instead of failing. Backend: api-v2 /v1/artifacts GET/PUT + router-minted tokens. Provider: result-PUT for oversized outputs and https fetch for oversized inputs.
July 2, 2026

v1.6.12

Changed
  • Defaults now favor uptime and earnings: the app launches at login by default, and keeps the Mac awake while it's plugged in and available to earn (so an idle-but-powered Mac doesn't sleep and stop earning overnight). Both are AC-only — never active on battery — and toggleable in Settings.
Added
  • Longer-running workloads (audio transcription, video transcoding, builds) now get a per-workload runtime budget instead of being cut off at the lease deadline, so genuinely long jobs can finish.
Fixed
  • A workload that stalls (for example while loading a model) no longer blocks other jobs on the same engine. Your Mac keeps taking work even if one task gets stuck.
July 2, 2026

v1.6.11

Added
  • Four new on-device Apple Vision workloads: face detection with landmarks, object detection and classification, human body pose estimation, and barcode / QR scanning. All run on the Neural Engine.
Changed
  • Earnings, Help, Onboarding, and Settings now describe the weekly payout schedule (earnings accrue per completed job and pay out weekly via Stripe Connect) instead of the old real-time-settlement wording.
Fixed
  • Jobs submitted with inline input now dispatch to your Mac correctly for every workload, not just embeddings.
July 1, 2026

v1.6.10

Fixed
  • Provider signup now completes the Mac app handoff automatically. Signup still happens on the website for Turnstile bot protection, then the browser opens commoncompute://auth/handoff so the Mac app can redeem a short-lived, single-use sign-in code and land on the dashboard.
July 1, 2026

v1.6.9

Changed
  • The Mac app signup CTA now says "Sign up on the website" and directly opens https://commoncompute.ai/signup?role=provider&source=mac-app. There is no native registration path behind the button.
July 1, 2026

v1.6.8

Changed
  • Login now shows the email/password sign-in form first, with web signup as a secondary action that opens the Turnstile-protected signup page.
  • Account and sign-out controls are now visible from the sidebar footer, menu bar popover, and native macOS app menu instead of only at the bottom of Settings.
  • Sparkle updates now default to automatic checking and background install, and the appcast publishes new signed releases to eligible installs immediately instead of phasing rollout over a day.
June 30, 2026

v1.6.7

Fixed
  • Provider Macs now accept every valid router assignment signature. Swift's JSON encoder escaped / inside router nonces as \/, while the router signs with JSON.stringify semantics. Any assignment whose nonce contained a slash could be rejected as quarantine.envelope_bad_sig; the verifier now canonicalizes strings to match the router exactly.
  • CPU health-check jobs now return real inline JSON results that the router can persist to R2, instead of unusable local-only result URIs.
  • ANE/Core ML bench jobs now use the same inline input path as normal embeddings, so /v1/bench/ane exercises the live coreml_embed runner end to end.
Changed
  • Provider connection handling is more tolerant of heartbeat ack timing and stale WebSocket sessions, reducing false offline states while the Mac is connected and waiting for work.
May 14, 2026

v1.6.6

Changed
  • Menu bar icon now tints to white in the macOS menu bar (or to the system tint colour in custom appearances), matching every other system menu bar item. v1.6.5 set isTemplate = true on the output NSImage only — but the source SVG carried its blue fill through the drawing-handler composite, so AppKit saw a coloured bitmap and rendered it as-is. v1.6.6 marks the source as template *before* drawing, so the composite is alpha-only and AppKit applies the proper menu bar tint.
  • Bumped the visual glyph size from 13pt → 16pt inside the same 18pt NSImage slot. Now fills the menu bar height the same way Wi-Fi / Battery / Control Center do.
May 14, 2026

v1.6.5

Changed
  • Menu bar icon now renders the real brand monogram from the SVG asset, not the simplified two-arc approximation introduced in 1.6.3. The SVG is composited at 13×13 into the 18×18 NSImage with isTemplate = true, so macOS auto-tints the brand silhouette to the menu bar's appearance (light/dark/accent/vibrancy) while still being a real, design-faithful CC monogram up close.
May 14, 2026

v1.6.4

Changed
  • Menu bar icon glyph shrunk ~25% — fills 13pt inside the 18pt slot instead of 17pt edge-to-edge. Matches the visual weight of system icons (Wi-Fi, Control Center, Battery) so it sits next to them without looking oversized.
May 14, 2026

v1.6.3

Fixed
  • Menu bar icon rendered massive in the macOS menu bar. The v1.6.1 fix used a SwiftUI-drawn glyph that worked, but the v1.6.2 brand-mark vectorisation silently regressed the call site to the NetworkLogo image asset — and SwiftUI's MenuBarExtra label is a hostile environment for any image-backed view, regardless of .frame() and .fixedSize() modifiers. Replaced with a programmatically-drawn 18×18 NSImage with isTemplate = true — the route the platform was designed for. macOS now sizes and tints the icon natively, like every other system menu bar item. Locked behind a comment in CommonCommuteApp.swift warning future commits not to revert.
May 14, 2026

v1.6.2

Fixed
  • Brand mark rendered oversized in some windows (sidebar brand chip, menu-bar popover header, others). Same SwiftUI intrinsic-size bug that affected the menu bar icon in 1.6.1 — the SVG's vector representation reported its viewBox (256) as the natural size and some layouts honoured that before .frame(...) clamped it. Fixed by adding explicit .aspectRatio(1, contentMode: .fit) and .fixedSize() to NetworkLogo and AnimatedNetworkLogo so the requested frame is now the ideal size, not a soft suggestion.
May 13, 2026

v1.6.1

A polish-and-fix release. No functional changes to the network — same catalog, same pricing, same security envelope. The Mac app gained a batch of native polish, and the brand pipeline became fully vector.

Added
  • In-app feedback (Help → Send Feedback…, ⌘K → Send feedback). Replaces the bare mailto: link with a sheet that auto-attaches app version, chip, memory, connection status, optional 5-minute telemetry, and an optional recent-logs excerpt — every future support email now arrives with a complete repro.
  • Diagnostics toggle in Settings → Advanced. Gates Apple MetricKit collection. Default-on, live-toggleable without an app restart.
  • Security link in the About sheet (→ commoncompute.ai/security).
  • VoiceOver labels on the dashboard utilization gauges, sidebar nav rows, menu-bar icon, status footer, and login fields.
Changed
  • Menu bar icon now renders the real brand monogram from a true vector source, sized predictably regardless of display scale. The side status dot is gone — status reads as opacity on the glyph itself (earning = full, paused = 45%, offline = 35%).
  • Brand mark is fully vector everywhereapps/web/public/brand/*.svg and the Mac app's asset catalog now share a single 6 KB SVG traced from the canonical raster. The wordmark is also outlined-to-paths so it renders identically on machines without Inter Tight.
  • Error copy for payouts, runner failures, rate-limits, and Stripe-shaped errors. No more "stripe: account_invalid" or "HTTP 429" in the UI.
  • APIClient now stamps X-App-Version on every request, so the backend can attribute heartbeat traffic to the build that produced it.
Fixed
  • Menu bar icon rendered "massive" on some display configurations because the Mac asset was a 1254×1254 1x PNG. Switched to a vector asset with preserves-vector-representation: true; size is now consistent at any scale.
Internal
  • New scripts/release.sh — local-Mac orchestrator that wraps build-dmg.sh, publish-appcast.sh, optional gh release create, and an optional Cloudflare deploy. No GitHub Actions required.
  • New scripts/changelog-extract.mjs — single extractor that feeds both the local release flow and the GH workflow's release-notes body, sourced from this CHANGELOG.
  • New scripts/trace-brand-mark.sh + scripts/outline-wordmark.py — reproducible vectorisation of the brand mark and wordmark from raster + bundled-font sources.
May 6, 2026

v1.6.0

Changed
  • New app icon — the interlocking-C monogram on a dark navy squircle, visible in the Dock and Finder.
  • Wordmark refreshed to Inter Tight ExtraLight throughout the app — airier, more modern.
  • Electric-blue accent rolled through the menu-bar UI, login flow, earnings panel, and toasts.
  • First-launch animation now fades the new mark in instead of the old network-node reveal.
  • commoncompute.ai redesigned to match.
Notes

Functional behavior is identical to 1.5.0 — same security hardening, same earnings, same workloads. Visual update only.

May 3, 2026

v1.5.0

Security hardening release. Closes a class of attacks that could have let a malicious customer poke at your home network or run untrusted code on your Mac. None of these were ever exploited — we found and fixed them ourselves.

Security
  • Strict URL policy on every job input. Audio, image, and video downloads now flow through a single chokepoint that refuses anything except HTTPS to public hosts. Loopback, RFC1918 home networks, AWS metadata addresses, and link-local IPs are all rejected — even via redirect. Magic-byte checks confirm what arrived actually is the media type the runner asked for.
  • Cryptographic proof of every task. The router now signs each task assignment with Ed25519. Your Mac refuses anything that doesn't verify against the pinned public key, with a 5-minute clock-skew window and replay protection.
  • Hash-pinned model downloads. Models fetched via ModelManager go through a signed manifest. The Mac SHA-256s every byte and refuses any model that doesn't match what we published.
  • Ownership check on the WebSocket connect. Your Mac can no longer be impersonated by another logged-in user — the device id is bound to the authenticated account at the gateway.
  • Tighter Keychain protection. Your session token now requires the screen to be unlocked and never syncs via iCloud Keychain. Existing entries are upgraded automatically on first launch.
  • App Transport Security defaults restored. The blanket "allow plaintext" exception is gone. All outbound traffic is TLS 1.2+.
April 22, 2026

v1.4.1

Changed
  • Sign-in and signup views now fill the whole window with the brand background — no more grey bezel around a floating card.
  • Email and password fields advertise the right content types so Edit → AutoFill Passwords… and the right-click menu surface the Passwords app directly. Return signs you in; Tab moves between fields.
Added
  • Associated Domains entitlement and the apple-app-site-association file at commoncompute.ai. Once the app is Developer-ID signed, the Passwords app will automatically suggest credentials stored for commoncompute.ai web login.
April 20, 2026

v1.4.0

Added
  • Command palette (⌘K). Jump to any page, open docs, check for updates, or sign out — from anywhere in the app, without reaching for the mouse.
  • Keyboard shortcuts reference (⌘/). A tidy sheet lists every binding, grouped by category.
  • About sheet. Version, build number, release notes, terms, and privacy — all one click away.
  • Toast notifications and skeleton loaders — small touches that make actions feel finished and first loads feel faster.
Fixed
  • Duplicate "View" menu in the menubar; page-jump shortcuts now live where you'd expect them.
Changed
  • Design system tightening — new spacing, radius, and motion scales brought the Mac app pixel-for-pixel in sync with the web dashboard.
April 20, 2026

v1.3.1

Fixed
  • The app now identifies itself with a stable hardware fingerprint, so restarting no longer creates duplicate "devices" on your dashboard.
April 20, 2026

v1.3.0

Added
  • Auto-updates. New versions install in the background via Sparkle. No more DMG downloads after this one.
  • Email verification in the app and web dashboard — resend the code without restarting.
  • Settings → Updates. Manual "Check Now" and toggles for automatic download and install.
  • Payout estimator on commoncompute.ai/providers — chip, RAM, idle hours → expected earnings.
Security
  • Updates are signed with an EdDSA key we hold. Anything that isn't signed by us will be rejected.