Skip to content

Commit 4de9631

Browse files
committed
Merge tag 'v12.9.2'
Signed-off-by: Mior Muhammad Zaki <[email protected]>
2 parents 1c87360 + 3db59aa commit 4de9631

File tree

71 files changed

+2411
-279
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2411
-279
lines changed

.github/workflows/databases.yml

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -293,53 +293,53 @@ jobs:
293293
DB_USERNAME: SA
294294
DB_PASSWORD: Forge123
295295

296-
mssql_2017:
297-
runs-on: ubuntu-20.04
298-
timeout-minutes: 5
299-
300-
services:
301-
sqlsrv:
302-
image: mcr.microsoft.com/mssql/server:2017-latest
303-
env:
304-
ACCEPT_EULA: Y
305-
SA_PASSWORD: Forge123
306-
ports:
307-
- 1433:1433
308-
309-
strategy:
310-
fail-fast: true
311-
312-
name: SQL Server 2017
313-
314-
steps:
315-
- name: Checkout code
316-
uses: actions/checkout@v4
317-
318-
- name: Setup PHP
319-
uses: shivammathur/setup-php@v2
320-
with:
321-
php-version: 8.3
322-
extensions: dom, curl, libxml, mbstring, zip, pcntl, sqlsrv, pdo, pdo_sqlsrv, odbc, pdo_odbc, :php-psr
323-
tools: composer:v2
324-
coverage: none
325-
326-
- name: Set Framework version
327-
run: composer config version "13.x-dev"
328-
329-
- name: Install dependencies
330-
uses: nick-fields/retry@v3
331-
with:
332-
timeout_minutes: 5
333-
max_attempts: 5
334-
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
335-
336-
- name: Execute tests
337-
run: vendor/bin/phpunit tests/Integration/Database
338-
env:
339-
DB_CONNECTION: sqlsrv
340-
DB_DATABASE: master
341-
DB_USERNAME: SA
342-
DB_PASSWORD: Forge123
296+
# mssql_2017:
297+
# runs-on: ubuntu-20.04
298+
# timeout-minutes: 5
299+
300+
# services:
301+
# sqlsrv:
302+
# image: mcr.microsoft.com/mssql/server:2017-latest
303+
# env:
304+
# ACCEPT_EULA: Y
305+
# SA_PASSWORD: Forge123
306+
# ports:
307+
# - 1433:1433
308+
309+
# strategy:
310+
# fail-fast: true
311+
312+
# name: SQL Server 2017
313+
314+
# steps:
315+
# - name: Checkout code
316+
# uses: actions/checkout@v4
317+
318+
# - name: Setup PHP
319+
# uses: shivammathur/setup-php@v2
320+
# with:
321+
# php-version: 8.3
322+
# extensions: dom, curl, libxml, mbstring, zip, pcntl, sqlsrv, pdo, pdo_sqlsrv, odbc, pdo_odbc, :php-psr
323+
# tools: composer:v2
324+
# coverage: none
325+
326+
# - name: Set Framework version
327+
# run: composer config version "13.x-dev"
328+
329+
# - name: Install dependencies
330+
# uses: nick-fields/retry@v3
331+
# with:
332+
# timeout_minutes: 5
333+
# max_attempts: 5
334+
# command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
335+
336+
# - name: Execute tests
337+
# run: vendor/bin/phpunit tests/Integration/Database
338+
# env:
339+
# DB_CONNECTION: sqlsrv
340+
# DB_DATABASE: master
341+
# DB_USERNAME: SA
342+
# DB_PASSWORD: Forge123
343343

344344
sqlite:
345345
runs-on: ubuntu-24.04

.github/workflows/queues.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,16 @@ jobs:
178178
beanstalkd:
179179
runs-on: ubuntu-24.04
180180

181-
name: Beanstalkd Driver
181+
strategy:
182+
fail-fast: true
183+
matrix:
184+
include:
185+
- php: 8.3
186+
pheanstalk: 5
187+
- php: 8.4
188+
pheanstalk: 7
189+
190+
name: Beanstalkd Driver (pda/pheanstalk:^${{ matrix.pheanstalk }})
182191

