Changelog
New Features:
- CEL Support for Workflow Steps: Use CEL (Common Expression Language) expressions as evaluators in Condition, Loop, and Router steps. CEL expressions are strings, making workflow steps fully serializable.
- Neosantara model provider: adds support for Neosantara, an Indonesian LLM gateway that provides an OpenAI-compatible API
- Studio: Visual editor for building Agents, Teams, and Workflows in AgentOS. Drag-and-drop interface with a Registry for managing tools, models, databases, and schemas.
Improvements:
- Workflow Router Step: Added the ability to return name of the Step instead of the step itself as well as support to return a group of steps as a choice for the router
- WebsiteReader Chunking: Now uses FixedSizeChunking instead of Semantic by default to remove the need for an OpenAI API key when not setting any specific chunker.
- Skills: Add shebang parsing and Windows command building for script execution
Bug Fixes:
- LanceDB: Added backward compatibility for deprecated
table_names() - Parallel Step: Fixed parallel step in workflows to also accept name as first positional arg.
- AzureOpenAI: Fixed AzureOpenAI authentication to include
azure_ad_token_provider - Agentic State Tool: Fixed
update_session_statetool to correctly extractsession_statefromrun_contextafter_session_statewas removed from the Function class in Agno 2.4.0. - LearningMachine: Add user message to
SessionContextStorefor Claude/Gemini compatibility.
What's Changed
- fix: Populate knowledge tables on OS config endpoint by @willemcdejongh in #6230
- chore: allow name as first positional arg in Parallel step by @kausmeows in #6229
- feat: add step_choices in selector fn of Router by @kausmeows in #6215
- chore: Rework Knowledge remote content handler by @willemcdejongh in #6192
- chore: update LICENSE copyright with correct attribution by @ashpreetbedi in #6255
- fix: enhance AzureOpenAI authentication to include azure_ad_token_provider by @tanmaydarmorha in #6092
- fix: propagate workflow
session_idto executor events for consistent streaming by @kausmeows in #6272 - fix: use list_tables() with table_names() fallback for LanceDB backward compatibility by @harshsinha03 in #6273
- feat: add serialization support for all workflow step containers by @ysolanky in #6101
- refactor: rename RegistryContentType to RegistryResourceType by @ysolanky in #6285
- [feat] Add Neosantara model provider (#6271) by @kausmeows in #6290
- [fix] Extract 'session_state' from 'run_context' in update_session_state tool by @Sebastiao-Assuncao in #6260
- cookbook: refine typos by @guguoyi in #6212
- [fix] don't always require openai when using WebsiteReader by @Samyak2 in #6091
- feat: Add shebang parsing and Windows command building for script execution by @uzaxirr in #6241
- fix: add user message to SessionContextStore for Claude/Gemini compatibility by @kepler in #6291
- chore: Release 2.4.8 by @kausmeows in #6288
- fix: GET Workflows breaks if agents are deleted by @pritipsingh in #6293
New Contributors
- @tanmaydarmorha made their first contribution in #6092
- @guguoyi made their first contribution in #6212
- @Samyak2 made their first contribution in #6091
Full Changelog: v2.4.7...v2.4.8