Changelog
New Features:
- Workflow History: Support to add workflow history to all or individual steps for a better continuous conversational experience
- Google Drive Toolkit: Added the
GoogleDriveTools
class, to provide your Agents with read and write access to Google Drive.
Improvements:
- Update parallel and custom function step events streaming logic in workflows:
- Inspect all events that are yielded during the workflow run, and set the workflow context variables on them before yielding upwards.
- Update parallel step event streaming logic to immediately yield events as they come so that FE can catch and display in real time.
- Old approach - collect all, yield at end
- New approach - stream immediately (used queues as we cant yield directly from async running tasks)
- Custom events with AG-UI: The AG-UI integration now support custom events. Your Agno custom events will now be delivered in the AG-UI interface in the conventional AG-UI custom event format.
- Tool post-hooks in case of tool failure: Our tool post-hooks now also run when the tool run fails. This enables you to easily add logic to run in case of tool failures!
Bug Fixes:
- Order of persisted streaming events: Fix a bug where the created_at of some Memory events would be larger than the created_at of the final RunCompleted event.
- Handle Team sessions with no runs: When cancelling a Team run early enough, you can end with a session that contains no run objects. Some functionality was failing in this edge case.
- Dynamo Table definitions: Fixed a bug where some DynamoDB schemas incorrectly defined non key attributes
- Dictionary Key Order Causing Redundant Cache Files: The current caching in
agno/tools/function.py
usedstr()
to serialize dictionary arguments for cache key generation. Sincestr()
preserves dictionary key order, identical data with different key orders produced different cache keys. Replacedstr()
withjson.dumps(sort_keys=True)
to ensure serialization regardless of dictionary key order - Change dimensions type to Optional[int] in FastEmbedEmbedder : Fixed an issue where FastEmbedEmbedder didn’t allow optional dimensions.
What's Changed
- [feat] Add support for custom events in AGUI interface by @kredde in #4960
- [Fix]: Remove unused from and add missing fields into schemas in DynamoDB + fix Dynamo Serialization and Query Syntax by @harrytran001 in #4771
- Fix: Dictionary Key Order Causing Redundant Cache Files by @uzaxirr in #4907
- fix: handle team sessions with no runs by @manuhortet in #4951
- fix: ensure the RunCompletedEvent is the last created event by @manuhortet in #4959
- chore: customer research workflow agent os by @kausmeows in #4950
- chore: deactivate CI AWS tests by @manuhortet in #4969
- chore: update parallel and custom function step events streaming logic by @kausmeows in #4954
- fix: change dimensions type to Optional[int] in FastEmbedEmbedder by @Ayush0054 in #4981
- chore: cancel previous workflow runs on new commits by @manuhortet in #4980
- feat: add Google Drive toolkit by @SaiPoornaChandraPrakash in #4658
- fix: Run tool post hooks when tools fail with exceptions by @jtalmi in #4926
- chore: store events for agent os in workflows by @kausmeows in #4982
- fix: add events to the OS workflow run schema by @manuhortet in #4986
- feat: workflow history by @kausmeows in #4785
- chore: Release 2.1.4 by @kausmeows in #4966
New Contributors
- @kredde made their first contribution in #4960
- @harrytran001 made their first contribution in #4771
- @SaiPoornaChandraPrakash made their first contribution in #4658
Full Changelog: v2.1.3...v2.1.4