183192
steps:
184193
- name: Checkout code
@@ -194,7 +203,7 @@ jobs:
194203
- name: Setup PHP
195204
uses: shivammathur/setup-php@v2
196205
with:
197-
php-version: 8.3
206+
php-version: ${{ matrix.php }}
198207
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, pdo_mysql, :php-psr
199208
tools: composer:v2
200209
coverage: none
@@ -207,7 +216,7 @@ jobs:
207216
with:
208217
timeout_minutes: 5
209218
max_attempts: 5
210-
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
219+
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress --with="pda/pheanstalk:^${{ matrix.pheanstalk }}"
211220

212221
- name: Daemonize beanstalkd
213222
run: ./beanstalkd-1.13/beanstalkd &

.github/workflows/update-assets.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: 'update assets'
2+
3+
on:
4+
push:
5+
branches:
6+
- '12.x'
7+
paths:
8+
- '/src/Illuminate/Foundation/resources/exceptions/renderer/package-lock.json'
9+
workflow_dispatch:
10+
11+
jobs:
12+
update:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout Code
17+
uses: actions/checkout@v4
18+
19+
- uses: actions/setup-node@v4
20+
with:
21+
node-version: 18
22+
23+
- name: Update Exception Renderer Assets
24+
run: |
25+
npm ci --prefix "./src/Illuminate/Foundation/resources/exceptions/renderer"
26+
npm run build --prefix "./src/Illuminate/Foundation/resources/exceptions/renderer"
27+
28+
- name: Commit Compiled Files
29+
uses: stefanzweifel/git-auto-commit-action@v5
30+
with:
31+
commit_message: Update Assets

CHANGELOG.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,65 @@
11
# Release Notes for 12.x
22

