mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
3 KiB
3 KiB
Changelog
[1.0.2] - 2026-10-04
[1.0.1] - 2026-10-03
Breaking Changes
OAuthClientProvider.clientMetadataUrlis replaced byclientMetadataDocument(metadata), which returns the document URL and its redirect URI per authorization server, orundefinedto register dynamically. It is called whenever no client information is stored, also when the server does not advertise support, and the document is no longer stored as client information (#10302)
Added
McpOAuthProviderOptions.clientMetadataDocument,OAuthCallbackServerOptions.extraPaths, and apathargument forOAuthCallbackServer.waitForCallbackthat rejects responses on other paths (#10302)
[1.0.0] - 2026-10-01
Added
- Added an
authorizationServerMetadataUrloption toauthorizeMcp()to use a configured authorization server metadata document instead of discovery (#10172). - Added an
issoption toauthorizeMcp(). The authorization code is only exchanged whenissnames the flow's authorization server, or is absent and the server's metadata does not setauthorization_response_iss_parameter_supported(RFC 9207). - Added
stepUpScope(), which combines the scopes of aninsufficient_scopechallenge with the scopes granted so far.
Fixed
- Fixed OAuth token and client registration responses with an empty or
nulloptional field (such as"scope": "") failing withInvalid scopeand similar errors; such fields are now treated as absent (#10266). - Fixed
expires_in: nullin a token response marking the access token as already expired. - Fixed invalid URLs in protected resource metadata aborting OAuth discovery instead of falling back to the MCP server's origin.
- Fixed an empty requested scope, from
scope=""in aWWW-Authenticatechallenge or an emptyscopes_supported, overriding the next scope source. - Fixed list pagination failing with a duplicate cursor error when a server ends pagination with
nextCursor: ""ornull. - Fixed step-up authorization in
adaptOAuthProvider()requesting only the scopes of theinsufficient_scopechallenge. The new token lost the scopes granted before, so other requests failed withinsufficient_scopeagain. Tokens now record their granted scope, which is the requested scope when the token response omitsscope.
[0.99.2] - 2026-09-30
Fixed
- Fixed
StreamableHttpTransportfailing every request on Cloudflare Workers withIllegal invocationby callingfetch, includingUnauthorizedContext.fetch, without a receiver (#10188)
[0.99.1] - 2026-09-29
[0.99.0] - 2026-09-29
Added
- Added a standalone MCP client with JSON-RPC lifecycle, tool discovery and calls, cancellation, progress, roots, stdio and Streamable HTTP transports, and an in-memory testing transport.