Repository navigation
Releases: companionintelligence/Companion-Hub
Releases · companionintelligence/Companion-Hub
Release list
Companion Hub Desktop v0.3.5
Companion Hub Desktop v0.3.5
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- build(deps): Bump the minor-patch group across 1 directory with 4 updates by @dependabot[bot] in #1890
- Load a downloaded model and keep it as the chat model by @bennettchamberlain in #1917
- build(deps): Bump the minor-patch group across 1 directory with 5 updates by @dependabot[bot] in #1896
- build(deps): Bump openai from 7.27.0 to 7.28.0 in /agent in the minor-patch group by @dependabot[bot] in #1910
- build(deps): Bump rustls from 0.23.41 to 0.23.45 in /packages/mobile/src-tauri by @dependabot[bot] in #1914
- build(deps): Bump the minor-patch group across 1 directory with 16 updates by @dependabot[bot] in #1911
- build(deps): Bump framer-motion from 13.5.0 to 14.0.0 by @dependabot[bot] in #1898
- build(deps): Bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in #1916
- build(deps): Bump axios from 1.18.0 to 1.20.0 by @dependabot[bot] in #1915
- fix(app-lifecycle): keep the reason a Portal bundle fetch failed by @bennettchamberlain in #1918
- fix(mobile-connect): let the Hub picker scroll past the first screen by @hanzlamateen in #1920
- fix(desktop): keep installed apps out of the Hub window by @bennettchamberlain in #1972
- docs(skills): add the Memory hot-swap skill by @bennettchamberlain in #1973
- fix(registration): keep the pairing page from freezing a Windows Hub by @hanzlamateen in #1950
- fix(cli): make api-key and up work on Windows Hubs with the WSL engine by @hanzlamateen in #1951
- fix(auth): tie the sign-in hint and desktop handoff to the caller by @hanzlamateen in #1952
- fix(header): dim the page behind the phone menu and close it on a click by @hanzlamateen in #1954
- fix(apps): skip the permission sweep on mounts that drop chmod by @hanzlamateen in #1956
- Delete cleared cloud keys, and stop handing apps models Ollama no longer has by @hanzlamateen in #1962
- fix(install): show download progress, fail a pull that never starts, and make early cancels stick by @hanzlamateen in #1963
- fix(app-store): size docker.io and OCI-index images, and import exported access settings by @hanzlamateen in #1964
- fix(onboarding): install the picked apps on Continue, and start on an engine that answers by @hanzlamateen in #1966
- fix(state): keep settings.json whole when two saves overlap by @hanzlamateen in #1958
- fix(desktop): keep the Hub's device ID when Windows removes wmic by @hanzlamateen in #1960
- fix(apps): handle a down tunnel or a starting app on Public Web routes by @hanzlamateen in #1968
- fix(settings): apply the saved Default app CPU limit and Log level by @hanzlamateen in #1959
- fix(desktop): no Hub restart at launch, steady window size, apps back after Stop Hub by @hanzlamateen in #1961
- fix(app-lifecycle): show CI Memory's Hub access section in settings by @hanzlamateen in #1969
- fix(apps): let members see custom apps and owners or admins change them by @hanzlamateen in #1955
- fix(backups): back up apps' database volumes and wipe backups on factory reset by @hanzlamateen in #1965
- fix(apps): give a custom app its own host port, as installs do by @hanzlamateen in #1967
- Bring the Windows WSL engine back after wsl --shutdown, reach its update listener, say it's this PC only by @hanzlamateen in #1970
- fix(uninstall): remove marketplace apps and Hub leftovers on Windows by @hanzlamateen in #1971
- fix(desktop): install Windows updates, and stop the update UI leading to errors by @hanzlamateen in #1990
Full Changelog: v0.3.4...v0.3.5
Companion Hub Desktop v0.3.4
Companion Hub Desktop v0.3.4
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- fix(frontend): keep the pool setup guide's Hub cards in name order by @mrhegemon in #1893
- Keep the Portal-assigned domain across Hub restarts by @hanzlamateen in #1895
- build(deps): Bump the minor-patch group with 24 updates by @dependabot[bot] in #1892
- build(deps): Bump the minor-patch group in /agent with 2 updates by @dependabot[bot] in #1891
- feat(auth): sign forward-auth identity with each app's own key, and give Companion Memory one by @hanzlamateen in #1899
- Gate Actions to manual dispatch by @bennettchamberlain in #1913
Full Changelog: v0.3.3...v0.3.4
Companion Hub Desktop v0.3.3
Companion Hub Desktop v0.3.3
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- Add real-speed Linux tutorial videos: install Docker, then Companion Hub by @mrhegemon in #1881
- docs(inference): drop the retired engines from comments and the supervision doc by @mrhegemon in #1885
- fix(backend): retry a Cloudflare sync that never reached Companion Portal by @FzzySwtr in #1883
- feat(hub-pool): guided pool setup with Hub cards, Home invite and first-run section by @mrhegemon in #1888
Full Changelog: v0.3.2...v0.3.3
Companion Hub Desktop v0.3.2
Companion Hub Desktop v0.3.2
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- feat(cli): cihub compose refresh for installed appliances by @mrhegemon in #1880
- feat(frontend): move batch actions to the bottom of the home page by @mrhegemon in #1882
Full Changelog: v0.3.1...v0.3.2
Companion Hub Desktop v0.3.1
Companion Hub Desktop v0.3.1
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- build(deps-dev): bump turbo from 2.9.14 to 2.11.5 in the minor-patch group by @dependabot[bot] in #1842
- build(deps): bump axios from 1.18.0 to 1.20.0 by @dependabot[bot] in #1844
- fix(fleet): present the Hub's local key, not the device key, from fleet scripts by @mrhegemon in #1845
- build(deps): bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in #1843
- build(deps): bump actions/setup-java from 4 to 6 by @dependabot[bot] in #1838
- build(deps): bump android-actions/setup-android from 3 to 4 by @dependabot[bot] in #1839
- build(deps): bump rand from 0.10.2 to 0.10.3 in /packages/desktop/src-tauri in the minor-patch group by @dependabot[bot] in #1840
- Clear cached app grants on registration reset or organization change by @bennettchamberlain in #1847
- Open a public app while this host still caches a missing name by @bennettchamberlain in #1848
- Refresh Linux disk readings and center the settings tabs by @bennettchamberlain in #1846
- fix(desktop): answer the Hub while a silent update connection is open by @bennettchamberlain in #1850
- Keep the auto-update switch focused, and make its off state visible by @bennettchamberlain in #1849
- Clear serving quarantine only after a request succeeds by @bennettchamberlain in #1852
- fix(apps): reach a custom port before publishing it, and grant only that row by @bennettchamberlain in #1851
- fix(cli): repair a Hub's folders for the account it runs as by @bennettchamberlain in #1853
- Send null when an inference preference is cleared by @bennettchamberlain in #1854
- fix(marketplace): accept image references that pin both a tag and a digest by @bennettchamberlain in #1855
- Give labeled selects their caption as a name and keep the closed value on one line by @bennettchamberlain in #1856
- Keep an open desktop window from being relaunched headless after an update by @bennettchamberlain in #1857
- fix(auth): label the emailed password reset exit as back to login by @bennettchamberlain in #1858
- Show registration probe status, space the probes, and retry a failed status check by @bennettchamberlain in #1859
- fix(onboarding): weak machines skip local models, and Finish waits on the engine by @bennettchamberlain in #1860
- fix(dashboard): tell the truth when the home screen cannot load by @bennettchamberlain in #1862
- Keep a slow model pull and resume an install after reload by @bennettchamberlain in #1861
- fix(store): make the app store reachable and honest by @bennettchamberlain in #1863
- fix(app): keep app details and custom apps usable by @bennettchamberlain in #1864
- fix(settings): keep security and general settings honest by @bennettchamberlain in #1865
- fix(settings): keep network and pool status honest by @bennettchamberlain in #1866
- fix(monitor): say how many workload charts were left out by @bennettchamberlain in #1869
- fix(shell): keep the app shell honest on a phone and a Mac by @bennettchamberlain in #1870
- fix(settings): tell the truth in system and logs by @bennettchamberlain in #1868
- fix(phone): keep the phone layout readable by @bennettchamberlain in #1871
- fix(settings): keep AI and MCP settings honest by @bennettchamberlain in #1867
- fix(desktop): splash focus, Docker status, and tray confirm by @bennettchamberlain in #1872
- test(e2e): cover the installed-app routes with a running nginx fixture by @bennettchamberlain in #1873
- feat(scripts): fleet router, OpenClaw test account, pool upgrade runbook by @mrhegemon in #1874
- fix(compose): run the Hub under Docker's init so SIGTERM stops it by @mrhegemon in #1877
- build(deps): Bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in #1876
- build(deps): Bump axios from 1.18.0 to 1.20.0 by @dependabot[bot] in #1875
- fix(hub-pool): stop the walk after three nodes answer with an empty 200 by @mrhegemon in #1878
Full Changelog: v0.3.0...v0.3.1
Companion Hub Desktop v0.3.0
Companion Hub Desktop v0.3.0
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- fix(state): keep settings.json, seed and .env.resolved owner-only by @mrhegemon in #1677
- fix(hub-pool): judge a 200's output, record why candidates were passed over, one close listener per request by @mrhegemon in #1681
- fix(hub-pool): a large prompt goes to a node measured to answer, not one nothing has timed by @mrhegemon in #1678
- Improved support for multiple inference backends by @barankyle in #1679
- fix(hub-pool): the much-faster rule stops compounding its margin, trusting cache hits, and queueing on a full engine by @mrhegemon in #1682
- fix(hub-pool): an agent session's appends keep the node serving it measured by @mrhegemon in #1683
- fix(inference): a load no longer evicts a busy or app-loaded model to make room, and sizes what it evicts in the budget's units by @mrhegemon in #1684
- fix(inference): offer only the Lemonade models the connected server can serve, and hand out its embedder by the name it lists by @mrhegemon in #1685
- Let a public clone build the Hub without CI Common by @bennettchamberlain in #1687
- fix(inference): size load windows against the fit-check budget, from what the engine measured by @mrhegemon in #1686
- Let Settings save when the Local domain is the Hub's default, localhost by @hanzlamateen in #1700
- Say an app's data stays when you uninstall it with Delete all data off by @hanzlamateen in #1701
- Stop cihub doctor from testing inference engines that are not set up by @hanzlamateen in #1702
- Make cihub doctor say which Hub it checks when run inside a checkout by @hanzlamateen in #1703
- Find the real Hub data folder when cihub runs in a snap app's terminal by @hanzlamateen in #1704
- Let cihub up find free ports on Linux where lsof is the BusyBox version by @hanzlamateen in #1705
- Keep the desktop app's update token where the Hub can read it by @hanzlamateen in #1706
- Build the release web page with its version, environment and Portal URL by @hanzlamateen in #1707
- Show the desktop app download in a browser by asking the Hub for the release by @hanzlamateen in #1708
- fix(inference): give the gemma4 catalog rows footprints measured on the fleet, and qwen3-8-27b-lemonade its registry size by @mrhegemon in #1688
- fix(inference): keep pins across a restart and under Lemonade's user. names, and never save a provisional Lemonade window by @mrhegemon in #1689
- Pool: fail over when the Hub refuses a local load, bound the local listing, copy buttons on the Lemonade card by @mrhegemon in #1709
- More improvements around multiple inference backends by @barankyle in #1710
- chore(deps): update dependencies within semver ranges by @mrhegemon in #1711
- chore(deps): upgrade NestJS to 12 and backend Sentry SDK to 11 by @mrhegemon in #1714
- build(deps): bump axios from 1.18.0 to 1.20.0 by @dependabot[bot] in #1713
- build(deps): bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in #1712
- chore(deps): upgrade vitest to 5 and jest-dom to 7 by @mrhegemon in #1715
- chore(deps): upgrade frontend Sentry SDK to 11 by @mrhegemon in #1716
- build(deps-dev): bump vite from 7.3.5 to 8.3.1 by @dependabot[bot] in #1718
- feat(auth): sign a stable user id beside X-CI-Hub-User by @mrhegemon in #1730
- build(deps): bump zod-validation-error from 4.0.2 to 5.0.0 by @dependabot[bot] in #1722
- build(deps-dev): bump dotenv-cli from 10.0.0 to 11.0.0 by @dependabot[bot] in #1721
- build(deps): bump i18next from 25.10.10 to 26.4.2 by @dependabot[bot] in #1720
- chore(deps): bump argon2, memfs and zustand by @mrhegemon in #1731
- build(deps-dev): bump typescript from 5.9.3 to 7.0.2 by @dependabot[bot] in #1719
- chore(deps): react-i18next 17, i18next-http-backend 4, fix i18next 26 test setup by @mrhegemon in #1732
- fix(frontend): keep page-scrollers test working under TypeScript 7 by @mrhegemon in #1733
- test(inference): move PIN-2's restart case onto a model the catalog still refuses on beta-red by @mrhegemon in #1735
- build(deps): bump the minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #1734
- fix(auth): show the Hub icon on the sign-in handoff tab by @hanzlamateen in #1736
- build: run the backend on TypeScript 7 and clear dev's other CI failures by @hanzlamateen in #1744
- Ask for a restart when the desktop app is updated while it is open by @hanzlamateen in #1749
- build(deps): bump dotenv from 17.4.2 to 18.0.4 by @dependabot[bot] in #1778
- build: make Vite 8 real by moving the vite override to 8.3.1 by @mrhegemon in #1783
- Keep the Auto-update stack switch full size on phones, and drop the space before "?" in app dialog titles by @hanzlamateen in #1738
- Keep passwords, secrets and keys out of the Hub's logs by @hanzlamateen in #1740
- Compare a source checkout with its Hub by commit, so cihub doctor stops failing it by @hanzlamateen in #1741
- Show the saved time zone in the Settings Timezone box by @hanzlamateen in #1742
- Keep desktop and CLI tests away from the installed app, and make SKIP_DESKTOP_BUILD always skip by @hanzlamateen in #1743
- Fix the Linux port checks: cihub uses free 80/443, the desktop app says why it keeps 8880 by @hanzlamateen in #1746
- Stop the permission repair leaving Hub folders writable by every account by @hanzlamateen in #1747
- chore(deps): framer-motion 13, immer 11, lucide-react 1, react-tooltip 6, lottie-react 3, let-it-go 2 by @mrhegemon in #1784
- chore(deps): react-router 8, @react-router/dev 8, @react-router/node 8 by @mrhegemon in #1792
- fix(frontend): follow react-router 8's bin.cjs rename in the build scripts by @mrhegemon in #1794
- chore(deps): jose 6, dockerode 5, unplugin-swc 2, vite-tsconfig-paths 6 by @mrhegemon in #1791
- build(deps): bump the minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #1786
- build(deps-dev): bump jsdom from 27.4.0 to 30.1.1 by @dependabot[bot] in #1777
- build(deps): bump openai from 4.104.0...
Companion Hub Desktop v0.2.77
Companion Hub Desktop v0.2.77
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- Replace inference setup with four engines or two endpoints by @bennettchamberlain in #1615
- fix(inference): oMLX is running only when oMLX answers, and only probed on Apple Silicon by @mrhegemon in #1618
- fix(onboarding): give manual endpoint examples room to render by @bennettchamberlain in #1623
- Confirm factory reset with the device name by @bennettchamberlain in #1622
- fix(fleet): refuse unknown roster skips; stop reusing day-old pairing codes by @mrhegemon in #1619
- fix(apps): app access URLs and public routing after a Hub changes org or domain by @mrhegemon in #1621
- fix(reset): remove every container on the Hub network, list them first, add --dry-run by @mrhegemon in #1620
- fix(apps): publish agent and no-login apps' host ports on loopback only by @mrhegemon in #1617
- fix(exposure): adopt the hostname Portal serves an app at when it cannot write the requested zone by @mrhegemon in #1616
- docs: the tunnel ingress targets traefik:80, not host.docker.internal by @barankyle in #1613
- security: a Hub-minted push key for Portal; the device key stops being a bearer by @barankyle in #1612
- security: bind the bootstrap handout to the app's own containers by @barankyle in #1611
- security(auth): the forward-auth exemptions apply to the official Memory install only by @barankyle in #1609
- security: keep app.env and private volumes out of the a+rwx sweep by @barankyle in #1610
- fix(up): probe Postgres auth from the network the database is actually on by @mrhegemon in #1624
- fix(ci): regenerate swagger and align two tests with merged behaviour by @mrhegemon in #1625
- security: an edge network for the tunnel and tailnet hops, so the real client address survives Traefik by @barankyle in #1608
- security(edge): close the review findings on #1608's edge-network trust by @mrhegemon in #1626
- feat(domains): offer .pw suffixes and hide ci.computer from the picker by @bennettchamberlain in #1627
- fix(reset): delete the appliance's tunnel token and markers beside the data dir (stacked on #1628) by @mrhegemon in #1632
- fix(resource-monitor): honest routing counters and memory on unified APUs, plus wait and first-byte KPIs for agent turns by @mrhegemon in #1633
- fix(cli): a fresh install takes no image or compose from leftovers, and fleet install probes before register by @mrhegemon in #1631
- fix(registration): promote locally_ready once the public URL answers, past a cached NXDOMAIN by @mrhegemon in #1629
- fix(fleet): pace pairings under Portal's rate limit and wait out a 429 with the same code by @mrhegemon in #1630
- docs(readme): launch README with logo, tour video, screenshot grid, and docs.ci.computer links by @mrhegemon in #1637
- fix(pool): hand a request no node can serve back to the caller instead of walking every candidate by @mrhegemon in #1640
- fix(reset): say "Reset complete" only when nothing is left, name what survived, exit 1 by @mrhegemon in #1628
- fix(resource-monitor): time a wait from its last failover, and name whose GPU memory the footer lists (#1633 review) by @mrhegemon in #1634
- fix(fleet): stop two sandboxed-bash tests failing on macOS (bare sed -i) by @mrhegemon in #1635
- fix(cloudflare): pass Portal's DNS-check reason through to the forms by @mrhegemon in #1638
- fix(cli): stop sync-rabbitmq-password's entry block firing on every cihub command by @mrhegemon in #1636
- fix(pool): a local engine busy with work a request cannot join gives up its head start to peers by @mrhegemon in #1639
- feat(inference): hand out bootstrap credentials to ci-mentra by @mrhegemon in #1642
- fix(inference): accept OpenAI multipart uploads on audio routes by @mrhegemon in #1643
- fix(ios): keep Portal sign-in inside the app by @bennettchamberlain in #1644
- fix(ios): bump Tauri so the scene configuration stays alive by @bennettchamberlain in #1645
- fix(android): present Portal sign-in in a Chrome Auth Tab by @bennettchamberlain in #1646
- chore(mobile): bump Hub to 0.1.1 for the Play upload by @bennettchamberlain in #1647
- fix(web): stop mobile settings from panning, and pin the Free chip by @bennettchamberlain in #1649
- video(hub): shoot the storyboard's rendered cut, and running-app with it by @mrhegemon in #1650
- fix(auth): translate the email verification toast by @bennettchamberlain in #1648
- fix(ios): make Dock-launched Xcode able to build Hub by @bennettchamberlain in #1651
- Reach Hubs on the .pw and brand zones from the phone, keep an installed app's domain, and explain a missing domain picker by @hanzlamateen in #1652
- feat(resource-monitor): Pool reach topology and inference-from-this-Hub tile; drop the not-measured panel by @mrhegemon in #1653
- fix(cli): seed and fleet-install a fresh Hub against the Portal the code is minted on by @mrhegemon in #1654
- fix(cli): make the seeded Portal fix usable on a rebuild, and close its gaps by @mrhegemon in #1655
- fix(inference): restore /v1/completions and preserve tool error responses by @mrhegemon in #1656
- Aligned lack-of-setting to off by @barankyle in #1657
- refactor(inference): align omlx compose env and purge dead runner references by @mrhegemon in #1659
- refactor(desktop): delete dead inference runners and docker helpers by @mrhegemon in #1658
- perf(test): optimize test suite, prune dead runner tests, and fix flakes by @mrhegemon in #1660
- fix(desktop): remove runner helpers left unused by #1658 (unblocks v0.2.77 macOS builds) by @hanzlamateen in #1661
Full Changelog: v0.2.76...v0.2.77
Companion Hub Desktop v0.2.76
Companion Hub Desktop v0.2.76
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- fix(hub-pool): PIN pairings strand when either side requires signed peers by @mrhegemon in #1587
- fleet: llama-server as an installable backend on :8081, serving the GGUF Ollama already holds by @mrhegemon in #1577
- desktop: keep the zone the Hub learned from its Portal by @hanzlamateen in #1594
- apps: say when an app is waiting on a restart by @hanzlamateen in #1595
- domains: apply a custom domain the operator asked for by @hanzlamateen in #1596
- pool: key prefix affinity on the whole system prompt and first turn, so concurrent sessions of one agent are not herded together by @mrhegemon in #1566
- security: keep Hub secrets and the lifecycle queue away from installed apps by @barankyle in #1597
- lint: keep Biome off packages/frontend/index.html, which it re-indents on every write by @mrhegemon in #1590
- lint: anchor the worktree exclusion so Biome still checks files when run inside a worktree by @mrhegemon in #1598
- fix(ci): give the lifecycle integration test a JWT_SECRET and regenerate bundled Hub assets by @hanzlamateen in #1601
- domains: restart for a connected domain only when someone confirms it by @hanzlamateen in #1599
- ui: size the app settings dialog like the install dialog and keep exposure mode tabs level by @hanzlamateen in #1604
- Save exported install configs through the desktop app by @hanzlamateen in #1603
- ui: only flag app settings as changed while a field differs from its saved value by @hanzlamateen in #1605
- fix(app): keep the screenshot lightbox's close button clear of the header by @hanzlamateen in #1607
- Move Hub toasts to sonner with one shared, themed style by @hanzlamateen in #1606
Full Changelog: v0.2.75...v0.2.76
Companion Hub Desktop v0.2.75
Companion Hub Desktop v0.2.75
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- frontend: the generated api-client directory holds only generated files by @mrhegemon in #1571
- fix: restore the legacy env/name aliases that #1143 renamed out of existence by @mrhegemon in #1572
- docs: correct the legacy-name record, and drop three dead changesets by @mrhegemon in #1573
- docs: add ecosystem attribution — NOTICE, THIRD_PARTY, CREDITS by @mrhegemon in #1576
- fleet: write OLLAMA_IGPU_ENABLE=1 into the managed bind file on gfx1151, and flag models resident on the CPU by @mrhegemon in #1575
- fix(registration): give the Portal 60s to provision a pairing by @hanzlamateen in #1581
- fix(registration): report a Portal pairing timeout as a timeout by @hanzlamateen in #1580
- fix(fleet): forget a pairing code the moment Portal declares it dead by @mrhegemon in #1584
- fleet: a pairing code Portal refuses is dropped and replaced, not sent again by @mrhegemon in #1583
- fix(hub-pool): surface identity-mismatch peers as needing re-pair in the web UI by @mrhegemon in #1585
- fix(fleet): headless Portal auth from env, and refuse to mint on the wrong Portal by @mrhegemon in #1586
- auth: give the desktop handoff page a way out and an ending by @hanzlamateen in #1589
Full Changelog: v0.2.74...v0.2.75
Companion Hub Desktop v0.2.74
Companion Hub Desktop v0.2.74
Downloads
| Platform | Installer | Notes |
|---|---|---|
| Windows (x64) | .msi or -setup.exe |
Recommended for most Windows users |
| Windows (ARM64) | .msi or -setup.exe |
Windows on ARM (Snapdragon and other ARM64 PCs) |
| macOS (Apple Silicon) | .dmg |
M1/M2/M3/M4 Macs |
| macOS (Intel) | .dmg |
Older Intel-based Macs |
| Linux (x64) | .deb or .rpm |
Ubuntu/Debian or Fedora/RHEL |
| Linux (ARM64) | .deb or .rpm |
Raspberry Pi, ARM servers |
Requirements
- Docker must be installed and running
- Windows: Windows 10+ with WebView2 (ships with Windows 11)
- macOS: macOS 11.0+
- Linux: WebKitGTK 4.1
What's Changed
- fleet:
backends --ollama-max-loaded Nmanages OLLAMA_MAX_LOADED_MODELS in the runtime drop-in by @mrhegemon in #1553 - pool: slot-aware placement — a full Ollama node goes behind one with a free slot (poolSlotAwareness, off by default) by @mrhegemon in #1554
- Restricted Hub to only pruning its own Docker items by @barankyle in #1552
- pool: a request's num_ctx picks which nodes may serve it, so the handout uses the fleet's largest context cap, not its smallest by @mrhegemon in #1555
- apps: probe an app-declared readiness endpoint and surface its failing checks in runtime health by @mrhegemon in #1557
- ci: refresh the app-lifecycle compose snapshots and isolate the resident-model cap test by @mrhegemon in #1558
- pool: a request the caller abandoned keeps the node it was waiting on, instead of reading as "placement found nothing" by @mrhegemon in #1561
- pool: a node's context cap is visible — per peer in
pool status/pool peers, per node in a read-onlyfleet backendsby @mrhegemon in #1562 - build identity: a deployed Hub can say which build it is, and the release keeps the version honest by @mrhegemon in #1563
- update: report CLI-vs-stack skew, honour the operative env file's image pin, and record what was deployed by @mrhegemon in #1564
- fleet:
backendsdecides Ollama ownership by the :11434 listener, not by a user unit's name; hub-pool docs on proxy-only queue depth by @mrhegemon in #1560 - sandbox: grant NET_ADMIN to transmission-vpn and wg-easy by @mrhegemon in #1565
- fix: root createTempDirectory prefix under the OS temp dir by @mrhegemon in #1569
- inference: tier an NVIDIA card from the host probe when the container has no nvidia runtime by @mrhegemon in #1559
- fleet: a name-matched user unit gives way only to a SERVING system unit; a free :11434 refuses as before (#1560 follow-up) by @mrhegemon in #1568
- Let an editor or agent use this Hub, and reach engines the operator already runs by @mrhegemon in #1567
- fix: post-update health probe ignores one-shot init exits, and auto-rollback always restores + brings the app back up by @mrhegemon in #1570
Full Changelog: v0.2.73...v0.2.74