Skip to content

v0.89.0

Choose a tag to compare

@davidfarah2003 davidfarah2003 released this 20 Oct 15:20
eca8962

Cotal 0.89.0 is out!

Grab it: npm i cotal-ai@0.89.0

Changes in this release

  • Add a host-only, short-lived account census credential and a bounded pinned-server connection reader. The credential grants only one account's CONNZ request and account-qualified replies. Incomplete observations remain unknown; the reader does not grant eviction or prove terminal retirement.
  • Add explicit bounded diagnostic pages for native run inventory, preserving legacy list requests and existing permissions. CLI and MCP callers can continue a pinned scan without a full-list reply or an absence claim.
  • On Windows, publishing a process record now waits at most 5 s in total for files another handle holds open. Before, each of its three renames could wait 10 s on its own, so one publish could block for nearly 30 s under the publish lock, about the time a second writer waits for that lock before giving up (#4175). All the renames of one publish now share one 5 s budget, and a refusal that outlasts it still throws.
  • Allow persona definition tools to select a manager instance while preserving the caller's existing manager binding and permissions.
  • Bound an exchanged bearer by its IdP proof's expiry at signing time. The exchange now carries the proof's absolute exp, and a session-caller session's exp, through the credential hook to the issuer, which signs the earlier of now + ttl and that ceiling and refuses once it has passed. A slow mintConnectCredential hook could previously push the bearer, and the NATS user JWT the callout mints from it, past the proof's expiry, or mint a bearer after the proof had expired.
  • Render a broker's TLS mismatch as a concise join refusal with operator guidance instead of a raw connection stack. Keep the TLS requirement and refuse plaintext connections.

What's Changed

Full Changelog: v0.88.0...v0.89.0