v1.3.0
Bug Fix Release — 19 bugs resolved
Critical
- gRPC adapter used input descriptor for response deserialization — all gRPC calls returned wrong/empty results
High (7)
- Prompt handler called under RLock — deadlock risk
- OpenAPI query params not URL-encoded; body fields always sent as strings
- Self-referential structs caused infinite recursion in schema generator
[]Structslices generated wrong item schemaSetMaxConcurrentTasksorphaned in-flight tasksAsyncToolFunccorrupted existing sync tools with matching base name
Medium (10)
notifyFndata race betweennotify()andHandler()- Completed async tasks never evicted (memory leak)
- HTTP transport silently truncated oversized bodies
- stdio transport
appendcould mutate handler's returned slice mcptest.Clientpanicked on nil returns / missing map keysToolFuncdidn't validate function signature types- Handler returning
(nil, nil)produced protocol-violating null result watchDirgoroutine leaked on shutdown- Deleted YAML files left zombie tools registered
provider.goHTTP client had no timeout
Low (1)
- Multiple
Handler()calls overwrote notification function
Full Changelog: v1.2.0...v1.3.0