Important changes 🚀
* Gradio UI now logs images observed by your agent: log observations images by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1113
* allow users to retrieve original Gradio app by sysradium in https://github.com/huggingface/smolagents/pull/811
* Re-authorize submodule imports if top was allowed by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1103
- We had internal debate about this one: when a user authorizes import of a top level package like `additional_authorized_imports=["numpy"]`, should it:
- Option 1: by default enable all subpackages like numpy.random, except potentially dangerous ones that we then have to detect through a blocklist?
- Option 2: not import any subpackage, thus user have to type any subpackage they want to authorize, as in `additional_authorized_imports=["numpy", "numpy.random", "numpy.other_subpackage", ...]`
Option 2 is safer, but Option 1 is much more practical, so we went with option 1. Daily disclaimer: code execution can never be 100% safe on you system, if you want to increase safety, use one of the remote executors that we propose, E2B or Docker.
Fixes & Tweaks
* Bump dev version: v1.13.0.dev0 by albertvillanova in https://github.com/huggingface/smolagents/pull/1035
* Fix telemetry AttributeError: module 'smolagents' has no attribute 'ApiModel' by IlyaGusev in https://github.com/huggingface/smolagents/pull/1040
* Hotfix CI: pin transformers < 4.50.0 by albertvillanova in https://github.com/huggingface/smolagents/pull/1044
* Align name of tool __source__ by albertvillanova in https://github.com/huggingface/smolagents/pull/1042
* Update type hints and docstrings of Agent/Tool .save with Path type by albertvillanova in https://github.com/huggingface/smolagents/pull/1036
* Fix PythonInterperterTool description of code input with auth imports by benediktstroebl in https://github.com/huggingface/smolagents/pull/1053
* Fix typos in Code Agent prompt by andysalerno in https://github.com/huggingface/smolagents/pull/1063
* Validate agent name by Misakar-0v0 in https://github.com/huggingface/smolagents/pull/768
* fix(`MLXModel`): define var to avoid `UnboundLocalError` by SauravMaheshkar in https://github.com/huggingface/smolagents/pull/1059
* Minor fix code block rendering in Open DeepResearch README by keetrap in https://github.com/huggingface/smolagents/pull/1055
* Add WikipediaSearchTool to default tools by touseefahmed96 in https://github.com/huggingface/smolagents/pull/514
* Improve MLXModel call by albertvillanova in https://github.com/huggingface/smolagents/pull/1067
* Support transformers 4.50.0 by albertvillanova in https://github.com/huggingface/smolagents/pull/1070
* Improve Tool.push_to_hub to avoid saving to local filesystem by albertvillanova in https://github.com/huggingface/smolagents/pull/1051
* Fix Tool.to_dict for nullable input parameter by albertvillanova in https://github.com/huggingface/smolagents/pull/1038
* Support tool Gradio app with boolean input type by albertvillanova in https://github.com/huggingface/smolagents/pull/1065
* Support running CI on push to ci-* branch by albertvillanova in https://github.com/huggingface/smolagents/pull/1047
* Set Agent/Tool requirements as a sorted list by albertvillanova in https://github.com/huggingface/smolagents/pull/1048
* Support passing raw to ChatMessage.from_dict by albertvillanova in https://github.com/huggingface/smolagents/pull/1010
* Distinguish between AgentToolCallError and AgentToolExecutionError by sysradium in https://github.com/huggingface/smolagents/pull/1060
* Add detail on potential threats to system by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1077
* Refactor Tool.save by albertvillanova in https://github.com/huggingface/smolagents/pull/1075
* Fixing typos in toolcallingagent prompt by Y-artios in https://github.com/huggingface/smolagents/pull/1082
* Refactor step yielding during streaming run to log PlanningSteps by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1083
* Make pandas a test extra dependency only by albertvillanova in https://github.com/huggingface/smolagents/pull/1081
* Add security disclaimer to MCP docs by albertvillanova in https://github.com/huggingface/smolagents/pull/1090
* Fix get_json_schema for docstrings with type annotations by albertvillanova in https://github.com/huggingface/smolagents/pull/1088
* Remove transformers/huggingface-hub to check torch availability by albertvillanova in https://github.com/huggingface/smolagents/pull/1022
* Improve ApiModel and subclasses instantiation by albertvillanova in https://github.com/huggingface/smolagents/pull/1095
* Add trust_remote_code to ToolCollection.from_mcp by albertvillanova in https://github.com/huggingface/smolagents/pull/1091
* Add user message after plan by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1104
* Add agent interruption by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1112
* Validate tool name as Python identifier by albertvillanova in https://github.com/huggingface/smolagents/pull/1041
* Increase request timeout for tests that time out by albertvillanova in https://github.com/huggingface/smolagents/pull/972
* Update README.md by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1125
* Change: expanded error exception for incorrect tool parameters by cgthayer in https://github.com/huggingface/smolagents/pull/1099
* Hotfix CI AttributeError: 'PngImageFile' object has no attribute 'filename' by albertvillanova in https://github.com/huggingface/smolagents/pull/1128
* Replace AgentGenerationError with AgentParsingError for ToolCallingAgent by aymeric-roucher in https://github.com/huggingface/smolagents/pull/1131
* Fix planning_interval=1 bug in MultiStepAgent by RolandJAAI in https://github.com/huggingface/smolagents/pull/1118
* Set main as the no-argument CLI entry point by albertvillanova in https://github.com/huggingface/smolagents/pull/1126
New Contributors
* benediktstroebl made their first contribution in https://github.com/huggingface/smolagents/pull/1053
* andysalerno made their first contribution in https://github.com/huggingface/smolagents/pull/1063
* Misakar-0v0 made their first contribution in https://github.com/huggingface/smolagents/pull/768
* SauravMaheshkar made their first contribution in https://github.com/huggingface/smolagents/pull/1059
* Y-artios made their first contribution in https://github.com/huggingface/smolagents/pull/1082
* cgthayer made their first contribution in https://github.com/huggingface/smolagents/pull/1099
**Full Changelog**: https://github.com/huggingface/smolagents/compare/v1.12.0...v1.13.0