Skip to content

Commit ab17e3f

Browse files
Merge branch 'spring-projects:main' into feature/oauth2resourceserverspec-success-handler
2 parents a7457a1 + 036326d commit ab17e3f

File tree

597 files changed

+7278
-2039
lines changed

Some content is hidden

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

597 files changed

+7278
-2039
lines changed

.github/workflows/auto-merge-dependabot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches:
66
- main
77
- '*.x'
8+
- 'docs-build'
89

910
run-name: Merge Dependabot PR ${{ github.ref_name }}
1011

.github/workflows/check-snapshots.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414
jobs:
1515
snapshot-test:
1616
name: Test Against Snapshots
17-
uses: spring-io/spring-security-release-tools/.github/workflows/test.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
17+
uses: spring-io/spring-security-release-tools/.github/workflows/test.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
1818
strategy:
1919
matrix:
2020
include:
@@ -31,6 +31,6 @@ jobs:
3131
runs-on: ubuntu-latest
3232
steps:
3333
- name: Send Notification
34-
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
34+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
3535
with:
3636
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/continuous-integration-workflow.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ permissions:
1717
jobs:
1818
build:
1919
name: Build
20-
uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
20+
uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
2121
strategy:
2222
matrix:
2323
os: [ ubuntu-latest, windows-latest ]
@@ -30,7 +30,7 @@ jobs:
3030
deploy-artifacts:
3131
name: Deploy Artifacts
3232
needs: [ build]
33-
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
33+
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
3434
with:
3535
should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
3636
default-publish-milestones-central: true
@@ -39,15 +39,15 @@ jobs:
3939
deploy-schema:
4040
name: Deploy Schema
4141
needs: [ build ]
42-
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-schema.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
42+
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-schema.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
4343
with:
4444
should-deploy-schema: ${{ needs.build.outputs.should-deploy-artifacts }}
4545
java-version: 25
4646
secrets: inherit
4747
perform-release:
4848
name: Perform Release
4949
needs: [ deploy-artifacts, deploy-schema ]
50-
uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
50+
uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
5151
with:
5252
should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
5353
project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
@@ -64,6 +64,6 @@ jobs:
6464
runs-on: ubuntu-latest
6565
steps:
6666
- name: Send Notification
67-
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
67+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
6868
with:
6969
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/defer-issues.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Defer Issues
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
defer-issues:
11+
name: Defer Issues
12+
runs-on: ubuntu-latest
13+
if: github.repository_owner == 'spring-projects'
14+
permissions:
15+
issues: write
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
19+
- name: Compute Version
20+
id: compute-version
21+
uses: spring-io/spring-release-actions/compute-version@0.0.3
22+
- name: Get Today's Release Version
23+
id: todays-release
24+
uses: spring-io/spring-release-actions/get-todays-release-version@0.0.3
25+
with:
26+
snapshot-version: ${{ steps.compute-version.outputs.version }}
27+
milestone-repository: ${{ github.repository }}
28+
milestone-token: ${{ secrets.GITHUB_TOKEN }}
29+
- name: Compute Next Version
30+
id: next-version
31+
uses: spring-io/spring-release-actions/compute-next-version@0.0.3
32+
with:
33+
version: ${{ steps.todays-release.outputs.release-version }}
34+
- name: Schedule Next Milestone
35+
uses: spring-io/spring-release-actions/schedule-milestone@0.0.3
36+
with:
37+
version: ${{ steps.next-version.outputs.version }}
38+
version-date: ${{ steps.next-version.outputs.version-date }}
39+
repository: ${{ github.repository }}
40+
token: ${{ secrets.GITHUB_TOKEN }}
41+
- name: Move Open Issues to Next Milestone
42+
env:
43+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
CURRENT_MILESTONE: ${{ steps.todays-release.outputs.release-version }}
45+
NEXT_MILESTONE: ${{ steps.next-version.outputs.version }}
46+
run: |
47+
current_milestone_number=$(gh api repos/${{ github.repository }}/milestones \
48+
--jq ".[] | select(.title == \"$CURRENT_MILESTONE\") | .number")
49+
if [ -z "$current_milestone_number" ]; then
50+
echo "No milestone found for $CURRENT_MILESTONE"
51+
exit 0
52+
fi
53+
next_milestone_number=$(gh api repos/${{ github.repository }}/milestones \
54+
--jq ".[] | select(.title == \"$NEXT_MILESTONE\") | .number")
55+
if [ -z "$next_milestone_number" ]; then
56+
echo "No milestone found for $NEXT_MILESTONE"
57+
exit 1
58+
fi
59+
echo "Moving open issues from milestone '$CURRENT_MILESTONE' (#$current_milestone_number) to '$NEXT_MILESTONE' (#$next_milestone_number)"
60+
page=1
61+
while true; do
62+
issues=$(gh api "repos/${{ github.repository }}/issues?milestone=$current_milestone_number&state=open&per_page=100&page=$page" \
63+
--jq '.[].number')
64+
if [ -z "$issues" ]; then
65+
break
66+
fi
67+
for issue in $issues; do
68+
echo "Moving issue/PR #$issue to milestone $NEXT_MILESTONE"
69+
gh api repos/${{ github.repository }}/issues/$issue \
70+
--method PATCH \
71+
--field milestone=$next_milestone_number \
72+
--silent
73+
done
74+
page=$((page + 1))
75+
done
76+
echo "Done."

