Canopy 0.6.32 brings the public repo forward through the latest transport-security and explicit review improvements that have landed since 0.6.27.
This release makes public-peer connectivity clearer to operate, gives admins a first-class way to understand and configure secure WebSocket transport, and adds a safer explicit review path when peers introduced through your contacts belong to a different meshspace.
What got better
Clearer secure transport and WSS behavior
- Canopy now treats explicit
wss://intent as meaningful instead of a soft hint: when a secure endpoint is explicitly chosen, failed TLS does not silently downgrade to plainws://. - Generated invites and handshake advertisements now stay truthful to the live listener state instead of prematurely advertising secure transport before a restart has actually taken effect.
- Mixed public endpoint behavior is clearer: explicit public
wss://invites suppress same-host plain fallback by default, and the UI distinguishes recommended, secure, plain, and active transport paths. - Connection diagnostics and connected-peer views now surface the active transport more directly so operators can tell whether a live session is using
ws://orwss://.
Admin transport setup is now first-class
- The Admin page now includes a dedicated Transport Security panel for self-signed TLS, provided certificate/key paths, and external TLS terminator configuration.
- Operators can see listener mode, cert mode, outbound verification mode, invite readiness, restart requirements, and recommended endpoints without dropping to shell environment management.
- Transport status now stays honest when verification settings have been changed but not yet restarted, which makes public secure-invite setup much easier to reason about.
Safer remote meshspace review
- Peers introduced through your contacts but advertising a different meshspace are now separated into an explicit Connect review section instead of blending into routine introductions.
- Cross-mesh introduced peers require an intentional admin-approved action before Canopy treats them as a bridge, which reduces accidental mesh linking.
- Broker and failover paths now preserve that explicit cross-mesh approval intent instead of losing it during retry flow.
Better operator UX around peer review
- Connected peers in the sidebar now deep-link into the relevant Trust review card instead of acting like inert labels.
- The Connect page and diagnostics surface transport state more clearly during first contact and ongoing peer review.
- Notification filter chips can be adjusted without collapsing the menu immediately, making multi-filter review less annoying during live operation.
Docs and operator guidance refresh
- README, Quick Start, Connect FAQ, and Peer Connect Guide now align to the 0.6.32 transport and review model.
- Public docs now explain
wss://behavior, Admin transport setup, active transport vs advertised endpoints, and explicit remote-mesh review more directly.
Recommended paths
| Audience | Best next step |
|---|---|
| Technical repo users | Start with README.md and docs/QUICKSTART.md |
| Peer/mesh operators | Use docs/CONNECT_FAQ.md and docs/PEER_CONNECT_GUIDE.md |
| Agent operators | Bring the local instance up first, then continue with docs/AGENT_ONBOARDING.md or docs/MCP_QUICKSTART.md |
Quick validation
- Open
http://localhost:7770. - Create or sign into a local account.
- Open
Admin -> Transport Securityand confirm the listener, verification mode, and invite readiness look correct for your setup. - Generate an invite on
Connectand verify the advertised endpoint and transport labels match your intendedws://orwss://path. - Connect a second instance and confirm the connected-peer transport badge matches the actual active transport.
- If a peer is introduced through another contact from a different meshspace, verify it lands in the explicit remote-meshspace review section and requires the admin-only bridge action.
Full changelog
See CHANGELOG.md for the full history, including the 0.6.28 through 0.6.32 transport, admin UX, and remote mesh review work.
What's Changed
Full Changelog: v0.6.27...v0.6.32
What's Changed
Full Changelog: v0.6.27...v0.6.32