Initial release
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)
chore(sdk,cli): make langchain-anthropic and langchain-google-genai explicit deps (#1886)
release(sdk): 0.4.11 (#1868)
chore(sdk): make langsmith explicit evals dep (#1867)
chore(sdk): add docs link to LocalShellBackend virtual_mode deprecation warning (#1866)
test(sdk): add ChatBaseten for evals (#1839)
feat(sdk): Add LangSmith integration metadata to deepagents (#1837)
fix(sdk): strip leading slash from glob patterns before matching (#1846)
feat(sdk): add MemoryAgentBench evaluation suite (#1807)
fix(sdk): accept all langsmith tracing env vars in evals conftest (#1847)
test(sdk): add 3 more evals for tool usage (longer trajectories) (#1840)
chore(sdk): add evals README, ensure tracing (#1834)
feat(sdk): add subagent_model param to create_deep_agent (#1369)
refactor(sdk): extract model resolution helpers into _models module (#1825)
release(sdk): prepare 0.4.10 patch release (#1795)
fix(daytona): fix execute implementation (#1756)
test(sdk): add memory evals (#1775)
release(deepagents): 0.4.9 (#1773)
feat(sdk): add prompt guidance for large tool results (#1763)
release(deepagents): 0.4.8 (#1764)
test(sdk): bump langsmith-sdk for fixes experiments (#1752)
feat(sdk): add factory function for summarization tool middleware (#1749)
feat(sdk): add solve_rate metric to evals reporter (#1711)
feat(cli): --acp mode to run CLI agent as ACP server (#1297)
test(sdk): add metadata for experiments (#1652)
test(sdk): reuse model fixture in summarization evals (#1697)
feat(sdk): add baseten-hosted models to evals workflow (#1682)
release(sdk): bump deepagents to 0.4.7 (#1688)
fix(deepagents): restore full routed path in write/edit results (#1681)
feat(infra): add fireworks as eval provider (#1684)
release(sdk): bump deepagents to 0.4.6 (#1677)
chore: bump lock file (#1674)
fix(sdk): extract text from all content blocks for large tool result eviction (#1673)
fix(sdk): enforce path boundaries in CompositeBackend routing (#1659)
refactor(sdk): split eval assertions into correctness and efficiency tiers (#1670)
test(sdk): remove an ambiguous eval test (#1661)
chore(sdk): add tool usage evals (#1637)
test(deepagents): fix one more file operation test (#1653)
test(sdk): update eval test to be a bit less ambiguous (#1643)
docs(sdk): middleware module docstring (#1620)
chore(sdk): expand eval matrix and fix model name access for groq (#1623)
release(deepagents): 0.4.5 (#1622)
chore(sdk): expand eval model matrix to 28 models across 7 providers (#1617)
chore: remove unnecessary @pytest.mark.asyncio decorators (#1616)
chore(sdk): update evals to use chat model instance (#1614)
fix(sdk): make evals more robust across model output variations (#1608)
fix(infra): streamline evals workflow and summary (#1602)
docs(sdk): improve docstrings around summarization conditions (#1597)
chore(sdk): add json report to evals (#1594)
chore(sdk,cli): switch claude-sonnet-4-5-20250929 -> claude-sonnet-4-6 (#1590)
feat(cli): /compact command (#1579)
chore: standardize makefile type targets/ add type CI check (#1581)
ci(sdk): skip some evals (#1580)
docs(sdk): rename 'prompt' to 'system_prompt' in subagent keys (#1578)
docs(sdk): docstring fixes for summarization.py (#1568)
chore(sdk): remove unused base_path alias in skills.py (#1543)
chore(deps): bump the pip-dependencies group across 8 directories with 17 updates (#1564)
fix(sdk,cli,deps): support timeout=0 for sandbox execute() (#1558)
fix: Potential fixes for 2 code quality findings (#1534)
fix: Variable defined multiple times (#1536)
feat(cli,sdk): compaction hook (#1420)
chore(deps): bump the pip-dependencies group across 8 directories with 19 updates (#1491)
release(deepagents): 0.4.4 (#1519)
fix(sdk): use consistent path stripping in CompositeBackend grep and glob (#1504)
fix(sdk): add timeout to glob in FilesystemMiddleware (#1508)
fix(sdk): validate tool_call_id before subagent invocation (#1506)
fix(sdk): bundle read template params into single base64 payload (#1500)
fix(deepagents): preserve ToolMessage artifact when evicting large outputs (#1482)
fix(sdk): fix glob matching with ** in _python_search fallback (#1350)
fix(sdk): sanitize paths in BaseSandbox ls_info and read templates (#1484)
docs(sdk): fix SkillsMiddleware.before_agent docstring to reflect caching behavior (#1495)
perf(sdk): parallelize summarization offload and LLM summary generation (#1488)
chore(sdk): add coverage to Makefile (#1493)
perf(sdk): batch memory source loading into a single download_files call (#1490)
release(deepagents): 0.4.3 (#1465)
fix(sdk): guard timeout forwarding for older backend packages (#1461)
fix(sdk): correct imports and mock inheritance in filesystem middleware tests (#1464)
fix(sdk): warn on virtual mode (#1462)
chore(sdk): add more eval test cases (#1452)
test(deepagents): add evaluation tests for skills (#1429)
fix(deepagents): Fix Memory prompt guidelines that could lead to wrong actions (#1448)
test(sdk): add smoke test for system prompt with memory and skills (#1430)
chore(deepagents): bump min version for langchain-anthropic (#1431)
feat(deepagents): add evaluation tests for agent memory (#1415)
chore(sdk): adapt integration tests to evals framework (#1426)
feat(sdk): add per-command timeout override to execute() (#1154)
chore: auto-generate makefile help from target annotations (#1417)
chore(sdk): add more evals (#1404)
chore(sdk): minor updates to system message (#1367)
chore(sdk): add model parameterization to evals (#1408)
chore: revert SDK version following yank (#1407)
chore(sdk): add simple eval scaffolding (#1400)
refactor(sdk): add logging to silent path skips, rename validate_path (#1370)
fix(cli,sdk): harden path hardening (#918)
chore(sdk): add smoke tests for system message (#1363)
feat(sdk): enable type checking in deepagents and resolve most linting issues (#991)
chore(sdk): move some integration tests into unit tests (#1330)
revert(sdk): reimplement skill loading via skill tool calling (#1328)
fix(sdk): missing _validate_path() on Glob tool's path parameter allows directory traversal (#1320)
fix: Path Traversal via Unsanitized Glob Pattern in glob_info() Bypasses Virtual Mode Sandbox (#1322)
feat(sdk): add base agent prompt (#1314)
release(sdk): 0.4.2 (#1312)
feat(sdk): reimplement skill loading via skill tool calling (#1306)
chore: rollback uv workspace migration, restore per-package lockfiles (#1278)
release(sdk): 0.4.1 (#1269)
chore: migrate to uv workspace (#1264)
feat(sdk): return native image content blocks from read_file (#1163)
chore(deps): bump the pip-dependencies group across 8 directories with 9 updates (#1252)
refactor(sdk): use public SummarizationMiddleware middleware (#1241)
chore(deps): bump cryptography from 46.0.3 to 46.0.5 in /libs/deepagents (#1246)
chore: rename master to main (#984)
release(sdk): 0.4.0 (#1236)
release(deepagents): 0.4 (#1234)
chore(sdk): add support for , in allowed-tools, fail gently for bullet list (#1235)
fix(sdk): relax skills parsing for allowed tools (#1232)
chore(deps): bump the pip-dependencies group across 8 directories with 27 updates (#1230)
chore(sdk)!: move sandbox provider back to cli (#1226)
chore(deps): bump the uv group across 3 directories with 1 update (#1216)
refactor(sdk): move function-level test imports out to top (#1168)
fix(sdk): harden skills metadata parsing, improve spec compliance (#1189)
chore(deps): bump the pip-dependencies group across 3 directories with 5 updates (#1183)
style: update brand names (#1180)
release(sdk): deepagents 0.3.12 (#1175)
feat(sdk): refactor namespace gen for StoreBackend (#1169)
revert(deepagents): refactor summarization middleware (#1172)
fix(deepagents): refactor summarization middleware (#1138)
fix(sdk): add explicit NotImplementedError to protocol method bodies (#1152)
refactor(cli): reorder property -> method order in SandboxBackendProtocol (#1153)
feat(sdk): add sandbox provider exceptions (#1108)
release(sdk): deepagents 0.3.11 (#1078)
feat(sdk): subagent skills, middleware refactor (#1041)
fix(sdk): add newlines in tool result message for large outputs (#1053)
release(sdk): 0.3.10 (#1044)
fix(sdk): grep should perform literal search instead of regex (#975)
feat(sdk): sandbox provider interface (#900)
fix(sdk): handle exact file paths in grep and glob operations (#1017)
chore: correct brand name (#1025)
fix: add py.typed to deepagents (#1024)
fix(sdk): return error message instead of raising ValueError for invalid paths (#994)
fix(deepagents): prevent state merge error in parallel sub-agents (#954)
fix(infra): change release-please component (#1002)
chore: nit versions (#997)
chore: enrich pyproject.toml files (#996)
chore(sdk,cli): add VERSION (#983)
feat(sdk): add LocalShellBackend (#930)
chore: clean up README files (#980)
chore(deepagents): add sandbox tests to sdk (#898)
fix(sdk): string interpolation in BaseSandbox write/edit tools (#955)
feat(cli): custom subagents (#916)
release(deepagents): 0.3.9 (#944)
fix(sdk): summarization offloading (#920)
refactor: filesystem middleware (#928)
chore(deps): bump the uv group across 3 directories with 6 updates (#905)
test(sdk): add unit test for handling large single-line file bug (#813)
feat(deepagents): truncate middle of content instead of end on tool response eviction (#901)
feat(deepagents): truncate tool messages from read_file (#897)
fix(sdk,acp,harbor): don't allow relative imports (#882)
fix(sdk): handle large payloads and headless container execution (#872)
chore: update Makefile targets, add pre-commit hooks (#790)
release(sdk): bump version (#879)
fix(sdk): make sure that tool truncation applies to execute (#547)
test(sdk): use unique thread_id for summarization test configuration (#871)
fix(sdk): don't dedent summarization prompt (#870)
feat(deepagents): truncate old write / edit calls in message history (#806)
release: patch release 0.3.7 (#869)
chore(deepagents): add end to end tests to confirm file reducer working properly in state backend (#754)
chore: improve filesystem and subagents tool descriptions (#807)
docs(SDK): clarify usage of file system backend (#850)
nit: standardize naming (#849)
docs(sdk): FilesystemBackend refs fixes (#791)
feat: show allowed tools for each skill in skill list (#837)
fix(sdk): FilesystemMiddleware forward 'name' attribute in large_tool_result from the original tool msg (#825)
docs(sdk): docstring formatting nits (#824)
feat: summarization offloading (#742)
Bump version to 0.3.7a1 (#817)
Add Async ops to Store Backend (#816)
chore(deepagents): add tests for grep in end to end tests (#805)
chore(deepagents): bump langchain in lock file (#800)
chore(deps): bump the uv group across 5 directories with 1 update (#811)
fix(deepagents): respect continuation markers when reading files (#809)
fix(infra): exclude build/ from typechecking (#808)
feat: support SystemMessage for parity w/ create_agent (#803)
chore(deepagnets): end to end tests for agent writing editing files (#804)
fix(sdk): BaseSandbox.ls_info() to return absolute paths (#797)
fix(deepagents): truncate lines on read (#784)
chore(deps): bump the uv group across 3 directories with 3 updates (#796)
fix: refinements for test_summarization (#786)
docs: fix old URLs (#787)
docs: add testing readme (#788)
fix: added error catching for file operations without permissions (#734)
docs(deepagents): update subagent spec (#785)
chore(deepagents): add mini eval for summarization (#751)
docs(sdk): improve FileSystemBackend ref docs (#783)
chore: add tests for config, context, metadata propagation (#776)
fix: import rules (#763)
fix(deepagents): throw a clear exception message when 'messages' key missing from the output of the subagent (#678)
release: deepagents 0.3.6 (#752)
chore: automatically sort imports (#740)
fix: no f string needed (#750)
feat: add agent name when creating subagents (#735)
feat(cli): inject local context into system prompt via LocalContextMiddleware
chore: update twitter URL (#727)
chore: CR on docstrings/readme (#722)
minor release(deepagents): bump version to 0.3.5 (#695)
Port SDK Memory to CLI (#691)
chore(deepagents): turn on strict linting and add ratchet (#690)
chore(deepagents): add tests for todos middleware (#667)
fix(deepagents): fix content block handling in filesystem middleware tool result eviction (#674)
Minor release memory bump (#689)
feat: update memory prompt to be more barebones (#685)
improvements to README, reference docs (#688)
update version bounds (#687)
Deepagents release minor (#683)
fix(deepagents): make memory permissive if AGENTS.md not found (#682)
release(deepagents): release 0.3.2 (#680)
chore(deepagents): make memory strict if AGENTS.md not found (#673)
fix(deepagents): better async support in skills, and propagate runnable config (#672)
chore: remove older integration tests for memory (#670)
feature(deepagents): add memory (#646)
feat(deepagents): add skills to sdk (#591)
chore(deepagent): add docs to composite backend (#666)
chore(deepagents): add more test coverage to composite backend (#660)
fix(deepagents): composite backend grep implementation (#659)
Fix CVE-2025-68664 (#636)
make work with model string (#626)
release(deepagents): 0.3.1 (#608)
docs: fix documentation issues (#513)
fix(deepagents): strip trailing whitespace from subagent messages to prevent Anthropic API errors (#586)
fix(deepagents): Pass through runtime config to subagents (#602)
chore(deepagents): test write todos from sub-agents (#605)
fix(deepagents): exclude structured response from state update (#603)
feat: add ability to paste images in input (#555)
chore: bump minor version (#549)
feature(deepagents)!: add async implementations for backend, sandbox, filesystem (#504)
fix: fix docstring formatting errors in backends (#514)
chore(cli): add comprehensive testing for sandbox operations (#501)
feat(deepagents): use context window fractions for SummarizationMiddleware when available (#484)
chore(deepagents): add end to end test (#481)
release(deepagents, cli) (#477)
return strings in tools (#474)
truncate glob (#473)
fix(deepagents): fix type for file info (#471)
add file upload and download apis (#381)
fix(deepagents-cli): fix linting (broke CI) (#457)
fix(middleware): prevent silent corruption from Windows absolute paths (Issue #427) (#454)
Remove unnecessary dependencies from deepagents module (#429)
fix: use request.override instead of direct attribute overrides (#431)
Update README.md (#422)
release: deepagents 0.2.9, cli 0.0.9 (#411)
patch: remove resumable shell middleware (#410)
release (#388)
chore: finish migration into monorepo structure (#383)
feat: expose id on base abstraction (#382)
feat: sandbox protocol (#319)
chore: move BACKEND_TYPES to correct place (#351)
fix: Don't error when "subagent" does not exist. And add test for truncation logic (#343)
minor update (#302)
chore: inherit from protocol, update types (#291)
Truncate content sample (#287)
chore(deepagents): move protocol types (#286)
move deepagents to libs/deepagents (#257)
Thanks to our community contributors: @sydney-runkle, @BANG404, @naga-k, @november-pain, @bracesproul, @eyurtsev