3-
## [Unreleased](https://github.com/laravel/framework/compare/v12.7.2...12.x)
3+
## [Unreleased](https://github.com/laravel/framework/compare/v12.9.1...12.x)
4+
5+
## [v12.9.1](https://github.com/laravel/framework/compare/v12.9.0...v12.9.1) - 2025-04-16
6+
7+
* [12.x] Forward only passed arguments into Illuminate\Database\Eloquent\Collection::partition method by [@MarekVikartovsky](https://github.com/MarekVikartovsky) in https://github.com/laravel/framework/pull/55422
8+
* [12.x] Add test for complex context manipulation in Logger by [@roshandelpoor](https://github.com/roshandelpoor) in https://github.com/laravel/framework/pull/55423
9+
* [12.x] Remove unused var from `DumpCommand` by [@cosmastech](https://github.com/cosmastech) in https://github.com/laravel/framework/pull/55431
10+
* [12.x] Fix the serve command sometimes fails to destructure the request pool array by [@tonysm](https://github.com/tonysm) in https://github.com/laravel/framework/pull/55427
11+
* [12.x] Changes to `package-lock.json` should trigger `npm run build` by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55426
12+
13+
## [v12.9.0](https://github.com/laravel/framework/compare/v12.8.1...v12.9.0) - 2025-04-15
14+
15+
* Add types to ViewErrorBag by [@AJenbo](https://github.com/AJenbo) in https://github.com/laravel/framework/pull/55329
16+
* Add types to MessageBag by [@AJenbo](https://github.com/AJenbo) in https://github.com/laravel/framework/pull/55327
17+
* [12.x] add generics to commonly used methods in Schema/Builder by [@taka-oyama](https://github.com/taka-oyama) in https://github.com/laravel/framework/pull/55330
18+
* Return frozen time for easier testing by [@jasonmccreary](https://github.com/jasonmccreary) in https://github.com/laravel/framework/pull/55323
19+
* Enhance DetectsLostConnections to Support AWS Aurora Credential Rotation Scenario by [@msaifmfz](https://github.com/msaifmfz) in https://github.com/laravel/framework/pull/55331
20+
* [12.x] Rename test method of failedRequest() by [@LKaemmerling](https://github.com/LKaemmerling) in https://github.com/laravel/framework/pull/55332
21+
* feat: Add a callback to be called on transaction failure by [@dshafik](https://github.com/dshafik) in https://github.com/laravel/framework/pull/55338
22+
* [12.x] Add withRelationshipAutoloading method to model by [@litvinchuk](https://github.com/litvinchuk) in https://github.com/laravel/framework/pull/55344
23+
* [12.x] Enable HTTP client retries when middleware throws an exception by [@27pchrisl](https://github.com/27pchrisl) in https://github.com/laravel/framework/pull/55343
24+
* [12.x] Fix Closure serialization error in automatic relation loading by [@litvinchuk](https://github.com/litvinchuk) in https://github.com/laravel/framework/pull/55345
25+
* Add test for Unique validation rule with WhereIn constraints by [@mohammadrasoulasghari](https://github.com/mohammadrasoulasghari) in https://github.com/laravel/framework/pull/55351
26+
* Add [@throws](https://github.com/throws) in doc-blocks by [@mohammadrasoulasghari](https://github.com/mohammadrasoulasghari) in https://github.com/laravel/framework/pull/55361
27+
* [12.x] Update `propagateRelationAutoloadCallbackToRelation` method doc-block by [@derian-all-win-software](https://github.com/derian-all-win-software) in https://github.com/laravel/framework/pull/55363
28+
* [12.x] - Redis - Establish connection first, before set the options by [@alexmontoanelli](https://github.com/alexmontoanelli) in https://github.com/laravel/framework/pull/55370
29+
* [12.x] Fix translation FileLoader overrides with a missing key by [@fabio-ivona](https://github.com/fabio-ivona) in https://github.com/laravel/framework/pull/55342
30+
* [12.x] Fix pivot model events not working when using the `withPivotValue` by [@amir9480](https://github.com/amir9480) in https://github.com/laravel/framework/pull/55280
31+
* [12.x] Introduce memoized cache driver by [@timacdonald](https://github.com/timacdonald) in https://github.com/laravel/framework/pull/55304
32+
* [12.x] Add test for Filesystem::lastModified() method by [@roshandelpoor](https://github.com/roshandelpoor) in https://github.com/laravel/framework/pull/55389
33+
* [12.x] Supports `pda/pheanstalk` 7 by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55397
34+
* [12.x] Add comprehensive filesystem operation tests to FilesystemTest by [@roshandelpoor](https://github.com/roshandelpoor) in https://github.com/laravel/framework/pull/55399
35+
* Bump vite from 5.4.17 to 5.4.18 in /src/Illuminate/Foundation/resources/exceptions/renderer by [@dependabot](https://github.com/dependabot) in https://github.com/laravel/framework/pull/55402
36+
* Add descriptive error messages to assertViewHas() by [@3Descape](https://github.com/3Descape) in https://github.com/laravel/framework/pull/55392
37+
* Use Generic Types Annotations for LazyCollection Methods by [@mohammadrasoulasghari](https://github.com/mohammadrasoulasghari) in https://github.com/laravel/framework/pull/55380
38+
* [12.x] Add test coverage for Process sequence with multiple env variables by [@roshandelpoor](https://github.com/roshandelpoor) in https://github.com/laravel/framework/pull/55406
39+
* [12.x] Fix cc/bcc/replyTo address merging in `MailMessage` by [@onlime](https://github.com/onlime) in https://github.com/laravel/framework/pull/55404
40+
* [12.x] Add a `make` function in the `Fluent` by [@michaelnabil230](https://github.com/michaelnabil230) in https://github.com/laravel/framework/pull/55417
41+
42+
## [v12.8.1](https://github.com/laravel/framework/compare/v12.8.0...v12.8.1) - 2025-04-08
43+
44+
## [v12.8.0](https://github.com/laravel/framework/compare/v12.7.2...v12.8.0) - 2025-04-08
45+
46+
* [12.x] only check for soft deletes once when mass-pruning by [@cosmastech](https://github.com/cosmastech) in https://github.com/laravel/framework/pull/55274
47+
* [12.x] Add createMany mass-assignment variants to `HasOneOrMany` relation by [@onlime](https://github.com/onlime) in https://github.com/laravel/framework/pull/55262
48+
* cosmetic: include is_array() case in match construct of getArrayableItems by [@epic-64](https://github.com/epic-64) in https://github.com/laravel/framework/pull/55275
49+
* Add tests for InvokeSerializedClosureCommand by [@Amirhf1](https://github.com/Amirhf1) in https://github.com/laravel/framework/pull/55281
50+
* [12.x] Temporarily prevents PHPUnit 12.1 by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55297
51+
* [12.x] Test Improvements by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55306
52+
* Bump vite from 5.4.12 to 5.4.17 in /src/Illuminate/Foundation/resources/exceptions/renderer by [@dependabot](https://github.com/dependabot) in https://github.com/laravel/framework/pull/55301
53+
* [12.x] Test Improvements by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55307
54+
* [12.x] add generics to array types for Schema Grammars by [@taka-oyama](https://github.com/taka-oyama) in https://github.com/laravel/framework/pull/55314
55+
* [12.x] fix missing nullable for Query/Grammar::compileInsertGetId by [@taka-oyama](https://github.com/taka-oyama) in https://github.com/laravel/framework/pull/55311
56+
* [12.x] Adds `fromJson()` to Collection by [@DarkGhostHunter](https://github.com/DarkGhostHunter) in https://github.com/laravel/framework/pull/55310
57+
* [12.x] Fix `illuminate/database` usage as standalone package by [@crynobone](https://github.com/crynobone) in https://github.com/laravel/framework/pull/55309
58+
* Correct array key in InteractsWithInput by [@AJenbo](https://github.com/AJenbo) in https://github.com/laravel/framework/pull/55287
59+
* [12.x] Fix support for adding custom observable events from traits by [@willrowe](https://github.com/willrowe) in https://github.com/laravel/framework/pull/55286
60+
* [12.x] Added Automatic Relation Loading (Eager Loading) Feature by [@litvinchuk](https://github.com/litvinchuk) in https://github.com/laravel/framework/pull/53655
61+
* [12.x] Modify PHPDoc for Collection::chunkWhile functions to support preserving keys by [@jsvdvis](https://github.com/jsvdvis) in https://github.com/laravel/framework/pull/55324
62+
* [12.x] Introduce Rule::anyOf() for Validating Against Multiple Rule Sets by [@brianferri](https://github.com/brianferri) in https://github.com/laravel/framework/pull/55191
463

564
## [v12.7.2](https://github.com/laravel/framework/compare/v12.7.1...v12.7.2) - 2025-04-03
665

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@
110110
"league/flysystem-read-only": "^3.25.1",
111111
"league/flysystem-sftp-v3": "^3.25.1",
112112
"mockery/mockery": "^1.6.10",
113-
"orchestra/testbench-core": "^11.0",
114-
"pda/pheanstalk": "^5.0.6",
113+
"orchestra/testbench-core": "^11.0.0",
114+
"pda/pheanstalk": "^5.0.6|^7.0.0",
115115
"php-http/discovery": "^1.15",
116116
"phpstan/phpstan": "^2.0",
117117
"phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",

src/Illuminate/Cache/CacheManager.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,25 @@ public function driver($driver = null)
7171
return $this->store($driver);
7272
}
7373

74+
/**
75+
* Get a memoized cache driver instance.
76+
*
77+
* @param string|null $driver
78+
* @return \Illuminate\Contracts\Cache\Repository
79+
*/
80+
public function memo($driver = null)
81+
{
82+
$driver = $driver ?: $this->getDefaultDriver();
83+
84+
if (! $this->app->bound($bindingKey = "cache.__memoized:{$driver}")) {
85+
$this->app->scoped($bindingKey, fn () => $this->repository(
86+
new MemoizedStore($driver, $this->store($driver)), ['events' => false]
87+
));
88+
}
89+
90+
return $this->app->make($bindingKey);
91+
}
92+
7493
/**
7594
* Resolve the given store.
7695
*

0 commit comments

Comments
 (0)