Copilot commented on code in PR #1066:
URL: 
https://github.com/apache/incubator-seata-website/pull/1066#discussion_r2729938796


##########
i18n/en/docusaurus-plugin-content-docs/version-v2.3/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -113,176 +108,150 @@ View the key list:
 [root@localhost ~]# gpg --list-signatures --keyid-format LONG
 [keyboxd]
 ---------
-pub   rsa4096/XXXX 2024-09-19 [SC] [有效至:2027-09-19]
-      F2D3A28A392129B927C7FB42XXXX
-uid                   [ 绝对 ] XXXX <[email protected]>
-sig 3        XXXX 2024-09-19  [自签名]
-sub   rsa4096/XXXXXXX 2024-09-19 [E] [有效至:2027-09-19]
-sig          XXXX 2024-09-19  [自签名]
+pub   rsa4096/XXXXXXXX 2024-09-19 [SC] [expires: 2027-09-19]
+            F2D3A28A392129B927C7FB42XXXXXXXX
+uid                   [ultimate] xxxx <[email protected]>
+sig 3        XXXXXXXX 2024-09-19  [self-signature]
+sub   rsa4096/XXXXX 2024-09-19 [E] [expires: 2027-09-19]
+sig          XXXXXXXX 2024-09-19  [self-signature]
 
 ```
 
-Upload the public key to the key server
+Upload the public key to the key server:
 
 ```
