See changelog for high-level summary.
Details below:
Changes since deepagents==0.4.12
release(deepagents): 0.5.0 (#2509)
fix(sdk): match example_agent_descriptions closing tag in task tool prompt (#2462)
docs(sdk,cli): fill missing docstrings in model-specific code (#2481)
chore: replace old OAI model strings (#2480)
docs(sdk): updates for create_deep_agent (#2479)
fix(sdk): improvements in default sandbox.write and sandbox.read implementations (#2321)
release: deepagents 0.5.0a4 (#2444)
fix: remove legacy subagents API (#2443)
chore(sdk): delete unused base_prompt.md, restore missing sections (#2436)
chore(sdk): update unset logic (#2435)
fix(sdk): inherit parent interrupt_on for subagents (#2334)
test(sdk): added a failing test for callback propagation to subagent … (#2361)
chore(sdk): bump lock files (#2430)
chore(sdk): update docs around async subagents (#2429)
release(deepagents): 0.5.0a3 (#2385)
fix: plumb through generics for create_deep_agent (#2383)
fix(sdk): fix TypeError in async sub-agents (#2376)
fix(sdk): last_updated_at field doesn't account for task status changes (#2370)
fix: deprecate backend factories (#2360)
chore: bump pygments to 2.20.0 everywhere (GHSA-5239-wwwm-4pmq) (#2349)
fix(sdk): catch UnicodeDecodeError in FilesystemBackend.read (#2319)
fix(sdk): restore deprecated protocol return types (#2342)
docs: add threat model for deepagents monorepo (#1639)
fix(sdk): add new line after HEREDOC for edit inline sandbox (#2340)
chore(sdk): disable benchmark when not running benchmarks (#2338)
test(sdk): assert default toolruntime config in end-to-end test (#2324)
fix(sdk): fix offloading for state backend (#2266)
chore: bump requests (#2325)
chore(deps): bump cryptography from 46.0.5 to 46.0.6 in /libs/deepagents (#2292)
chore(deps): bump langchain-core from 1.2.21 to 1.2.22 in /libs/deepagents (#2291)
chore: sync lockfiles (#2279)
fix(sdk): update recursion limit (#2273)
chore(sdk): add end-to-end test for compaction tool (#2268)
chore(sdk): declare schema up front for remaining tools (#2264)
chore(sdk): speed up init for file system, summarization middleware (#2257)
fix(sdk): normalize CRLF line endings in FilesystemBackend.edit() (#2256)
test(sdk): add a test for invalid args into a tool (#2254)
chore(sdk): add all snapshots (#2253)
chore(sdk): add snapshot of tool descriptions (#2252)
fix(sdk): make created_at and modified_at NotRequired fields on FileData (#2248)
feat(sdk): evict large HumanMessages (#2183)
fix(sdk): bump recursion limit to 10_000 in deepagents and set agent name (#2194)
fix(sdk): route subagent model resolution to resolve_model (#2208)
feat(sdk,cli): add openrouter SDK attribution (#2205)
chore(sdk): minor clean up (#2186)
fix(sdk,cli): align error messages and clean up recent refactors (#2171)
refactor(sdk): type-only exception classification in map_file_operation_error (#2168)
fix(sdk): use file transfer instead of command strings for sandbox write/edit (#2117)
docs(sdk): improve sandbox.py docstrings and refactor read template (#2169)
docs(sdk,evals): fix docstring formatting and harbor grep literal flag (#2163)
release(deepagents): 0.5.0a2 (#2158)
release(deepagents): 0.5.0a1 (#2157)
feat(sdk,cli): add package version metadata to traces (#2129)
refactor(sdk): rename tools for async subgents (#2103)
feat(sdk): add timestamp tracking to AsyncSubAgentJob (#2071)
fix(sdk): overwrite write on LangSmithSandbox (#2097)
fix(sdk): update middleware order (#2070)
feat(sdk): add system prompt snapshot test with sync and async subagents (#2072)
chore(sdk): update langchain and langchain-anthropic deps (#2069)
chore(sdk): merge async subagents and subagents into single top level param (#2064)
feat(sdk): port LangSmithSandbox from CLI to SDK (#1983)
refactor(evals): consolidate eval suite into standalone libs/evals (#2032)
ci: fix evals dataclass (#2034)
ci: suppress pytest streaming output in CI (#2026)
feat(sdk): add tau2 LICENSE (#2025)
feat(sdk): add tau2 airline eval harness (#1987)
test(sdk): gather MemoryAgentBench CI subset (#1993)
test(sdk): add curated external benchmark evals (#2018)
test(sdk): add evals for llm judge, tool selection, followup quality, and multi-turn memory (#1838)
chore: promote PLR6201 to safe-fix across all packages (#2000)
test(sdk): add wall-time benchmarks for create_deep_agent (#1944)
chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 in /libs/deepagents (#1967)
chore(quickjs): add some unit tests and disable tests from running (#1962)
feat(sdk): rename backend methods (#1907)
test(sdk): update evals for relational tool usage (#1940)
test(sdk): add fixture for summarization tests (#1627)
feat(sdk): add async subagent middleware for remote LangGraph servers (#1758)
fix(sdk): simplify memory agent bench evals (#1873)
feat(sdk): update backend return types for ls, glob, grep (#1870)
fix(sdk): use Sequence instead of list for subagents parameter (#1905)
chore(sdk): increment version to 0.5 (#1908)
feat(sdk): update FileData and backend.read return type to support multimodal data (#1869)
Thanks to our community contributors: @BANG404, @kavishkartha05, @november-pain, @AdemBoukhris457