This release introduces a few new features, and includes improvements and bug fixes for the streamable transport. Notably, the default behavior of the streamable server transport is changed to disable streams resumption (see #580).
Behavior Changes
Stream resumption disabled by default. In the StreamableServerTransport, the default value of nil for the EventStore field now disables stream resumption, rather than defaulting to use an in-memory event store. Resumption is not desirable in many cases, particularly for servers that must serve a large number of users and/or streams.
If you want to enable resumption, set StreamableHTTPOptions.EventStore.
In general, we will avoid changing behaviors that may be relied upon by users, but in this case the old default was deemed to be an oversight/bug, and fixing it now will benefit future users.
API Additions
IOTransportis a new general-purpose transport constructed from anio.ReadCloserandio.WriteCloser(#444 ).ServerOptions.LoggerandStreamableHTTPOptions.Loggerenable server-side logging (#170).StreamableHTTPOptions.EventStoreenables stream resumption (#587).StreamableHTTPOptions.SessionTimeoutadds a timeout which, when set, causes idle sessions to be automatically closed (#499).
Experimental client-side oauth support
The auth package now includes experimental APIs when build with the mcp_go_client_oauth build tag. See auth/client.go for more details. These APIs may change before their official release.
New Contributors
- @atomAltera made their first contribution in #376
- @Adebayo120 made their first contribution in #555
- @jhrozek made their first contribution in #561
- @AdrielVelazquez made their first contribution in #566
- @appleboy made their first contribution in #567
- @RyoKusnadi made their first contribution in #563
- @TomCN0803 made their first contribution in #581
Full Changelog: v1.0.0...v1.1.0-pre.1