v1.22.0

ruvnet/auto-browserv1.22.0Sep 25, 2025by albertvillanova

AI Summary

This release refactors the PythonExecutor architecture, adds support for multiple remote execution environments (E2B v2, Modal), and fixes compatibility issues with various AI models.

Key Highlights

  • Refactored PythonExecutor to inherit from ABC
  • Added support for E2B v2 and Modal remote executors
  • Supported MCP structured output and output schema
  • Fixed errors for models not supporting the 'stop' parameter

New Features

  • PythonExecutor refactoring
  • E2B v2 support
  • Modal remote executor
  • MCP structured output support
  • Custom Dockerfile support

Full Release Notes

## What's Changed
* Bump dev version: v1.22.0.dev0 by @albertvillanova in https://github.com/huggingface/smolagents/pull/1657
* refactor(PythonExecutor): inherit from ABC and declare abstract methods by @HairlessVillager in https://github.com/huggingface/smolagents/pull/1654
* Fix error for GPT-5 not supporting the `stop` parameter by @Xmader in https://github.com/huggingface/smolagents/pull/1662
* Enable return_full_result directly in run method by @aymeric-roucher in https://github.com/huggingface/smolagents/pull/1658
* Make RunResult json serializable by @aymeric-roucher in https://github.com/huggingface/smolagents/pull/1659
* Change truncation to remove end rather than middle by @aymeric-roucher in https://github.com/huggingface/smolagents/pull/1665
* Document that model kwargs are forwarded to model completion call by @albertvillanova in https://github.com/huggingface/smolagents/pull/1679
* Fix missing kwargs forward to vLLM model generate call by @albertvillanova in https://github.com/huggingface/smolagents/pull/1680
* Raise RuntimeError with LiteLLM response details if no choices by @albertvillanova in https://github.com/huggingface/smolagents/pull/1683
* Fix AmazonBedrockModel with reasoning/thinking content by @albertvillanova in https://github.com/huggingface/smolagents/pull/1681
* Fix installation command in README by quoting extra by @shahgahmed in https://github.com/huggingface/smolagents/pull/1685
* CI hotfix: Pin openai < 1.100.0 for litellm extra by @albertvillanova in https://github.com/huggingface/smolagents/pull/1693
* Support openai 1.100 for litellm extra by @albertvillanova in https://github.com/huggingface/smolagents/pull/1698
* Pin telemetry extra >=0.1.15 to use new TokenUsage structure by @albertvillanova in https://github.com/huggingface/smolagents/pull/1699
* Add AGENTS.md by @albertvillanova in https://github.com/huggingface/smolagents/pull/1701
* Test telemetry extra by @albertvillanova in https://github.com/huggingface/smolagents/pull/1700
* Replace slim with bullseye base image in Docker executor by @albertvillanova in https://github.com/huggingface/smolagents/pull/1702
* fix: error missing f-string by @njbrake in https://github.com/huggingface/smolagents/pull/1691
* Support custom Dockerfile in DockerExecutor by @albertvillanova in https://github.com/huggingface/smolagents/pull/1705
* Support MCP structured output and output schema by @chahn in https://github.com/huggingface/smolagents/pull/1663
* Improve agent image handling by @aaron-ang in https://github.com/huggingface/smolagents/pull/1601
* 🌐 [i18n-KO] Translated `multiagents.md` to Korean by @pyapyapya in https://github.com/huggingface/smolagents/pull/1644
* Fix CI 403 error for Wikipedia page in test_visit_webpage by @albertvillanova in https://github.com/huggingface/smolagents/pull/1716
* fix typos in the system prompt by @Frame17 in https://github.com/huggingface/smolagents/pull/1710
* Fix pip install commands by quoting extras by @albertvillanova in https://github.com/huggingface/smolagents/pull/1690
* Fix deprecation warning about parameter messages by @albertvillanova in https://github.com/huggingface/smolagents/pull/1718
* Fix warning about parameter max_new_tokens by @albertvillanova in https://github.com/huggingface/smolagents/pull/1721
* Adds Modal Remote Executor by @thomasjpfan in https://github.com/huggingface/smolagents/pull/1722
* Fix formatting of title in translation section of documentation by @albertvillanova in https://github.com/huggingface/smolagents/pull/1727
* Remove untranslated sections from the documentation by @albertvillanova in https://github.com/huggingface/smolagents/pull/1729
* fix: add ipykernel in dockerfile of prebuilt docker executor by @cyyeh in https://github.com/huggingface/smolagents/pull/1731
* Fix E2BExecutor by pinning e2b-code-interpreter to < 2 by @albertvillanova in https://github.com/huggingface/smolagents/pull/1733
* Fix DockerExecutor connection reset error with server readiness check by @benoriol in https://github.com/huggingface/smolagents/pull/1684
* [i18n-KO] Translated building_good_agents.md to Korean by @FacerAin in https://github.com/huggingface/smolagents/pull/1714
* 🌐 [i18n-KO] Translated installation.md to Korean by @FacerAin in https://github.com/huggingface/smolagents/pull/1647
* Support e2b-code-interpreter v2 by @August-murr in https://github.com/huggingface/smolagents/pull/1751
* Fix token count initialization when plan_message.token_usage is None by @satwikkansal in https://github.com/huggingface/smolagents/pull/1752
* Support user-configurable parameter override for model completion parameters by @albertvillanova in https://github.com/huggingface/smolagents/pull/1678
* Fix error for grok-4/grok-3-mini not supporting the stop parameter by @suryabdev in https://github.com/huggingface/smolagents/pull/1766
* Replace DockerExecutor Dockerfile with file object by @albertvillanova in https://github.com/huggingface/smolagents/pull/1738
* Update documentation to clarify `instructions` are appended by @chahn in https://github.com/huggingface/smolagents/pull/1709
* 🌐 [i18n-KO] Translated `react.md` to Korean by @nsbg in https://github.com/huggingface/smolagents/pull/1666
* Pass tools_to_call_from to TransformersModel._prepare_completion_kwargs by @albertvillanova in https://github.com/huggingface/smolagents/pull/1782
* 🌐 [i18n-KO] Translated `models.md` to Korean  by @Kim-Ju-won in https://github.com/huggingface/smolagents/pull/1776
* Fix AttributeError when trying to log a None by @albertvillanova in https://github.com/huggingface/smolagents/pull/1786
* fix(agent): remove unused get_variable_names function by @keli-wen in https://github.com/huggingface/smolagents/pull/1784
* Fix XPath injection in search_item_ctrl_f by @albertvillanova in https://github.com/huggingface/smolagents/pull/1768
* Use context manager for per-operation websocket connection in DockerExecutor by @albertvillanova in https://github.com/huggingface/smolagents/pull/1750

## New Contributors
* @Xmader made their first contribution in https://github.com/huggingface/smolagents/pull/1662
* @shahgahmed made their first contribution in https://github.com/huggingface/smolagents/pull/1685
* @aaron-ang made their first contribution in https://github.com/huggingface/smolagents/pull/1601
* @pyapyapya made their first contribution in https://github.com/huggingface/smolagents/pull/1644
* @Frame17 made their first contribution in https://github.com/huggingface/smolagents/pull/1710
* @cyyeh made their first contribution in https://github.com/huggingface/smolagents/pull/1731
* @satwikkansal made their first contribution in https://github.com/huggingface/smolagents/pull/1752
* @suryabdev made their first contribution in https://github.com/huggingface/smolagents/pull/1766
* @Kim-Ju-won made their first contribution in https://github.com/huggingface/smolagents/pull/1776
* @keli-wen made their first contribution in https://github.com/huggingface/smolagents/pull/1784

**Full Changelog**: https://github.com/huggingface/smolagents/compare/v1.21.3...v1.22.0