-[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXX
-gpg: sending key XXXX to hkp server keys.openpgp.org
+[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXXXXXX
+gpg: sending key XXXXXXXX to hkp server keys.openpgp.org
 
 ```
 
-#### 1.3 POM Configuration
+### 1.3 POM Configuration
 
-Configure the POM file to deploy the version to the ASF Nexus repository.
+Configure the POM file to deploy versions to the ASF Nexus repository.
 
-① Add Apache POM inheritance for default settings.
+① Add Apache POM inheritance for default settings:
 
 ```
 <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>XX</version>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>XX</version>
 </parent>
 
 ```
 
-② Add key information to the Maven configuration file `settings.xml`.
+② Add key information in Maven configuration file `settings.xml`:
 
 ```
 <settings>
-    <profiles>
-        <profile>
-            <id>signed_release</id>
-            <properties>
-                <mavenExecutorId>forked-path</mavenExecutorId>
-                <gpg.keyname>yourKeyName</gpg.keyname>
-          
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
-            </properties>
-        </profile>
-    </profiles>
-    <servers>
-        <!-- To publish a snapshot of some part of Maven -->
-        <server>
-            <id>apache.snapshots.https</id>
-            <username>yourApacheID</username>
-            <!-- Use the password encryption by maven -->
-            <password>yourApachePassword</password>
-        </server>
-        <!-- To stage a release of some part of Maven -->
-        <server>
-            <id>apache.releases.https</id>
-            <username>yourApacheID</username>
-            <password>yourApachePassword</password>
-        </server>
-        <server>
-            <id>gpg.passphrase</id>
-            <passphrase>yourKeyPassword</passphrase>
-        </server>
-    </servers>
+        <profiles>
+                <profile>
+                        <id>signed_release</id>
+                        <properties>
+                                <mavenExecutorId>forked-path</mavenExecutorId>
+                                <gpg.keyname>yourKeyName</gpg.keyname>
+                    
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
+                        </properties>
+                </profile>
+        </profiles>
+        <servers>
+                <!-- To publish a snapshot of some part of Maven -->
+                <server>
+                        <id>apache.snapshots.https</id>
+                        <username>yourApacheID</username>
+                        <!-- Use the password encryption by maven -->
+                        <password>yourApachePassword</password>
+                </server>
+                <!-- To stage a release of some part of Maven -->
+                <server>
+                        <id>apache.releases.https</id>
+                        <username>yourApacheID</username>
+                        <password>yourApachePassword</password>
+                </server>
+                <server>
+                        <id>gpg.passphrase</id>
+                        <passphrase>yourKeyPassword</passphrase>
+                </server>
+        </servers>
 </settings>
 
 ```
 
-**Tips:** It is recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`.
+**Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Release Notes
+#### 1.4 Publishing Release Notes

Review Comment:
   Inconsistent heading level between language versions: The Chinese version 
uses "### 1.4" while the English version uses "#### 1.4". The heading levels 
should be consistent across both language versions. Based on the pattern where 
sections 1.1, 1.2, and 1.3 all use "###", this should be "### 1.4" to maintain 
consistency.
   ```suggestion
   ### 1.4 Publishing Release Notes
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.5/developers/release-guide/release-guide_dev.md:
##########
@@ -179,21 +179,21 @@ Configure the POM file to deploy versions to the ASF 
Nexus repository.
 
 **Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Publishing Release Notes
+#### 1.4 Publishing Release Notes

Review Comment:
   Inconsistent heading level between language versions: The Chinese version 
uses "### 1.4" (three hash marks) while the English version at line 182 uses 
"#### 1.4" (four hash marks). The heading levels should be consistent across 
both language versions. Based on the pattern where sections 1.1, 1.2, and 1.3 
all use "###", this should be "### 1.4" to maintain consistency, meaning the 
English version needs to be corrected as well.
   ```suggestion
   ### 1.4 Publishing Release Notes
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.4/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -579,3 +648,11 @@ Resources:
 - Issue: https://github.com/apache/incubator-seata/issues
 - Mailing list: [email protected]
 ```
+
+#### 3) Archiving Old Versions
+After releasing a new version, the previous version must be archived to ensure 
that only the latest version of the same maintenance branch is retained in the 
[download](https://downloads.apache.org/incubator/seata/) directory. Archived 
versions are automatically synchronized to the 
[archive](https://archive.apache.org/dist/incubator/seata/) when a new release 
is published. Therefore, it is sufficient to delete older versions from the 
[download](https://downloads.apache.org/incubator/seata/) directory. Example 
commands are provided below:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.2/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -602,3 +648,11 @@ Resources:
 - Issue: https://github.com/apache/incubator-seata/issues
 - Mailing list: [email protected]
 ```
+
+#### 3) Archiving Old Versions
+After releasing a new version, the previous version must be archived to ensure 
that only the latest version of the same maintenance branch is retained in the 
[download](https://downloads.apache.org/incubator/seata/) directory. Archived 
versions are automatically synchronized to the 
[archive](https://archive.apache.org/dist/incubator/seata/) when a new release 
is published. Therefore, it is sufficient to delete older versions from the 
[download](https://downloads.apache.org/incubator/seata/) directory. Example 
commands are provided below:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.4/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -179,21 +179,21 @@ Configure the POM file to deploy versions to the ASF 
Nexus repository.
 
 **Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Publishing Release Notes
+#### 1.4 Publishing Release Notes

Review Comment:
   Inconsistent heading level between language versions: The Chinese version 
uses "### 1.4" while the English version uses "#### 1.4". The heading levels 
should be consistent across both language versions. Based on the pattern where 
sections 1.1, 1.2, and 1.3 all use "###", this should be "### 1.4" to maintain 
consistency.
   ```suggestion
   ### 1.4 Publishing Release Notes
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.2/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -113,176 +108,150 @@ View the key list:
 [root@localhost ~]# gpg --list-signatures --keyid-format LONG
 [keyboxd]
 ---------
-pub   rsa4096/XXXX 2024-09-19 [SC] [有效至:2027-09-19]
-      F2D3A28A392129B927C7FB42XXXX
-uid                   [ 绝对 ] XXXX <[email protected]>
-sig 3        XXXX 2024-09-19  [自签名]
-sub   rsa4096/XXXXXXX 2024-09-19 [E] [有效至:2027-09-19]
-sig          XXXX 2024-09-19  [自签名]
+pub   rsa4096/XXXXXXXX 2024-09-19 [SC] [expires: 2027-09-19]
+            F2D3A28A392129B927C7FB42XXXXXXXX
+uid                   [ultimate] xxxx <[email protected]>
+sig 3        XXXXXXXX 2024-09-19  [self-signature]
+sub   rsa4096/XXXXX 2024-09-19 [E] [expires: 2027-09-19]
+sig          XXXXXXXX 2024-09-19  [self-signature]
 
 ```
 
-Upload the public key to the key server
+Upload the public key to the key server:
 
 ```
-[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXX
-gpg: sending key XXXX to hkp server keys.openpgp.org
+[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXXXXXX
+gpg: sending key XXXXXXXX to hkp server keys.openpgp.org
 
 ```
 
-#### 1.3 POM Configuration
+### 1.3 POM Configuration
 
-Configure the POM file to deploy the version to the ASF Nexus repository.
+Configure the POM file to deploy versions to the ASF Nexus repository.
 
-① Add Apache POM inheritance for default settings.
+① Add Apache POM inheritance for default settings:
 
 ```
 <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>XX</version>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>XX</version>
 </parent>
 
 ```
 
-② Add key information to the Maven configuration file `settings.xml`.
+② Add key information in Maven configuration file `settings.xml`:
 
 ```
 <settings>
-    <profiles>
-        <profile>
-            <id>signed_release</id>
-            <properties>
-                <mavenExecutorId>forked-path</mavenExecutorId>
-                <gpg.keyname>yourKeyName</gpg.keyname>
-          
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
-            </properties>
-        </profile>
-    </profiles>
-    <servers>
-        <!-- To publish a snapshot of some part of Maven -->
-        <server>
-            <id>apache.snapshots.https</id>
-            <username>yourApacheID</username>
-            <!-- Use the password encryption by maven -->
-            <password>yourApachePassword</password>
-        </server>
-        <!-- To stage a release of some part of Maven -->
-        <server>
-            <id>apache.releases.https</id>
-            <username>yourApacheID</username>
-            <password>yourApachePassword</password>
-        </server>
-        <server>
-            <id>gpg.passphrase</id>
-            <passphrase>yourKeyPassword</passphrase>
-        </server>
-    </servers>
+        <profiles>
+                <profile>
+                        <id>signed_release</id>
+                        <properties>
+                                <mavenExecutorId>forked-path</mavenExecutorId>
+                                <gpg.keyname>yourKeyName</gpg.keyname>
+                    
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
+                        </properties>
+                </profile>
+        </profiles>
+        <servers>
+                <!-- To publish a snapshot of some part of Maven -->
+                <server>
+                        <id>apache.snapshots.https</id>
+                        <username>yourApacheID</username>
+                        <!-- Use the password encryption by maven -->
+                        <password>yourApachePassword</password>
+                </server>
+                <!-- To stage a release of some part of Maven -->
+                <server>
+                        <id>apache.releases.https</id>
+                        <username>yourApacheID</username>
+                        <password>yourApachePassword</password>
+                </server>
+                <server>
+                        <id>gpg.passphrase</id>
+                        <passphrase>yourKeyPassword</passphrase>
+                </server>
+        </servers>
 </settings>
 
 ```
 
-**Tips:** It is recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`.
+**Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Release Notes
+#### 1.4 Publishing Release Notes
 
-Build the corresponding version's Release Notes from the 
[changelog](https://github.com/apache/incubator-seata/blob/2.x/changes/zh-cn/2.x.md).
+Build Release Notes for the respective version through the 
[changelog](https://github.com/apache/incubator-seata/blob/2.x/changes/zh-cn/2.x.md).
 
 ## 2. Release Process
 
-### 1. Prepare Branch
-
-Create a new branch from the main branch as the release branch. For example, 
if you are going to release version `${release_version}`, create a new branch 
`${release_version}` from the development branch. All modifications and tagging 
related to `${release_version}` Release Candidates will be done in the 
`${release_version}` branch, ensuring that all GitHub Actions CI checks pass. 
After the release is completed, merge this branch back into the main branch.
+### 2.1 Preparing the Branch
 
-Example: If the Java SDK needs to release version `2.2.0`, create a new branch 
`2.2.0` from the `2.x` branch, and commit changes in this branch to replace the 
Snapshot version number with `2.2.0`.
+Create a new branch from the main branch as the release branch. For instance, 
if you're releasing version `${release_version}`, create a new branch 
`${release_version}` from the development branch. All changes, tags, and fixes 
related to the `${release_version}` Release Candidates should be made on this 
branch. Ensure all GitHub Actions CI tests pass on this branch. After the 
release is completed, merge it back into the main branch.
 
-### 2. Pre-release Binary Package
+Example: To release Java SDK version `2.2.0`, create a new branch `2.2.0` from 
the `2.x` branch, and commit changes to replace the Snapshot version number 
with the `2.2.0` version number on this branch.
 
-#### 2.1 SDK Preparation for Release
+### 2.2 Pre-Release Binary Packages
 
-Prepare the release according to the instructions in [publishing maven 
artifacts](https://infra.apache.org/publishing-maven-artifacts.html) [4].
+#### 1) Prepare the SDK release according to [publishing maven 
artifacts](https://infra.apache.org/publishing-maven-artifacts.html) [4] 
guidelines.
 
 ```
 mvn clean deploy -Prelease -DskipTests -e -B 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
 ```
 
-At this point, the Seata SDK is published to the [staging 
repository](https://repository.apache.org/#stagingRepositories) (you need to 
log in with your Apache account credentials). Find the released version, 
`${STAGING.RELEASE}`, and click Close.
+At this point, the Seata SDK is published to the [staging 
repository](https://repository.apache.org/#stagingRepositories) (requires 
Apache account login). Find the released version, `${STAGING.RELEASE}`, and 
click Close.
 
-Note: If closing fails, it may be because the public key corresponding to the 
signing key cannot be retrieved from 
[keys.openpgp.org](http://keys.openpgp.org/). Please check yourself using the 
[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/).
+Note: If closing fails, it's likely because the public key corresponding to 
your signing key is not available on keys.openpgp.org. Please verify through 
[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/)
 
-#### 2.2 Submit Source & Binary to SVN Repository
+#### 2) Submit Source & Binary to SVN Repository
 
-##### 2.2.1 Install SVN
+##### a. Install SVN
 
-Download and install from [Download Apache Subversion 
Sources](https://subversion.apache.org/download.cgi#recommended-release)
+Download and install [Apache Subversion 
Sources](https://subversion.apache.org/download.cgi#recommended-release)
 
-Alternatively, you can quickly install it using `brew install subversion`.
+Or install via `brew install subversion`
 
-##### 2.2.2 Compile seata-server and seata-namingserver
+##### b. Compile seata-server and seata-namingserver
 
-Run the following command:
+ `mvn -Prelease-seata -Dmaven.test.skip=true -T4C -Dpmd.skip=true clean 
install -U`
 
-```
-mvn -Prelease-seata -Dmaven.test.skip=true -Dskip.npm=true -T4C 
-Dpmd.skip=true clean install -U
-```
+##### c. Sign Source and Binary packages
 
-##### 2.2.3 Sign the Source and Binary
+For the Source package, it's recommended to download the zip directly from the 
corresponding version branch on GitHub (e.g., 2.2.0) to avoid local environment 
contamination, then rename it to apache-seata-x.x.x-incubating-src.zip
 
-For the Source, it is recommended to download the zip package directly from 
the corresponding version branch on GitHub, such as 2.2.0, to avoid polluting 
the Source package content in your local environment. Then rename it to 
`apache-seata-x.x.x-incubating-src.zip`.
+`shasum -b -a 512 apache-seata-x.x.x-incubating-src.zip >> 
apache-seata-x.x.x-incubating-src.zip.sha512 `
 
-Run the following command to generate a SHA-512 checksum:
+`gpg --armor --output apache-seata-x.x.x-incubating-bin.zip.asc 
apache-seata-x.x.x-incubating-bin.zip`
 
-```
-shasum -b -a 512 apache-seata-x.x.x-incubating-src.zip >> 
apache-seata-x.x.x-incubating-src.zip.sha512
-```
+For the Binary package:
 
-Sign the Binary:
+`shasum -b -a 512 apache-seata-x.x.x-incubating-bin.tar.gz >> 
apache-seata-x.x.x-incubating-bin.tar.gz.sha512`
 
-```
-gpg --armor --output apache-seata-x.x.x-incubating-bin.zip.asc 
apache-seata-x.x.x-incubating-bin.zip
-```
+`gpg --armor --output apache-seata-x.x.x-incubating-bin.tar.gz.asc 
apache-seata-x.x.x-incubating-bin.tar.gz`
 
-For the Binary, generate a SHA-512 checksum:
+Verify SHA512:
 
-```
-shasum -b -a 512 apache-seata-x.x.x-incubating-bin.tar.gz >> 
apache-seata-x.x.x-incubating-bin.tar.gz.sha512
-```
+`shasum -c apache-seata-x.x.x-incubating-bin.tar.gz.sha512`
 
-Sign the Binary:
+Verify ASC:
 
-```
-gpg --armor --output apache-seata-x.x.x-incubating-bin.tar.gz.asc 
apache-seata-x.x.x-incubating-bin.tar.gz
-```
+`gpg --verify  apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip`
 
-Verify the SHA-512 checksum:
+##### d. Pull SVN locally, create release version path, and move the signed 
files and Source/Binary packages into it
 
-```
-shasum -c apache-seata-x.x.x-incubating-bin.tar.gz.sha512
-```
+Pull SVN directory:
 
-Verify the signature:
+`svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/`
 
-```
-gpg --verify apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip
-```
+Create release version path (in the dev path, folders must include "RC" to 
indicate they are in a preparatory state), and move files into it:
 
-##### 2.2.4 Check Out SVN Locally, Create Release Version Path, and Move 
Signature Files, Source, and Binary into It
+`cd seata`
 
-Check out the SVN directory:
+`mkdir x.x.xRCN`
 
-```
-svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/
-```
+`mv ….. x.x.x`

Review Comment:
   Inconsistent directory naming in command example: Line 250 creates a 
directory named "x.x.xRCN" but line 252 moves files to "x.x.x" without the RC 
suffix. The command at line 252 should likely be `mv ….. x.x.xRCN` to match the 
directory created in line 250.
   ```suggestion
   `mv ….. x.x.xRCN`
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.3/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -237,17 +237,17 @@ asc验证
 
 `gpg --verify  apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip`
 
-##### 2.2.4 拉取svn至本地,并构建发布版本路径,并将签名文件及Source和Binary移入其中
+##### d. 拉取svn至本地,并构建发布版本路径,并将签名文件及Source和Binary移入其中
 
 拉取svn目录
 
 `svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/`
 
-创建发布版本路径,并将文件移入其中
+创建发布版本路径(dev路径中的文件夹必须携带RC代表其实一个预备状态),并将文件移入其中
 
 `cd seata`
 
-`mkdir x.x.x`
+`mkdir x.x.xRCN`
 
 `mv ….. x.x.x`

Review Comment:
   Inconsistent directory naming in command example: Line 250 creates a 
directory named "x.x.xRCN" but line 252 moves files to "x.x.x" without the RC 
suffix. The command at line 252 should likely be `mv ….. x.x.xRCN` to match the 
directory created in line 250. This inconsistency appears in multiple version 
files.
   ```suggestion
   `mv ….. x.x.xRCN`
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.2/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -567,3 +650,10 @@ Resources:
 - Mailing list: [email protected]
 ```
 
+#### 3) 归档老版本
+发布新版本后,需要将上一个版本归档,确保在[download](https://downloads.apache.org/incubator/seata/) 
只保留同一维护分支的最新版本。Archive 
版本在发布新版本时会自动同步到[归档](https://archive.apache.org/dist/incubator/seata/)。因此,只需要删除[download](https://downloads.apache.org/incubator/seata/)
 中老的版本即可,参考命令如下:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.5/developers/release-guide/release-guide_dev.md:
##########
@@ -582,3 +650,10 @@ Resources:
 - Mailing list: [email protected]
 ```
 
+#### 3) 归档老版本
+发布新版本后,需要将上一个版本归档,确保在[download](https://downloads.apache.org/incubator/seata/) 
只保留同一维护分支的最新版本。Archive 
版本在发布新版本时会自动同步到[归档](https://archive.apache.org/dist/incubator/seata/)。因此,只需要删除[download](https://downloads.apache.org/incubator/seata/)
 中老的版本即可,参考命令如下:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.3/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -567,3 +650,10 @@ Resources:
 - Mailing list: [email protected]
 ```
 
+#### 3) 归档老版本
+发布新版本后,需要将上一个版本归档,确保在[download](https://downloads.apache.org/incubator/seata/) 
只保留同一维护分支的最新版本。Archive 
版本在发布新版本时会自动同步到[归档](https://archive.apache.org/dist/incubator/seata/)。因此,只需要删除[download](https://downloads.apache.org/incubator/seata/)
 中老的版本即可,参考命令如下:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.2/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -237,17 +237,17 @@ asc验证
 
 `gpg --verify  apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip`
 
-##### 2.2.4 拉取svn至本地,并构建发布版本路径,并将签名文件及Source和Binary移入其中
+##### d. 拉取svn至本地,并构建发布版本路径,并将签名文件及Source和Binary移入其中
 
 拉取svn目录
 
 `svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/`
 
-创建发布版本路径,并将文件移入其中
+创建发布版本路径(dev路径中的文件夹必须携带RC代表其实一个预备状态),并将文件移入其中
 
 `cd seata`
 
-`mkdir x.x.x`
+`mkdir x.x.xRCN`
 
 `mv ….. x.x.x`

Review Comment:
   Inconsistent directory naming in command example: Line 250 creates a 
directory named "x.x.xRCN" but line 252 moves files to "x.x.x" without the RC 
suffix. The command at line 252 should likely be `mv ….. x.x.xRCN` to match the 
directory created in line 250.
   ```suggestion
   `mv ….. x.x.xRCN`
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.3/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -602,3 +648,11 @@ Resources:
 - Issue: https://github.com/apache/incubator-seata/issues
 - Mailing list: [email protected]
 ```
+
+#### 3) Archiving Old Versions
+After releasing a new version, the previous version must be archived to ensure 
that only the latest version of the same maintenance branch is retained in the 
[download](https://downloads.apache.org/incubator/seata/) directory. Archived 
versions are automatically synchronized to the 
[archive](https://archive.apache.org/dist/incubator/seata/) when a new release 
is published. Therefore, it is sufficient to delete older versions from the 
[download](https://downloads.apache.org/incubator/seata/) directory. Example 
commands are provided below:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.5/developers/release-guide/release-guide_dev.md:
##########
@@ -579,3 +648,11 @@ Resources:
 - Issue: https://github.com/apache/incubator-seata/issues
 - Mailing list: [email protected]
 ```
+
+#### 3) Archiving Old Versions
+After releasing a new version, the previous version must be archived to ensure 
that only the latest version of the same maintenance branch is retained in the 
[download](https://downloads.apache.org/incubator/seata/) directory. Archived 
versions are automatically synchronized to the 
[archive](https://archive.apache.org/dist/incubator/seata/) when a new release 
is published. Therefore, it is sufficient to delete older versions from the 
[download](https://downloads.apache.org/incubator/seata/) directory. Example 
commands are provided below:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.3/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -113,176 +108,150 @@ View the key list:
 [root@localhost ~]# gpg --list-signatures --keyid-format LONG
 [keyboxd]
 ---------
-pub   rsa4096/XXXX 2024-09-19 [SC] [有效至:2027-09-19]
-      F2D3A28A392129B927C7FB42XXXX
-uid                   [ 绝对 ] XXXX <[email protected]>
-sig 3        XXXX 2024-09-19  [自签名]
-sub   rsa4096/XXXXXXX 2024-09-19 [E] [有效至:2027-09-19]
-sig          XXXX 2024-09-19  [自签名]
+pub   rsa4096/XXXXXXXX 2024-09-19 [SC] [expires: 2027-09-19]
+            F2D3A28A392129B927C7FB42XXXXXXXX
+uid                   [ultimate] xxxx <[email protected]>
+sig 3        XXXXXXXX 2024-09-19  [self-signature]
+sub   rsa4096/XXXXX 2024-09-19 [E] [expires: 2027-09-19]
+sig          XXXXXXXX 2024-09-19  [self-signature]
 
 ```
 
-Upload the public key to the key server
+Upload the public key to the key server:
 
 ```
-[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXX
-gpg: sending key XXXX to hkp server keys.openpgp.org
+[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXXXXXX
+gpg: sending key XXXXXXXX to hkp server keys.openpgp.org
 
 ```
 
-#### 1.3 POM Configuration
+### 1.3 POM Configuration
 
-Configure the POM file to deploy the version to the ASF Nexus repository.
+Configure the POM file to deploy versions to the ASF Nexus repository.
 
-① Add Apache POM inheritance for default settings.
+① Add Apache POM inheritance for default settings:
 
 ```
 <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>XX</version>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>XX</version>
 </parent>
 
 ```
 
-② Add key information to the Maven configuration file `settings.xml`.
+② Add key information in Maven configuration file `settings.xml`:
 
 ```
 <settings>
-    <profiles>
-        <profile>
-            <id>signed_release</id>
-            <properties>
-                <mavenExecutorId>forked-path</mavenExecutorId>
-                <gpg.keyname>yourKeyName</gpg.keyname>
-          
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
-            </properties>
-        </profile>
-    </profiles>
-    <servers>
-        <!-- To publish a snapshot of some part of Maven -->
-        <server>
-            <id>apache.snapshots.https</id>
-            <username>yourApacheID</username>
-            <!-- Use the password encryption by maven -->
-            <password>yourApachePassword</password>
-        </server>
-        <!-- To stage a release of some part of Maven -->
-        <server>
-            <id>apache.releases.https</id>
-            <username>yourApacheID</username>
-            <password>yourApachePassword</password>
-        </server>
-        <server>
-            <id>gpg.passphrase</id>
-            <passphrase>yourKeyPassword</passphrase>
-        </server>
-    </servers>
+        <profiles>
+                <profile>
+                        <id>signed_release</id>
+                        <properties>
+                                <mavenExecutorId>forked-path</mavenExecutorId>
+                                <gpg.keyname>yourKeyName</gpg.keyname>
+                    
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
+                        </properties>
+                </profile>
+        </profiles>
+        <servers>
+                <!-- To publish a snapshot of some part of Maven -->
+                <server>
+                        <id>apache.snapshots.https</id>
+                        <username>yourApacheID</username>
+                        <!-- Use the password encryption by maven -->
+                        <password>yourApachePassword</password>
+                </server>
+                <!-- To stage a release of some part of Maven -->
+                <server>
+                        <id>apache.releases.https</id>
+                        <username>yourApacheID</username>
+                        <password>yourApachePassword</password>
+                </server>
+                <server>
+                        <id>gpg.passphrase</id>
+                        <passphrase>yourKeyPassword</passphrase>
+                </server>
+        </servers>
 </settings>
 
 ```
 
-**Tips:** It is recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`.
+**Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Release Notes
+#### 1.4 Publishing Release Notes
 
-Build the corresponding version's Release Notes from the 
[changelog](https://github.com/apache/incubator-seata/blob/2.x/changes/zh-cn/2.x.md).
+Build Release Notes for the respective version through the 
[changelog](https://github.com/apache/incubator-seata/blob/2.x/changes/zh-cn/2.x.md).
 
 ## 2. Release Process
 
-### 1. Prepare Branch
-
-Create a new branch from the main branch as the release branch. For example, 
if you are going to release version `${release_version}`, create a new branch 
`${release_version}` from the development branch. All modifications and tagging 
related to `${release_version}` Release Candidates will be done in the 
`${release_version}` branch, ensuring that all GitHub Actions CI checks pass. 
After the release is completed, merge this branch back into the main branch.
+### 2.1 Preparing the Branch
 
-Example: If the Java SDK needs to release version `2.2.0`, create a new branch 
`2.2.0` from the `2.x` branch, and commit changes in this branch to replace the 
Snapshot version number with `2.2.0`.
+Create a new branch from the main branch as the release branch. For instance, 
if you're releasing version `${release_version}`, create a new branch 
`${release_version}` from the development branch. All changes, tags, and fixes 
related to the `${release_version}` Release Candidates should be made on this 
branch. Ensure all GitHub Actions CI tests pass on this branch. After the 
release is completed, merge it back into the main branch.
 
-### 2. Pre-release Binary Package
+Example: To release Java SDK version `2.2.0`, create a new branch `2.2.0` from 
the `2.x` branch, and commit changes to replace the Snapshot version number 
with the `2.2.0` version number on this branch.
 
-#### 2.1 SDK Preparation for Release
+### 2.2 Pre-Release Binary Packages
 
-Prepare the release according to the instructions in [publishing maven 
artifacts](https://infra.apache.org/publishing-maven-artifacts.html) [4].
+#### 1) Prepare the SDK release according to [publishing maven 
artifacts](https://infra.apache.org/publishing-maven-artifacts.html) [4] 
guidelines.
 
 ```
 mvn clean deploy -Prelease -DskipTests -e -B 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
 ```
 
-At this point, the Seata SDK is published to the [staging 
repository](https://repository.apache.org/#stagingRepositories) (you need to 
log in with your Apache account credentials). Find the released version, 
`${STAGING.RELEASE}`, and click Close.
+At this point, the Seata SDK is published to the [staging 
repository](https://repository.apache.org/#stagingRepositories) (requires 
Apache account login). Find the released version, `${STAGING.RELEASE}`, and 
click Close.
 
-Note: If closing fails, it may be because the public key corresponding to the 
signing key cannot be retrieved from 
[keys.openpgp.org](http://keys.openpgp.org/). Please check yourself using the 
[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/).
+Note: If closing fails, it's likely because the public key corresponding to 
your signing key is not available on keys.openpgp.org. Please verify through 
[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/)
 
-#### 2.2 Submit Source & Binary to SVN Repository
+#### 2) Submit Source & Binary to SVN Repository
 
-##### 2.2.1 Install SVN
+##### a. Install SVN
 
-Download and install from [Download Apache Subversion 
Sources](https://subversion.apache.org/download.cgi#recommended-release)
+Download and install [Apache Subversion 
Sources](https://subversion.apache.org/download.cgi#recommended-release)
 
-Alternatively, you can quickly install it using `brew install subversion`.
+Or install via `brew install subversion`
 
-##### 2.2.2 Compile seata-server and seata-namingserver
+##### b. Compile seata-server and seata-namingserver
 
-Run the following command:
+ `mvn -Prelease-seata -Dmaven.test.skip=true -T4C -Dpmd.skip=true clean 
install -U`
 
-```
-mvn -Prelease-seata -Dmaven.test.skip=true -Dskip.npm=true -T4C 
-Dpmd.skip=true clean install -U
-```
+##### c. Sign Source and Binary packages
 
-##### 2.2.3 Sign the Source and Binary
+For the Source package, it's recommended to download the zip directly from the 
corresponding version branch on GitHub (e.g., 2.2.0) to avoid local environment 
contamination, then rename it to apache-seata-x.x.x-incubating-src.zip
 
-For the Source, it is recommended to download the zip package directly from 
the corresponding version branch on GitHub, such as 2.2.0, to avoid polluting 
the Source package content in your local environment. Then rename it to 
`apache-seata-x.x.x-incubating-src.zip`.
+`shasum -b -a 512 apache-seata-x.x.x-incubating-src.zip >> 
apache-seata-x.x.x-incubating-src.zip.sha512 `
 
-Run the following command to generate a SHA-512 checksum:
+`gpg --armor --output apache-seata-x.x.x-incubating-bin.zip.asc 
apache-seata-x.x.x-incubating-bin.zip`
 
-```
-shasum -b -a 512 apache-seata-x.x.x-incubating-src.zip >> 
apache-seata-x.x.x-incubating-src.zip.sha512
-```
+For the Binary package:
 
-Sign the Binary:
+`shasum -b -a 512 apache-seata-x.x.x-incubating-bin.tar.gz >> 
apache-seata-x.x.x-incubating-bin.tar.gz.sha512`
 
-```
-gpg --armor --output apache-seata-x.x.x-incubating-bin.zip.asc 
apache-seata-x.x.x-incubating-bin.zip
-```
+`gpg --armor --output apache-seata-x.x.x-incubating-bin.tar.gz.asc 
apache-seata-x.x.x-incubating-bin.tar.gz`
 
-For the Binary, generate a SHA-512 checksum:
+Verify SHA512:
 
-```
-shasum -b -a 512 apache-seata-x.x.x-incubating-bin.tar.gz >> 
apache-seata-x.x.x-incubating-bin.tar.gz.sha512
-```
+`shasum -c apache-seata-x.x.x-incubating-bin.tar.gz.sha512`
 
-Sign the Binary:
+Verify ASC:
 
-```
-gpg --armor --output apache-seata-x.x.x-incubating-bin.tar.gz.asc 
apache-seata-x.x.x-incubating-bin.tar.gz
-```
+`gpg --verify  apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip`
 
-Verify the SHA-512 checksum:
+##### d. Pull SVN locally, create release version path, and move the signed 
files and Source/Binary packages into it
 
-```
-shasum -c apache-seata-x.x.x-incubating-bin.tar.gz.sha512
-```
+Pull SVN directory:
 
-Verify the signature:
+`svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/`
 
-```
-gpg --verify apache-seata-x.x.x-incubating-src.zip.asc 
apache-seata-x.x.x-incubating-src.zip
-```
+Create release version path (in the dev path, folders must include "RC" to 
indicate they are in a preparatory state), and move files into it:
 
-##### 2.2.4 Check Out SVN Locally, Create Release Version Path, and Move 
Signature Files, Source, and Binary into It
+`cd seata`
 
-Check out the SVN directory:
+`mkdir x.x.xRCN`
 
-```
-svn co --depth=empty https://dist.apache.org/repos/dist/dev/incubator/seata/
-```
+`mv ….. x.x.x`

Review Comment:
   Inconsistent directory naming in command example: Line 250 creates a 
directory named "x.x.xRCN" but line 252 moves files to "x.x.x" without the RC 
suffix. The command at line 252 should likely be `mv ….. x.x.xRCN` to match the 
directory created in line 250.
   ```suggestion
   `mv ….. x.x.xRCN`
   ```



##########
i18n/en/docusaurus-plugin-content-docs/version-v2.2/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -113,176 +108,150 @@ View the key list:
 [root@localhost ~]# gpg --list-signatures --keyid-format LONG
 [keyboxd]
 ---------
-pub   rsa4096/XXXX 2024-09-19 [SC] [有效至:2027-09-19]
-      F2D3A28A392129B927C7FB42XXXX
-uid                   [ 绝对 ] XXXX <[email protected]>
-sig 3        XXXX 2024-09-19  [自签名]
-sub   rsa4096/XXXXXXX 2024-09-19 [E] [有效至:2027-09-19]
-sig          XXXX 2024-09-19  [自签名]
+pub   rsa4096/XXXXXXXX 2024-09-19 [SC] [expires: 2027-09-19]
+            F2D3A28A392129B927C7FB42XXXXXXXX
+uid                   [ultimate] xxxx <[email protected]>
+sig 3        XXXXXXXX 2024-09-19  [self-signature]
+sub   rsa4096/XXXXX 2024-09-19 [E] [expires: 2027-09-19]
+sig          XXXXXXXX 2024-09-19  [self-signature]
 
 ```
 
-Upload the public key to the key server
+Upload the public key to the key server:
 
 ```
-[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXX
-gpg: sending key XXXX to hkp server keys.openpgp.org
+[root@localhost gpgtest]# gpg --keyserver keys.openpgp.org --send-key XXXXXXXX
+gpg: sending key XXXXXXXX to hkp server keys.openpgp.org
 
 ```
 
-#### 1.3 POM Configuration
+### 1.3 POM Configuration
 
-Configure the POM file to deploy the version to the ASF Nexus repository.
+Configure the POM file to deploy versions to the ASF Nexus repository.
 
-① Add Apache POM inheritance for default settings.
+① Add Apache POM inheritance for default settings:
 
 ```
 <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>XX</version>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>XX</version>
 </parent>
 
 ```
 
-② Add key information to the Maven configuration file `settings.xml`.
+② Add key information in Maven configuration file `settings.xml`:
 
 ```
 <settings>
-    <profiles>
-        <profile>
-            <id>signed_release</id>
-            <properties>
-                <mavenExecutorId>forked-path</mavenExecutorId>
-                <gpg.keyname>yourKeyName</gpg.keyname>
-          
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
-            </properties>
-        </profile>
-    </profiles>
-    <servers>
-        <!-- To publish a snapshot of some part of Maven -->
-        <server>
-            <id>apache.snapshots.https</id>
-            <username>yourApacheID</username>
-            <!-- Use the password encryption by maven -->
-            <password>yourApachePassword</password>
-        </server>
-        <!-- To stage a release of some part of Maven -->
-        <server>
-            <id>apache.releases.https</id>
-            <username>yourApacheID</username>
-            <password>yourApachePassword</password>
-        </server>
-        <server>
-            <id>gpg.passphrase</id>
-            <passphrase>yourKeyPassword</passphrase>
-        </server>
-    </servers>
+        <profiles>
+                <profile>
+                        <id>signed_release</id>
+                        <properties>
+                                <mavenExecutorId>forked-path</mavenExecutorId>
+                                <gpg.keyname>yourKeyName</gpg.keyname>
+                    
<deploy.url>https://dist.apache.org/repos/dist/dev/incubator/seata/</deploy.url>
+                        </properties>
+                </profile>
+        </profiles>
+        <servers>
+                <!-- To publish a snapshot of some part of Maven -->
+                <server>
+                        <id>apache.snapshots.https</id>
+                        <username>yourApacheID</username>
+                        <!-- Use the password encryption by maven -->
+                        <password>yourApachePassword</password>
+                </server>
+                <!-- To stage a release of some part of Maven -->
+                <server>
+                        <id>apache.releases.https</id>
+                        <username>yourApacheID</username>
+                        <password>yourApachePassword</password>
+                </server>
+                <server>
+                        <id>gpg.passphrase</id>
+                        <passphrase>yourKeyPassword</passphrase>
+                </server>
+        </servers>
 </settings>
 
 ```
 
-**Tips:** It is recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`.
+**Tips:** It's recommended to use [Maven's password encryption 
capabilities](http://maven.apache.org/guides/mini/guide-encryption.html) to 
encrypt `gpg.passphrase`
 
-#### 1.5 Release Notes
+#### 1.4 Publishing Release Notes

Review Comment:
   Inconsistent heading level between language versions: The Chinese version 
uses "### 1.4" while the English version uses "#### 1.4". The heading levels 
should be consistent across both language versions. Based on the pattern where 
sections 1.1, 1.2, and 1.3 all use "###", this should be "### 1.4" to maintain 
consistency.
   ```suggestion
   ### 1.4 Publishing Release Notes
   ```



##########
i18n/zh-cn/docusaurus-plugin-content-docs/version-v2.4/developers/ppmc-guide/release-guide_dev.md:
##########
@@ -582,3 +650,10 @@ Resources:
 - Mailing list: [email protected]
 ```
 
+#### 3) 归档老版本
+发布新版本后,需要将上一个版本归档,确保在[download](https://downloads.apache.org/incubator/seata/) 
只保留同一维护分支的最新版本。Archive 
版本在发布新版本时会自动同步到[归档](https://archive.apache.org/dist/incubator/seata/)。因此,只需要删除[download](https://downloads.apache.org/incubator/seata/)
 中老的版本即可,参考命令如下:
+
+```yaml

Review Comment:
   Incorrect code block language identifier: The code block is marked as 'yaml' 
but contains shell commands (svn commands). This should be marked as 'sh' or 
'bash' instead of 'yaml' for proper syntax highlighting.
   ```suggestion
   ```sh
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to