npm / @opentunnel/client
@opentunnel/client
What changed in @opentunnel/client 0.6, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
1 breaking12 new APIs and options3 behavior and defaults1 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@opentunnel/client 0.617 changes
Breaking changes 1
The CLI and Rust client tunnel the bridge through HTTP or HTTPS proxies using CONNECT; SOCKS proxies now stop the tunnel with an error instead of being bypassed.
New APIs and options 12
A proxy option on create and OpenTunnelClient.layer sets the proxy for both API calls and the bridge, regardless of the environment.
A new checking-certificate stage is reported by ensure progress updates.
The new onEvent option lets callers observe route-conflict events before connect resolves.
connection.urls maps each route to its public URL.
ensure({ onProgress }) reports progress, beginning with the checking-certificate stage.
isValidRouteName is now exported.
The protocol package now exports Names.LABEL_PATTERN.
The protocol package now exports Names.publicHostname.
publicUrl is now exported.
ROOT_ROUTE is now exported.
A new event reports each route conflict; it can be observed before connect resolves using the onEvent option.
ROUTE_LABEL_PATTERN is now exported.
Behavior and default changes 3
The bridge WebSocket now follows the API proxy settings: HTTPS_PROXY for wss://, HTTP_PROXY for ws://, then ALL_PROXY, except for hosts in NO_PROXY.
Setting onRouteConflict to "fail" makes connect reject with code "route_conflict" instead of retrying.
connect({ signal }) cancels an attach in progress, including certificate work it started, and rejects with the signal's reason.
Fixes and other changes 1
Fatal attach errors now carry their code on OpenTunnelClientError.code.