From 70ec1da271a316e095a03c61e1c43beb779707b3 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Mon, 4 Aug 2025 13:52:10 -0400 Subject: [PATCH 1/9] feat(meta): Add support for 0.15.0 of client + container facade. (#161) * feat: add containers api to facade * chore: request at least v0.15.0 of client --- composer.json | 2 +- src/Facades/OpenAI.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 60cd36b..491a619 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "php": "^8.2.0", "guzzlehttp/guzzle": "^7.9.3", "laravel/framework": "^11.29|^12.12", - "openai-php/client": "^0.14.0" + "openai-php/client": "^0.15.0" }, "require-dev": { "laravel/pint": "^1.22.0", diff --git a/src/Facades/OpenAI.php b/src/Facades/OpenAI.php index 09f6aaf..cdc2921 100644 --- a/src/Facades/OpenAI.php +++ b/src/Facades/OpenAI.php @@ -15,6 +15,7 @@ * @method static \OpenAI\Resources\Batches batches() * @method static \OpenAI\Resources\Chat chat() * @method static \OpenAI\Resources\Completions completions() + * @method static \OpenAI\Resources\Containers containers() * @method static \OpenAI\Resources\Embeddings embeddings() * @method static \OpenAI\Resources\Edits edits() * @method static \OpenAI\Resources\Files files() From 399f6f4cc1cb218d175128a456857e878f91117d Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Mon, 4 Aug 2025 13:56:40 -0400 Subject: [PATCH 2/9] release: v0.15.0 (#162) --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37da658..4361b87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## v0.15.0 (2025-08-04) +### Added +- Add facade for `containers`. ([#161](https://github.com/openai-php/laravel/pull/161)) + +### Changed +- Changed underlying `openai/client` package version from 0.14.0 to 0.15.0 + ## v0.14.0 (2025-06-24) ### Added - Add facade for `realtime`. ([#156](https://github.com/openai-php/laravel/pull/156)) From 98fb53b2891caacccf46bc0fb824cf8408353800 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 16:33:54 -0400 Subject: [PATCH 3/9] build(deps): bump actions/checkout from 4 to 5 (#163) Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/formats.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/formats.yml b/.github/workflows/formats.yml index ab7c16a..50b36af 100644 --- a/.github/workflows/formats.yml +++ b/.github/workflows/formats.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cache dependencies uses: actions/cache@v4 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7ab8996..4937678 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cache dependencies uses: actions/cache@v4 From 2350b464b9ac4a80933352c8984f0ce1c9fbab11 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 26 Aug 2025 08:34:53 -0400 Subject: [PATCH 4/9] feat(meta): Add support for 0.16.0 of client (#165) --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 491a619..39309d3 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "php": "^8.2.0", "guzzlehttp/guzzle": "^7.9.3", "laravel/framework": "^11.29|^12.12", - "openai-php/client": "^0.15.0" + "openai-php/client": "^0.16.0" }, "require-dev": { "laravel/pint": "^1.22.0", From 0af3c787af03f1aaac02f7c8cd6a917dbfd3fd32 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 26 Aug 2025 08:38:12 -0400 Subject: [PATCH 5/9] release: v0.16.0 (#166) --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4361b87..687f8b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## v0.16.0 (2025-08-26) +### Changed + - Changed underlying `openai/client` package version from 0.15.0 to 0.16.0 + - HTTP 429 now throw a `RateLimitException` instead of a generic `ErrorException` + ## v0.15.0 (2025-08-04) ### Added - Add facade for `containers`. ([#161](https://github.com/openai-php/laravel/pull/161)) From 8d6dedd3077110e85f6174cb1469fca8c4532a3a Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Tue, 26 Aug 2025 08:45:52 -0400 Subject: [PATCH 6/9] docs: migrate readme to responses api --- README.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f68de3e..37f3557 100644 --- a/README.md +++ b/README.md @@ -46,14 +46,12 @@ Finally, you may use the `OpenAI` facade to access the OpenAI API: ```php use OpenAI\Laravel\Facades\OpenAI; -$result = OpenAI::chat()->create([ - 'model' => 'gpt-4o-mini', - 'messages' => [ - ['role' => 'user', 'content' => 'Hello!'], - ], +$result = OpenAI::responses()->create([ + 'model' => 'gpt-5', + 'input' => 'Hello!', ]); -echo $result->choices[0]->message->content; // Hello! How can I assist you today? +echo $response->outputText; // Hello! How can I assist you today? ``` ## Configuration @@ -111,7 +109,7 @@ All responses are having a `fake()` method that allows you to easily create a re ```php use OpenAI\Laravel\Facades\OpenAI; -use OpenAI\Responses\Completions\CreateResponse; +use OpenAI\Responses\Responses\CreateResponse; OpenAI::fake([ CreateResponse::fake([ @@ -123,21 +121,21 @@ OpenAI::fake([ ]), ]); -$completion = OpenAI::completions()->create([ - 'model' => 'gpt-4o-mini', - 'prompt' => 'PHP is ', +$response = OpenAI::responses()->create([ + 'model' => 'gpt-5', + 'input' => 'PHP is ', ]); -expect($completion['choices'][0]['text'])->toBe('awesome!'); +expect($response->outputText)->toBe('awesome!'); ``` After the requests have been sent there are various methods to ensure that the expected requests were sent: ```php // assert completion create request was sent -OpenAI::assertSent(Completions::class, function (string $method, array $parameters): bool { +OpenAI::assertSent(Responses::class, function (string $method, array $parameters): bool { return $method === 'create' && - $parameters['model'] === 'gpt-4o-mini' && + $parameters['model'] === 'gpt-5' && $parameters['prompt'] === 'PHP is '; }); ``` From 088626820bff8436321e6b8b2e50828fed1e3dbb Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Wed, 27 Aug 2025 06:06:50 -0400 Subject: [PATCH 7/9] build(meta): upgrade to phpstan v2 (#168) --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 39309d3..ffa6c11 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "laravel/pint": "^1.22.0", "pestphp/pest": "^3.8.2|^4.0.0", "pestphp/pest-plugin-arch": "^3.1.1|^4.0.0", - "phpstan/phpstan": "^1.12.25", + "phpstan/phpstan": "^2.1", "symfony/var-dumper": "^7.2.6" }, "autoload": { From 802080ce55f9f33d7fdd75d81795f152e89e64eb Mon Sep 17 00:00:00 2001 From: Hijen EL Khalifi Date: Thu, 28 Aug 2025 14:47:45 +0100 Subject: [PATCH 8/9] docs(meta): correct README for wrong intermediate variable in example (#169) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37f3557..d452d93 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Finally, you may use the `OpenAI` facade to access the OpenAI API: ```php use OpenAI\Laravel\Facades\OpenAI; -$result = OpenAI::responses()->create([ +$response = OpenAI::responses()->create([ 'model' => 'gpt-5', 'input' => 'Hello!', ]); From d60f0a07c2d3b7bed8940e3633b9328386ec4195 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Thu, 4 Sep 2025 11:27:02 -0400 Subject: [PATCH 9/9] feat(meta): Add support for 0.16.1 of client (#171) --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index ffa6c11..40ba5ce 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "php": "^8.2.0", "guzzlehttp/guzzle": "^7.9.3", "laravel/framework": "^11.29|^12.12", - "openai-php/client": "^0.16.0" + "openai-php/client": "^0.16.1" }, "require-dev": { "laravel/pint": "^1.22.0",