What's Changed
- feat: allow multi-user servers to have user-defined headers by @thedadams in #6469
- chore: update user-ui pnpm@v11.x+ by @ivyjeong13 in #6482
- fix: filter out coming soon model providers by @ivyjeong13 in #6517
- Add user-configurable MCP startup timeouts by @calvinmclean in #6399
- chore: add build step for helm chart by @thedadams in #6521
- chore: migration from nanobot-ai/nanobot to obot-platform/nanobot by @thedadams in #6527
- fix: ensure user has access to mcp-connect URL by @thedadams in #6528
- Add workflow to post user-reported security advisories to Slack by @cjellick in #6536
- Revert "Add workflow to post user-reported security advisories to Slack" by @cjellick in #6537
- fix: allow access to mcp-connect URLs with extra path by @thedadams in #6539
- fix: allow users to access system MCP servers by @thedadams in #6541
- fix: indicate when multi-user server needs configuration by @thedadams in #6538
- fix: only create multi-user MCP after user config by @thedadams in #6535
- chore: update dependabot alerted packages by @ivyjeong13 in #6540
- fix: move published artifacts authorization out of API layer by @thedadams in #6542
- feat: add
obot scanto inventory local AI client config by @njhale in #6530 - docs: overview: provide more information about authentication by @g-linville in #6546
- docs: add bootstrap token to overview by @g-linville in #6549
- fix: ensure passthrough headers are always set for multi-user servers by @thedadams in #6532
- feat: add OAuth debug information to the UI by @thedadams in #6526
- fix: correct backgrounds for scanned config files by @njhale in #6560
- feat: add ability to reauthenticate oauth flows in the UI by @thedadams in #6557
- fix: display a better error message for multi-user MCP servers by @thedadams in #6552
- fix: audit logs filters fix & server instances link fix by @ivyjeong13 in #6533
- fix: change login route to /mcp-servers & sidebar navigation layout adjustment by @ivyjeong13 in #6566
- enhance: make dynamic client expiration configurable by @thedadams in #6570
- fix: deep-link scan observations by row id instead of slice index by @njhale in #6574
- fix: prefer catalog token, try anonymous otherwise by @calvinmclean in #6573
- feat: Replace Ollama with generic provider by @calvinmclean in #6522
- feat: External Secret Integration for MCP Servers by @calvinmclean in #6484
- chore: dependabot updates for ui by @ivyjeong13 in #6581
- enhance: additional device management pages by @ivyjeong13 in #6562
- enhance: store CLI auth tokens in OS keychain by @g-linville in #6582
- chore: add OAuth client expiration configuration to docs and chart by @thedadams in #6585
- fix: remove configs from Connect To Server & reference doc links by @ivyjeong13 in #6597
- feat: add setup and skills commands to Obot CLI by @g-linville in #6599
- fix: move StartupTimeoutSeconds to compatible runtimes by @calvinmclean in #6576
- fix: default timeout for startupTimeoutSeconds by @calvinmclean in #6607
- chore: cleanup from nanobot ui to obot & branding page update by @ivyjeong13 in #6472
- feat: Add ServerUserType by @calvinmclean in #6587
- chore: drop gemini image generation by @njhale in #6613
- feat: add OAuth walk-through debugger by @thedadams in #6575
- enhance: add Cursor support to
obot setupby @g-linville in #6614 - enhance: separate resource requests for agents, remotes, and others by @thedadams in #6611
- fix: ensure oauth-protected-resource endpoints have correct content-type by @thedadams in #6617
- fix: branding page configuration labels by @ivyjeong13 in #6612
- feat: manage image pull secrets in Obot by @g-linville in #6567
- fix: issues with UI and behaviors for secret binding by @calvinmclean in #6605
- enhance: add nanobot agent resources to APIs by @thedadams in #6622
- enhance: add non-interactive mode to
obot setupby @g-linville in #6621 - chore: dependabot package bumps by @ivyjeong13 in #6619
- chore: add missing types to deployment encryption config by @thedadams in #6628
- feat: Run Obot local with local K8s backend by @calvinmclean in #6331
- fix: make image pull secrets UI not broken by @g-linville in #6636
- chore: remove legacy chat from ui by @ivyjeong13 in #6615
- chore: remove legacy APIs and types by @thedadams in #6642
- chore: simplify by removing extraEnv and extraEnvFrom settings by @drpebcak in #6648
- fix: support existingSecret for custom encryption init by @cloudnautique in #6626
- docs: add docs for resource requests/limits for catalog entries by @thedadams in #6646
- chore: ci: set up quill signing and notarizing by @g-linville in #6645
- fix: font-family consistency in Device Scan related pages by @ivyjeong13 in #6653
- chore: ci: remove quill test step by @g-linville in #6655
- chore: update nanobot image to v0.0.81 by @calvinmclean in #6656
- enhance: include cowork skills and plugins in claude desktop scan results by @njhale in #6654
- fix: ci: download quill in a temp dir by @g-linville in #6657
- fix: incorrect View Diff shown for up-to-date MCP servers by @calvinmclean in #6635
- chore: remove unused MCPSession object by @thedadams in #6651
- fix: detect external tools by @thedadams in #6662
- fix: include defaults when hashing Kubernetes settings by @thedadams in #6660
- enhance: use local IPs in docker backend by @thedadams in #6667
- fix: ui: disable test button for invalid image pull secrets by @g-linville in #6672
- fix: strip metadata from composite component manifests in View Diff by @calvinmclean in #6671
- feat: make obot scan preview results by default by @njhale in #6674
- chore: remove more legacy APIs by @thedadams in #6675
- fix: give auditors read-only access to image pull secrets by @g-linville in #6679
- fix: ui: image pull secrets: increase contrast in ECR JSON policies by @g-linville in #6676
- chore: restore encryption config key in docs by @thedadams in #6681
- fix: ui: improve text when static image pull secrets are configured by @g-linville in #6682
- fix: add sorting and filtering to device management tables by @njhale in #6673
- fix: ensure the www-authenticate header is returned on the MCP path by @thedadams in #6686
- feat: obot-cli page, skills page & obot-cli banner by @ivyjeong13 in #6678
- chore: hide obot scan --device-id flag by @njhale in #6690
- fix: ui: image pull secrets: condense buttons into menu by @g-linville in #6685
- fix: llm token usage by @njhale in #6699
- enhance: improve obot setup to support ~/.agents by @g-linville in #6687
- chore: log 500-level API errors by @thedadams in #6702
- chore: make MCP JWT audience validation strict by @thedadams in #6706
Full Changelog: v0.21.1...v0.22.0-rc1