Skip to content

server@2.16.0

Choose a tag to compare

@gram-bot gram-bot released this 02 Oct 02:37
· 1044 commits to main since this release
b57aaec

Minor Changes

  • cd0189b: The Access Hub is now an organization-wide page at /<org>/access-hub, listed in the organization sidebar under Secure for anyone holding workload:read or workload:write. Old project URLs, including a trusted platform's page, redirect there. The workloadIdentities API no longer needs a project when called from a dashboard session, which reads and writes the organization tier; API-key callers still name a project, and project_scoped requires one.
  • b74ea45: Organization administrators with an Okta connection can list MCP servers suggested from their synced Okta applications, based on the catalog Okta mapping, and dismiss or restore each suggestion. Suggestions flag app instances whose sign-on mode does not support Cross App Access and mark servers the organization already runs. Gated by the okta-connections rollout.
  • a2f90fc: Allowed access in the Access Hub can now be edited. Each machine on a platform's page has an Edit action that opens the access form prefilled, where you can change the machine's label, tags and assigned agent. The subject and its match kind stay fixed once access is allowed. Reassigning the agent also applies to the same subject's access at the other tier, since that assignment is shared. Each edit is recorded in the audit log with the machine's state before and after.
  • 53ed86a: A trusted platform in the Access Hub can now be edited. The platform page has an Edit action that opens the registration form prefilled, where you can change the platform's name, description, tags and JWKS URI. The issuer URL and the wildcard admission setting stay fixed once a platform is registered. Each edit is recorded in the audit log with the platform's state before and after.
  • 6c92c98: Remove the explore saved-query service (explore.listQueries, createQuery, updateQuery, deleteQuery). Explore saves widgets through the widgets service instead. The query:* audit actions and the audit_log.query_event_v1 webhook event are retired rather than removed: nothing emits them any more, but audit entries already written keep their labels and webhook subscriptions to the event stay valid.
  • 1fa4cda: Add the widgets service: Explore's saved questions, each kept with the chart that draws it, as the building block dashboards will place. Any member can list, get, save, update and duplicate a widget; duplicating is how a widget is shared, giving the caller their own copy. The question is validated against the catalog and the chart against the question, on save and again on read, so a catalog change fails visibly. Deleting someone else's widget needs project write access. Every change is audited.
  • f1f3eac: Remote and tunneled MCP servers with a ready identity chaining binding now obtain downstream access tokens from the signed-in user's identity provider (enterprise-managed authorization, Okta Cross App Access). Gram exchanges the user's retained ID token for an identity assertion grant, redeems it at the server's authorization server, and reuses the resulting token until shortly before it expires, so users are not asked to connect those servers one by one. An interactive connection still takes precedence, and servers without a binding keep their existing sign-in behavior.
  • 1f7f43a: Findings from MCP tool calls can now be revealed. Findings recorded before this change show "Evidence not stored" instead of an error.
  • d4567e4: Cross App Access readiness now reflects what identity chaining exchanges observe. A confirmed server reads Verified once an exchange succeeds, returns to Not confirmed when Okta rejects the target, and reads Not working when Okta refuses the scopes or the agent app's authentication, or the server's authorization server refuses Okta's assertion. A confirmation whose issuer URL does not match the server's authorization server now reads Not working until the mismatch is corrected, including existing confirmations and rows with an earlier successful exchange. Result changes are recorded in the audit log as okta-resource-connection:observe, and confirming again clears an earlier result.
  • dfe104d: Onboarding use cases and playbooks in the admin dashboard. Staff create use cases and playbooks on a new Use Cases & Playbooks page: a playbook is ordered top-level steps that belong to a use case, shared and possibly its default, or to one customer, never both, and every playbook is checked for prerequisites. An organization's Overview page shows its assigned playbook and links to the page scoped to that organization, where staff write it a playbook of its own or assign it a shared one, refused when the recorded stack does not support a step. A shared playbook is a template: assigning it gives the organization a copy of its own, so later edits to the shared playbook never reach an organization already on it. The onboarding survey assigns a use case's default playbook and the customer setup wizard walks the assigned one. The preset selection editor and its Admin API are gone, the Admin MCP diagnostics tool reports the assigned playbook instead, and the Admin MCP's onboarding write proposal assigns a playbook, by ID or by use case, in place of setting task visibility. Enable it with the assign_organization_onboarding_playbook write operation.
  • a49b065: Onboarding stack and step catalog in the admin dashboard. Staff record an organization's stack, meaning the vendors it uses with the organizational plan it is on for each and its device management, on the organization's Overview page; the vendor, plan and product lists come from the support matrix catalog, which now carries plans and files every product under its real vendor. Setup steps can nest one level under a group, whose status follows its cards: observability in other platforms and MCP distribution become groups over their cards. The catalog is mirrored into the database at start-up and shown read-only on a new Steps page, where a prerequisite links to its own row.
  • d4567e4: Add a read-only Platform MCP tool for administrators to inspect Cross-App Access readiness for an exact project and MCP server. The tool reuses dashboard readiness and visibility rules, respects the rollout flag, omits organization-wide details, and is unavailable to managed project assistants.

