github mnfst/manifest manifest@6.11.0
manifest v6.11.0

15 hours ago

✨ Minor Changes

  • e30e0e9: Add global provider pages (ConnectProvider, ProviderDetail, AgentProviders tab) and lift provider connections from per-agent to user-scoped. Remove agent H1 header block from AgentDetail shell.
  • 21f0981: Tenant-canonical scoping: every resource now belongs to a tenant instead of a user. The user_providers table is renamed to tenant_providers (junction column user_provider_idtenant_provider_id), api_keys, email_provider_configs, and custom_providers are re-keyed by tenant_id, and the remaining user_id scope columns are dropped from routing/notification/playground tables (kept only as nullable created_by_user_id audit columns). Self-host operators querying the database directly should note the table/column renames; migrations run automatically on boot and abort with a clear message if orphaned rows are found (set MANIFEST_MIGRATION_FORCE=1 to delete them instead).

🐛 Patch Changes

  • e30e0e9: "View more" on a harness's recent messages now opens the global Messages log pre-filtered to that harness.
  • e30e0e9: The per-agent Overview now breaks usage down by provider (chart + provider filter), matching the global Overview.
  • e30e0e9: Restructure agent detail view into a horizontal-tabbed shell (Overview / Routing / Guardrails / Settings) with back-link navigation. Unify sidebar to a single global nav (Overview / Messages / Agents) rendered identically on every authenticated route; remove the agent-scoped MONITORING/MANAGE/RESOURCES sub-nav.
  • 7aa49e5: A newly added provider key no longer shows another key's usage on its connection page — per-connection analytics now attribute every message to the exact connection that served it, instead of grouping by provider, auth type, and label.
  • 19b9b9e: Add AWS Bedrock as an API-key provider using Bedrock Mantle's OpenAI-compatible endpoints. Bedrock vendor-prefixed model IDs now resolve model parameters, pricing, and capabilities through the underlying provider metadata while keeping the original Bedrock ID for inference.
  • 548a836: Fix Claude Code subscription routing for Anthropic Messages requests by capping Manifest-added cache_control markers at Anthropic's four-block limit, enabling the context_management beta header expected by recent Claude Code clients, and downgrading output_config.effort: "xhigh" when routing resolves to Sonnet.
  • e30e0e9: Custom providers now display their name and models consistently across Messages, Overview, graphs and cost tables — the literal "custom:" prefix is gone and names resolve on global pages too (the backend resolves them, so deleted providers degrade gracefully).
  • 550d2a4: Restore the "Add custom provider" button on the Usage-based page and use a dedicated modal for creating and editing custom providers
  • 30539c2: Deleting a custom provider can no longer leave orphaned key or routing data behind: the link between custom providers and their stored keys is now enforced by the database (with automatic cleanup of any pre-existing orphans), and creating or deleting a custom provider is atomic.
  • 8df85b4: Speed up global overview and Messages by collapsing overview usage timeseries queries and letting Messages load rows before exact totals/filter metadata.
  • fd5bc63: Connecting a provider right after creating your first agent no longer fails with "Tenant not found" for several minutes — newly created workspaces are now visible to the dashboard immediately. When a database migration fails on startup, the logs now show the real migration error instead of a misleading "Unable to connect to the database" retry loop.
  • e30e0e9: Add global dashboard with Overview, Messages, and Agents navigation for tenant-wide usage analytics.
  • e30e0e9: Local providers (sidebar tab, page and overview card) are hidden on cloud — they only apply to self-hosted installs.
  • 0efdb6b: Add Kiro IAM Identity Center start URL and region options to the subscription login flow.
  • e30e0e9: Fix token/cost limits never blocking (or alerting) when the server's timezone isn't UTC. computePeriodBoundaries/computePeriodResetDate built their window in UTC, but agent_messages.timestamp rows are stored in the process's local time — so on a non-UTC host the window's upper bound sat behind the stored rows by the TZ offset and the consumption SUM read ~0, meaning hard limits silently never tripped and threshold alerts never fired. Boundaries are now computed in local time (matching computeCutoff), via a new toLocalSqlTimestamp helper.
  • 2f2c8e1: Harden provider connection attribution and analytics before release. A subscription a user removed is no longer silently brought back by an agent's background re-registration. Pre-upgrade message history now attributes to the right connection for users who had the same provider on multiple agents. The dashboard overview keeps Playground traffic out of every card and chart consistently, and the provider-key cache is no longer bypassed on the proxy path.
  • 28dbedb: Provider connections lifted from per-agent keys now get clearer names (e.g. "from Agent A") instead of the bare agent name.
  • 3bb50ae: Provider migrations can now be rolled back without dropping connected providers.
  • ed58472: Removed the leftover savings/baseline cost tracking (database columns and proxy-side computation) now that the dashboard no longer shows savings.
  • e30e0e9: Removed the Subscription Savings card, chart, explainer and its API endpoints.
  • 97b401a: Rename the agent_provider_access table to agent_enabled_providers so the database, API routes, and dashboard all use the same "enabled providers" naming. The migration is a pure rename — no data is modified — and rolls back cleanly.
  • e30e0e9: Fix the post-create "Set up harness" modal showing the full harness picker instead of the harness you just chose. AgentGuard now refetches the agent list when the viewed agent changes, so a newly created agent's platform reaches the setup modal (previously the stale, source-less list left the platform unset whenever the agent was created from the always-present sidebar while another agent was open).
  • 2492e76: Harden the tenant-scoping upgrade for large production databases. The provider-lift migration now skips rows whose agent was already deleted instead of aborting the whole upgrade with a foreign-key error, and the multi-million-row agent-message attribution backfill runs as a throttled, resumable post-deploy job (npm run backfill:message-providers) instead of inside the boot transaction — so upgrading no longer holds a long lock on agent_messages.
  • d6748ad: Close a cross-tenant read path in message-detail logs (the llm_calls/agent_logs/tool_executions child queries are now tenant-scoped), and harden dashboard reliability: reject API keys past their own expiry from the auth cache, stop reporting routing-override saves that didn't persist, keep a demo-seed failure from aborting boot, and add a retryable error state to the connection page.
  • 8d7f916: Add a one-time "What we just shipped" dialog for existing users that announces global providers: connect a provider once across all harnesses, scope access per harness, and track subscription vs usage-based spend per provider and harness. Dismissal is remembered locally.

Don't miss a new manifest release

NewReleases is sending notifications on new releases.