← All changes

SummerCMS 0.5.2

v0.5.23 min readFramework

Highlights

SummerCMS 0.5.2 lets an MCP OAuth agent use the scopes a plugin declares, and lets a tool call see which subject invoked it. sm-user-plugin v0.1.16 applies read and write as implied scopes for OAuth subjects only. sm-oauthserver-plugin v0.1.4 stores one consent per MCP client, replaces it on a later allow, and backfills live grants. vue-oauth-layer v0.1.0 is the /connect page for that consent. Together these versions close the three gaps sm-servers-app needs before MCP OAuth can be switched on: the same tool list as a personal token, attribution of the caller, and per-client revoke.

Added

  • One MCP scope list. Plugins publish member-token scopes, the OAuth server advertises that list (optionally filtered), and the protected-resource metadata uses the same names. An empty list still means the five fixed scopes, including backend. OIDC discovery is unchanged.
  • An MCP call on the request context: guard, user, client, token, scopes, session and tool. A request that is not an MCP tool call has none.
  • A pending consent view reports whether offline access was requested.
  • sm-user-plugin v0.1.16 expands a declared scope when an OAuth grant holds the read or write that the scope marks as implied. A personal token is not expanded, write does not imply read, and the stored subject scopes stay as issued. The dispatch credential still carries the personal token id.
  • sm-oauthserver-plugin v0.1.4 records MCP consent per client, shows scope details on the consent JSON, marks authorizations as mcp or oidc, and backfills a consent for each live grant. A second migrate inserts nothing.
  • vue-oauth-layer v0.1.0 renders /connect from that JSON: checkboxes, read locked, the administrator named as text, and a refetch when the backend link changed. The layer's git remote is not published yet, so an app cannot pin the tag until that repository exists.

Changed

  • A later MCP allow replaces the stored consent scopes. It does not merge them with the previous grant.
  • Unticking offline access clears that flag on the issued code. Omitting the scopes field leaves the pending flag as it was.
  • Revoking an authorized MCP client deletes its unused code and leaves the user's other clients in place.
  • sm-oauthserver-plugin v0.1.4 requires SummerCMS v0.5.2 and sm-user-plugin v0.1.16.
  • sm-user-plugin v0.1.16 is not a descendant of v0.1.15. It does not include the missing-scope and missing-permission fields from that tag. Build it with SummerCMS v0.5.2; its go.mod still states v0.5.0 and selects the newer framework only when the application does.

Fixed

  • A hidden relation field or partial field no longer keeps its routes after it is removed from the form.
  • Record events fire when a hasMany child is linked, unlinked, or attached from a deferred commit, and the event locale is the request locale's primary tag.
  • A widget action dispatched while the widget connects is delivered.
  • Uploading through a form extension follows that extension's visibility.
  • A required field that belongs to a form extension is checked on the extension's own value, so saving the host form no longer fails on a rule the owner model cannot satisfy.
  • The additive API check compares the new release with the previous one after the tree is tagged.
Subscribe via RSS