NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #462 most downloaded on Packagist
OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API
Last release 22 days ago
17 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 59 of 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
64 releases · first in 2022
One column per quarter.
feat(OpenAI): add support for programmatic tool calling in Responses API by @e4se in #790
Full Changelog: v0.20.1...v0.21.0
build(deps): bump shivammathur/setup-php from 2.37.1 to 2.37.2 by @dependabot [bot] in #782
Full Changelog: v0.20.0...v0.20.1
fix missing sequence numbers by @madskildegaard in #764
Full Changelog: v0.19.2...v0.20.0
fix: reasoning streaming by @L3o-pold in #751
phase property to OutputMessage by @Copilot in #754Full Changelog: v0.19.1...v0.19.2
Fix syntax error in README.md example code by @simonschaufi in #741
OutputImageGenerationToolCall by @Androbin in #742Full Changelog: v0.19.0...v0.19.1
feat: Responses streaming types by @madskildegaard in #711
file_id is null and file_data is not present in the API response by @romainnorberg in #715url on web search output by @iBotPeaches in #733Full Changelog: v0.18.0...v0.19.0
Feature/nano banana by @nmdimas in #685
Full Changelog: v0.17.1...v0.18.0
Add filename property to OutputMessageContentOutputTextAnnotationsF… by @qwertyquest in #696
filename property to OutputMessageContentOutputTextAnnotationsF… by @qwertyquest in #696Full Changelog: v0.17.0...v0.17.1
chore(OpenAI): deprecate Assistants API officially by @iBotPeaches in #679
Full Changelog: v0.16.1...v0.17.0
Handle optional attributes in CreateResponse by @louisbels in #662
sequence_number support to OutputTextDelta. by @e4se in #664Full Changelog: v0.16.0...v0.16.1
feat(OpenAI): GPT5 support by @iBotPeaches in #639
OverrideStrategy enum for the fakeable trait to support merge/replace by @droath in #646Full Changelog: v0.15.0...v0.16.0
Add updateAttributes method to VectorStoresFiles
Collapse legacy/deprecated sections by default in docs
output_text to Responses API (#579)index to CreateStreamedResponseToolCall (#562)$parameters optional in thread create() method (#577)model.list endpoint (#599)reasoning_effort support to Assistants (#606)Response constructor (#615)Add Throwable type support to ClientFake responses
### Changed - Removed PHP 8.1 support
Update GitHub Action deprecations & opt into Dependabot
Add http status to ErrorException
Add thread.run.incomplete to ThreadRunStreamResponse
Add support for Assistants API v2 and Vector Stores endpoints
Add support for Assistants API v2 and Vector Stores endpoint
Support for usage stream option on chat endpoint
Add support for Batches endpoint
Assistants: add streaming support
Audio: add support for timestamp_granularities
Fix default fake data for meta information
ThreadRun: Add "usage" property to the response
ThreadRunStep: "content" missing in response if result has not been submitted
Add support for Assistants and Threads endpoint
Add support for Assistants and Threads endpoint
Remove list() from Threads resource
list() from Threads resourceinstruction on ThreadRunResponse may be nullable
Add support for Assistants and Threads endpoint
Add RetrieveJobResponseError and batch_size, learning_rate_multiplier parameters on RetrieveJobResponseHyperparameters for fine-tuning endpoint
Add revised_prompt property to CreateResponseData on the image create endpoint
Add support for GTP-4 vision on the chat completion endpoint
Add support for tool calls on the chat completion endpoint
Add support for the audio speech endpoint
Update Models endpoint response object to the latest API changes
nEpochs on RetrieveJobResponseHyperparameters may be string
Add "has_more" to fine-tuning jobs and events list responses
Missing openai-version header from Azure
Typo in class name MetaInformationOpenAI
Breaking change on OpenAI API regarding "transient" field in Audio translations
Nothing published for this version
Breaking change on OpenAI API regarding "transient" field in Audio
Error handling: use error code as exception message if error message is empty
Chat/CreateResponse faking with function_call
Add support for function calling in the Chat Completions API
Exception handling for server error with non default content type header
Add support for psr/http-message ^2.0
fix: stream broken after checking for errors (regression of #113)
unify exception handling between HTTP client implementations
Trim ApiKey before sending it to the API
### Added - Stream support
Removed dependency for guzzlehttp/guzzle and use PSR-18 client discovery instead
guzzlehttp/guzzle and use PSR-18 client discovery instead (#75)status_details can be a string in file responses. Affects Files and FineTunes resources
status_details can be a string in file responses. Affects Files and FineTunes resources (#68)Audio resource to turn audio into text powered by whisper-1
Audio resource to turn audio into text powered by whisper-1 (#62)Chat resource aka ChatGPT powered by gpt-3.5-turbo
Chat resource aka ChatGPT powered by gpt-3.5-turbo (#60)Nullable finish_reason on Completions CreateResponse (#52, 545e0ab)
Missing events on FineTunes RetrieveResponse
events on FineTunes RetrieveResponse (#41)Your coding agent can read these notes before it upgrades. Set up the MCP server →