Patch Changes

  • 4f3428b: Add guarded staff Admin MCP proposals for chat-analysis settings, organisation access and global support-matrix updates, with browser approval, stale-state checks and replay-safe receipts. Audit dashboard organisation access changes and report currently executable write operations.
  • ebbc2af: Add guarded staff Admin MCP changes to a single organisation's SSO and SCIM setup entitlements, with exact-target browser approval, stale-state checks, retry-safe receipts and transactional audit logging. These changes allow or deny creation of setup portal links without returning those links, changing existing SSO connections or directory sync, or modifying membership, roles, billing or trials. Existing customer Platform MCP tools and demo data remain unchanged because these entitlements are staff-managed.
  • edfe794: Add guarded staff Admin MCP changes to a single organisation's demo-access whitelisting, with exact-target browser approval, stale-state checks, retry-safe receipts and transactional audit logging shared with dashboard whitelist-only writes. Refuse targets with any trial record in MCP, regardless of tier or lifecycle state, and disclose the existing base-tier notification effect. Account type, subscriptions, trial records and disabled state remain unchanged. This staff-only capability is not exposed through customer Platform MCP or demo tools.
  • 2242207: Expand staff Admin MCP with organisation discovery filters, global statistics, paged member lookup, billing status, bounded usage and spend detail, and safe registry inspection.
  • 1b91416: Allow staff Admin MCP proposals to enable or disable user-controlled remote-session auto-refresh only while enforced refresh is off. Preserve per-session preferences and require a new proposal if enforcement changes before approval or execution.
  • b177711: Staff can map Okta Integration Network applications to Gram-owned MCP catalog entries through the com.speakeasy.ai/okta metadata namespace. The registry validates the mapping, keeps each OIN application name on at most one entry, and returns the mapping to registry consumers as public catalog data.
  • b34e9dc: The staff registry editor proposes Okta application names for a catalog entry from the names observed across synced tenants, matched by vendor domain, title or tenant label, and lists observed names no entry claims yet. Proposals are confirmed by hand; nothing is applied automatically.
  • 93a523a: Add the okta_server_suggestion_dismissals table: per-organization dismissals of MCP server suggestions derived from the Okta applications snapshot.
  • 8687b99: Create or reuse plugins for application roles through best-effort event-driven setup. New organizations enable automatic role distribution by default, and auto-created plugins expose their origin without replacing existing names, contents, or audiences.
  • 94e8efa: Remove plugin assignments for deleted organization and global roles, including directory-synced role deletions, while preserving assignments for other roles and organizations.
  • f7ac7ee: Add a metadata-only list_chats tool to the Platform MCP for the external and managed-assistant audiences. It lists one project's chats over a bounded window with masked participants, risk presence, timestamps, message counts and opaque cursors, and never returns titles, message content or raw identities.
  • 224b842: Serve the hooks@0.3.32 binary to hook installations. Previously pinned releases stay available so installations that have not regenerated their bootstrap script can still install.
  • fcdd0ef: MCP-scoped risk policies now respect their audience. A policy targeted at specific users, roles, or agents no longer applies to other callers of a matching MCP tool.
  • 5c1ea91: Add observed exchange result columns to Okta resource connections.
  • 434b7af: Cap the prompt-injection and prompt-policy judges at 8192 completion tokens so OpenRouter stops refusing them with 402 when a key's remaining credit is below the model's full output ceiling. Credit refusals and truncated completions now fail open as insufficient_credits and truncated instead of generic errors.
  • 52bb406: Add a temporary staff-only control for enabling role-based plugin distribution per organization, with audited Admin MCP approval.
  • 07a8019: Allow toolset lookups for valid stored slugs longer than 40 characters.