This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
ReleasePort's take
Light signalagno v2.6.9 patches Claude variant parameter handling for deterministic output across platforms and fixes PgVector/Gemini integration bugs. Post-hooks now expose approval records for workflow automation.
Why it matters: Claude parameter fix enables reproducible LLM output when temperature/top_p/top_k=0 across all variants. Tool call leak fix prevents unintended agent behavior. Routine upgrade; test search queries and tool interactions in staging.
Summary
AI summaryUpdates Bug Fixes, New Features, and cookbook across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Post-hooks expose full resolved approval record via metadata Post-hooks expose full resolved approval record via metadata Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Dependency | Medium |
Chonkie dependency bumped to version >=1.6.7 Chonkie dependency bumped to version >=1.6.7 Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Claude variants honor temperature/top_p/top_k=0 for deterministic output Claude variants honor temperature/top_p/top_k=0 for deterministic output Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
GeminiInteractions stops leaking server-side tool calls to agent path GeminiInteractions stops leaking server-side tool calls to agent path Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
decision_log removes deprecated datetime.utcnow() call decision_log removes deprecated datetime.utcnow() call Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
PgVector prefix_match=True enables partial full-text search matching PgVector prefix_match=True enables partial full-text search matching Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
PgVector empty query fallback uses literal cast for consistency PgVector empty query fallback uses literal cast for consistency Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Low |
decision_log replaces deprecated datetime.utcnow() with timezone‑aware now decision_log replaces deprecated datetime.utcnow() with timezone‑aware now Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Refactor | Medium |
Calendar and Gmail providers refactor instruction layering Calendar and Gmail providers refactor instruction layering Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
Changelog
New Features:
- Approvals - Resolved Approval in Post-Hooks: Post-hooks and observability integrations can now read the full resolved approval record (
resolved_by,resolved_at, etc.) viarun_response.metadata["approval"]. Previously onlystatusandresolution_datawere exposed. Lives inmetadataso it works uniformly acrossRunOutput/TeamRunOutput/ futureWorkflowRunOutput. (#7366, #8032)
Improvements:
- PgVector - prefix_match=True actually works:
PgVector(prefix_match=True)was a silent no-op - it appended*then routed throughwebsearch_to_tsquery, which ignores wildcards. Now routes throughto_tsquery('tok:*')with proper tokenization, so partial queries like"ani"FTS-match"animal"as documented. New cookbookcookbook/07_knowledge/04_advanced/06_prefix_search.pyshows the help-center typeahead use case. (#8048, #8051, #8052) - PgVector - empty-tsquery fallback robustness: Replaced the
to_tsquery(language, '')fallback with a literal''::tsquerycast so behavior no longer depends on the parser tolerating empty input. (#8053) - Claude variants - temperature/top_p/top_k = 0 honored: Anthropic, AWS, and VertexAI Claude variants were silently dropping
0.0values due to bare truthiness checks. Switched tois not Noneso deterministic output works as intended. (#8009, fixes #8004) - Calendar & Gmail context providers - clean instruction layering: Trimmed
DEFAULT_READ_INSTRUCTIONS/DEFAULT_WRITE_INSTRUCTIONSfrom 157 lines to 27 by removing content already supplied by the toolkit-side instructions. Provider now owns role + safety; toolkit owns the technical reference. (#7982) - decision_log - drop deprecated
datetime.utcnow(): Replaced withdatetime.now(timezone.utc)to clear the Python 3.12 deprecation warning. (Closes #8030) - Chonkie: Bumped to
>=1.6.7to pick up the upstream language auto-detection fix; removed the temporary test workarounds from #7904. (#8012)
Bug Fixes:
- GeminiInteractions - server-side tool calls leaking onto the agent path: On the agent path (Antigravity, Deep Research),
FunctionCallSteps describe tools the autonomous loop runs inside the server-managed sandbox. Previously we surfaced them as localtool_calls, leading toFunction <name> not foundand follow-up400 invalid_requesterrors. Gated theFunctionCallStepbranch onself.agent is Nonefor both streaming and non-streaming. Model path with user-declared tools is unchanged. (#8045) - Claude (Anthropic / AWS / VertexAI) -
temperature=0silently dropped: See Improvements. Every prior release silently fell back to API defaults (~1.0) when callers explicitly set0. (#8009, fixes #8004)
What's Changed
- [FIX] Add UTM parameters to links in README by @kyleaton in https://github.com/agno-agi/agno/pull/8010
- chore: bump chonkie to
>=1.6.7by @sannya-singal in https://github.com/agno-agi/agno/pull/8012 - cookbook: data_labeling on Gemini + quality review as Workflow by @ashpreetbedi in https://github.com/agno-agi/agno/pull/8024
- feat: expose resolved approval record to post-hooks via metadata by @brandon-agsys in https://github.com/agno-agi/agno/pull/7366
- refactor: move resolved approval from typed field to metadata bag by @ysolanky in https://github.com/agno-agi/agno/pull/8032
- cookbook: image search demo on Gemini + AgentOS by @ashpreetbedi in https://github.com/agno-agi/agno/pull/8035
- fix: replace deprecated datetime.utcnow() with datetime.now(timezone.utc) in decision_log.py by @Ghraven in https://github.com/agno-agi/agno/pull/8031
- fix(pgvector): make prefix_match=True actually do prefix matching by @ashpreetbedi in https://github.com/agno-agi/agno/pull/8048
- [cookbook] Fix Google Calendar spelling by @lil-goat in https://github.com/agno-agi/agno/pull/8047
- fix: use is not None for temperature/top_p/top_k across all Claude variants by @VANDRANKI in https://github.com/agno-agi/agno/pull/8009
- cookbook: swap image_search from ChromaDb to PgVector by @ashpreetbedi in https://github.com/agno-agi/agno/pull/8036
- fix(pgvector): use literal empty tsquery for hybrid_search fallback by @ysolanky in https://github.com/agno-agi/agno/pull/8053
- cookbook: enable prefix_match=True on image_search PgVector by @ashpreetbedi in https://github.com/agno-agi/agno/pull/8052
- refactor: simplify Calendar and Gmail context provider instructions by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7982
- cookbook: add pgvector prefix_match example and improved comments by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/8051
- fix: skip server-side tool calls on GeminiInteractions agent path by @ysolanky in https://github.com/agno-agi/agno/pull/8045
- chore: Release v2.6.9 by @kausmeows in https://github.com/agno-agi/agno/pull/8042
New Contributors
- @brandon-agsys made their first contribution in https://github.com/agno-agi/agno/pull/7366
- @Ghraven made their first contribution in https://github.com/agno-agi/agno/pull/8031
- @lil-goat made their first contribution in https://github.com/agno-agi/agno/pull/8047
- @VANDRANKI made their first contribution in https://github.com/agno-agi/agno/pull/8009
Full Changelog: https://github.com/agno-agi/agno/compare/v2.6.8...v2.6.9
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]