$ the-wire · showcase
Codex consolidates PTY spawning, openai-node restores options-only GET calls
By RepoJournal · Filed · About OpenAI · Composed from the cited sources · methodology
Codex moved local child-process spawning into a shared utility crate while its TUI work made persisted transcripts match live output, and the SDKs shipped 7.20.0 plus a fix that puts request options back where callers expect them.
Move local child-process spawning into `codex-utils-pty` (#46659) openai/codex
The shared `Child` type and `spawn_child` function now live in `codex-utils-pty`, and the MCP stdio transport consumes them; the macOS spawning implementation moves there intact, preserving platform-specific spawning, piped stdio, and kill-on-drop. Anything spawning local children should go through the utility crate rather than its own copy.
fix(api): Preserve request options in legacy GET calls openai/openai-node
Options-only GET calls like `responses.retrieve(id, { headers })` work again, with request options no longer leaking into URL query strings. The change restores the original generated behavior against current main, drops the later SDK-only refactoring, and keeps 30 test cases compatible with the original implementation.
release: 7.20.0 (#2769) openai/openai-node
by openai-sdks[bot]
openai-node 7.20.0 adds environment-variable vault credentials and external storage configuration management to the API surface. The Python SDK gained the corresponding storage lifecycle in the same window, so config management is now reachable from both clients.
feat(api): add SIP media security to incoming call events (#3907) openai/openai-python
Incoming live-call, live-transport, and realtime-call webhook events now read an optional `sip_media_security` field, accepting `rtp`, `srtp`, and future string values while remaining omittable. The docs are explicit that this describes negotiated SIP-leg media protection, not signaling security or proof that media has flowed.
Align persisted TUI activity groups and reasoning with live output openai/codex
Persisted transcripts used to render tool calls individually and show reasoning differently from live replay, and enabling raw reasoning replaced the summary instead of retaining it. Activity groups and compatible exploration commands are now grouped across intervening reasoning while respecting visible content, command failure boundaries, and turn boundaries.
feat(api): add safety case retrieval openai/openai-python
Both SDKs picked up `client.safety.cases.retrieve` for fetching a safety case by ID, exposing the case identifier, creation time, entity identifier, nullable reason, and any warning or deactivation notice. Python also added typed `safety.warning_issued` and `safety.deactivation_issued` webhook payloads, with the case ID in `data.id`.