Skip to content

Commit 773efd6

Browse files
committed
Merge remote-tracking branch 'statamic/5.x' into feature/view-other-authors-entries
2 parents 7d9bc30 + d47e655 commit 773efd6

File tree

343 files changed

+9124
-1355
lines changed

Some content is hidden

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

343 files changed

+9124
-1355
lines changed

.babelrc

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/workflows/pr-title.yml

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,56 @@ jobs:
88
pr-title:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: deepakputhraya/action-pr-title@master
12-
with:
13-
regex: '^\[\d+\.x\]\s'
11+
- name: Validate PR title matches target branch
12+
env:
13+
PR_TITLE: ${{ github.event.pull_request.title }}
14+
BASE_BRANCH: ${{ github.event.pull_request.base.ref }}
15+
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
16+
run: |
17+
# Validates PR title against target branch
18+
# Returns error message if invalid, empty string if valid
19+
validate_pr_title() {
20+
local target_branch="$1"
21+
local pr_title="$2"
22+
local default_branch="$3"
23+
24+
# Check if target branch is a version branch (e.g., 5.x, 4.x)
25+
if [[ $target_branch =~ ^([0-9]+)\.x$ ]]; then
26+
local version="${BASH_REMATCH[1]}"
27+
if [[ ! $pr_title =~ ^\[$version\.x\][[:space:]] ]]; then
28+
echo "PR targeting '$target_branch' must have title starting with '[$version.x] '"
29+
return
30+
fi
31+
32+
# Check if target branch is master (next major version)
33+
elif [[ $target_branch == "master" ]]; then
34+
local current_version="${default_branch//\.x/}"
35+
local next_version=$((current_version + 1))
36+
if [[ ! $pr_title =~ ^\[$next_version\.x\][[:space:]] ]]; then
37+
echo "PR targeting 'master' must have title starting with '[$next_version.x] '"
38+
return
39+
fi
40+
41+
# For other branches, just enforce that there's a version prefix
42+
else
43+
if [[ ! $pr_title =~ ^\[[0-9]+\.x\][[:space:]] ]]; then
44+
echo "PR title must start with a version prefix like '[5.x] '"
45+
return
46+
fi
47+
fi
48+
49+
echo ""
50+
}
51+
52+
echo "PR Title: $PR_TITLE"
53+
echo "Base Branch: $BASE_BRANCH"
54+
echo "Default Branch: $DEFAULT_BRANCH"
55+
56+
ERROR=$(validate_pr_title "$BASE_BRANCH" "$PR_TITLE" "$DEFAULT_BRANCH")
57+
58+
if [[ -n $ERROR ]]; then
59+
echo $ERROR
60+
exit 1
61+
fi
62+
63+
echo "PR title validation passed"

.github/workflows/tests.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
strategy:
1818
matrix:
19-
php: [8.1, 8.2, 8.3, 8.4]
19+
php: [8.1, 8.2, 8.3, 8.4, 8.5]
2020
laravel: [10.*, 11.*, 12.*]
2121
stability: [prefer-lowest, prefer-stable]
2222
os: [ubuntu-latest]
@@ -36,6 +36,10 @@ jobs:
3636
laravel: 12.*
3737
- php: 8.4
3838
laravel: 10.*
39+
- php: 8.5
40+
laravel: 10.*
41+
- php: 8.5
42+
laravel: 11.*
3943

4044
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}
4145

CHANGELOG.md

Lines changed: 302 additions & 0 deletions
Large diffs are not rendered by default.

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ If you discover a security vulnerability in Statamic, please review the followin
33
## Guidelines
44
While working to identify potential security vulnerabilities in Statamic, we ask that you:
55

6-
- **Privately** share any issues that you discover with us via statamic.com/support as soon as possible.
6+
- **Privately** share any issues that you discover with us via support@statamic.com as soon as possible.
77
- Give us a reasonable amount of time to address any reported issues before publicizing them.
88
- Only report issues that are in scope.
99
- Provide a quality report with precise explanations and concrete attack scenarios.

