PUBLISHED APP RELEASES

Changelog.

What changed, when it shipped, and the download for each version.

All GitHub releases ↗

1.8.4

Latest release
  • Home Linux CI now runs successfully with portable platform checks, bounded test memory and deterministic asynchronous test waits. Published release versions and changelog entries are connected to the landing page.

  • Chat-registry caches invalidate when file permissions or ownership change, even when the filesystem reports the same modification and change timestamps.

  • gatefox chats migrate --apply is blocked only by processes on the same Codex home: an engine with another CODEX_HOME (such as Mission Runtime's ~/.codex-primary), a test run, or an inference-only gateway serve no longer stops it. A process without CODEX_HOME counts as ~/.codex.

1.8.3

  • The app shows GateFox once in the sidebar, with Harness Gateway beneath it. The window title text is hidden and the footer shows only the version.

1.8.2

  • A cancelled Claude turn whose interrupt times out no longer blocks the chat for an hour. Gateway deliberately closes that CLI and permits a new session on the next caller request, subject to the cache guard. Genuine crashes still keep their replay holds, and the cancelled request is never replayed automatically.

1.8.1

  • The package is @edihasaj/gatefox. The installer and app builder still accept a backend packaged as @edihasaj/harness-gateway or @edihasaj/subscription-gateway. The Claude Desktop help and errors, the Grok config marker (an old marker is replaced, never duplicated), the native app's type and Swift package, and the README now say GateFox. The README links the 1.8.0 GateFox download.

  • gatefox chats migrate moves saved gateway chats from the provider id subscription_gateway to gatefox. Without --apply it only reports. With --apply it needs ChatGPT and the service stopped, rewrites the provider in each rollout's first line (including the engine's compressed .zst rollouts), copies state_5.sqlite, then moves the chat rows. --revert moves them back. Both ids stay registered.

  • The app's rename to GateFox.app leaves Harness Gateway.app as a link to it. launchd keeps the loaded service's old program path until the next login, and the service plan stores the old app's Node path for the Claude components; without the link, a service restart failed with exit 78 and the Claude adapter could not start until the next login.

1.8.0

  • A Claude chat whose login fails before any reply, tool result or queued message no longer stays blocked behind a crash hold. The next request tries the saved login again. A failure after the turn produced output keeps the hold, because the turn may have advanced. See docs/claude-sessions.md.

  • A Claude chat whose login fails before any reply, tool result or queued message no longer stays blocked behind a crash hold. The next request tries the saved login again. A failure after the turn produced output keeps the hold, because the turn may have advanced. See docs/claude-sessions.md.

  • The app is GateFox.app, published as GateFox-VERSION-macos-arm64.zip with gatefox-VERSION-macos-arm64.tar.gz, under the standard vVERSION tag only. A Mac updated from 1.7.x first gets the new app at its old Harness Gateway.app path; at its next launch the app renames itself to GateFox.app beside it, relaunches, and moves the service and the command-line runtime to the new path. Permissions stay, because the bundle identifier and signature are unchanged. The rename waits while an update is unfinished. See docs/macos-updates.md.

  • The installer also writes a gatefox command, with the same contents as harness-gateway and gateway, which keep working. An update run by a 1.7.x app adds it at the next install, because that updater refuses receipts it does not know.

  • Fresh installations use ~/.local/share/gatefox and ~/Library/Application Support/GateFox (~/.config/gatefox on Linux). A Mac installed earlier keeps its subscription-gateway folders; nothing moves. The signed service launcher, the updater, uninstall and the app accept both.

  • The Claude Desktop profile and the ChatGPT sign-in agent are named GateFox. A profile created as Harness Gateway is still selected.

  • After a service restart, a desktop, relay session or SSH listener no longer takes the native ChatGPT engine away from the gateway host. The new host's claim could lose to the old host that was still exiting; the next client then started its own private engine, and every later client joined it, so rollout stayed native_owner_pending until every client disconnected. While no private engines hold the native home, a refused client now asks the host again for up to 20 seconds instead.

  • New gateway chats are recorded with the provider id gatefox. Chats saved earlier keep subscription_gateway, which every engine still registers and every list still shows, so nothing needs reopening. gateway desktop register publishes a native row for both ids, so ChatGPT's own engine opens either. The native-config guard refuses both ids. Executors carry GATEFOX_EXECUTOR (and the older marker). The patched SDK is gateway-executor-v4. See docs/harness-identity.md and docs/gatefox-rename.md.

  • gatefox.dev has search and sharing metadata on every page: canonical URLs, Open Graph and Twitter cards with a share image per page, JSON-LD, robots.txt, a sitemap with images and a web manifest. The deploy adds the IndexNow key file.

1.7.8

  • Macs that share the native ChatGPT engine can share the Codex 0.167.0-alpha.3.2 app engine again. It passed every stdio and Unix shared-native check, with and without an explicit host engine path. Until now such a Mac stayed native_owner_pending and ran native chats in private engines.

1.7.7

  • The remote relay accepts the Codex 0.167.0-alpha.3.2 app engine that ChatGPT 26.1103.41825 shipped on 8 November. The installed relay refused it after a service restart and paused as failing, so the phone could not reach that Mac. Its remote-control transport, state migrations and auth.json format are unchanged from the admitted 0.166.0-alpha.6. Native sharing on the host still waits for its own check.

1.7.6

  • The app updater now also accepts standard vVERSION release tags and the GateFox release names (GateFox-VERSION-macos-arm64.zip holding GateFox.app, and gatefox-VERSION-macos-arm64.tar.gz). A release must carry app-update.json to count as an app update, so command-line-only releases are ignored. This prepares the 1.8.0 rename; 1.7.6 itself keeps the Harness Gateway names.

  • A public roadmap lists the next steps for contributors: the Claude apps, DeepSeek, and a Chat Completions ingress for other harnesses, each with a GitHub issue.

  • The project is now GateFox (https://gatefox.dev, edihasaj/gatefox). The app's window, Dock and menu name, permission prompts and update messages say GateFox. The app file stays Harness Gateway.app for now, and the bundle ID, service labels, folders, Codex provider ID and Claude Desktop profile name are unchanged, so installed Macs and their updates keep working.

  • The README and the guide now start with a single-Mac setup: install, connect your accounts, start the service. Adding more Macs is a separate, optional chapter. The long README moved to docs/cli.md, and docs/reference.html is a new searchable index of every doc, generated from each page's summary by npm run docs:site and checked by npm run check.