Skip to content

Commit 57c4f5f

Browse files
committed
Merge tag 'rel/2.25.0' into 2.x-site-pro
Release `2.25.0`
2 parents d42d28f + ea10ad3 commit 57c4f5f

File tree

1,211 files changed

+21056
-13712
lines changed

Some content is hidden

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

1,211 files changed

+21056
-13712
lines changed

.cherry_picker.toml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
team = "apache"
19+
repo = "logging-log4j2"
20+
check_sha= "3da98f7c9de9bf4abb17e10dad678e05ab658a3a"
21+
fix_commit_msg = false
22+
default_branch = "2.x"
23+
require_version_in_branch_name=false
24+
draft_pr = true

.github/FUNDING.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one or more
3+
# contributor license agreements. See the NOTICE file distributed with
4+
# this work for additional information regarding copyright ownership.
5+
# The ASF licenses this file to you under the Apache License, Version 2.0
6+
# (the "License"); you may not use this file except in compliance with
7+
# the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
##
18+
# This file controls the "Sponsor" button in this repo.
19+
# For details see:
20+
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
21+
#
22+
# WARNING: the `github` key accepts only 4 GitHub user ids, so we can not use this feature.
23+
#
24+
custom: "https://logging.apache.org/support.html#sponsors"
25+
tidelift: "maven/org.apache.logging.log4j:log4j-core"

.github/dependabot.yaml

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,45 @@ registries:
4444
updates:
4545

4646
- package-ecosystem: maven
47-
directory: "/"
47+
directories:
48+
- "/log4j-1.2-api"
49+
- "/log4j-api-test"
50+
- "/log4j-api"
51+
- "/log4j-appserver"
52+
- "/log4j-cassandra"
53+
- "/log4j-core-fuzz-test"
54+
- "/log4j-core-its"
55+
- "/log4j-core-test"
56+
- "/log4j-core"
57+
- "/log4j-couchdb"
58+
- "/log4j-docker"
59+
- "/log4j-fuzz-test"
60+
- "/log4j-iostreams"
61+
- "/log4j-jakarta-jms"
62+
- "/log4j-jakarta-smtp"
63+
- "/log4j-jakarta-web"
64+
- "/log4j-jcl"
65+
- "/log4j-jdbc-dbcp2"
66+
- "/log4j-jpa"
67+
- "/log4j-jpl"
68+
- "/log4j-jul"
69+
- "/log4j-layout-template-json-fuzz-test"
70+
- "/log4j-layout-template-json-test"
71+
- "/log4j-layout-template-json"
72+
- "/log4j-mongodb"
73+
# `log4j-mongodb4` is in a separate run
74+
- "/log4j-osgi-test"
75+
- "/log4j-parent"
76+
- "/log4j-perf-test"
77+
# `log4j-slf4j-impl` is in a separate run
78+
- "/log4j-slf4j2-impl-fuzz-test"
79+
- "/log4j-slf4j2-impl"
80+
- "/log4j-spring-boot"
81+
- "/log4j-spring-cloud-config-client"
82+
- "/log4j-taglib"
83+
- "/log4j-to-jul"
84+
- "/log4j-to-slf4j"
85+
- "/log4j-web"
4886
open-pull-requests-limit: 10
4987
schedule:
5088
interval: "daily"
@@ -54,31 +92,31 @@ updates:
5492
ignore:
5593
# Jetty 10.x does not have an internal logging API
5694
- dependency-name: "org.eclipse.jetty:*"
57-
update-types: [ "version-update:semver-major" ]
95+
versions: [ "[10,)" ]
5896
# EclipseLink 3.x is Jakarta EE 9
5997
- dependency-name: "org.eclipse.persistence:*"
60-
update-types: [ "version-update:semver-major" ]
98+
versions: [ "[3,)" ]
6199
# Spring 6.x is Jakarta EE 9
62100
- dependency-name: "org.springframework:*"
63-
update-types: [ "version-update:semver-major" ]
101+
versions: [ "[6,)" ]
64102
# Spring Boot 3.x is Jakarta EE 9
65103
- dependency-name: "org.springframework.boot:*"
66-
update-types: [ "version-update:semver-major" ]
104+
versions: [ "[3,)" ]
67105
# Spring Cloud 2022.x is Jakarta EE 9
68106
- dependency-name: "org.springframework.cloud:*"
69-
update-types: [ "version-update:semver-major" ]
107+
versions: [ "[2021,)" ]
70108
# Tomcat Juli 10.1.x requires Java 11
71109
- dependency-name: "org.apache.tomcat:*"
72-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
110+
versions: [ "[10.1,)" ]
73111
# Keep Logback version 1.2.x
74112
- dependency-name: "ch.qos.logback:*"
75-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
113+
versions: [ "[1.3,)" ]
76114
# Mockito 5.x requires Java 11
77115
- dependency-name: "org.mockito:*"
78-
update-types: [ "version-update:semver-major" ]
116+
versions: [ "[5,)" ]
79117
# JUnit Pioneer 2.x requires Java 11
80118
- dependency-name: "org.junit-pioneer:*"
81-
update-types: [ "version-update:semver-major" ]
119+
versions: [ "[2,)" ]
82120
# Apache Cassandra: keep version 3.x
83121
- dependency-name: "org.apache.cassandra:*"
84122
versions: [ "[4,)" ]
@@ -121,11 +159,13 @@ updates:
121159
# SLF4J should not perform major version upgrades
122160
- dependency-name: "org.slf4j:slf4j-api"
123161
update-types: [ "version-update:semver-major" ]
162+
# Kafka 4.x is not compatible with our appender
163+
- dependency-name: "org.apache.kafka:*"
164+
versions: [ "[4,)" ]
124165

