This is an automated email from the ASF dual-hosted git repository.

jimin pushed a commit to branch docusaurus
in repository https://gitbox.apache.org/repos/asf/incubator-seata-website.git


The following commit(s) were added to refs/heads/docusaurus by this push:
     new 18357bd01cb update release-guide_dev.md (#970)
18357bd01cb is described below

commit 18357bd01cb9869eb33a4d6410999b022e035369
Author: funkye <jian...@apache.org>
AuthorDate: Mon May 19 00:05:03 2025 +0800

    update release-guide_dev.md (#970)
---
 .../developers/ppmc-guide/release-guide_dev.md     | 413 ++++++++++-----------
 .../developers/ppmc-guide/release-guide_dev.md     |  31 +-
 2 files changed, 218 insertions(+), 226 deletions(-)

diff --git 
a/i18n/en/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
 
b/i18n/en/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
index 2b69e20f103..23e47688812 100644
--- 
a/i18n/en/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
+++ 
b/i18n/en/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
@@ -8,52 +8,52 @@ description: Release Guide.
 
 ## 1. Introduction
 
-#### 1.1 Apache Version Release Documentation
+#### 1.1 Apache Release Documentation
 
-Refer to the following link to understand the ASF release process:
+Refer to the following links to understand the ASF release process:
 
 - [Apache Release Guide](http://www.apache.org/dev/release-publishing)
 - [Apache Release Policy](http://www.apache.org/dev/release.html)
 - [Maven Release 
Info](http://www.apache.org/dev/publishing-maven-artifacts.html)
 
-#### 1.2 PGP Signature
+#### 1.2 PGP Signatures
 
-Follow the Apache release guidelines to sign the release version, allowing 
users to verify whether the downloaded version has been tampered with.
+Following the Apache Release Guidelines, release versions must be signed, 
allowing users to verify if downloaded versions have been tampered with.
 
-Create a `pgp` key for version signing, using **\<your Apache ID>@apache.org** 
as the key USER-ID.
+Create a `pgp` key for signing releases, using **\<your Apache 
ID>@apache.org** as the key USER-ID.
 
-For more details, refer to the [Apache Releases Signing 
documentation](https://infra.apache.org/release-signing) and [Cryptography with 
OpenPGP](http://www.apache.org/dev/openpgp.html).
+For details, refer to [Apache Releases Signing 
documentation](https://infra.apache.org/release-signing) and [Cryptography with 
OpenPGP](http://www.apache.org/dev/openpgp.html).
 
-Here is a brief process for generating the 
key:http://www.apache.org/dev/openpgp.html)
+Brief process for generating keys:
 
-Here is a brief process for generating the key:
+- Generate a new `gpg` key using `gpg --full-gen-key`, setting the key length 
to 4096 bits
 
-- Generate a new `gpg` key using `gpg --full-gen-key`, setting the key length 
to 4096.
+    Note: You can set the key to never expire or set a specific expiration 
time. If you set an expiration time, you'll need to update your public key in 
the [DEV KEYS 
file](https://dist.apache.org/repos/dist/dev/incubator/seata/KEYS) and [RELEASE 
KEYS file](https://dist.apache.org/repos/dist/release/incubator/seata/KEYS) 
after renewal.
 
-  Note: You can set the key to never expire or choose a specific expiration 
time based on your needs. However, you will need to update the public key after 
it expires in the [DEV KEYS 
file](https://dist.apache.org/repos/dist/dev/incubator/seata/KEYS) and the 
[RELEASE KEYS 
file](https://dist.apache.org/repos/dist/release/incubator/seata/KEYS).
+- Upload the key to the public key server using `gpg --keyserver 
keys.openpgp.org --send-key <your key id>`
 
-- Upload the key to a public key server using `gpg --keyserver 
keys.openpgp.org --send-key <your key id>`.
+    Note: If you can't access this server, you can upload your public key 
online via [OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/)
 
-  Note: If the access fails, you can upload the public key online via the 
[OpenPGP Keyserver (ubuntu.com)](https://keyserver.ubuntu.com/).
+    ```
+    Use this command to find your keyid: gpg --list-signatures --keyid-format 
LONG
+    pub   rsa4096/XXXXXXXX 2024-09-19 [SC] [expires: 2027-09-19]
+                F2D3A28A392129B927C7FB42XXXXXXXX
+    uid                   [ultimate] xxxx <x...@apache.org>
+    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]
+    The keyid is XXXXXXXX
+    ```
 
-```
-You can find the key ID using the command: gpg --list-signatures 
--keyid-format LONG
-pub   rsa4096/XXXX 2024-09-19 [SC] [expires: 2027-09-19]
-      F2D3A28A392129B927C7FB42XXXX
-uid                   [ultimate] XXXX <x...@apache.org>
-sig 3        XXXX 2024-09-19  [self-signed]
-sub   rsa4096/XXXXXXX 2024-09-19 [E] [expires: 2027-09-19]
-sig          XXXX 2024-09-19  [self-signed]
-The key ID is XXXX.
-```
+- Export your public key to a text file using `gpg --armor --output 
./public-key.txt --export XXXXXXXX`
+
+- Append your generated key to the [DEV KEYS 
file](https://dist.apache.org/repos/dist/dev/incubator/seata/KEYS) and [RELEASE 
KEYS file](https://dist.apache.org/repos/dist/release/incubator/seata/KEYS)
 
-- Export the public key to a text file using the command: `gpg --armor 
--output ./public-key.txt --export XXXX`.
-- Append the generated key to the [DEV KEYS 
file](https://dist.apache.org/repos/dist/dev/incubator/seata/KEYS) and the 
[RELEASE KEYS 
file](https://dist.apache.org/repos/dist/release/incubator/seata/KEYS).
 Note:
 
-The DEV SVN repository can be added by the Release Manager, while the RELEASE 
SVN repository requires PMC permissions and can be assisted by the PMC to 
upload the KEY.
+The Release Manager can add keys to the DEV SVN repository themselves, but 
adding to the Release SVN repository requires PMC permissions. PMC members can 
help upload the keys.
 
-**Tips:** You need to set the default public key. If you have multiple public 
keys, please modify `~/.gnupg/gpg.conf`.
+**Tips:** You should set a default public key. If you have multiple keys, 
modify `~/.gnupg/gpg.conf`.
 
 Reference example:
 
@@ -63,47 +63,42 @@ This is free software: you are free to change and 
redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 
 Please select what kind of key you want:
-  (1) RSA and RSA (default)
-  (2) DSA and Elgamal
-  (3) DSA (sign only)
-  (4) RSA (sign only)
+    (1) RSA and RSA (default)
+    (2) DSA and Elgamal
+    (3) DSA (sign only)
+    (4) RSA (sign only)
 Your selection? 1
 RSA keys may be between 1024 and 4096 bits long.
 What keysize do you want? (2048) 4096
 Requested keysize is 4096 bits
 Please specify how long the key should be valid.
-        0 = key does not expire
-     <n>  = key expires in n days
-     <n>w = key expires in n weeks
-     <n>m = key expires in n months
-     <n>y = key expires in n years
+                0 = key does not expire
+         <n>  = key expires in n days
+         <n>w = key expires in n weeks
+         <n>m = key expires in n months
+         <n>y = key expires in n years
 Key is valid for? (0)
 Key does not expire at all
 Is this correct? (y/N) y
 
 GnuPG needs to construct a user ID to identify your key.
 
-Real name: (Set username) (use Apache ID)
-
-Email address: (Set email address) (use Apache email)
-
-Comment: (Fill in comment)
-
+Real name: (Set user name) (Use Apache ID)
+Email address: (Set email address) (Use Apache email)
+Comment: (Add comments)
 You selected this USER-ID:
-
-"Username (comment) <email address>"
+     "User Name (Comment) <Email Address>"
 
 Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
-
 You need a Passphrase to protect your secret key. (Set password)
 
 ```
 
-Convert the generated public key and private key to ASCII format:
+Convert the generated public and private keys to ASCII format:
 
 ```
-gpg --armor --output ./public-key.txt --export XXXX
-gpg --armor --output ./private-key.txt --export-secret-keys XXXX
+gpg --armor --output ./public-key.txt --export XXXXXXXX
+gpg --armor --output ./private-key.txt --export-secret-keys XXXXXXXX
 
 ```
 
@@ -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 <x...@apache.org>
-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 <x...@apache.org>
+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
 
-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.5 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.
+### 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. Pre-Release Binary Packages
 
-Prepare the release according to the instructions in [publishing maven 
artifacts](https://infra.apache.org/publishing-maven-artifacts.html) [4].
+#### 2.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.2.1 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
 
-Run the following command:
+ `mvn -Prelease-seata -Dmaven.test.skip=true -Dskip.npm=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
-```
+##### 2.2.3 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:
+##### 2.2.4 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`
 
-Create the release version path and move the files into it:
-
-```
-cd seata
-mkdir incubator-seata/x.x.x-RCn/
-mv ../x.x.x incubator-seata/x.x.x-RCn/
-```
-
-After executing the above commands, the structure should look approximately 
like this:
+After moving files in, it should look like this:
 
 ```
 -rw-r--r--@ 1 fe-work  staff   180M  9 20 10:16 
apache-seata-2.2.0-incubating-bin.tar.gz
@@ -293,60 +262,53 @@ After executing the above commands, the structure should 
look approximately like
 -rw-r--r--  1 fe-work  staff   300B  9 20 10:16 
apache-seata-2.2.0-incubating-src.zip.sha512
 ```
 
-The KEYS file in the parent `seata` directory needs to ensure that the public 
key generated in the first step is appended.
+Ensure the KEYS file in the parent seata directory has been updated with your 
public key as mentioned in step 1.
 
-Run the following commands:
+Execute:
 
-```
-svn add x.x.x
-svn commit -m "submit x.x.x version"
-```
+`svn add x.x.x`
 
-If you updated the KEYS file, you need to run `svn update KEYS` before 
committing.
+`svn commit -m "submit x.x.x version" `
 
-After executing the commit, you will be prompted to enter your Apache LDAP 
username and password. Enter them to successfully submit the changes.
+If you've updated the KEYS file, execute `svn update KEYS` before committing.
+
+After the commit command, you'll be prompted to enter your Apache LDAP 
username and password. Once entered, the submission will be successful:
 
 ```
 ➜  seata svn commit -m 'submit 2.2.0 version'
 Adding       2.2.0
-Adding (binary) 2.2.0/apache-seata-2.2.0-incubating-bin.tar.gz
-Adding (binary) 2.2.0/apache-seata-2.2.0-incubating-bin.tar.gz.asc
+Adding (bin) 2.2.0/apache-seata-2.2.0-incubating-bin.tar.gz
+Adding (bin) 2.2.0/apache-seata-2.2.0-incubating-bin.tar.gz.asc
 Adding       2.2.0/apache-seata-2.2.0-incubating-bin.tar.gz.sha512
-Adding (binary) 2.2.0/apache-seata-2.2.0-incubating-src.zip
-Adding (binary) 2.2.0/apache-seata-2.2.0-incubating-src.zip.asc
+Adding (bin) 2.2.0/apache-seata-2.2.0-incubating-src.zip
+Adding (bin) 2.2.0/apache-seata-2.2.0-incubating-src.zip.asc
 Adding       2.2.0/apache-seata-2.2.0-incubating-src.zip.sha512
-Transmitting file data...done
-Committing transaction...
+Transmitting file data......done
+Reading transaction
 Committed revision 71769.
 ```
 
-#### 2.3 Creating Tag and Release Note
+#### 2.3 Create tag and release note
 
-##### 2.3.1 Creating a Tag
+##### 2.3.1 Create tag
 
-Execute the following command in the x.x.x branch:
+In the x.x.x branch, execute:
 
-```
-Copy Codegit tag vx.x.x -m 'release: release for x.x.x'
-```
+`git tag vx.x.x -m 'release: release for x.x.x'`
 
-Then push the tag to the upstream (seata repository):
+`git push upstream(seata repository repo) vx.x.x`
 
-```
-Copy Codegit push upstream vx.x.x
-```
-
-##### 2.3.2 Creating a Release Note
+##### 2.3.2 Create release note
 
-Create a release note using the following link: [New release · 
apache/incubator-seata 
(github.com)](https://github.com/apache/incubator-seata/releases/new) and set 
"Choose a tag" to the corresponding tag.
+Create a release note through [New release · apache/incubator-seata 
(github.com)](https://github.com/apache/incubator-seata/releases/new) and set 
"Choose a tag" to the corresponding tag.
 
-Set it as "Set as a pre-release." After the overall vote passes, change it to 
"Set as the latest release."
+Mark it as "Set as a pre-release". After the overall vote passes, set it as 
"Set as the latest release".
 
-# 3. Voting Phase
+### 3. Voting Stage
 
-## 3.1 Internal Community Voting
+#### 3.1 Community Internal Voting
 
-**Voting lasts at least 72 hours and requires 3 +1 binding votes.**
+**The vote must last at least 72 hours and receive at least 3 +1 binding 
votes**
 
 Send to:
 
@@ -354,18 +316,18 @@ Send to:
 d...@seata.apache.org
 ```
 
-Title:
+Subject:
 
-```
-[VOTE] Release Apache Seata (Incubating) x.x.x-RCN (RoundN)
-```
+`[VOTE]Release Apache Seata (Incubating) x.x.x(RoundN)`
 
-In this context, "N" in RC N and Round N represents the number of times the 
voting has occurred for that version.
+Where N in RoundN represents the number of attempts. If a vote doesn't pass 
and the version is modified for a new vote, N should be incremented (e.g., if 
Round1 doesn't pass, the next vote would be Round2).
+
+Body:
 
 ```
 Hi Seata Community,
 
-This is a call for vote to release Apache Seata(incubating) v2.2.0-rc1.
+This is a call for vote to release Apache Seata(incubating) vx.x.x.
 
 The release candidates:
 https://dist.apache.org/repos/dist/dev/incubator/seata/x.x.x/
@@ -377,14 +339,14 @@ Git tag for the release:
 https://github.com/apache/incubator-seata/releases/tag/vx.x.x
 
 Hash for the release tag:
-lasr commit id
+ID of the last commit on the tag branch
 
 Release Notes:
 https://github.com/apache/incubator-seata/releases/tag/vx.x.x
 
 The artifacts have been signed with Key [ key-id ], corresponding
 to
-[ x...@apache.org ]
+[ email like x...@apache.org ]
 which can be found in the keys file:
 https://downloads.apache.org/incubator/seata/KEYS
 
@@ -392,7 +354,7 @@ Build Environment: JDK 8+, Apache Maven 3.6.0+.
 /mvnw clean package -DskipTests=true
 
 CI Test Workflow:
-last commit ci:
+CI pipeline links for the last commit of this version, such as:
 
https://github.com/apache/incubator-seata/actions/runs/10938949607/job/30411922716
 
https://github.com/apache/incubator-seata/actions/runs/10938949623/job/30410204492
 
https://github.com/apache/incubator-seata/actions/runs/10938949605/job/30411747821
@@ -418,15 +380,15 @@ To learn more about Apache Seata , please see 
https://seata.apache.org/
 
 ```
 
-### 3.1.2 Completing the Vote
+#### 3.1.2 Complete the vote
 
-Send the release vote approval via email.
+Send a vote passed email:
 
 ```
 Hi Community,
 
 
-The vote to release Apache Seata (Incubating) vx.x.x-RCN has passed
+The vote to release Apache Seata (Incubating) vx.x.x has passed
 with 3 +1 binding votes, and no +0 or -1 votes.
 
 3 (+1 binding)
@@ -441,6 +403,7 @@ no further 0 or -1 votes.
 
 
 The vote thread:
+The link to the corresponding vote email thread, e.g.:
 https://lists.apache.org/thread/rwco6lms9qo10whjj8gg1dr8j7drl2gf
 
 Thank you for reviewing and voting for our release candidate.
@@ -448,33 +411,34 @@ Thank you for reviewing and voting for our release 
candidate.
 We will soon launch the second stage of voting.
 ```
 
-
-
 #### 3.2.1 Voting in the Incubator
 
-Similar to community voting, but it is necessary to include the relevant 
thread links from the community vote to demonstrate that consensus has been 
reached within the community.
+Similar to community voting, but you need to add links to the community vote 
thread to prove consensus was reached within the community.
 
 Send an email to `gene...@incubator.apache.org`
 
 Subject:
 
-`[VOTE] Release Apache Seata (Incubating) x.x.x-RCN`
+`[VOTE]Release Apache Seata (Incubating) x.x.x(RoundN)`
 
-The vote will last for at least 72 hours and must receive 3 +1 binding votes.
+**The vote must last at least 72 hours and receive at least 3 +1 binding 
votes**
 
 ```
 Hello everyone,
 
-This is a call for vote to release Apache Seata(incubating)
+This is a call for vote to release Apache Seata(incubating) vx.x.x
 
 The Apache Seata community has voted and approved the release of Apache
-Seata(incubating) v2.2.0. We now kindly request the IPMC members
+Seata(incubating) vx.x.x. We now kindly request the IPMC members
 review and vote for this release.
 
+
 The vote thread:
+Community vote thread link, e.g.:
 https://lists.apache.org/thread/rwco6lms9qo10whjj8gg1dr8j7drl2gf
 
 Vote Result:
+Community vote result thread link, e.g.:
 https://lists.apache.org/thread/ybo9c5hrx2h2glg2bdgs3t22xg734y7r
 
 The release candidates:
@@ -487,14 +451,14 @@ Git tag for the release:
 https://github.com/apache/incubator-seata/releases/tag/vx.x.x
 
 Hash for the release tag:
-last commit id
+ID of the last commit on the tag branch
 
 Release Notes:
 https://github.com/apache/incubator-seata/releases/tag/vx.x.x
 
 The artifacts have been signed with Key [ key-id ], corresponding
 to
-[ x...@apache.org ]
+[ email like x...@apache.org ]
 which can be found in the keys file:
 https://downloads.apache.org/incubator/seata/KEYS
 
@@ -502,7 +466,7 @@ Build Environment: JDK 8+, Apache Maven 3.6.0+.
 /mvnw clean package -DskipTests=true
 
 CI Test Workflow:
-last commit ci:
+CI pipeline links for the last commit of this version, such as:
 
https://github.com/apache/incubator-seata/actions/runs/10938949607/job/30411922716
 
https://github.com/apache/incubator-seata/actions/runs/10938949623/job/30410204492
 
https://github.com/apache/incubator-seata/actions/runs/10938949605/job/30411747821
@@ -527,18 +491,18 @@ Checklist for reference:
 To learn more about Apache Seata , please see https://seata.apache.org/
 ```
 
-### 3.2.2 Announcement of Incubator Vote Results
+#### 3.2.2 Announce the Incubator vote result
 
-After 72 hours, if there are at least 3 votes in favor and no opposing votes, 
send the results following the email template below.
+After 72 hours, if there are at least 3 passing votes and no opposing votes, 
send an email as follows:
 
 Send an email to `gene...@incubator.apache.org`
 
-Subject: `[RESULT][VOTE] Release Apache Seata (Incubating) x.x.x-RCN`
+Subject: `[RESULT][VOTE] Release Apache Seata (incubating) x.x.x(RoundN)`
 
 ```
 Hi Incubator PMC,
 
-The vote to release Apache Seata(incubating) X.X.X-RCN has passed with
+The vote to release Apache Seata(incubating) X.X.X has passed with
 3 +1 binding and 1 +1 non-binding votes, no +0 or -1 votes.
 
 Binding votes:
@@ -560,29 +524,42 @@ announcement soon.
 
 ```
 
+### 3.2.3 Vote Interruption
 
+If issues are found during the voting process, such as license problems or 
bugs that need to be fixed before release, the vote must be interrupted.
 
-# 4. Completing the Release
+Subject: `[CANCEL][VOTE] Release Apache Seata (incubating) x.x.x(RoundN)`
 
-### 4.1 Release Version
+```
+Hi Incubator PMC,
+I'm cancelling this vote:
+Link to the previous vote
 
-1. From the Apache Nexus repository, select the previously closed 
orgapache-seata-XXX and click the Release icon to publish.
+Describe the reason for cancellation: such as missing licenses, or bugs in the 
version
 
-2. Move the signature files, src, and bin from the dev directory to the 
release path using the following command:
+```
 
-   ```
-   svn mv 
https://dist.apache.org/repos/dist/dev/incubator/seata/incubator-seata/x.x.x-RCN
 https://dist.apache.org/repos/dist/release/incubator/seata/x.x.x -m "Release 
Seata X.X.X"
-   ```
+Note: After cancelling a vote in the Incubator, a new vote must start again 
from within the community.
 
-3. Set the previous release note as "Set as the latest release" and submit it.
+# 4. Complete the Release
 
-4. Update the documentation for x.x.x on the Seata official website, including 
the download links for the corresponding binary and source.
+### 4.1 Release the Version
 
-### 4.2 Version Announcement
+1. From Apache Nexus repository, select the previously closed 
**orgapacheseata-XXX** and click the `Release` icon to publish.
 
-Send an email to` gene...@incubator.apache.org`
+2. Move the signature files, src, and bin from the dev path to the release 
path using the following command:
+
+     `svn mv 
https://dist.apache.org/repos/dist/dev/incubator/seata/incubator-seata/x.x.x-RCN
 https://dist.apache.org/repos/dist/release/incubator/seata/x.x.x -m "Release 
Seata X.X.X"`
+
+3. Set the previous release note to "Set as the latest release" and submit.
+
+4. Update the documentation for version x.x.x on the Seata official website, 
and add download links for the binary and source packages.
+
+### 4.2 Announce the Release
+
+Send an email to `gene...@incubator.apache.org`
 
-Subject: `[ANNOUNCE] Apache Seata (Incubating) vx.x.x available`
+Subject: `[ANNOUNCE] Apache Seata(Incubating) vx.x.x available`
 
 ```
 Hi All,
diff --git 
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
index 98d7138b5cd..5835162b607 100644
--- 
a/i18n/zh-cn/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
+++ 
b/i18n/zh-cn/docusaurus-plugin-content-docs/current/developers/ppmc-guide/release-guide_dev.md
@@ -243,11 +243,11 @@ asc验证
 
 `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`
 
@@ -318,9 +318,10 @@ d...@seata.apache.org
 
 标题:
 
-`[VOTE]Release Apache Seata (Incubating) x.x.x-RCN (RoundN) `
+`[VOTE]Release Apache Seata (Incubating) x.x.x(RoundN) `
 
-RC N和Round N的N代表次数,该版本的第几次投票
+Round N的N代表次数,该版本的该阶段的第几次投票
+如: 投票不通过该版本经修改后重新投票时需要N+1,如Round1投票不通过,下次投票就为Round2.
 
 正文:
 
@@ -388,7 +389,7 @@ To learn more about Apache Seata , please see 
https://seata.apache.org/
 Hi Community,
 
 
-The vote to release Apache Seata (Incubating) vx.x.x-RCN has passed
+The vote to release Apache Seata (Incubating) vx.x.x has passed
 with 3 +1 binding votes, and no +0 or -1 votes.
 
 3 (+1 binding)
@@ -421,7 +422,7 @@ We will soon launch the second stage of voting.
 
 标题:
 
-`[VOTE]Release Apache Seata (Incubating) x.x.x-RCN  `
+`[VOTE]Release Apache Seata (Incubating) x.x.x(RoundN)  `
 
 **投票持续至少 72 小时并获得 3 个+1 binding票**
 
@@ -499,12 +500,12 @@ To learn more about Apache Seata , please see 
https://seata.apache.org/
 
 发送邮件至 `gene...@incubator.apache.org`
 
-标题:`[RESULT][VOTE] Release Apache Seata (incubating) x.x.x-RCN`
+标题:`[RESULT][VOTE] Release Apache Seata (incubating) x.x.x(RoundN)`
 
 ```
 Hi Incubator PMC,
 
-The vote to release Apache Seata(incubating) X.X.X-RCN has passed with
+The vote to release Apache Seata(incubating) X.X.X has passed with
 3 +1 binding and 1 +1 non-binding votes, no +0 or -1 votes.
 
 Binding votes:
@@ -526,7 +527,21 @@ announcement soon.
 
 ```
 
+### 3.2.3 投票中断
 
+如出现在投票过程中验证不通过,如license,或者版本存在bug等,经评估需要修复后才能发版,那么需要中断本次投票
+标题:`[CANCEL][VOTE] Release Apache Seata (incubating) x.x.x(RoundN)`
+
+```
+Hi Incubator PMC,
+I'm cancelling this vote:
+之前投票的链接
+
+描述为何中断的原因: 如license缺漏,或者版本存在bug等
+
+```
+
+注: 孵化器中投票终止后,新的投票需要从社区内部重新开始
 
 # 4.完成发布
 


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org
For additional commands, e-mail: notifications-h...@seata.apache.org

Reply via email to