Skip to content

v26.09.0 — Pydantic AI 2 and portable model options

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 05:49
· 7 commits to main since this release
e7d9964

Firefly Agentic 26.09.0 upgrades to Pydantic AI 2.51 and adds portable model configuration while preserving existing OpenAI Chat Completions behavior.

Highlights

  • Use the same Firefly agents, tools, memory, and output schemas with Chat Completions, Responses, and other supported providers.
  • Configure common and provider-dependent behavior through typed ModelOptions, including reasoning, token limits, parallel tool calls, response storage, and verbosity. Unsupported combinations raise explicit errors.
  • Select Responses with openai-responses: or azure-responses:. Existing openai: and azure: prefixes retain Chat Completions routing.
  • Preserve streaming conversation history and reasoning state, isolate result caches by API/options, and retain API selection through fallback and evaluation.
  • Fix repeated synchronous calls with pooled HTTP connections and database memory lifecycle, JSONB metadata, expiry dates, and SQLite connection cleanup.
  • Refresh documentation, tutorials, and executable examples, including complete local artifact and software-factory workflows.

Compatibility

Requires Python 3.13 or newer and Pydantic AI >=2.51.0,<3. The default model remains unchanged. The optional evaluation extra uses Ragas 0.2.6 and LangChain Community 0.3.x because newer combinations conflict with the upgraded SDK or modify asyncio during import.

See the migration guide and example catalogue.

Verification

The full local suite passed 2,541 tests. Eighteen live-provider tests skip without credentials; local PostgreSQL and HTTP tests use real services, while provider compatibility tests exercise actual SDKs with controlled responses. Lint, type checking, strict documentation builds, package builds, and an isolated installed-wheel smoke test also passed. Deployed MongoDB and Redis were not exercised.

The attached wheel and source archive use the normalized Python package version 26.9.0.

Full changelog