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.