Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
ab76ab5
release: 3.7.0 (#3758)
openai-sdks[bot] Sep 2, 2026
2a097b9
docs: add canonical SDK security model (#3778)
jbeckwith-oai Sep 2, 2026
09f446f
feat(api): add gpt-6-astra and related features (#3791)
apcha-oai Sep 3, 2026
88391ab
release: 3.8.0 (#3785)
openai-sdks[bot] Sep 3, 2026
b24aeda
chore: migrate to forked steady (#3795)
apcha-oai Sep 4, 2026
3cc8d78
fix(api): accept incomplete web search call statuses (#3786)
markstuart-oai Sep 4, 2026
8326784
feat(api): Add prompt cache diagnostics (#3800)
apcha-oai Sep 4, 2026
88b4d43
fix: refuse overflowing server retry delays (#3799)
markstuart-oai Sep 4, 2026
2a98f6a
feat(api): correct function argument completion event fields (openapi…
markstuart-oai Sep 4, 2026
be92815
chore(api): document throttling and model overload responses — SDK-23…
markstuart-oai Sep 5, 2026
182af73
release: 3.9.0 (#3796)
openai-sdks[bot] Sep 8, 2026
f1cd7f0
feat(api): add service-account API key expiration fields (#3802)
jbeckwith-oai Sep 8, 2026
5b39c45
feat(api): add GPT Image 2.5 models and image options (#3824)
marcuswood-oai Sep 8, 2026
8011140
release: 3.10.0 (#3822)
openai-sdks[bot] Sep 9, 2026
f348ec8
feat(api): Add expiration controls for service account keys (#3825)
apcha-oai Sep 9, 2026
41f0a23
release: 3.11.0 (#3829)
openai-sdks[bot] Sep 9, 2026
2d4b97c
test: restore CI test runtime after dependency-policy regression (#3830)
apcha-oai Sep 9, 2026
397ea08
ci: resolve fork PRs missing Castiron run associations (#3831)
marcuswood-oai Sep 9, 2026
c7e8c03
fix: handle bare `dict` and `list` annotations without type arguments…
rohitdeppi38 Sep 10, 2026
adb212e
fix: preserve finalized output on null response completion (#3345)
LeSingh1 Sep 10, 2026
802b334
fix: add aclose() to AsyncStream for standard async cleanup (#2854)
landim Sep 10, 2026
0e4bfef
feat(api) Add Live API (#3846)
apcha-oai Sep 10, 2026
603b81f
release: 3.12.0 (#3832)
openai-sdks[bot] Sep 10, 2026
1c4284a
feat(agents): add beta API and one-turn streaming helpers (#3847)
apcha-oai Sep 10, 2026
f0fa922
release: 3.13.0 (#3848)
openai-sdks[bot] Sep 10, 2026
7e31f8c
Fix streaming delta merge for duplicate tool call indexes (#3425)
fengjikui Sep 10, 2026
1ed8902
docs: use the vision guide image in README example (#3849)
marcuswood-oai Sep 10, 2026
8f84fbd
fix: preserve response stream indexes after empty items (#3126)
nightcityblade Sep 10, 2026
ae41bc4
fix: bound vector store file polling (#3401)
he-yufeng Sep 10, 2026
d7c41ef
feat(streaming): normalize errors raised while reading streams (#3827)
heri-espino Sep 10, 2026
e12b81d
ci: bump Steady to latest main (#3852)
apcha-oai Sep 11, 2026
44000e0
fix(logging): support standard OPENAI_LOG levels (#3734)
sylvesterkaczmarek Sep 14, 2026
90ac74c
fix(files): normalize PathLike upload tuples (#3475)
pranjalbhatia710 Sep 14, 2026
0b7ad38
fix(example): refresh realtime push_to_talk_app session types (#2926)
Rishirandhawa Sep 14, 2026
df6b72c
fix(responses): handle null text in output_text (#3019)
raashish1601 Sep 14, 2026
233d955
fix: normalize API error codes to strings (#3532)
Sanjays2402 Sep 14, 2026
e57a1b1
fix: include completion in content filter errors (#3094)
yu2001-s Sep 14, 2026
7fd5412
release: 3.14.0 (#3850)
openai-sdks[bot] Sep 14, 2026
7186203
fix: correct typo "th" to "the" in StreamAlreadyConsumed error messag…
nil957 Sep 14, 2026
2ef2de6
docs: fix vector store polling helper paths (#3101)
nightcityblade Sep 15, 2026
d421d7a
docs: fix streaming comment typo (#3005)
Rohan5commit Sep 15, 2026
bdbbc16
docs(client): correct retry jitter comment (#2252)
grayroom Sep 15, 2026
caaa9b4
docs(readme): correct SSE terminology (#2837)
zafross Sep 15, 2026
929a8a5
docs(utils): correct query component RFC reference (#3300)
aryanmotgi Sep 15, 2026
543516c
fix(examples): correct Azure endpoint hostname (#3298)
aryanmotgi Sep 15, 2026
8c76c4f
fix(examples): use uv in remaining Python launchers (#3821)
simpleqt Sep 15, 2026
dc625f9
docs: fix reusing wording in Azure client docstrings (#3061)
Rohan5commit Sep 15, 2026
557bd06
docs: update Responses API reference link (#3279)
creasetopher Sep 15, 2026
cb27380
docs: clarify filenames for in-memory file uploads (#3729)
sylvesterkaczmarek Sep 15, 2026
1493321
chore(examples): bump module_client.py to gpt-5.6 (#3211)
lucky-verma Sep 15, 2026
d241ed6
fix(examples): split push-to-talk shebang arguments (#3210)
lucky-verma Sep 15, 2026
54f460e
fix(examples): refresh chat streaming examples (#2974)
edenfunf Sep 15, 2026
a3d83b5
docs: clarify async client cleanup (#2388)
damccorm Sep 15, 2026
8cb9ded
docs: fix Realtime docstring wording (#3535)
marcelpetrick Sep 15, 2026
9640f29
chore: remove unused fine-tuning data validators (#3863)
marcuswood-oai Sep 15, 2026
ccc10f5
fix: log only metadata for Live WebSocket diagnostics (#3865)
marcuswood-oai Sep 15, 2026
b3c04f4
fix(azure): preserve deployment routing across copy/with_options (#3593)
hsusul Sep 15, 2026
6520df1
fix(responses): skip structured parsing for commentary (#3861)
naotaka1128 Sep 15, 2026
f86c721
fix(client): validate retry limits and preserve application errors (#…
marcuswood-oai Sep 15, 2026
5bae14c
release: 3.14.1 (#3856)
openai-sdks[bot] Sep 15, 2026
2971aaf
docs(realtime): remove nonexistent type imports (#3869)
marcuswood-oai Sep 15, 2026
98e1d24
feat(api): add compaction progress events (#3866)
markstuart-oai Sep 16, 2026
b77076d
fix: preserve chat stream moderation results (#3864)
marcuswood-oai Sep 16, 2026
4b15817
feat(api): add agent session model settings (#3882)
jbeckwith-oai Sep 17, 2026
f0457ab
chore(api): clarify incoming SIP call ID usage (#3885)
jbeckwith-oai Sep 17, 2026
a6eeb3f
feat(api): add audio-mini model choices (#3886)
jbeckwith-oai Sep 17, 2026
8f7cdb8
feat(api): add prompt-cache prewarming (#3888)
jbeckwith-oai Sep 17, 2026
bb79676
chore(api): update image request examples (#3889)
jbeckwith-oai Sep 17, 2026
3b865af
feat(api): add managed Responses WebSocket sessions (#3887)
markstuart-oai Sep 17, 2026
b7116e6
test: synchronize replacement WebSocket handshake (#3891)
markstuart-oai Sep 18, 2026
fcfb37c
release: 3.15.0 (#3870)
openai-sdks[bot] Sep 18, 2026
9a11f6e
feat(api): add webhook endpoint management (#3892)
jbeckwith-oai Sep 18, 2026
1ccaf07
chore(api): deprecate MCP connector_id (#3894)
jbeckwith-oai Sep 18, 2026
dcbd6b8
release: 3.16.0 (#3893)
openai-sdks[bot] Sep 18, 2026
68e4317
fix(api): avoid loading unrelated API resources on first use (#3898)
marcuswood-oai Sep 18, 2026
bccad31
release: 3.16.1 (#3899)
openai-sdks[bot] Sep 18, 2026
009b7f6
fix(parsing): drop TextFormatT parameterization in parse_response to …
MukundaKatta Sep 18, 2026
c9c3e69
release: 3.16.2 (#3903)
openai-sdks[bot] Sep 18, 2026
56b1708
fix(lib): use log.warning instead of the deprecated log.warn (#3878)
simpleqt Sep 18, 2026
fab5283
fix(lib): treat null message content as empty in parse_response (#3851)
chenlichao Sep 18, 2026
618bb31
fix(api)!: correct model types and network policy docs (#3896)
markstuart-oai Sep 19, 2026
eeebc53
feat(api): support environment variable vault credentials (#3905)
jbeckwith-oai Sep 19, 2026
c377eb2
feat(api): add SIP media security to incoming call events (#3907)
jbeckwith-oai Sep 19, 2026
19f1f37
feat(api): add safety warning and deactivation webhook events (#3908)
jbeckwith-oai Sep 19, 2026
6332577
feat(api): add external storage configuration management (#3909)
jbeckwith-oai Sep 19, 2026
a87b938
feat(api): add safety case retrieval (#3911)
jbeckwith-oai Sep 19, 2026
eaa5b77
chore(api): document response management resources (#3912)
jbeckwith-oai Sep 19, 2026
69a2c1d
feat(api): add session environment reset events (#3913)
jbeckwith-oai Sep 19, 2026
40c334f
fix(api)!: declare required local shell output call IDs (#3923)
markstuart-oai Sep 21, 2026
febbcdf
Revert "fix(api)!: declare required local shell output call IDs (#392…
markstuart-oai Sep 21, 2026
9b8e399
chore(deps): bump httpx2 from 2.7.0 to 2.12.0 in the python-security …
dependabot[bot] Sep 21, 2026
f95237f
chore(deps): bump CodeQL init and analyze to 4.37.8 (#3765)
dependabot[bot] Sep 21, 2026
690a8b5
chore(deps): bump CodeQL init and analyze to 4.37.8 (#3766)
dependabot[bot] Sep 21, 2026
b413abe
chore(deps): bump actions/upload-artifact from 5.0.0 to 7.0.1 (#3767)
dependabot[bot] Sep 21, 2026
9c1579b
chore(deps): bump openai/codex-action from 1.11 to 1.12 (#3768)
dependabot[bot] Sep 21, 2026
32e07e1
chore(deps): bump actions/github-script from 7.1.0 to 9.0.0 (#3769)
dependabot[bot] Sep 21, 2026
fededc9
chore(api): document API error response contracts (#3917)
markstuart-oai Sep 21, 2026
6e7a90f
fix(api): preserve model choices and defer error response docs (#3931)
marcuswood-oai Sep 22, 2026
8c72a70
release: 3.17.0 (#3904)
openai-sdks[bot] Sep 22, 2026
455ce1b
feat(api): add GPT-6 Sol and Luna model identifiers (#3935)
markstuart-oai Sep 22, 2026
b56e6d8
release: 3.18.0 (#3936)
openai-sdks[bot] Sep 22, 2026
6e0c2be
fix(client): retry only replayable request content (#3771)
Hughhhhcoder Sep 22, 2026
d041d73
feat(api): add GPT-Rosalind research model (#3940)
jbeckwith-oai Sep 22, 2026
0d91efb
fix(client): tolerate older optional aiohttp installations (#3941)
ranadeepsingh Sep 22, 2026
161ae65
fix(_utils/_transform): propagate __api_exclude__ in _async_transform…
Sep 22, 2026
bac3545
fix(helpers): use asyncio.get_running_loop() inside async methods (#3…
Ghraven Sep 22, 2026
d12d60f
feat(api): add GCP external storage support (#3943)
jbeckwith-oai Sep 22, 2026
63e4616
fix(api): handle omission markers in queued WebSocket events (#3944)
marcuswood-oai Sep 22, 2026
cbde8a5
release: 3.19.0 (#3938)
openai-sdks[bot] Sep 23, 2026
be9d666
chore(api): clarify Chat Completions seed limits (#3945)
markstuart-oai Sep 23, 2026
ead1fa2
docs: clarify collaborator-only pull request policy (#3948)
jbeckwith-oai Sep 23, 2026
5e39766
fix(client): merge HTTP headers case-insensitively (#3486)
fallintoplace Sep 23, 2026
33ffa1f
fix(chat): preserve single-pass tool iterables (#3770)
Hughhhhcoder Sep 23, 2026
4d12746
release: 3.19.1 (#3946)
openai-sdks[bot] Sep 23, 2026
bfd3680
fix: preserve single files for fallback extraction paths (#3875)
HaokaiDing Sep 23, 2026
325a948
chore(api): correct fine-tuning bounds and Realtime response referenc…
markstuart-oai Sep 23, 2026
a95c95e
chore(api): clarify approximate web search location defaults (#3953)
marcuswood-oai Sep 23, 2026
e79cf53
chore(api): clarify Realtime modality array definitions (#3954)
markstuart-oai Sep 23, 2026
d9f7b7a
release: 3.19.2 (#3951)
openai-sdks[bot] Sep 24, 2026
09c5b6f
feat(api): add Cyber access programs to Responses (#3956)
jbeckwith-oai Sep 24, 2026
63099e7
chore(api): document Responses not-found errors (#3959)
markstuart-oai Sep 25, 2026
a9d727f
chore(api): document files and uploads error responses (#3960)
markstuart-oai Sep 25, 2026
6e4a79c
chore(api): document batch error responses (#3961)
markstuart-oai Sep 25, 2026
a73fe0c
chore(api): document stored chat completion errors (#3963)
markstuart-oai Sep 25, 2026
5d4003c
chore(api): document fine-tuning and model errors (#3964)
markstuart-oai Sep 25, 2026
384fee3
chore(api): clarify documented API error responses (#3965)
markstuart-oai Sep 26, 2026
43443d1
test: verify omitted and explicit Responses WebSocket preconnect (#3968)
markstuart-oai Sep 26, 2026
f7bd4a7
fix(realtime): preserve base URL queries in WebSocket upgrades (#3971)
markstuart-oai Sep 27, 2026
bb68198
feat(api): add Agents credential and session options (#3967)
markstuart-oai Sep 27, 2026
f9c458b
fix(live): keep query parameters out of WebSocket endpoint paths (#3972)
markstuart-oai Sep 27, 2026
4ef4129
fix(live): avoid hangs at fractional transcript grouping deadlines (#…
markstuart-oai Sep 27, 2026
d0207b4
feat(responses): opt in to incremental WebSocket text and tool snapsh…
markstuart-oai Sep 28, 2026
a444e42
test: verify Live grouper disposal on a shared Python WebSocket (#3977)
markstuart-oai Sep 28, 2026
a52805c
fix(realtime): retain configured queues without replaying attempted s…
markstuart-oai Sep 28, 2026
78074d7
test(realtime): verify recovery boundaries and replacement credential…
markstuart-oai Sep 28, 2026
80e9686
fix(live): preserve caller queues and prevent uncertain WebSocket rep…
markstuart-oai Sep 28, 2026
a380cf2
feat(responses): preserve detailed WebSocket accumulator snapshots (#…
markstuart-oai Sep 28, 2026
0d35a26
fix(client): retry unmapped TLS transport errors (#3982)
marcuswood-oai Sep 28, 2026
68b173a
release: 3.20.0 (#3957)
openai-sdks[bot] Sep 28, 2026
160b2c0
feat(api): add GPT-6.1 Sol model identifier (#3986)
markstuart-oai Sep 29, 2026
62c1fe5
release: 3.21.0 (#3987)
openai-sdks[bot] Sep 29, 2026
f5dddb5
feat(api): add computer use to beta agents (#3989)
marcuswood-oai Sep 29, 2026
49e4366
release: 3.22.0 (#3990)
openai-sdks[bot] Sep 29, 2026
5a4bb96
Fix false results for whitespace-padded true responses (#3854)
1fanwang Sep 29, 2026
063375b
docs(examples): print event.delta in the streaming helpers doc (#3876)
simpleqt Sep 29, 2026
51692ed
fix(api): correct the missing authentication error message (#3993)
marcuswood-oai Sep 29, 2026
5559bdb
test(api): cover generated WebSocket resources in redirect harness (#…
apcha-oai Sep 29, 2026
fd78a48
chore(tests): mark sample_file.txt as text with LF line endings (#3879)
Yasser-Ameur Sep 29, 2026
1c4830b
docs(examples): fix two stale example comments (#3877)
simpleqt Sep 29, 2026
5544c18
fix: transform NotRequired typed dictionary fields (#3995)
marcuswood-oai Sep 30, 2026
841d929
release: 3.22.1 (#3994)
openai-sdks[bot] Sep 30, 2026
58aca1d
fix: use monotonic clock for file processing timeout (#3748)
Hughhhhcoder Sep 30, 2026
50f95ac
fix(responses): respect send queue limits during reconnect (#4000)
markstuart-oai Sep 30, 2026
7f203fd
fix(api): retain WebSocket endpoint paths and query parameters (#3999)
markstuart-oai Sep 30, 2026
138e3d1
feat(api): Add session traces and Realtime translations (#4001)
apcha-oai Sep 30, 2026
5c9ace9
chore(api): retain WebRTC Live session transport types (#4002)
markstuart-oai Sep 30, 2026
28c5c9a
fix(api): correct the eval run cancellation endpoint (#4003)
marcuswood-oai Sep 30, 2026
8a136c2
fix(api): allow original image detail in Chat Completions (#4005)
marcuswood-oai Sep 30, 2026
157ac4c
feat: collect final output from beta Agents streams (#4004)
apcha-oai Sep 30, 2026
f219c55
feat(beta): expose typed application actions as agent tools (#4006)
apcha-oai Oct 1, 2026
10f8816
feat(agents): [1/n] return typed answers from session streams (#4007)
apcha-oai Oct 1, 2026
f15f43c
chore(deps): bump astral-sh/setup-uv from 10.0.1 to 10.1.0 (#3976)
dependabot[bot] Oct 1, 2026
fb70d66
chore(deps): bump CodeQL actions to 4.38.1 (#3974)
dependabot[bot] Oct 1, 2026
a91d779
chore(deps-dev): bump pyright from 1.1.413 to 1.1.414 (#3902)
dependabot[bot] Oct 1, 2026
4fc2438
feat(agents): stage files and download turn artifacts (#4009)
apcha-oai Oct 1, 2026
1dbbf61
fix(responses): avoid replaying uncertain typed sends on reconnect (#…
markstuart-oai Oct 1, 2026
73f189b
fix: keep Castiron budget results valid when main advances (#4012)
apcha-oai Oct 1, 2026
93bd2aa
release: 3.23.0 (#3996)
openai-sdks[bot] Oct 1, 2026
ffcc4c4
fix(api): prioritize Python request routing fields (#4014)
jbeckwith-oai Oct 2, 2026
ba53a10
fix(api): prioritize routing fields in parse helpers (#4016)
jbeckwith-oai Oct 2, 2026
e5de2e5
feat(api): add custom voice creation and agent session events (#4013)
markstuart-oai Oct 2, 2026
637f1b8
release: 3.24.0 (#4015)
openai-sdks[bot] Oct 2, 2026
b6ca5b5
ci: standardize custom-code budget reporting (#4018)
apcha-oai Oct 2, 2026
becc1d2
feat(lib): export type_to_response_format_param publicly (#2993)
Bortlesboat Oct 2, 2026
95d9645
feat(agents): observe local tool failures (#4028)
apcha-oai Oct 5, 2026
eec627f
feat(tools): support tool search (defer_loading=true) in typed functi…
apcha-oai Oct 5, 2026
919b623
feat(agents): run local tools during streamed session creation (#4027)
apcha-oai Oct 5, 2026
bd74c4e
feat(api): add agent turn items and usage source grouping (#4030)
dpiet-oai Oct 6, 2026
13fff1b
release: 3.25.0 (#4019)
openai-sdks[bot] Oct 6, 2026
b99e3e4
feat(api): add standalone Decisions support (#4033)
dpiet-oai Oct 6, 2026
4e152cd
release: 3.26.0 (#4034)
openai-sdks[bot] Oct 6, 2026
b9bc5c1
fix(api): correct custom voice creation parameters (#4038)
marcuswood-oai Oct 8, 2026
9301e31
release: 3.26.1 (#4039)
openai-sdks[bot] Oct 8, 2026
8e1fd25
test: run release environment policy checks only in CI (#4037)
yoni-oai Oct 8, 2026
c511a77
feat(api): add prewarmed hosted environments (#4043)
dpiet-oai Oct 9, 2026
4374b13
release: 3.27.0 (#4044)
openai-sdks[bot] Oct 9, 2026
8bfffd4
chore(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 (#4026)
dependabot[bot] Oct 9, 2026
aaed2a7
chore(deps): update PyJWT security constraint to 2.14.0 (#3991)
dependabot[bot] Oct 9, 2026
4f5e618
chore(deps): bump CodeQL init and analyze to 4.38.2 (#4025)
dependabot[bot] Oct 9, 2026
1a90f1c
chore(deps): bump the python-maintenance group across 1 directory wit…
dependabot[bot] Oct 9, 2026
6aa25a9
feat(api): add agent environment suspension and expiration (#4046)
jbeckwith-oai Oct 9, 2026
ef676db
release: 3.28.0 (#4045)
openai-sdks[bot] Oct 9, 2026
e72f493
feat(api): add vault updates and metadata filters (#4047)
jbeckwith-oai Oct 10, 2026
f6a3459
chore(api): document Files API rate-limit responses (#4049)
jbeckwith-oai Oct 10, 2026
2c1ae52
chore(api): document 128-character safety identifiers (#4050)
jbeckwith-oai Oct 10, 2026
895d617
chore(api): clarify Decisions question and answer descriptions (#4051)
jbeckwith-oai Oct 10, 2026
c88b320
feat(api): add billing_not_active session error code (#4052)
jbeckwith-oai Oct 10, 2026
7352cf5
feat(api): add shida to named Live voices (#4053)
jbeckwith-oai Oct 11, 2026
16d3d3b
chore(api): clarify decision creation documentation (#4054)
jbeckwith-oai Oct 11, 2026
b7a1990
chore(api): document decision choice constraints (#4055)
jbeckwith-oai Oct 11, 2026
800899e
feat(api): align beta pagination limits and non-null parameters (#4057)
jbeckwith-oai Oct 11, 2026
7e1643a
release: 3.29.0 (#4048)
openai-sdks[bot] Oct 11, 2026
b570279
feat(api): add beta session spending limits (#4058)
jbeckwith-oai Oct 11, 2026
9eb83fe
feat(api): add OCI external-storage provider support (#4060)
jbeckwith-oai Oct 11, 2026
3c50399
feat(api): support image URLs and detailed safety alert explanations …
jbeckwith-oai Oct 11, 2026
5e7a23e
feat(api): add organization Decisions usage reporting (#4062)
jbeckwith-oai Oct 12, 2026
0f73f1d
chore(api): clarify agent tool limits and environment pagination (#4065)
jbeckwith-oai Oct 12, 2026
1f05e33
feat(api): support updating project API key expiry (#4066)
jbeckwith-oai Oct 13, 2026
c5452af
feat(api): expose image tool error and moderation details (#4072)
jbeckwith-oai Oct 13, 2026
1f6cfe1
fix(streaming): restore async HTTP/1.1 connection reuse (#4041)
marcuswood-oai Oct 14, 2026
16a8340
release: 3.30.0 (#4059)
openai-sdks[bot] Oct 14, 2026
47b9e4e
feat: add browser and computer toolsets (1/4) (#4073)
markstuart-oai Oct 14, 2026
86cae50
release: 3.31.0 (#4078)
openai-sdks[bot] Oct 14, 2026
d42accb
chore(api): clarify Decisions request and response fields (#4079)
jbeckwith-oai Oct 14, 2026
21ce0c2
feat(api): add regional processing residency options (#4081)
jbeckwith-oai Oct 14, 2026
95dbee9
fix(api): declare Realtime response error messages (#4083)
yoni-oai Oct 15, 2026
70d4738
refactor: share WebSocket connection handling (#4084)
markstuart-oai Oct 15, 2026
e71d781
feat(api): add response error diagnostics and model notices (#4086)
jbeckwith-oai Oct 15, 2026
9998c1a
feat(api): support audio fixture playback in Live sessions (#4085)
yoni-oai Oct 15, 2026
325da45
feat(api): add cache settings and key options [2/2] (#4087)
markstuart-oai Oct 16, 2026
230a923
feat(api): support Decisions in Live sessions (#4088)
yoni-oai Oct 16, 2026
2e39db7
feat(api): add prompt-based voice creation (#4091)
marcuswood-oai Oct 16, 2026
6ea95a6
release: 3.32.0 (#4080)
openai-sdks[bot] Oct 16, 2026
f7cefda
feat(api): share Decisions cache breakpoint parameter type (#4092)
jbeckwith-oai Oct 16, 2026
c969e32
feat(api): add safety identifiers to image requests and responses (#4…
markstuart-oai Oct 16, 2026
b7c5e5d
release: 3.33.0 (#4094)
openai-sdks[bot] Oct 17, 2026
bfada50
feat(api): add Realtime Translation WebSocket sessions (#4095)
markstuart-oai Oct 17, 2026
b216cb2
feat(api): add degraded external storage status (#4097)
jbeckwith-oai Oct 17, 2026
3eb0837
release: 3.34.0 (#4096)
openai-sdks[bot] Oct 17, 2026
309916e
fix(realtime): preserve byte receives with websockets 13 (#4098)
markstuart-oai Oct 17, 2026
8d5cbf0
feat(api): add typed Live sideband events (#4099)
markstuart-oai Oct 17, 2026
100bf8f
feat(api): add ultrafast service tier for Agents (#4101)
jbeckwith-oai Oct 17, 2026
ab91400
release: 3.35.0 (#4100)
openai-sdks[bot] Oct 17, 2026
5766349
fix: preserve beta Realtime byte reads on websockets 13 (#4102)
markstuart-oai Oct 18, 2026
547ecb1
release: 3.35.1 (#4103)
openai-sdks[bot] Oct 18, 2026
553703e
chore(api): use neutral moderation examples (#4104)
jbeckwith-oai Oct 18, 2026
6eaa90e
fix(api): accept canonical batch responses in strict mode (#4106)
jbeckwith-oai Oct 19, 2026
5589146
feat(api): add 30-minute cache-write usage counts (#4111)
jbeckwith-oai Oct 19, 2026
9d12b56
chore: restore generated Castiron reporting scripts (#4113)
jbeckwith-oai Oct 19, 2026
6a52987
docs: plan the Python generated-code transition (#4114)
jbeckwith-oai Oct 19, 2026
969ae2c
test: protect video polling helper compatibility (#4115)
jbeckwith-oai Oct 19, 2026
46e3680
docs: record Python transition progress and batch follow-up work (#4116)
jbeckwith-oai Oct 19, 2026
4590ff1
fix: preserve WebSocket close across recovery and cancellation (#4117)
markstuart-oai Oct 19, 2026
163a296
test: preserve chunked upload helper contracts (#4112)
jbeckwith-oai Oct 19, 2026
90c0bac
feat(types): prepare native synchronous WebSocket option type (#4118)
markstuart-oai Oct 19, 2026
8b1cac9
fix: preserve declared aliases during Pydantic v1 validation (#4119)
markstuart-oai Oct 20, 2026
8968560
fix(realtime): honor native options for legacy beta sockets (#4120)
markstuart-oai Oct 20, 2026
0e5794d
feat(api): add compaction trigger IDs (#4122)
jbeckwith-oai Oct 20, 2026
0721da9
chore: sync Python next with current main
jbeckwith-oai Oct 20, 2026
feeffa5
Merge repaired next baseline into main synchronization
jbeckwith-oai Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 7 additions & 5 deletions .castiron.stats.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
schema_version: 1
generation_id: 42c8861d-adc3-4c8a-81b3-3b7f497f41eb
openapi_spec_hash: d342651bd77c6cd6ea10a9d889b35bb8
openapi_transformed_spec_hash: 259f19fd2d38c6e784bbb40bf2f9a971
config_hash: fce3820c4f95b555e486349bc7d297d8
codegen_sha: acf1dbb5db99bd14d6dae73da59f59fb17e95381
generation_id: bb452d19-8d5f-4013-bfd3-3edecb25c37e
openapi_spec_hash: 72d34e76f62e434dc0b71e0b4ac0ce8a
openapi_transformed_spec_hash: bca4c6179df519f310841c4730b72c18
config_hash: 8a49d8603252fe24c2dc96f50eb0d05b
codegen_sha: 016ee2b2da744118cf209752f57c8616ad20b842
codegen_hash: 82cc4b7aca374db5d389b1ac06369a1ffa5946795a9ab86c87f57a5f5ec00390
public_codegen_sha: e23db4894b46c4da1d4d9625eb0876d0ab512e78
8 changes: 5 additions & 3 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
ARG VARIANT="3.9"
ARG VARIANT="3.10"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

USER vscode

RUN curl -sSf https://rye.astral.sh/get | RYE_VERSION="0.44.0" RYE_INSTALL_OPTION="--yes" bash
ENV PATH=/home/vscode/.rye/shims:$PATH
ADD --chmod=644 --checksum=sha256:504511fbbbd811aeaba6738abc79408956b6c7da0ca35437b3dcc24a41efc111 \
https://github.com/astral-sh/uv/releases/download/0.12.5/uv-installer.sh /tmp/uv-installer.sh
RUN UV_NO_MODIFY_PATH=1 sh /tmp/uv-installer.sh
ENV PATH=/home/vscode/.local/bin:$PATH

RUN echo "[[ -d .venv ]] && source .venv/bin/activate || export PATH=\$PATH" >> /home/vscode/.bashrc
9 changes: 6 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"context": ".."
},

"postStartCommand": "rye sync --all-features",
"postStartCommand": "./scripts/bootstrap",

"customizations": {
"vscode": {
Expand All @@ -20,13 +20,16 @@
"python.defaultInterpreterPath": ".venv/bin/python",
"python.typeChecking": "basic",
"terminal.integrated.env.linux": {
"PATH": "/home/vscode/.rye/shims:${env:PATH}"
"PATH": "/home/vscode/.local/bin:${env:PATH}"
}
}
}
},
"features": {
"ghcr.io/devcontainers/features/node:1": {}
"ghcr.io/devcontainers/features/node:1": {
"version": "22.22.3",
"pnpmVersion": "11.19.0"
}
}

// Features to add to the dev container. More info: https://containers.dev/features.
Expand Down
15 changes: 15 additions & 0 deletions .github/actions/setup-node-tooling/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Set up repository Node tooling
description: Install the pinned contributor toolchain and frozen dependencies
runs:
using: composite
steps:
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .node-version
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
run_install: false
- shell: bash
run: ./scripts/bootstrap-node
- shell: bash
run: node --test tests/node-tooling.test.cjs tests/node-release-age.test.cjs
48 changes: 48 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
cooldown:
default-days: 8
- package-ecosystem: uv
directory: /
versioning-strategy: increase-if-necessary
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: Etc/UTC
# Version updates wait; Dependabot security updates are exempt.
cooldown:
default-days: 8
open-pull-requests-limit: 3
groups:
python-maintenance:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch
python-security:
applies-to: security-updates
patterns:
- "*"

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
time: "09:30"
timezone: Etc/UTC
cooldown:
default-days: 8
open-pull-requests-limit: 5
groups:
# CodeQL init/analyze share versioned state and must change together.
codeql:
patterns:
- "github/codeql-action"
11 changes: 5 additions & 6 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<!-- Thank you for contributing to this project! -->
<!-- The code in this repository is all auto-generated, and is not meant to be edited manually. -->
<!-- We recommend opening an Issue instead, but you are still welcome to open a PR to share for -->
<!-- an improvement if you wish, just note that we are unlikely to merge it as-is. -->

- [ ] I understand that this repository is auto-generated and my pull request may not be merged
<!-- Pull requests are limited to repository collaborators. -->
<!-- For community bug reports and feature requests, open an issue: -->
<!-- https://github.com/openai/openai-python/issues -->
<!-- Read the contribution policy and development guide: -->
<!-- https://github.com/openai/openai-python/blob/main/CONTRIBUTING.md -->

## Changes being requested

Expand Down
42 changes: 42 additions & 0 deletions .github/scripts/setup-playwright-sandbox.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -euo pipefail

# Ubuntu restricts user namespaces for downloaded Chromium. Keep Chromium's
# sandbox enabled and allow only the two executables installed for this CI job.
: "${RUNNER_TEMP:?RUNNER_TEMP is required}"
: "${PLAYWRIGHT_BROWSERS_PATH:?PLAYWRIGHT_BROWSERS_PATH is required}"
expected_root="$RUNNER_TEMP/openai-python-playwright"
if [[ "$PLAYWRIGHT_BROWSERS_PATH" != "$expected_root" || ! -d "$expected_root" ]]; then
echo "Playwright must be installed inside this job's RUNNER_TEMP." >&2
exit 1
fi
runner_root="$(realpath "$RUNNER_TEMP")"
install_root="$(realpath "$expected_root")"
# AppArmor uses these paths in its policy syntax, without globs or expansions.
if [[ "$install_root" != "$runner_root/openai-python-playwright" || ! "$install_root" =~ ^/[a-zA-Z0-9_./-]+$ ]]; then
echo "Playwright installation escaped RUNNER_TEMP or contains unexpected path characters." >&2
exit 1
fi
shopt -s nullglob
chromiums=("$install_root"/chromium-*/chrome-linux64/chrome)
headless_shells=("$install_root"/chromium_headless_shell-*/chrome-headless-shell-linux64/chrome-headless-shell)
if [[ "${#chromiums[@]}" -ne 1 || "${#headless_shells[@]}" -ne 1 ]]; then
echo "Expected one installed Chromium and one installed headless shell." >&2
exit 1
fi
binaries=("${chromiums[0]}" "${headless_shells[0]}")
for index in "${!binaries[@]}"; do
binary="$(realpath "${binaries[index]}")"
if [[ ! -x "$binary" || "$binary" != "$install_root/"* || ! "$binary" =~ ^/[a-zA-Z0-9_./-]+$ ]]; then
echo "Chromium executable is absent or outside this job's installation." >&2
exit 1
fi
binaries[index]="$binary"
done
{
printf 'abi <abi/4.0>,\ninclude <tunables/global>\n'
for index in "${!binaries[@]}"; do
printf 'profile openai-python-playwright-%s "%s" flags=(unconfined) {\n userns,\n}\n' "$index" "${binaries[index]}"
done
} | sudo tee /etc/apparmor.d/openai-python-playwright >/dev/null
sudo apparmor_parser -r /etc/apparmor.d/openai-python-playwright
Loading
Loading