OpenAI SDKs Ship Four Releases in One Day: safety_identifier and Translation (v3.33-3.34, v7.36-7.37)
On 2026-10-17 openai-python shipped v3.33.0/v3.34.0 and openai-node shipped v7.36.0/v7.37.0: safety_identifier reached image requests and responses, Realtime Translation sessions landed, and node added GPT-4 alias shutdown notices.
The openai-python 3.32.0 and openai-node 7.35.0: prompt-created voices, Live audio fixtures, and Decisions in Live covered v3.32.0/v7.35.0 barely a day ago, and OpenAI's two-package release train ran four more stops: on 2026-10-17 openai-python shipped v3.33.0 and v3.34.0 while openai-node shipped v7.36.0 and v7.37.0. Read together, the four release notes describe one expansion of the API surface around safety identifiers and realtime translation. Every parameter-level fact in this article comes from the day's SDK source diffs and the release notes' own wording.
safety_identifier: the image APIs get a unified safety parameter
v3.33.0 (python) and v7.36.0 (node) share one feature: add safety identifiers to image requests and responses (python #4093, node #2957). The parameter itself can be read verbatim from the v3.33.0 source diff: safety_identifier is a string or null with maxLength 128 and the example value user-1234. The official description reads "A stable identifier for an end user in your organization, used for safety monitoring and abuse detection" — and OpenAI advises hashing usernames or email addresses before sending them, so no identifying information travels in plain text.
The precedence rule is in the source too: a non-empty safety_identifier takes precedence over user; user is marked deprecated and remains accepted only when safety_identifier is omitted, null, or empty. The migration path matches the docs — OpenAI's safety best practices page (verified reachable, direct 200, on 2026-10-18) carries an "implement safety identifiers" section anchor.
Scope matters: the notes explicitly say image requests and responses — the same identifier rides the request in and appears on the response object, symmetrically. Whether other API surfaces already carry the parameter is not stated in either release, and this article does not infer beyond the wording.
Realtime Translation: a new session in python, generated bindings in node
v3.34.0's second feature is add Realtime Translation WebSocket sessions (#4095) — another WebSocket session type in the Realtime family. node's counterpart move appears in v7.37.0's Refactors section: realtime now uses generated Translation bindings (#2961). Neither note documents fields or endpoints beyond those lines; taken together, the two moves are the usual cadence — handwritten in python, code-generated in node — for aligning one API surface, and this article asserts nothing further.
The synchronized item and two secondary changes
A degraded external storage status appeared as a feature in both packages the same day (python #4097, node #2963). The release notes' entire description is that one line — by naming it looks like a new value on some status enum, but where it attaches and when it appears is undocumented, and this article does not vouch for inferred semantics.
Two secondary changes are worth recording. First, node v7.37.0's Chores section added shutdown notices for GPT-4 model aliases (#2959) — the SDK now flags GPT-4 aliases as shutting down, in step with the official 2026-10-14 deprecation wave (OpenAI's October 2026 deprecation wave: GPT-4o and GPT-4.1 on 2027-01-14, TTS to gpt-realtime-2.1-mini); the SDK notice carries no new dates, so timing remains governed by the official announcements. Second, python v3.33.0 shared the Decisions cache breakpoint parameter type (#4092) — a type-level refactor making the type reusable across surfaces, with no behavior change stated.
Version comparison
| Change | openai-python | openai-node | Evidence level |
|---|---|---|---|
| safety identifiers on image requests and responses | v3.33.0 (#4093) | v7.36.0 (#2957) | Parameter-level (source diff) |
| Realtime Translation WebSocket sessions | v3.34.0 (#4095) | v7.37.0 (#2961, generated bindings) | One release-note line |
| degraded external storage status | v3.34.0 (#4097) | v7.37.0 (#2963) | One release-note line |
| GPT-4 alias shutdown notices | — | v7.37.0 (#2959, Chores) | Chores level |
| Decisions cache breakpoint type sharing | v3.33.0 (#4092) | — | Type refactor |
Publish times for all four versions follow GitHub releases' published_at (2026-10-17). python v3.33.0's semver comparison header says 2026-10-16, one day off the API field; this article standardizes on the API value.
Next steps
- Callers already using
userfor safety attribution: migrate tosafety_identifier, pass a hashed identifier, and mind the 128-character cap. - Teams on Realtime: watch how the Translation session surface aligns across the two packages before switching node over to the generated bindings.
- Tracking deprecation timelines: anchor on the OpenAI's October 2026 deprecation wave: GPT-4o and GPT-4.1 on 2027-01-14, TTS to gpt-realtime-2.1-mini; the SDK notices are a hinting layer only.
Key points
- All four versions shipped on 2026-10-17 per GitHub releases' published_at: openai-python v3.33.0 and v3.34.0, openai-node v7.36.0 and v7.37.0 — less than a day after the previous pair, v3.32.0/v7.35.0 (2026-10-16)
- Parameter-level facts for safety_identifier come from the v3.33.0 source diff (commit c969e32): string or null, maxLength 128, example user-1234; the official description reads a stable identifier for an end user in your organization, used for safety monitoring and abuse detection; hashing usernames/emails is advised so identifying information is not sent; a non-empty value takes precedence over the deprecated user parameter (user remains accepted only when safety_identifier is omitted, null, or empty)
- The same change landed on both sides of the image API — the release notes read add safety identifiers to image requests and responses (python #4093, node #2957)
- Realtime Translation WebSocket sessions landed in python v3.34.0 (#4095); node v7.37.0 refactored realtime onto generated Translation bindings (#2961) — the same API surface on the two packages' usual divergent cadence
- A degraded external storage status was added by both packages the same day (python #4097, node #2963); the release notes' entire description is that one line, and this article infers no further semantics
- node v7.37.0's Chores section added shutdown notices for GPT-4 model aliases (#2959), consistent with the official 2026-10-14 deprecation wave; python v3.33.0 also shared the Decisions cache breakpoint parameter type (#4092)
Frequently asked questions
Official references
Related articles
openai-python 3.32.0 and openai-node 7.35.0: prompt-created voices, Live audio fixtures, and Decisions in Live
Both official SDKs shipped on 2026-10-16: voices created from a text description (Live only), 30-second Live audio fixtures, Decisions transcript triggers, and prompt caching for the Decisions API - all from the CHANGELOGs and tag sources.
Read articleBrowser and Computer Toolsets (1/4) Land in the OpenAI SDKs: BrowserToolset Turns Driver Methods into Function Tools
On 2026-10-14 the official SDKs shipped four releases: openai-python 3.30/3.31 and openai-node 7.33/7.34. The (1/4) browser and computer toolsets headline: BrowserToolset wraps a caller-supplied driver as ordinary function tools.
Read articleHosted agent environments surface in the OpenAI SDKs: prewarmed creation, idle suspension, expiration
Four releases in three days, October 9-11, 2026: openai-python 3.27-3.29 and openai-node 7.32 surface one agent environment API — prewarmed beta creation, idle suspension, expiration. Quoted from release notes and SDK source.
Read articleSubscribe to GPTMap Weekly
One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.
Submitting opens Buttondown in a new tab to confirm your subscription.