composer.json

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"composer/semver": "^3.4",
1515
"guzzlehttp/guzzle": "^6.3 || ^7.0",
1616
"james-heinrich/getid3": "^1.9.21",
17-
"laravel/framework": "^10.40 || ^11.34 || ^12.0",
17+
"laravel/framework": "^10.48.29 || ^11.44.1 || ^12.40.0",
1818
"laravel/prompts": "^0.1.16 || ^0.2.0 || ^0.3.0",
1919
"league/commonmark": "^2.2",
2020
"league/csv": "^9.0",
@@ -24,27 +24,30 @@
2424
"nesbot/carbon": "^2.62.1 || ^3.0",
2525
"pixelfear/composer-dist-plugin": "^0.1.4",
2626
"rebing/graphql-laravel": "^9.8",
27-
"rhukster/dom-sanitizer": "^1.0.6",
27+
"rhukster/dom-sanitizer": "^1.0.7",
2828
"spatie/blink": "^1.3",
29-
"spatie/ignition": "^1.15.1",
29+
"spatie/error-solutions": "^1.0 || ^2.0",
3030
"statamic/stringy": "^3.1.2",
3131
"stillat/blade-parser": "^1.10.1 || ^2.0",
3232
"symfony/lock": "^6.4",
3333
"symfony/var-exporter": "^6.0",
3434
"symfony/yaml": "^6.0 || ^7.0",
3535
"ueberdosis/tiptap-php": "^1.4",
3636
"voku/portable-ascii": "^2.0.2",
37-
"wilderborn/partyline": "^1.0"
37+
"wilderborn/partyline": "^1.0",
38+
"symfony/http-foundation": "^6.4.29 || ^7.3.7",
39+
"symfony/process": "^6.4.14 || ^7.1.7"
3840
},
3941
"require-dev": {
4042
"doctrine/dbal": "^3.6",
4143
"fakerphp/faker": "~1.10",
4244
"google/cloud-translate": "^1.6",
4345
"laravel/pint": "1.16.0",
4446
"mockery/mockery": "^1.6.10",
45-
"orchestra/testbench": "^8.14 || ^9.2 || ^10.0",
47+
"orchestra/testbench": "^8.36 || ^9.15 || ^10.8",
4648
"phpunit/phpunit": "^10.5.35 || ^11.5.3",
47-
"spatie/laravel-ray": "^1.37"
49+
"sebastian/recursion-context": "^5.0.1 || ^6.0.3",
50+
"spatie/laravel-ray": "^1.42"
4851
},
4952
"config": {
5053
"optimize-autoloader": true,
@@ -83,6 +86,13 @@
8386
"src/helpers.php",
8487
"src/namespaced_helpers.php",
8588
"src/View/Blade/helpers.php"
89+
],
90+
"exclude-from-classmap": [
91+
"tests/Auth/Eloquent/__migrations__/**",
92+
"tests/StarterKits/__fixtures__/**",
93+
"tests/Translator/__fixtures__/**",
94+
"tests/Console/Kernel.php",
95+
"src/Console/Please/app-kernel.php"
8696
]
8797
},
8898
"autoload-dev": {

config/assets.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
|--------------------------------------------------------------------------
7777
|
7878
| You may define global defaults for all manipulation parameters, such as
79-
| quality, format, and sharpness. These can and will be be overwritten
79+
| quality, format, and sharpness. These can and will be overwritten
8080
| on the tag parameter level as well as the preset level.
8181
|
8282
*/
@@ -223,4 +223,16 @@
223223

224224
'svg_sanitization_on_upload' => true,
225225

226+
/*
227+
|--------------------------------------------------------------------------
228+
| Use V6 Permissions
229+
|--------------------------------------------------------------------------
230+
|
231+
| This allows you to opt in to the asset permissions that will become the
232+
| default behavior in Statamic 6. This will be removed in Statamic 6.
233+
|
234+
*/
235+
236+
'v6_permissions' => false,
237+
226238
];

config/graphql.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@
4242
//
4343
],
4444

45+
/*
46+
|--------------------------------------------------------------------------
47+
| Mutations
48+
|--------------------------------------------------------------------------
49+
|
50+
| Here you may list mutations to be added to the Statamic schema.
51+
|
52+
| https://statamic.dev/graphql#custom-mutations
53+
*/
54+
55+
'mutations' => [
56+
//
57+
],
58+
4559
/*
4660
|--------------------------------------------------------------------------
4761
| Middleware

config/stache.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,27 @@
140140
'timeout' => 30,
141141
],
142142

143+
/*
144+
|--------------------------------------------------------------------------
145+
| Warming Optimization
146+
|--------------------------------------------------------------------------
147+
|
148+
| These options control performance optimizations during Stache warming.
149+
|
150+
*/
151+
152+
'warming' => [
153+
// Enable parallel store processing for faster warming on multi-core systems
154+
'parallel_processing' => env('STATAMIC_STACHE_PARALLEL_WARMING', false),
155+
156+
// Maximum number of parallel processes (0 = auto-detect CPU cores)
157+
'max_processes' => env('STATAMIC_STACHE_MAX_PROCESSES', 0),
158+
159+
// Minimum number of stores required to enable parallel processing
160+
'min_stores_for_parallel' => env('STATAMIC_STACHE_MIN_STORES_PARALLEL', 3),
161+
162+
// Concurrency driver: 'process', 'fork', or 'sync'
163+
'concurrency_driver' => env('STATAMIC_STACHE_CONCURRENCY_DRIVER', 'process'),
164+
],
165+
143166
];

config/static_caching.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,17 @@
150150
|--------------------------------------------------------------------------
151151
|
152152
| Here you may define the queue name and connection
153-
| that will be used when warming the static cache.
153+
| that will be used when warming the static cache and
154+
| optionally set the "--insecure" flag by default.
154155
|
155156
*/
156157

157158
'warm_queue' => env('STATAMIC_STATIC_WARM_QUEUE'),
158159

159160
'warm_queue_connection' => env('STATAMIC_STATIC_WARM_QUEUE_CONNECTION'),
160161

162+
'warm_insecure' => env('STATAMIC_STATIC_WARM_INSECURE', false),
163+
161164
/*
162165
|--------------------------------------------------------------------------
163166
| Shared Error Pages

0 commit comments

Comments
 (0)