Changelog
New features
- Agent Skills: Introducing the
Skillsclass, enabling you to extend your Agents’ capabilities by providing specific skills, as defined by Anthropic’s Agent Skill specification. See the docs. - Dynamic headers for MCP: You can now pass a
header_providerfunction to your MCPTools instances to generate dynamic headers when calling MCP tools. This is useful for headers that need to change based on context e.g. authorization tokens or user ids. See the docs.
Improvements:
- Reasoning models: enable native reasoning for the following reasoning models:
- OpenAI GPT-5.1 and 5.2 models
- New Gemini 3, 3.5 and deepthink model
- New DeepSeek r1 and reasoner models.
- JWT Middleware Audience: Allow setting of the expected
audiencefor checking - MCP transport default: The
MCPToolsclass now defaults toStreamableHttpas transport when connecting to external MCP servers. - Postgres DB: Updates to the database session pooling logic and handling of illegal characters in any strings to store.0
- A2A Remote Agents: Added support for
a2aprotocol when using remote agents. The also means Google ADK agents can be used with AgentOS as remote running agents. This feature is still in beta. See the docs.
Bug Fixes:
- Chunking: Fixed paragraph and newline splitting in chunking strategies.
- Early Termination in Workflows: Propagate
stopflag from primitive inner steps to workflow - Context compression for OpenAIResponses: Update our
CompressionManagerto work properly with any model using theOpenAIResponsesAPI.
What's Changed
- [fix] Added vllm to be included to remove unsupported fields by @mishramonalisha76 in #5848
- [docs] Fix broken link to evals/performance in README by @ppippi-dev in #5854
- fix: a typo in cookbook by @crazyss in #5875
- fix: propagate stop flag from primitive inner steps to workflow by @pengwk in #5868
- fix: Split text before clean_text [SDK-411] by @harshsinha03 in #5900
- [feat] Add the audience parameter to the JWTMiddleware constructor by @poneding in #5685
- feat: consider new reasoning models by @manuhortet in #5910
- feat: default to streamable-http transport in MCPTools if url is present by @manuhortet in #5903
- fix: Various Postgres fixes by @dirkbrnd in #5851
- fix: handle Function type in CompressionManager, for OpenAIResponses by @manuhortet in #5870
- feat: add A2AClient and cookbooks by @uzaxirr in #5614
- feat: dynamic headers for MCP tools by @bhatt-neel-dev in #5655
- feat: add skills system with local loader and agent integration by @uzaxirr in #5890
- fix: rm redndant cookbook by @uzaxirr in #5918
- chore: v2.3.22 by @manuhortet in #5914
New Contributors
- @ppippi-dev made their first contribution in #5854
- @crazyss made their first contribution in #5875
- @pengwk made their first contribution in #5868
- @poneding made their first contribution in #5685
Full Changelog: v2.3.21...v2.3.22