Repository navigation
Releases: hyperbolictonic/hyperbolic-gateway
Release list
v1.6.2
v1.6.2
The experimental remote access release. It exposes the browser MCP surface
through a loopback Streamable HTTP gateway and an optional named Cloudflare
Tunnel, with bearer or OAuth authentication.
Remote MCP is explicitly experimental: the protocol path is implemented and
tested, but third-party client behaviour varies. Gemini Connected Apps in
particular can lose its connector context or fail to re-inject tools between
turns. Keep remote access off unless you are actively testing it, and never
expose it unattended.
Added
- Remote MCP gateway at
127.0.0.1:4112/mcp/browser, with bearer-token or
OAuth 2.0 authentication. The gateway has no route to the raw local bridge. - Named Cloudflare Tunnel support in Settings → Remote, including managed
cloudflareddownload/update and a public-hostname handoff. Quick Tunnels are
not supported. - OAuth 2.0 discovery, PKCE authorization-code flow, explicit consent,
access/refresh tokens, refresh rotation, and revocation using app-generated
client credentials. - Stateless MCP transport by default for remote clients. This avoids stale
Mcp-Session-Idvalues and session-cap failures; stateful sessions remain
available withHB_REMOTE_STATEFUL=1. - Human-takeover controls for remote agents:
get_human_activityreports the
passive pause,resume_agentclears it after confirmation, and a
RESUME AGENT button appears in the header during a takeover. - Local development log MCP (
hb-devlogs) with allowlisted, redacted,
read-only access. It is local stdio only and is not part of the remote gateway.
Changed
- The Remote panel now saves the tunnel hostname/token before starting the
tunnel and can auto-start the gateway. - OAuth clients use pre-registered client credentials; dynamic client
registration is deliberately not advertised. - A remote startup/restart invalidates in-memory OAuth tokens, so clients must
reconnect after the gateway restarts.
Fixed
- Session-cap failures no longer return a hard
429in stateful mode; the
least-recently-used idle session is reclaimed. - Unknown/expired session IDs are logged with their MCP method, making client
reconnect failures diagnosable.
Known limitations
- Gemini Connected Apps is flaky. It may show the custom app as connected
without injecting its tools into a conversation, and may reuse a stale
session. Reconnect the app and start a new chat after a gateway restart. - Cloudflare Bot Fight Mode / WAF can block the server-to-server OAuth token
exchange. A skip rule for/oauth/tokenis required on some zones. - Remote access is not a hosted service. The app, tunnel and machine must stay
running, and the bearer token/OAuth client secret must remain private.
Compatibility
- The app identity,
appId, macOS bundle identity, package directory, userData
path, wrapper storage, and update feed remain unchanged for in-place upgrades. - The legacy
kuang/kuang-wrapMCP labels andKUANG_*environment aliases
remain available.
Full changelog: https://github.com/hyperbolictonic/hyperbolic-gateway/blob/main/CHANGELOG.md
v1.6.1
v1.6.1
The documentation and presentation release. It carries the refreshed in-app
start page, the new icon, and the first developer/API guide published in the
standard Open Knowledge Format.
Added
- Developer documentation as a standard OKF v0.2 bundle under
developer/:
MCP setup, runtime architecture, security model, browser and REST APIs,
bridge routes, wrapper and recipe formats, error codes, and worked examples. - Developer and Docs links in the in-app start page navigation.
- The Pages site now publishes both readable HTML and the raw OKF Markdown.
- The transparent HyperGateway3 mark is wired into the app and installer
icon configuration.
Changed
- The public documentation set is curated to actual documentation. Internal
field notes, plans, handoffs, and TODO documents are no longer published as
manual pages; links to them go back to the repository. - The in-app manual is the concise one-page start page, with developer details
and the legacy Kuang section kept at the bottom.
Compatibility
- The app identity,
appId, macOS bundle identity, package directory, userData
path, wrapper storage, and update feed remain unchanged for in-place upgrades. - The legacy
kuang/kuang-wrapMCP labels andKUANG_*environment aliases
remain available.
Full changelog: https://github.com/hyperbolictonic/hyperbolic-gateway/blob/main/CHANGELOG.md
v1.6.0
v1.6.0
The rebrand release. The desktop application is now Hyperbolic Gateway, with
Hyperbolic Browser (hb-browser) and Hyperbolic Rest (hb-rest) as its two MCP
surfaces.
Changed
- Product and UI branding now use Hyperbolic Gateway, Hyperbolic Browser, and
Hyperbolic Rest. - New MCP client snippets generated by Settings → MCP Clients use
hb-browser/hb-rest,
HB_BRIDGE_URL, andHB_WRAP_TOKEN_FILE. - Documentation now uses the new names, with compatibility stubs for old links.
Compatibility
- The old MCP labels
kuangandkuang-wrapremain available in the MCP Clients tab. - The server binaries accept both
HB_*and legacyKUANG_*environment variables. - The Windows
appId, macOS bundle identity, package directory, userData path, wrapper token
path, and update feed are intentionally unchanged in this release so existing installs upgrade
in place. The old technical identifiers are retained as compatibility aliases.
Full changelog: https://github.com/hyperbolictonic/hyperbolic-gateway/blob/main/CHANGELOG.md
v1.5.9
v1.5.9
Fixed
- Auto-update installs now use electron-updater's silent + force-run path. The update applies
without a separate installer window and relaunches the app, including when installation starts
from the quit handler. The header badge and Restart action remain the manual path.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.8
v1.5.8
Added
- Visible update indicators. A header badge now shows
CHECKING UPDATE,UPDATE vX,
DOWNLOADING N%,RESTART vX, orUPDATE FAILED; the existing bottom banner still shows the
longer messages and Restart action. Clicking the ready header badge restarts and installs.
Changed
- Updates now relaunch the app after installation. Explicit Restart uses
autoRunAppAfterInstall; if the app is quit while an update is ready, abefore-quithandler
installs it and launches the new version instead of leaving the user on the old build.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.7
v1.5.7
Added
- Wrappers can allow multiple HTTP methods. In the wrapper editor, Ctrl/Cmd-click the Method
list to select more than one method. The first/primary method remains the default; callers can
passmethod: "POST"(or any allowed method) inargs. Amethodenum is added to the wrapper's
effective input schema automatically, so generated MCP tools expose it. Existing single-method
wrappers are unchanged. request.methodsaccepts an array, andrequest.methodaccepts an array as shorthand.
Fixed
- The header version badge was hardcoded
CHASSIS v1.0. It now reads the real
APP_VERSIONfrom the main process and shows e.g.CHASSIS v1.5.7. The About dialog shows the
same version, and the window title includes it./healthremains the machine-readable source.
Notes
- If
npmis used instead of pnpm, optional native dependencies can be skipped (npm issue #4828),
producing errors such asCannot find native binding. Usepnpm install --frozen-lockfile; the
packaging and development docs already require pnpm.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.6
v1.5.6
Added
-
Raw multi-segment URL paths in Kuang Wrap. A wrapper can now use
{{path|raw}}inrequest.url:"url": "http://localhost:3000/api/proxy/{{path|raw}}"
The value keeps
/as path separators and encodes each segment, so
my path/v1/itemsbecomesmy%20path/v1/itemsrather than one%2F-encoded segment.
Normal{{name}}interpolation is unchanged. Raw paths are URL-only, must be relative,
and reject./.., empty segments, backslashes, and control characters. The Settings →
Wrappers URL help and the advanced template docs describe the modifier.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.5
v1.5.5
Fixed
- Installed app crashed when the working directory was not writable with an error creating
data/downloads. Runtime data is now resolved through one helper: packaged builds use
Electron’suserDatadirectory, development keeps the repo-localdata/, and
KUANG_DATA_DIRoverrides both. Existing packaged data is copied from the old working-directory
location on first launch when possible. - Moved downloads, Cortex/LanceDB, recipes, sessions, scripts, screenshots, HAR/logs, decision and
input settings, the action ledger, and Shadow Walk settings onto that writable root. A read-only
install or shortcut working directory can no longer crash the main process before the window
opens. - The helper also works inside the bundled CommonJS MCP servers (
esbuildcannot use
import.meta.url). Standalone MCP processes launched from a read-only cwd fall back to the
system temp directory instead of failing during import. - Added
test:data-pathsand a CI step covering the writable data path.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.4
v1.5.4
Fixed
- The Windows installer carried a duplicate 184 MB LanceDB embedding tree and the pnpm
virtual-store model cache. electron-builder re-adds that optional tree even after
scripts/prune-pack.cjs;filesnow excludes
node_modules/@lancedb/lancedb/node_modules/**and**/.cache/**. The unpacked payload drops
from ~596 MB to ~412 MB, and the installer no longer leaves a long-path file behind on uninstall.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md
v1.5.3
v1.5.3
Fixed
- The installed app failed to start Cortex with
Cannot find module 'apache-arrow'.
apache-arrowis a peer of LanceDB, so pnpm's isolated linker never placed it in the production
tree electron-builder packages. The app now declares it directly and the workspace uses
nodeLinker: hoisted, which keeps the LanceDB peer closure (apache-arrow,
@opentelemetry/api,reflect-metadata) insideapp.asar. - Native runtimes were unpacked incompletely.
asarUnpacknow covers the whole
@lancedb,onnxruntime-node,sharp, and@imgdirectories (.node,.dll,.dylib,
.so*), not just the top-level.nodefiles. - Broken installers can no longer be published.
scripts/verify-pack.cjsruns after every
package and fails the build if a critical JS dependency, LanceDB/ONNX/sharp native binary, or the
unpacked MCP server is missing.
Changed
- Packaging prunes the build machine's Hugging Face model cache and duplicate optional
ONNX/sharp/LanceDB trees before electron-builder runs. The Windows unpacked payload dropped from
~1.1 GB to ~0.8 GB, and a downloaded model can never be shipped by accident. - macOS builds are Apple Silicon (
arm64) only. LanceDB 0.40 does not publish a
darwin-x64native package; Intel Mac builds would install and then crash in Cortex. The CI
macOS job now uses an arm64 runner. - CI prunes native dependencies for each target explicitly before packaging, then runs the same
afterPack verifier used locally.
Full changelog: https://github.com/hyperbolictonic/kuang-grade-mark-eleven/blob/main/CHANGELOG.md