v1.1.8 — Pydantic AI v2, Dependabot, CI hardening
First stable release since v1.1.5. Upgrade directly from v1.1.5 to v1.1.8 — v1.1.6 and v1.1.7 were tagged but shipped broken and are superseded by this release (details below).
Highlights
- Pydantic AI v2 migration. Moved from pydantic-ai 1.x to 2.10.
OpenAIModel→OpenAIChatModel, and the MCP layer now usesMCPToolsetover explicitStdioTransport/StreamableHttpTransport. MCPsampling.toolsadvertisement is preserved (pydantic-ai v2 still ships a bareSamplingCapability(), so it's re-enabled explicitly). - Dependency automation. Added Dependabot config covering the uv, GitHub Actions, and Docker ecosystems, plus the first batch of resulting updates (5 production dependency bumps, 8 GitHub Action major versions).
- CI hardening. Test matrix across Python 3.11–3.13, and a new smoke step that boots the app and fetches a static asset — catching runtime-only "server starts but can't serve the UI" failures that unit tests miss.
Fixes folded in
- MCP chat startup crash (regression from the v2 migration): the sampling wrapper referenced a pydantic-ai v1 attribute that
MCPToolsetdoesn't have, so any configured MCP server raisedAttributeErroron chat start. Sampling errors now render correctly too (v2 returnsErrorDatarather than raising). - Broken UI on Python 3.14: the 3.14 base image shipped an app whose static assets all returned HTTP 500 (
anyio.NoEventLoopError, an upstream chainlit issue). Reverted topython:3.13-slimand cappedrequires-pythonto<3.14.
Docker
docker pull ralforion/orionbelt-chat:1.1.8 # or :latest
Runs on Python 3.13.
Full changelog: v1.1.5...v1.1.8