What changed
LangChain released `langchain-core` 1.7.0 with raw tool-call arguments emitted as `tool-call-delta` slices instead of cumulative `block-delta` snapshots. Iterating `ChatModelStream.tool_calls` now yields each new argument slice; the higher-level `.tool_calls.get()` and `.output` interfaces remain unchanged.
Why it matters
Consumers that parse raw stream events can silently concatenate, display or validate tool arguments incorrectly after an upgrade. The change is narrow but breaking at a high-authority boundary: partial tool arguments often drive UI previews, policy checks and observability before execution.
What to do
Search stream consumers for `block-delta` and direct iteration over `ChatModelStream.tool_calls`. Add split-boundary tests for JSON arguments, migrate raw consumers to `tool-call-delta`, and keep `langchain-core<1.7` pinned until the parser and telemetry path pass.
Caveat
The changed semantics apply to raw stream events and iteration; the documented aggregate helpers are unchanged. The release notes are maintainer evidence and do not quantify affected integrations or independently test third-party adapters.