Fetching from the wire…
Public story · 2026-08-31 · high
Multi-byte UTF-8 characters split across streaming chunks, silently corrupting Fabric's CJK and accented text output.
Why now: Fabric's v1.4.473 release notes, covered here as of August 31, place the fix right after a separate provider addition in v1.4.472.
Fabric fixed a decoding bug that corrupted multi-byte UTF-8 characters split across streaming chunks. The fix, in Fabric's v1.4.473 release notes, adds persistent streaming state so a character split mid-stream gets reassembled instead of decoded in pieces.
The bug only showed up on non-ASCII output. Anyone running CJK or accented text through Fabric got results that were silently wrong, with no crash to flag the problem.
ASCII characters are a single byte each, so English text never crosses a chunk boundary. Japanese, Korean, Chinese, and accented Latin characters take multiple bytes, and a split mid-character decoded as garbage, with no error thrown.
That silence made the bug hard to catch. A crash gets filed as a bug. Corrupted-but-valid-looking text gets blamed on the model instead, and anyone who complained about Fabric's output quality on non-English text before this release was probably debugging the wrong layer.
Fabric released v1.4.472 earlier the same day. It added Synthorai as an OpenAI-compatible provider, unrelated to the decoding fix beyond sharing the release date.
A bug like this survives because broken output on non-English text looks like a model quality problem, not a decoding bug, so nobody files the right issue. The release notes don't say how far back the bug goes or how many versions carried it.
Each link below shares sources, entities, or timing with this story.
OpenAI partners with AWS / Shared entity: OpenAI / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (OpenAI partners with AWS); both cover OpenAI; reported by the same outlet (github.com).
OpenAI partners with AWS / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI partners with AWS); both cover OpenAI; reported by the same outlet (github.com).
OpenAI partners with Slack / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI partners with Slack); both cover OpenAI; reported by the same outlet (github.com).
OpenAI released Presence / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI released Presence); both cover OpenAI; reported by the same outlet (github.com).
OpenAI uses Claude Code / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI uses Claude Code); both cover OpenAI; reported by the same outlet (github.com).
OpenAI released Codex / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI released Codex); both cover OpenAI; reported by the same outlet (github.com).
OpenAI released Codex Security / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (OpenAI released Codex Security); both cover OpenAI; reported by the same outlet (github.com).
Anthropic partners with OpenAI / Shared entity: OpenAI / Same source domain / Earlier coverage / Tension
Linked by a graph relationship (Anthropic partners with OpenAI); both cover OpenAI; reported by the same outlet (github.com).