New Features ✨
-
Remote Execution:
- Implement remote Python WasmExecutor by @albertvillanova in #1261
-
Callbacks:
- Support callbacks after planning step by @albertvillanova in #1445
- Support multiple callbacks per step type in step_callbacks dict by @albertvillanova in #1517
Enhancements 🛠️
-
Models:
- Implement rate limiting in all API models by @albertvillanova in #1516
-
Tools:
- Implement exception mechanism for final answer in remote executors by @tobiasofsn in #1429
- Set default api_key_name in ApiWebSearchTool by @albertvillanova in #1507
- Implement rate limit mechanism in ApiWebSearchTool by @albertvillanova in #1508
- Implement rate limit mechanism in DuckDuckGoSearchTool by @albertvillanova in #1515
- Enable image output for Tool.from_space by @aymeric-roucher in #1510
- Add adapter_kwargs parameter to MCPClient by @LucasDltg in #1528
-
Validation of Tool Arguments:
- Support multiple types in tool arguments validation by @duguyue100 in #1505
- Fix input type validation when input schema has multiple types by @duguyue100 in #1530
- Fix optional args toolcalling by @aymeric-roucher in #1538
-
Agent Output Formatting:
- Implement CodeOutput as analog to ToolOutput by @albertvillanova in #1496
- Allow markdown or custom formatting for code blocks by @aymeric-roucher in #1493
-
Other:
Bug Fixes 🐛
- Fix
KeyError
when agent reaches max steps with image input by @robin-ede in #1525 - Fix when
response.usage
isNone
for some OpenRouter models by @sentienthouseplant in #1402 - Fix incorrect token counting in streaming TransformersModel by @albertvillanova in #1503
- Minor fix nested quotes that prevent execution by @vinoo-ganesh-keru in #1497
- Fix ChatMessage attribute access after replacing dict with dataclass by @albertvillanova in #1534
- Fix access of
content
field inChatMessage
by @mdr223 in #1533 - Fix parallel final answers handling by @aymeric-roucher in #1482
Documentation Improvements 📚
-
Examples & Tutorials:
- Add complete Plan Customization example by @albertvillanova in #1506
- Add Async App with Agent example by @albertvillanova in #1509
- Improve Plan Customization example with Human-in-the-Loop by @albertvillanova in #1513
-
API References:
- Fix docstring of WikipediaSearchTool by @albertvillanova in #1521
- Explain rate_limit in tools docstrings by @albertvillanova in #1519
- Fix Examples in AmazonBedrockServerModel docstring by @albertvillanova in #1522
- Split Built-in Tools from Tools in Reference docs by @albertvillanova in #1520
-
Other:
- Update Langfuse tracing documentation to SDK v3 by @jannikmaierhoefer in #1447
- Fix use of context manager agent in docs by @albertvillanova in #1502
Maintenance 🏗️
- Fix CI LiteLLM test_call_different_providers_without_key by @albertvillanova in #1527
- Fix test_send_tools_with_default_wikipedia_search_tool by @albertvillanova in #1494
- Fix DockerExecutor tests with final_answer by calling send_tools by @albertvillanova in #1495
- Bump dev version: v1.20.0.dev0 by @albertvillanova in #1477
New Contributors
- @sentienthouseplant made their first contribution in #1402
- @daavoo made their first contribution in #1479
- @duguyue100 made their first contribution in #1505
- @vinoo-ganesh-keru made their first contribution in #1497
- @robin-ede made their first contribution in #1525
- @LucasDltg made their first contribution in #1528
- @mdr223 made their first contribution in #1533
Full Changelog: v1.19.0...v1.20.0