Skip to content

Releases: darrylmorley/whatcable

v0.10.13: Power Monitor: clearer behaviour on ports without live metering

17 May 09:36

Choose a tag to compare

Power Monitor: clearer behaviour on ports without live metering

What's fixed

  • Power Monitor no longer estimates a voltage it cannot measure. On Macs where macOS does not expose live per-port power metering (notably the MagSafe port), the Power Monitor previously fell back to deriving a voltage from the port controller's contracted data and plotting it on the live graph. That derived figure could be inaccurate. It now shows the port's maximum with a clear "Live per-port metering is not available on this hardware" note instead of charting a value it cannot actually measure, and the whatcable monitor CLI shows -- for these ports instead of a derived figure. Thanks to @NaiveTomcat for the report (#146).

  • Pro badge contrast. The Pro badge now meets WCAG AA contrast; it was orange on grey and hard to read. (#142)

What's new

  • More cables in the database. Around 20 newly reported cables added to the bundled known-cables database, so more cables resolve to a known brand and model.

  • Website refresh. The whatcable.uk pages got a content and mobile-responsiveness pass.

Install

brew upgrade --cask whatcable, or download WhatCable.zip from this release page and drag the new .app into /Applications.

v0.10.12: Cable reports now include Thunderbolt controller data

15 May 23:23

Choose a tag to compare

Cable reports now include Thunderbolt controller data

What's new

  • CIO data in cable reports. When you report a cable that has an active Thunderbolt link, the report now includes a "Thunderbolt link context" section with CableGeneration, CableSpeed, Generation, AsymmetricModeSupported, LegacyAdapter, and LinkTrainingMode from the TB controller. This helps us map the CIO value tables faster without needing separate ioreg follow-ups. USB-only cable reports are unaffected.

  • Privacy-conscious. The downstream device identity (dock/monitor name, vendor ID, device ID) is deliberately excluded from the report.

Install

brew upgrade --cask whatcable, or download WhatCable.zip from this release page and drag the new .app into /Applications.

v0.10.11: Fix USB3 speed misreporting on some Apple Silicon Macs

15 May 22:16

Choose a tag to compare

Fix USB3 speed misreporting on some Apple Silicon Macs

What's fixed

  • Correct USB3 speed for direct-attach devices. WhatCable was reading the port controller's SuperSpeedSignaling value, which on some Apple Silicon Macs reports Gen 1 (5 Gbps) even when the device actually negotiated Gen 2 (10 Gbps). Now uses the USB host controller's Device Speed, matching what macOS System Information shows. Thanks to @janngobble for the detailed report (#140).

  • Hub topology handled correctly. When a USB hub is on the port, WhatCable now reads the hub's upstream link speed (the root device) instead of the fastest downstream device. This prevents overstating the port's bandwidth when a fast device sits behind a slower hub.

Install

brew upgrade --cask whatcable, or download WhatCable.zip from this release page and drag the new .app into /Applications.

v0.10.10: Fix charging wattage for Thunderbolt dock setups

15 May 20:55

Choose a tag to compare

Fix charging wattage for Thunderbolt dock setups

OSS

  • Correct wattage shown for Thunderbolt dock charging. Macs powered through a Thunderbolt dock (e.g. CalDigit TS3 Plus, ASUS PA32QCV display) previously showed "3W charger" because the dock bypasses per-port USB-PD negotiation. WhatCable now falls back to the system-wide adapter reading when no USB-PD source is registered. Displays as "System reports charger at 96W" with a note that per-port data is not available. (#141)

Internal

  • Charging diagnostic logging. Structured os.log output at debug level logs port count, active ports, adapter watts, and per-port source breakdown at each snapshot. Visible with log stream --predicate 'subsystem == "uk.whatcable.whatcable"' --level debug.

v0.10.9: Licence entry in settings and CIO cable labels

15 May 19:18

Choose a tag to compare

Licence entry in settings and CIO cable labels

Pro

  • Enter your licence key from Settings. The Pro section in Settings now has an "Enter Licence Key..." button that opens the licence window. No more hunting through the right-click menu.

OSS

  • CIO cable capability shown for passive and Thunderbolt cables. Ports with a passive or Thunderbolt cable now surface the CIO transport data (cable generation, speed, link width) in the UI, not just in JSON output.
  • Pro upgrade links in settings and licence screen. Free users see a direct link to the Pro purchase page from both the Settings panel and the licence window.

Internal

  • Windows CI workflow. Cross-platform Swift build now runs on Windows (non-blocking while a Swift 6.0.3 toolchain issue is resolved).
  • Pro boundary check in CI. Automated check ensures Pro-only code stays inside the plugins module.
  • Ad-hoc signing fix. The CLI helper binary is now signed in the ad-hoc path, fixing codesign --verify --deep failures in local smoke tests.

v0.10.8: Layout fix, CIO cable data, and Pro licence hardening

15 May 13:33

Choose a tag to compare

Layout fix, CIO cable data, and Pro licence hardening

OSS

  • Wider label column in advanced details. The label column is now 160pt (was 120pt) so longer translated strings like Italian "Elettronica attiva via cavo" no longer wrap onto a second line. Thanks to @bovirus for the report in #130.
  • CIO cable capability in JSON output. whatcable --json now includes a "cio" object per port with Thunderbolt cable capability data from the controller's CIO transport. Fields include cable generation, cable speed, and asymmetric mode support. Values are not yet surfaced in the UI while we collect more data points.
  • RefreshSignal moved to WhatCableAppKit. Internal cleanup so tests can import it without pulling in the full SwiftUI app target.
  • Updated contributor credits. Added 8 missing contributors, credited @abrauchli for the usbeehive Linux port, and synced @NoFr1ends.
  • Website SEO. Added canonical URLs, updated OG tags to use www subdomain, added Pro and Support pages to the sitemap, bumped schema version.

Pro

  • More forgiving licence validation. The offline grace window is now 30 days (was 7). Network errors during revalidation no longer lock you out; only an explicit server rejection revokes a licence.
  • Better activation error messages. The settings UI now shows "Could not reach the licence server" for network failures instead of the generic "Invalid licence key" message.
  • Localised Pro UI. All Pro plugin views (diagnostics, power monitor, licence settings, pin diagrams) now use the shared translation bundle. Translators maintain one set of files across both OSS and Pro.

v0.10.7: Better Thunderbolt cable labels

14 May 18:34

Choose a tag to compare

Better Thunderbolt cable labels

Improvements

  • Cable speed labels now mention Thunderbolt class. USB4 Gen 3 cables show "Thunderbolt 4 class" and Gen 4 cables show "Thunderbolt 5 class" so you can tell at a glance whether your cable supports TB5 signalling. Thanks to @applefarmer for the report in #131.

  • Passive e-marker on Thunderbolt cables gets a clarifying note. Some TB4 cables (CalDigit, Cable Matters) report as passive in USB-PD because their active components condition the Thunderbolt signal path, not the USB path. When the Thunderbolt link is live, WhatCable now explains that Thunderbolt is negotiated separately by the controller. Thanks to @pandoratactful for the report in #111.

v0.10.6: Fix untranslated strings and merge community translations

14 May 16:36

Choose a tag to compare

Fix untranslated strings and merge community translations

Bug fix

  • Five strings no longer show in English on translated systems. "Language", "System Default", the desktop Mac charger banner, the USB device count in the status bar, and the "No e-marker detected" bullet were all missing from one or more translation files. Fixed across all shipped languages. Thanks to @bovirus for the detailed screenshots in the report.

Translation improvements

  • Italian: improved wording for several strings, plus proper plural forms for device counts (from @bovirus).
  • Armenian: 112 new Core translations (from @Vardan933).

v0.10.5: Fix localisation support and expand website docs

14 May 16:12

Choose a tag to compare

Fix localisation support and expand website docs

Bug fix

  • Non-English localisations now work. macOS uses the main bundle's CFBundleLocalizations array to decide which languages the process can resolve. Without entries for shipped languages, String(localized:bundle:) fell back to English even when the inner SPM resource bundle had the correct .lproj. All five shipped localisations (English, Armenian, Italian, Polish, Simplified Chinese) are now listed in Info.plist. Thanks to @bovirus for the report.

Website

  • New Pro page at whatcable.uk/pro with feature showcase, pricing, and checkout.
  • New post-purchase success page with activation instructions.
  • New support form (licence-gated) with FAQ.
  • Expanded docs page with jump-to navigation, inline screenshots, full Pro feature reference, and troubleshooting FAQ.
  • Standardised nav and footer across all pages.

v0.10.4: Charger wattage fix, port fixes, and WhatCable Pro

14 May 13:39

Choose a tag to compare

Charger wattage fix, port fixes, and WhatCable Pro

WhatCable Pro

WhatCable Pro is here. If you find the free app useful, you can now support the project and unlock a set of deep diagnostic features: whatcable.uk/pro

  • Live power metering (watts, voltage, current per port, updated every 2 seconds)
  • PD contract inspector with decoded PDOs and capability mismatch detection
  • Cable resistance estimation via multi-point regression
  • Port health counters (attach/detach, hard resets, shorts, FET failures)
  • PD event trace (decoded protocol-level history per port)
  • DP Alt Mode details (lane count, link rate, EDID with monitor model)
  • Pin diagrams and CC advertisement level
  • Liquid detection sensor status
  • Raw VDO identity from SOP and SOP'
  • Power monitor window with live charts
  • CLI monitor mode (whatcable --monitor)
  • Widget power sparkline

One-time purchase, works on up to 2 Macs. The free app stays free and open source with no features removed.

Bug fixes

  • Charger wattage now shows on all ports. A long-standing bug meant charger power was never displayed in the main view. The underlying IOKit data was a CF set, not an array, and the silent cast failure hid all power source options. Fixed for both USB-C and MagSafe chargers.

  • USB-C and MagSafe port data no longer mix. Both port types can have the same port number (e.g. port 1). All watchers now filter on port type as well as port number, so MagSafe and USB-C data stay separate.