v2.2.0
Base UI, a slimmer setup, and error reporting you can switch on
Every React component now runs on Base UI, seven init-time questions became plain config values you can change any time, and error reporting is one flag away. Nothing here needs a migration - update, answer anything `update` asks, and carry on.
Features
- Every UI component moved to Base UI, bringing better keyboard and screen-reader behaviour across dialogs, menus, tabs, selects and the rest
- Error reporting is a config flag - turn on `observability.sentry` and your server, website and desktop app report errors, with nothing loaded until you do
- Seven setup questions are gone - social logins, billing scope, email analytics, built-in AI, user API keys, the MCP server and the desktop release trigger are all plain config values you edit whenever you like
- The outward MCP server ships to every project behind a config gate, so you can expose your app to AI agents without regenerating
- Desktop projects always ship the AI stack, switched on or off by config rather than fixed at setup
Fixes
- Desktop releases only ever happen when you start one - no merge can publish installers or spend your Actions minutes
- `update` no longer resets choices behind your back - organization billing and email-tracking-off now ask first, and a pre-split project keeps its AI billing mode
- Onboarding can no longer be skipped by belonging to an organization, and both frontends now agree on when to show it
- Admin pages render again where a menu heading could crash them, and row-action menus size to their content instead of wrapping onto two lines
- A desktop app with AI switched off ships no terminal dependency and refuses the daemon transport outright
- Email open tracking no longer counts inbox prefetches as opens
Performance
- The MCP server and error-reporting SDK load only when enabled, so projects with them off pay nothing at startup