Release v2.35.0
What's Changed
- fix(score): a server that requires OAuth reported a raw error instead of prompting by @chelojimenez in #3727
- feat(slack): org settings — capability enforcement, channel bindings, and the UI by @chelojimenez in #3720
- SDK runs in the UI — MVP: unified runs table, activation quickstart, terminal run URLs by @chelojimenez in #3722
- Document eval run/status View: link in CLI CI guide by @mintlify[bot] in #3728
- fix(chat): keep a usable model selected when switching to Your Providers by @olartgabo in #3437
- fix: cap host-compat icon overflow and stop evals header from starving toolbar space by @ZeHuari in #3709
- web: add OG/Twitter meta tags for caniuse.dev landing page by @ZeHuari in #3729
- fix(evals): make check pass/fail legibility and failed-check detail impossible to miss by @olartgabo in #3721
- rename(nav): "Connect" -> "Servers" (PUR-1) by @olartgabo in #3724
- feat(playground): default guests to a 3-client compare lineup, drop the toggle (PUR-11) by @olartgabo in #3725
- Update multi-host compare docs for new default behavior by @mintlify[bot] in #3739
- changesets by @ignaciojimenezr in #3740
- [codex] restore local Skills Connect chrome by @chelojimenez in #3736
- feat(swarms): run-detail redesign, insights rail, and create-flow fixes by @chelojimenez in #3733
- fix(playground): name Excalidraw in the send-hint copy (PUR-6) by @olartgabo in #3723
- feat(analytics): enable Web Analytics pageviews on caniuse.dev / score.mcpjam.com by @chelojimenez in #3743
- feat(settings): an Integrations surface, and GitHub Checks moved under it by @chelojimenez in #3745
- add multi-surface agent core and Discord app by @chelojimenez in #3734
- [codex] complete platform bootstrap and eval parity by @chelojimenez in #3735
- feat(user-testing): rebuild the Chatbox surface as scenario list → detail by @chelojimenez in #3748
- fix(connection): keep the server name visible in the detail modal header by @nachocossio in #3750
- feat(user-testing): create a scenario from a route, and give Swarms the same by @chelojimenez in #3752
- SDK parity: CLI bindings + ratchet, one error translator, and docs that match 3.0 by @chelojimenez in #3754
- environments: groundwork for unnamed ad-hoc rows, and an actionable resolve error by @chelojimenez in #3756
- Pull request for mintlify/docs-update-pr-3756-1786059581293 by @mintlify[bot] in #3758
- feat(user-testing): address a scenario by its chatbox id, not its host by @chelojimenez in #3761
- fix(model-picker): hide provider headings with no search matches by @olartgabo in #3712
- feat(evals): consolidate Evaluate + Runs into one surface under /evals by @chelojimenez in #3763
- feat(user-testing): create a scenario by publishing an environment by @chelojimenez in #3765
- fix(tests): freeze clock in host-comparison verified-date test by @SebasKoria in #3767
- feat(user-testing): agent tools address environments and scenarios by @chelojimenez in #3768
- feat(swarms): statline + Sankey-hero insights layout with drill-through panel by @chelojimenez in #3769
- fix: surface spend-precheck denial as RATE_LIMITED by @Christian-Sidak in #3749
- fix(model-picker): stop weak fuzzy matches from surviving row-level search by @olartgabo in #3766
- fix(oauth): reveal full guide step descriptions on expansion by @joenermunch in #3741
- fix(playground): say "no server connected" in the Tools panel by @olartgabo in #3771
- feat(user-testing): one promote-to-eval affordance across surfaces by @chelojimenez in #3762
- Migrate the mcp/ worker to the v2 MCP SDK (stateless dual-era) by @chelojimenez in #3760
- fix(user-testing): tell a visitor a scenario was archived, not that we broke by @chelojimenez in #3777
- Document chatbox archived environment error messages by @mintlify[bot] in #3778
- fix(analytics): tag deployment/source, fix environment clobber, forward anon PostHog id on signup by @chelojimenez in #3779
- feat(settings): a Discord card on the Integrations page by @chelojimenez in #3780
- Fix/bugs 22 false detach on clear by @nachocossio in #3744
- Cut over Slack integration settings to the org-level Slack bot (PR-I1) by @chelojimenez in #3781
- feat(byok): link to org models from the model picker by @olartgabo in #3774
- Rename Connect nav back and drop Environments strip by @chelojimenez in #3783
- Update "Servers tab" → "Connect tab" in docs by @mintlify[bot] in #3784
- fix(discord): normalize history once, oldest-first (A1) by @chelojimenez in #3785
- fix(sentry): tag packaged Electron builds as prod, not dev by @ignaciojimenezr in #3792
- fix(sidebar): stop the project switcher flickering and bouncing off settings by @olartgabo in #3793
- fix(sidebar): drop the guest sign-in button from the footer by @ignaciojimenezr in #3794
- fix(settings): stop the Organization tab from rebuilding the page by @olartgabo in #3795
- docs: refresh README by @chelojimenez in #3790
- fix(discord): derive a stable thread key and pin the binding (A2) by @chelojimenez in #3788
- Surface-map program: auth fixes, public journey/scenario API, Discord correctness, drift ratchets, docs by @chelojimenez in #3791
- Quality foundations: plug the error/quality loop (PR-1 through PR-5, E1/E2) by @chelojimenez in #3789
- feat(sdk): retarget plugin-bundle parser to Agent Plugins 1.0 by @chelojimenez in #3797
- fix(e2e): stabilize sidebar-rail-alignment against async remount races by @chelojimenez in #3800
- fix(chatbox): preflight the ephemeral sandbox before provisioning (billable-orphan fix) by @chelojimenez in #3799
- fix(surface-core): give runTurnForEvent the durable-claim correctness the Slack fork has always had (B1) by @chelojimenez in #3801
- fix(analytics): bundle PostHog replay/surveys/exception extensions instead of lazy-loading by @chelojimenez in #3804
- feat(plugins): fetch the backend bundle on a local cache miss by @chelojimenez in #3806
- feat(surface-core): channel-binding cache, wired into Discord's resolver (B2) by @chelojimenez in #3803
- refactor(plugins): attribute a turn's plugins in one probe call by @chelojimenez in #3809
- fix(surface-core): timeout, error-code mapping and a real JSON-parse guard for the direct connect-link mint (B3) by @chelojimenez in #3808
- feat(computers): label swarm/eval/user-testing computer execution as cloud-only (PR 2) by @chelojimenez in #3805
- fix(analytics): serve the PostHog relay on an edge-safe /tlm alias by @chelojimenez in #3810
- feat(computers): local computer engine core — kill switch, engine resolver, consent capability, local bash (PR 3) by @chelojimenez in #3812
- fix(analytics): route /array remote config to the ingest host; bundle web-vitals by @chelojimenez in #3816
- feat(computers): config endpoint reports per-engine availability and the personal/ephemeral capability split (PR 4) by @chelojimenez in #3815
- feat(agent-surfaces): finish the maintainable-code workstream — B4-B7 by @chelojimenez in #3817
- fix(discord): preserve replies across redelivery, dedupe unlinked prompts by @chelojimenez in #3819
- feat(plugins): implement the ${PLUGIN_DATA} writable data directory by @chelojimenez in #3814
- Only offer protocol versions the client can actually be pinned to by @ignaciojimenezr in #3786
- fix(discord): register slash commands globally so every server gets /mcpjam by @chelojimenez in #3822
- Feat/kes 199 rewind branch on edit by @nachocossio in #3742
- Shared environment composer: one setup strip for Swarms, Evals and User Testing by @chelojimenez in #3820
- feat(plugins): open the plugin surface to guests; tracked uploads by @chelojimenez in #3824
- feat(computers): client engine foundation — parser, engine storage, useComputerEngine, server-backed consent (PR 5) by @chelojimenez in #3818
- feat(environments): connect stdio servers on local web-route turns by @chelojimenez in #3826
- feat(user-testing): make scenarios editable — name the ad-hoc environment, rename inline by @chelojimenez in #3829
- feat(discord): org settings page for binding Discord channels to projects by @chelojimenez in #3830
- feat(computers): Computer tab "This machine" face + engine toggle + WebMCP refusal (PR 6) by @chelojimenez in #3827
- feat(environments): declare the local runtime venue on environment resolution by @chelojimenez in #3834
- fix(discord): register the org settings route so the page is reachable by @chelojimenez in #3837
- feat(user-testing): bring back the live Preview of a scenario by @chelojimenez in #3832
- fix(surface): show each surface only its own activity, and share the tab strip by @chelojimenez in #3840
- feat(user-testing): edit a scenario's setup from the header — composer + rebind by @chelojimenez in #3836
- fix(surface): retry the failed page, and stop reading Slack's actor key elsewhere by @chelojimenez in #3842
- Tighten User Testing scenario Edit: shared header, docked preview, se… by @chelojimenez in #3844
- Fix the chatbox / User Testing session identity protocol by @chelojimenez in #3847
- feat(computers): local computer engine endgame — playground polish, local terminal, launch prep by @chelojimenez in #3845
- test(sdk): Agent Plugins 1.0 conformance suite + plugins docs rewrite by @chelojimenez in #3838
- feat(plugins): chatbox plugin provenance, worker plugin read tools, httpVariant transport mapping (Track A) by @chelojimenez in #3841
- feat(computers): dark-launch the local engine behind a local-computer-enabled flag by @chelojimenez in #3851
- fix(mcp): add the DO delete-class migration to the production env by @chelojimenez in #3853
New Contributors
- @Christian-Sidak made their first contribution in #3749
- @joenermunch made their first contribution in #3741
Full Changelog: v2.34.0...v2.35.0