Release changelog for version `2.21.1`
diff --git a/src/changelog/2.21.1/.release-notes.adoc.ftl b/src/changelog/2.21.1/.release-notes.adoc.ftl
new file mode 100644
index 0000000..4bef52a
--- /dev/null
+++ b/src/changelog/2.21.1/.release-notes.adoc.ftl
@@ -0,0 +1,46 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This release primarily focuses on enhancements to our OSGi and JPMS support and contains several bug fixes.
+It will be the first release built and signed by the CI using the https://keyserver.ubuntu.com/pks/lookup?search=077E8893A6DCC33DD4A4D5B256E73BA9A0B592D0&op=index[ASF Logging Services Release Manager GPG key], which is shared in https://www.apache.org/dist/logging/KEYS[KEYS].
+
+The Log4j 2.21.0 API, as well as the other artifacts, maintains binary compatibility with the previous release.
+
+Apache Log4j 2.21.0 requires Java 8 to run.
+The build requires JDK 11 and generates reproducible binaries.
+
+For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, get support, or suggestions for improvement, see http://logging.apache.org/log4j/2.x/[the Apache Log4j 2 website].
+
+=== OSGi changes
+
+All the published artifacts are OSGi bundles or fragments.
+
+This release introduces a change in the bundle symbolic names to allow them to function as JPMS module name: all hyphens `-` present in the bundle names of previous releases were replaced by dots `.`.
+
+=== JPMS changes
+
+All the published artifacts have been migrated from automatic modules to named JPMS modules.
+All packages marked as private in the Javadoc are not exported.
+
+The module name of four bridges (`log4j-slf4j-impl`, `log4j-slf4j2-impl`, `log4j-to-jul` and `log4j-to-slf4j`) have been changed to adhere to the same convention as the OSGi bundle names.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/2.21.1/.release.xml b/src/changelog/2.21.1/.release.xml
new file mode 100644
index 0000000..87adb3c
--- /dev/null
+++ b/src/changelog/2.21.1/.release.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to you under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<release xmlns="http://logging.apache.org/log4j/changelog"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://logging.apache.org/log4j/changelog https://logging.apache.org/log4j/changelog-0.1.0.xsd"
+ date="2023-10-20" version="2.21.1"/>
diff --git a/src/changelog/.2.x.x/1865_fix_apache_commons_logging.xml b/src/changelog/2.21.1/1865_fix_apache_commons_logging.xml
similarity index 100%
rename from src/changelog/.2.x.x/1865_fix_apache_commons_logging.xml
rename to src/changelog/2.21.1/1865_fix_apache_commons_logging.xml
diff --git a/src/site/_constants.adoc b/src/site/_constants.adoc
index bc3768c..6463fa3 100644
--- a/src/site/_constants.adoc
+++ b/src/site/_constants.adoc
@@ -34,7 +34,7 @@
////
:project-github-url: https://github.com/apache/logging-log4j2
-:project-version: 2.22.0-SNAPSHOT
+:project-version: 2.21.1
:project-name: Log4j
:project-id: log4j
:java-target-version: 8
diff --git a/src/site/_release-notes.adoc b/src/site/_release-notes.adoc
index b2f942c..35723e1 100644
--- a/src/site/_release-notes.adoc
+++ b/src/site/_release-notes.adoc
@@ -36,7 +36,7 @@
[#release-notes]
= Release Notes
-include::_release-notes/_2.x.x.adoc[]
+include::_release-notes/_2.21.1.adoc[]
include::_release-notes/_2.21.0.adoc[]
include::_release-notes/_2.20.0.adoc[]
include::_release-notes/_2.19.0.adoc[]
diff --git a/src/site/_release-notes/_2.21.1.adoc b/src/site/_release-notes/_2.21.1.adoc
new file mode 100644
index 0000000..dbbe7ca
--- /dev/null
+++ b/src/site/_release-notes/_2.21.1.adoc
@@ -0,0 +1,49 @@
+////
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+////
+
+[#release-notes-2-21-1]
+== 2.21.1
+
+Release date:: 2023-10-20
+
+This release primarily focuses on enhancements to our OSGi and JPMS support and contains several bug fixes.
+It will be the first release built and signed by the CI using the https://keyserver.ubuntu.com/pks/lookup?search=077E8893A6DCC33DD4A4D5B256E73BA9A0B592D0&op=index[ASF Logging Services Release Manager GPG key], which is shared in https://www.apache.org/dist/logging/KEYS[KEYS].
+
+The Log4j 2.21.0 API, as well as the other artifacts, maintains binary compatibility with the previous release.
+
+Apache Log4j 2.21.0 requires Java 8 to run.
+The build requires JDK 11 and generates reproducible binaries.
+
+For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, get support, or suggestions for improvement, see http://logging.apache.org/log4j/2.x/[the Apache Log4j 2 website].
+
+=== OSGi changes
+
+All the published artifacts are OSGi bundles or fragments.
+
+This release introduces a change in the bundle symbolic names to allow them to function as JPMS module name: all hyphens `-` present in the bundle names of previous releases were replaced by dots `.`.
+
+=== JPMS changes
+
+All the published artifacts have been migrated from automatic modules to named JPMS modules.
+All packages marked as private in the Javadoc are not exported.
+
+The module name of four bridges (`log4j-slf4j-impl`, `log4j-slf4j2-impl`, `log4j-to-jul` and `log4j-to-slf4j`) have been changed to adhere to the same convention as the OSGi bundle names.
+
+
+=== Fixed
+
+* Fixes the Apache Commons Logging (JCL) bridge: `log4j-jcl`. (https://github.com/apache/logging-log4j2/issues/1865[1865])
diff --git a/src/site/_release-notes/_2.x.x.adoc b/src/site/_release-notes/_2.x.x.adoc
index 69602b9..8e28472 100644
--- a/src/site/_release-notes/_2.x.x.adoc
+++ b/src/site/_release-notes/_2.x.x.adoc
@@ -43,7 +43,3 @@
The module name of four bridges (`log4j-slf4j-impl`, `log4j-slf4j2-impl`, `log4j-to-jul` and `log4j-to-slf4j`) have been changed to adhere to the same convention as the OSGi bundle names.
-
-=== Fixed
-
-* Fixes the Apache Commons Logging (JCL) bridge: `log4j-jcl`. (https://github.com/apache/logging-log4j2/issues/1865[1865])