.github/workflows/finalize-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permissions:
1616
jobs:
1717
perform-release:
1818
name: Perform Release
19-
uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
19+
uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
2020
with:
2121
should-perform-release: true
2222
project-version: ${{ inputs.version }}

.github/workflows/milestone-spring-releasetrain.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ jobs:
3030
runs-on: ubuntu-latest
3131
steps:
3232
- name: Send Notification
33-
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
33+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
3434
with:
3535
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/pr-build-workflow.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
steps:
1414
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1515
- name: Set up gradle
16-
uses: spring-io/spring-gradle-build-action@efc55f07f4dfa22f2afd97f9ea1be4212eeed737 # v2.0.5
16+
uses: spring-io/spring-gradle-build-action@c8668747d7c264864c8c7f7026d0d277d14a78dc # v2.0.6
1717
with:
1818
java-version: '25'
1919
distribution: 'temurin'
@@ -26,7 +26,7 @@ jobs:
2626
steps:
2727
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
- name: Set up gradle
29-
uses: spring-io/spring-gradle-build-action@efc55f07f4dfa22f2afd97f9ea1be4212eeed737 # v2.0.5
29+
uses: spring-io/spring-gradle-build-action@c8668747d7c264864c8c7f7026d0d277d14a78dc # v2.0.6
3030
with:
3131
java-version: '25'
3232
distribution: 'temurin'
@@ -46,6 +46,6 @@ jobs:
4646
runs-on: ubuntu-latest
4747
steps:
4848
- name: Send Notification
49-
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
49+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
5050
with:
5151
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/update-scheduled-release-version.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions:
99
jobs:
1010
update-scheduled-release-version:
1111
name: Update Scheduled Release Version
12-
uses: spring-io/spring-security-release-tools/.github/workflows/update-scheduled-release-version.yml@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
12+
uses: spring-io/spring-security-release-tools/.github/workflows/update-scheduled-release-version.yml@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
1313
secrets: inherit
1414
send-notification:
1515
name: Send Notification
@@ -18,6 +18,6 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Send Notification
21-
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@729fed56d42122f88583aff1be35c0800b7d77e9 # v1.0.14
21+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@b92832ecbc7cbe969201e6beafbde0ee400cf095 # v1.0.15
2222
with:
2323
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

access/src/main/java/org/springframework/security/access/SecurityConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import java.util.ArrayList;
2121
import java.util.List;
2222

23+
import org.jspecify.annotations.Nullable;
24+
2325
import org.springframework.security.authorization.AuthorizationManager;
2426
import org.springframework.security.core.annotation.SecurityAnnotationScanner;
2527
import org.springframework.util.Assert;
@@ -50,7 +52,7 @@ public SecurityConfig(String config) {
5052
}
5153

5254
@Override
53-
public boolean equals(Object obj) {
55+
public boolean equals(@Nullable Object obj) {
5456
if (obj instanceof ConfigAttribute attr) {
5557
return this.attrib.equals(attr.getAttribute());
5658
}

access/src/main/java/org/springframework/security/access/method/DelegatingMethodSecurityMetadataSource.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ private static class DefaultCacheKey {
114114
}
115115

116116
@Override
117-
public boolean equals(Object other) {
118-
DefaultCacheKey otherKey = (DefaultCacheKey) other;
117+
public boolean equals(@Nullable Object other) {
118+
if (!(other instanceof DefaultCacheKey otherKey)) {
119+
return false;
120+
}
119121
return (this.method.equals(otherKey.method)
120122
&& ObjectUtils.nullSafeEquals(this.targetClass, otherKey.targetClass));
121123
}

0 commit comments

Comments
 (0)