- Added on-demand MCP tool discovery.
- Improved MCP tool exposure and related AI/MCP backend flows.
- Simplified MCP OAuth token lifecycle.
- New MCP OAuth grants now issue a long-lived access token without a refresh token.
- MCP OAuth metadata now advertises authorization_code only for the MCP resource.
- Existing MCP access tokens are migrated to non-expiring storage.
- Legacy MCP refresh tokens can be exchanged one final time into a long-lived access token without receiving a new refresh token.
- Updated OAuth authorization listing and Settings > OAuth Applications for MCP no-expiry / no-refresh behavior.
- Refactored backend OAuth token and authorization lifecycle logic into a dedicated module.
- Updated internal project memory artifacts.