From a8a9fb93a2f25a7cb5ac923b7556075ed287e637 Mon Sep 17 00:00:00 2001 From: taylorotwell <463230+taylorotwell@users.noreply.github.com> Date: Tue, 2 Sep 2025 23:58:32 +0000 Subject: [PATCH 1/4] Update CHANGELOG --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02b2398f4216..24cfcde6e163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Release Notes for 11.x -## [Unreleased](https://github.com/laravel/framework/compare/v11.45.2...11.x) +## [Unreleased](https://github.com/laravel/framework/compare/v11.45.3...11.x) + +## [v11.45.3](https://github.com/laravel/framework/compare/v11.45.2...v11.45.3) - 2025-09-02 + +* [11.x] Test Improvements by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/56649 +* [11.x] Fix exception page not preparing SQL bindings by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/56651 +* [11.x] Test Improvements by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/56849 +* [11.x] Chore: Decouple Str::random() from Validator by [@michaeldyrynda](https://github.com/michaeldyrynda) in https://github.com/laravel/framework/pull/56852 +* [11.x] Allow a wider range of `brick/math` versions by [@GrahamCampbell](https://github.com/GrahamCampbell) in https://github.com/laravel/framework/pull/56890 ## [v11.45.2](https://github.com/laravel/framework/compare/v11.45.1...v11.45.2) - 2025-08-13 From 2c6d85f22d08123ad45aa3a6726b16f06e68eecd Mon Sep 17 00:00:00 2001 From: taylorotwell <463230+taylorotwell@users.noreply.github.com> Date: Mon, 8 Sep 2025 21:54:34 +0000 Subject: [PATCH 2/4] Update version to v11.46.0 --- src/Illuminate/Foundation/Application.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Illuminate/Foundation/Application.php b/src/Illuminate/Foundation/Application.php index 1e64989f9f63..bec8cbe9eb42 100755 --- a/src/Illuminate/Foundation/Application.php +++ b/src/Illuminate/Foundation/Application.php @@ -45,7 +45,7 @@ class Application extends Container implements ApplicationContract, CachesConfig * * @var string */ - const VERSION = '11.45.3'; + const VERSION = '11.46.0'; /** * The base path for the Laravel installation. From 66d4c928bc165076d53adcc143b863455c971212 Mon Sep 17 00:00:00 2001 From: taylorotwell <463230+taylorotwell@users.noreply.github.com> Date: Mon, 8 Sep 2025 21:56:39 +0000 Subject: [PATCH 3/4] Update CHANGELOG --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24cfcde6e163..ef9ff6061454 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Release Notes for 11.x -## [Unreleased](https://github.com/laravel/framework/compare/v11.45.3...11.x) +## [Unreleased](https://github.com/laravel/framework/compare/v11.46.0...11.x) + +## [v11.46.0](https://github.com/laravel/framework/compare/v11.45.3...v11.46.0) - 2025-09-08 ## [v11.45.3](https://github.com/laravel/framework/compare/v11.45.2...v11.45.3) - 2025-09-02 From 34f8b05da6740d6e6ff28030a0833e56cf9a24f7 Mon Sep 17 00:00:00 2001 From: Italo Israel Baeza Cabrera Date: Mon, 29 Sep 2025 03:29:44 -0300 Subject: [PATCH 4/4] [11.x] Fixes incorrectly serializing virtual properties (backport) --- src/Illuminate/Database/Eloquent/Model.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Model.php b/src/Illuminate/Database/Eloquent/Model.php index 44878f7bf880..2d54b2c82e5e 100644 --- a/src/Illuminate/Database/Eloquent/Model.php +++ b/src/Illuminate/Database/Eloquent/Model.php @@ -2421,7 +2421,15 @@ public function __sleep() $this->classCastCache = []; $this->attributeCastCache = []; - return array_keys(get_object_vars($this)); + // When serializing the model, we may accidentally catch up some virtual properties. + // We will cast the model to a native array to skip them and then apply a function + // to clean each of the property names which is miles faster than using a regex. + return array_map( + fn ($key) => $key[0] === "\0" + ? substr($key, strpos($key, "\0", 1) + 1) + : $key, + array_keys((array) $this) + ); } /**