125166
- package-ecosystem: maven
126167
directories:
127168
- "/log4j-mongodb4"
128-
- "/log4j-slf4j-impl"
129169
open-pull-requests-limit: 10
130170
schedule:
131171
interval: "daily"
@@ -136,9 +176,6 @@ updates:
136176
# MongoDB 4.x should only upgrade to 4.x
137177
- dependency-name: "org.mongodb:*"
138178
versions: [ "[5,)" ]
139-
# SLF4J 1.7.x should only upgrade to 1.7.x and
140-
- dependency-name: "org.slf4j:slf4j-api"
141-
versions: [ "[1,)" ]
142179

143180
- package-ecosystem: github-actions
144181
directory: "/"

.github/generate-email.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ stderr() {
2828

2929
fail_for_invalid_args() {
3030
stderr "Invalid arguments!"
31-
stderr "Expected arguments: <vote|announce> <version> <commitId>"
31+
stderr "Expected arguments: <vote|announce> <version> <commitId> <nexusUrl>"
3232
exit 1
3333
}
3434

3535
# Check arguments
36-
[ $# -ne 3 ] && fail_for_invalid_args
36+
[ $# -ne 4 ] && fail_for_invalid_args
3737

3838
# Constants
3939
PROJECT_NAME="Apache Log4j"
@@ -43,6 +43,7 @@ PROJECT_SITE="https://logging.apache.org/$PROJECT_ID"
4343
PROJECT_STAGING_SITE="${PROJECT_SITE/apache.org/staged.apache.org}"
4444
PROJECT_REPO="https://github.com/apache/logging-log4j2"
4545
COMMIT_ID="$3"
46+
NEXUS_URL="$4"
4647
PROJECT_DIST_URL="https://dist.apache.org/repos/dist/dev/logging/$PROJECT_ID/$PROJECT_VERSION"
4748

4849
# Check release notes file
@@ -71,7 +72,7 @@ Website: $PROJECT_STAGING_SITE/$PROJECT_VERSION/index.html
7172
GitHub: $PROJECT_REPO
7273
Commit: $COMMIT_ID
7374
Distribution: $PROJECT_DIST_URL
74-
Nexus: https://repository.apache.org/content/repositories/orgapachelogging-<FIXME>
75+
Nexus: $NEXUS_URL
7576
Signing key: 0x077e8893a6dcc33dd4a4d5b256e73ba9a0b592d0
7677
Review kit: https://logging.apache.org/logging-parent/release-review-instructions.html
7778

.github/pull_request_template.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,40 @@
1-
[A clear and concise description of what the pull request is for along with a reference to the associated issue IDs, if they exist.]
1+
**INSERT HERE** a clear and concise description of what the pull request is for along with a reference to the associated issue IDs, if they exist.
2+
3+
> [!IMPORTANT]
4+
> Base your changes on `2.x` branch if you are targeting Log4j 2; use `main` otherwise.
25
36
## Checklist
47

5-
* Base your changes on `2.x` branch if you are targeting Log4j 2; use `main` otherwise
6-
* `./mvnw verify` succeeds (if it fails due to code formatting issues reported by Spotless, simply run `./mvnw spotless:apply` and retry)
7-
* Non-trivial changes contain an entry file in the `src/changelog/.2.x.x` directory
8-
* Tests for the changes are provided
9-
* [Commits are signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) (optional, but highly recommended)
8+
Before we can review and merge your changes, please go through the checklist below. If you're still working on some items, feel free to submit your pull request as a draft—our CI will help guide you through the remaining steps.
9+
10+
### ✅ Required checks
11+
12+
- [ ] **License**: I confirm that my changes are submitted under the [Apache License, Version 2.0](https://apache.org/licenses/LICENSE-2.0).
13+
- [ ] **Commit signatures**: All commits are signed and verifiable. (See [GitHub Docs on Commit Signature Verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification)).
14+
- [ ] **Code formatting**: The code is formatted according to the project’s style guide.
15+
<details>
16+
<summary>How to check and fix formatting</summary>
17+
18+
- To **check** formatting: `./mvnw spotless:check`
19+
- To **fix** formatting: `./mvnw spotless:apply`
20+
21+
See [the build instructions](https://logging.apache.org/log4j/2.x/development.html#building) for details.
22+
</details>
23+
- [ ] **Build & Test**: I verified that the project builds and all unit tests pass.
24+
<details>
25+
<summary>How to build the project</summary>
26+
27+
Run: `./mvnw verify`
28+
29+
See [the build instructions](https://logging.apache.org/log4j/2.x/development.html#building) for details.
30+
</details>
31+
32+
### 🧪 Tests (select one)
33+
34+
- [ ] I have added or updated tests to cover my changes.
35+
- [ ] No additional tests are needed for this change.
36+
37+
### 📝 Changelog (select one)
38+
39+
- [ ] I added a changelog entry in `src/changelog/.2.x.x`. (See [Changelog Entry File Guide](https://logging.apache.org/log4j/tools/log4j-changelog.html#changelog-entry-file)).
40+
- [ ] This is a trivial change and does not require a changelog entry.

.github/workflows/build.yaml

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,21 @@ jobs:
3030

3131
build:
3232
if: github.actor != 'dependabot[bot]'
33-
uses: apache/logging-parent/.github/workflows/build-reusable.yaml@rel/12.0.0
33+
uses: apache/logging-parent/.github/workflows/build-reusable.yaml@rel/12.1.1
3434
secrets:
35-
DV_ACCESS_TOKEN: ${{ startsWith(github.ref_name, 'release/') && '' || secrets.GE_ACCESS_TOKEN }}
35+
DV_ACCESS_TOKEN: ${{ startsWith(github.ref_name, 'release/') && '' || secrets.DEVELOCITY_ACCESS_KEY }}
3636
with:
3737
java-version: |
3838
8
3939
17
4040
site-enabled: true
41-
reproducibility-check-enabled: ${{ startsWith(github.ref_name, 'release/') }}
41+
reproducibility-check-enabled: false
4242
develocity-enabled: ${{ ! startsWith(github.ref_name, 'release/') }}
4343

4444
deploy-snapshot:
4545
needs: build
4646
if: github.repository == 'apache/logging-log4j2' && github.ref_name == '2.x'
47-
uses: apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@rel/12.0.0
47+
uses: apache/logging-parent/.github/workflows/deploy-snapshot-reusable.yaml@rel/12.1.1
4848
# Secrets for deployments
4949
secrets:
5050
NEXUS_USERNAME: ${{ secrets.NEXUS_USER }}
@@ -57,7 +57,7 @@ jobs:
5757
deploy-release:
5858
needs: build
5959
if: github.repository == 'apache/logging-log4j2' && startsWith(github.ref_name, 'release/')
60-
uses: apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@rel/12.0.0
60+
uses: apache/logging-parent/.github/workflows/deploy-release-reusable.yaml@rel/12.1.1
6161
# Secrets for deployments
6262
secrets:
6363
GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }}
@@ -73,3 +73,25 @@ jobs:
7373
8
7474
17
7575
project-id: log4j
76+
77+
verify-reproducibility:
78+
needs: [ deploy-snapshot, deploy-release ]
79+
if: ${{ always() && (needs.deploy-snapshot.result == 'success' || needs.deploy-release.result == 'success') }}
80+
name: "verify-reproducibility (${{ needs.deploy-release.result == 'success' && needs.deploy-release.outputs.project-version || needs.deploy-snapshot.outputs.project-version }})"
81+
uses: apache/logging-parent/.github/workflows/verify-reproducibility-reusable.yaml@rel/12.1.1
82+
with:
83+
nexus-url: ${{ needs.deploy-release.result == 'success' && needs.deploy-release.outputs.nexus-url || 'https://repository.apache.org/content/groups/snapshots' }}
84+
# Encode the `runs-on` input as JSON array
85+
runs-on: '["ubuntu-latest", "macos-latest"]'
86+
87+
# Run integration-tests automatically after a snapshot or RC is published
88+
integration-test:
89+
needs: [ deploy-snapshot, deploy-release ]
90+
if: ${{ always() && (needs.deploy-snapshot.result == 'success' || needs.deploy-release.result == 'success') }}
91+
name: "integration-test (${{ needs.deploy-release.result == 'success' && needs.deploy-release.outputs.project-version || needs.deploy-snapshot.outputs.project-version }})"
92+
uses: apache/logging-log4j-samples/.github/workflows/integration-test.yaml@main
93+
with:
94+
log4j-version: ${{ needs.deploy-release.result == 'success' && needs.deploy-release.outputs.project-version || needs.deploy-snapshot.outputs.project-version }}
95+
log4j-repository-url: ${{ needs.deploy-release.result == 'success' && needs.deploy-release.outputs.nexus-url || needs.deploy-snapshot.outputs.nexus-url }}
96+
# Use the `main` branch of `logging-log4j-samples`
97+
samples-ref: 'refs/heads/main'

.github/workflows/close-stale.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
stale:
2929
runs-on: ubuntu-latest
3030
steps:
31-
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
31+
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
3232
with:
3333
# Labels need to match with the ones in `labeler.yaml`!
3434
only-labels: waiting-for-user

.github/workflows/codeql-analysis.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ permissions: read-all
3030
jobs:
3131

3232
analyze:
33-
uses: apache/logging-parent/.github/workflows/codeql-analysis-reusable.yaml@rel/12.0.0
33+
uses: apache/logging-parent/.github/workflows/codeql-analysis-reusable.yaml@rel/12.1.1
3434
with:
3535
java-version: |
3636
8

.github/workflows/deploy-site.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
deploy-site-stg:
3535
if: github.repository == 'apache/logging-log4j2' && github.ref_name == '2.x'
36-
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.0.0
36+
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.1.1
3737
# Secrets for committing the generated site
3838
secrets:
3939
GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }}
@@ -51,7 +51,7 @@ jobs:
5151

5252
deploy-site-pro:
5353
if: github.repository == 'apache/logging-log4j2' && github.ref_name == '2.x-site-pro'
54-
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.0.0
54+
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.1.1
5555
# Secrets for committing the generated site
5656
secrets:
5757
GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }}
@@ -81,7 +81,7 @@ jobs:
8181
8282
deploy-site-rel:
8383
needs: export-version
84-
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.0.0
84+
uses: apache/logging-parent/.github/workflows/deploy-site-reusable.yaml@rel/12.1.1
8585
# Secrets for committing the generated site
8686
secrets:
8787
GPG_SECRET_KEY: ${{ secrets.LOGGING_GPG_SECRET_KEY }}

.github/workflows/develocity-publish-build-scans.yaml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ jobs:
3131
steps:
3232

3333
- name: Setup Build Scan link capture
34-
uses: gradle/develocity-actions/maven-setup@9f1bf05334de7eb619731d5466c35a153742311d # 1.2
34+
uses: gradle/develocity-actions/setup-maven@4a2aed82eea165ba2d5c494fc2a8730d7fdff229 # 1.4
35+
with:
36+
capture-build-scan-links: true
3537

3638
- name: Publish Build Scans
37-
uses: gradle/develocity-actions/maven-publish-build-scan@9f1bf05334de7eb619731d5466c35a153742311d # 1.2
39+
uses: gradle/develocity-actions/maven-publish-build-scan@4a2aed82eea165ba2d5c494fc2a8730d7fdff229 # 1.4
3840
with:
39-
develocity-url: 'https://ge.apache.org'
40-
develocity-access-key: ${{ secrets.GE_ACCESS_TOKEN }}
41+
develocity-url: 'https://develocity.apache.org'
42+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}

0 commit comments

Comments
 (0)