RepoJournal

$ cat openai/week/2026-09-14.log

OpenAI

OpenAI

the week in review · Sep 14 – Sep 20, 2026

openai-python 3.14.0 and WebSocket sessions land

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

Both SDKs shipped managed Responses WebSocket sessions and per-iterator buffering limits, while Codex rewrote its TUI and agent control surface.

381 commits 392 PRs merged 42 releases 7 briefings covered

all openai reviews →

v3.14.0 openai/openai-python

by openai-sdks[bot]

The Python SDK cuts v3.14.0 and normalizes errors raised while reading streams, so a failure mid-chunk surfaces as a stream error rather than leaking out of the read loop. If you wrap streaming in your own retry or error handling, that path changes.

fix: include completion in content filter errors (#3094) openai/openai-python

by yu

Chat completion parsing now attaches the completion to `ContentFilterFinishReasonError` as `.completion`, matching `LengthFinishReasonError`. Callers filtering on that exception can finally read usage off the failed response instead of throwing it away.

feat(websocket): add per-iterator incoming event limits openai/openai-node

by HAYDEN-OAI

Responses and Live WebSocket streams accept a `maxBufferedEvents` limit per iterator. Overflow discards that iterator's queued records, removes its listeners, and rejects `next()` with `WebSocketError`, while the socket and other iterators keep running, which gives slow consumers a bounded backlog instead of unbounded memory.

feat(api): add compaction progress events openai/openai-node

by markstuart-oai

Responses streams and WebSocket listeners expose typed `response.compaction.compacting` events with item ID, output index, and sequence number, and the stream helpers accept them while preserving the response snapshot. UIs can show compaction progress instead of stalling silently.

fix: keep callback credentials local to each HTTP request (#2744) openai/openai-node

by Hayden

Concurrent requests using a callback credential could build headers from a later callback's result. Credentials are now captured per invocation across OpenAI, Azure AD, and legacy Bedrock auth, which is the kind of race that only shows up under load.

fix(streaming): emit terminal SSE events missing a trailing blank line (#2726) openai/openai-node

by Longhao Wang

`SSEDecoder` emitted only on a blank line and was never flushed, so a final `data:` or `event:` record without its trailing blank line was dropped. Terminal SSE events now reach consumers.

Preserve terminal scrollback when growing the TUI viewport openai/codex

by copyberry

Growing the TUI viewport used `CSI S`, which can discard history rows in QTermWidget and xterm.js. Codex now writes newlines at the bottom of the history scroll region for `ScrollbackStrategy::Standard`, keeping the compositor's scrollback intact.

Open new sessions directly from the command center openai/codex

by copyberry

The inline task composer is replaced by a session list: `n` opens a blank session in the selected checkout without sending an initial turn or interrupting running agents. Single-letter shortcuts and `Enter` handle the rest.

$ ls openai/week/ # the briefings behind this review

Keep up with OpenAI in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all openai reviews →