Skip to content

python/v1.45.0

Choose a tag to compare

@gautamsirdeshmukh gautamsirdeshmukh released this 25 Jun 20:34
· 5 commits to main since this release
389c8fb

What's Changed (Python SDK)

✨ Features

  • feat(memory): support managed Bedrock knowledge bases in retrieve and ACL (shared with TS) by @notowen333 in #2909
  • feat(offloader): add search/grep support to Python retrieval tool by @lizradway in #2878
  • feat(bidi/openai): support image input via BidiImageInputEvent by @cagataycali in #2327
  • feat: implement MCP progress notifications in MCPClient by @joshwand in #2290
  • feat: make BedrockModel._format_request and _convert_non_streaming_to_streaming overridable by @celealramos in #2315
  • feat(models)!: support mistralai 2.x in Mistral provider (breaking: requires mistralai>=2.0.0) by @pgrayy in #2917

🐛 Fixes

  • fix: forward structured output request params for OpenAI Chat Completions by @gautamsirdeshmukh in #2944
  • fix: pass structured output request params by @he-yufeng in #2396
  • fix: support non-streaming OpenAI chat completions by @he-yufeng in #2400
  • fix: report OpenAI Responses cached tokens by @fengjikui in #2663
  • fix(openai-responses): surface cache read tokens in metadata chunk by @gautham18113 in #2555
  • fix(openai-responses): prevent tool list mutation across API calls by @xlyoung in #2551
  • fix(anthropic): bypass model_dump on content_block_stop by @chaynabors in #2953
  • fix(gemini): update GeminiModel to handle empty tools in Vertex AI mode by @pshiko in #1040
  • fix(ollama): avoid UnboundLocalError on empty model stream by @he-yufeng in #2823
  • fix(litellm): generate toolUseId when missing from provider by @chaynabors in #2949
  • fix: handle empty Bedrock content blocks by @he-yufeng in #2656
  • fix: include reasoning block with empty text and non-empty signature by @gaurav71531 in #2150
  • fix: preserve non-ASCII tool result text by @cyphercodes in #2653
  • fix: bound tool schema normalization recursion depth by @pgrayy in #2853
  • fix(tools): unwrap FieldInfo default to avoid pydantic warning by @chaynabors in #2955
  • fix(agent): stop idempotency waiters from blocking thread-pool workers by @BV-Venky in #2932
  • fix(agent): release invocation lock only in throw mode by @chaynabors in #2954
  • fix: consume orphaned task exception on stream cancellation by @mehtarac in #2916

♻️ Refactors

  • refactor(memory): type the Bedrock KB store's S3 client via boto3-stubs by @pgrayy in #2847
  • refactor(sandbox): inline tool prefixing into getTools implementations (shared with TS) by @gautamsirdeshmukh in #2806

🧪 Tests & Chores

  • fix(test): make gemini thinking-model tool-call integ test robust by @yonib05 in #2861
  • fix(test): retry flaky guardrail output-intervention test by @yonib05 in #2869
  • fix(test): raise timeout on multimodal swarm/graph integ tests to reduce flakiness by @yonib05 in #2871
  • ci(python): add timeouts and apt retries to test-lint workflow by @yonib05 in #2874
  • ci(python): revert mistralai upper bound to <2.0.0 by @chaynabors in #2900
  • ci: tighten dependabot versioning strategy by @chaynabors in #2899
  • docs(evals): updated examples to be async by @poshinchen in #2846

New Contributors

Full Changelog: python/v1.44.0...python/v1.45.0