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

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 3c17510c7 docs: update release download workflow (#442)
3c17510c7 is described below

commit 3c17510c7b115925bf1a92a7cce555c292739f1b
Author: Shawn Yang <[email protected]>
AuthorDate: Mon Apr 20 01:57:38 2026 +0800

    docs: update release download workflow (#442)
---
 .claude/skills/release-major-version/SKILL.md      | 85 ++++++++++++++--------
 docs/introduction/benchmark.md                     | 18 ++++-
 .../current/introduction/benchmark.md              | 14 +++-
 .../version-0.17/introduction/benchmark.md         | 14 +++-
 .../download/index.md                              | 80 ++++++++++++++++++++
 src/pages/download/index.md                        | 12 +--
 .../version-0.17/introduction/benchmark.md         | 18 ++++-
 7 files changed, 193 insertions(+), 48 deletions(-)

diff --git a/.claude/skills/release-major-version/SKILL.md 
b/.claude/skills/release-major-version/SKILL.md
index 46721088d..0086101ad 100644
--- a/.claude/skills/release-major-version/SKILL.md
+++ b/.claude/skills/release-major-version/SKILL.md
@@ -2,11 +2,11 @@
 name: release-major-version
 description: >-
   Prepare the Apache Fory site for a new major-ish docs release such as 0.17:
-  write the release blog, checkpoint with git commits, translate the zh-CN
-  release blog and docs, create the versioned docs snapshot, update the
-  default docs version, and run an independent self-review to catch remaining
-  issues. Use when the user asks to cut a new docs/site release version on
-  this repository.
+  write the release blog, update the download page, checkpoint with git
+  commits, translate the zh-CN release blog and docs, create the versioned
+  docs snapshot, update the default docs version, and run an independent
+  self-review to catch remaining issues. Use when the user asks to cut a new
+  docs/site release version on this repository.
 ---
 
 # Release Big Version
@@ -20,12 +20,13 @@ This skill is for the website/docs repository workflow, not 
the ASF source relea
 This workflow covers:
 
 1. Write the release blog post
-2. Git commit the blog/content checkpoint
-3. Translate the zh-CN release blog and zh-CN docs
-4. Git commit the translation checkpoint
-5. Version the docs with `yarn docusaurus docs:version <version>`
-6. Update the default docs version to the new version
-7. Run a fresh subagent review before calling the work done
+2. Update the English release-facing pages, including the download page and 
pinned latest-version references
+3. Git commit the English content checkpoint
+4. Translate the zh-CN release blog and zh-CN docs
+5. Git commit the translation checkpoint
+6. Version the docs with `yarn docusaurus docs:version <version>`
+7. Update the default docs version to the new version
+8. Run a fresh subagent review before calling the work done
 
 ## Repository Facts You Must Respect
 
@@ -37,6 +38,8 @@ This workflow covers:
 - Chinese blog posts live in `i18n/zh-CN/docusaurus-plugin-content-blog/`
 - Docs version history is recorded in `versions.json`
 - The default released docs version is controlled by `docs.lastVersion` in 
`docusaurus.config.ts`
+- The latest-release download page lives at `src/pages/download/index.md`
+- Localized page translations live under 
`i18n/zh-CN/docusaurus-plugin-content-pages/`
 - The wrapped versioning command is `yarn docusaurus docs:version <ver>`, 
which calls `scripts/docusaurus-with-i18n.sh`
 - The wrapper copies every locale's `current/` docs tree to `version-<ver>/` 
after Docusaurus versions the English docs
 
@@ -63,6 +66,8 @@ This workflow covers:
    - `docusaurus.config.ts`
    - `versions.json`
    - `scripts/docusaurus-with-i18n.sh`
+   - `src/pages/download/index.md`
+   - `i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md` if it 
exists
 2. Confirm the current latest released version, the target new version, and 
the previous released version that will become the explicit older-version route 
after the cut.
 3. Verify the site repo already contains the intended upstream docs state from 
`apache/fory` before you start. Do not assume the release only touches 
`docs/guide`.
    - compare current `docs/` against 
`versioned_docs/version-<previous-version>/` to discover the actual English doc 
delta for this release
@@ -99,36 +104,43 @@ This workflow covers:
 7. If you add benchmark images, ensure the referenced static paths and copied 
files match exactly.
 8. Validate the post for obvious copy/paste errors from the previous release.
 
-## Step 1A: Bump Versioned References in Current Docs
+## Step 1A: Bump Versioned References in Current Docs and the Download Page
 
-Before translating the zh-CN blog/docs or freezing the docs version, update 
all pinned current-doc references to the new release version.
+Before translating the zh-CN blog/docs or freezing the docs version, update 
all pinned current-doc references and release-facing site pages to the new 
release version.
 
 Required targets:
 
 1. `docs/start/install.md`
 2. `docs/guide/**/index.md` for each language/runtime that includes versioned 
install or dependency examples
 3. other current guide pages with pinned version examples, dependency strings, 
or install snippets
-4. any other current docs page that still advertises the previous release as 
the recommended install version
+4. `src/pages/download/index.md`
+5. any other current docs page that still advertises the previous release as 
the recommended install version
 
 Minimum workflow:
 
 1. Replace the previous release version with the new release version in 
`docs/start/install.md`
 2. Scan all current docs for pinned release strings and update them where they 
describe the latest recommended version
 3. Explicitly inspect `docs/guide/**/index.md` because these pages often carry 
language-specific install snippets and versioned dependency examples
-4. Update every latest-version reference before `yarn docusaurus docs:version 
<version>` so the frozen snapshot inherits the correct release version
-5. Be especially suspicious of:
+4. Update `src/pages/download/index.md` so the page advertises the new release 
correctly:
+   - update the "latest release" version and release date
+   - update source, `.asc`, and `.sha512` URLs to the new artifact path
+   - update the release-notes link
+   - update checksum/signature example filenames and commands if they still 
reference the previous release
+5. Update every latest-version reference before `yarn docusaurus docs:version 
<version>` so the frozen snapshot inherits the correct release version
+6. Be especially suspicious of:
    - Maven/Gradle coordinates
    - `pip install`, `go get`, `cargo add`, `dotnet add package`
    - Bazel dependency examples
    - language-guide install snippets under `docs/guide/**`
    - language `index.md` pages under `docs/guide/**/index.md`
-6. Finish all of these English/current-doc version updates before starting 
zh-CN translation, so the Chinese docs/blog are translated once from the final 
English source rather than patched twice
-7. Do this before `yarn docusaurus docs:version <version>` so the released 
snapshot freezes the correct install guidance
+   - `src/pages/download/index.md` release tables, artifact filenames, and 
verification examples
+7. Finish all of these English/current-doc version updates before starting 
zh-CN translation, so the Chinese docs/blog are translated once from the final 
English source rather than patched twice
+8. Do this before `yarn docusaurus docs:version <version>` so the released 
snapshot freezes the correct install guidance and the site advertises the 
correct latest release
 
-## Step 2: Git Commit the Blog Checkpoint
+## Step 2: Git Commit the English Release Checkpoint
 
-1. Review the diff for the new blog post and any new assets.
-2. Make a focused git commit for the blog/release-post changes.
+1. Review the diff for the new blog post, `src/pages/download/index.md`, any 
current-doc version bumps, and any new assets.
+2. Make a focused git commit for the English release-site changes.
 3. Do not bundle unrelated generated files into this commit.
 
 ## Step 3: Translate zh-CN Docs
@@ -137,21 +149,26 @@ Minimum workflow:
    - Prefer repo-local `.agents/skills/translate-docs-zh/SKILL.md` if it exists
    - Otherwise use `.claude/skills/translate-docs-zh/SKILL.md`
 2. Start this step only after the English release blog and all current-doc 
version bumps are final.
-3. Translate or sync the zh-CN release blog:
+3. If the site maintains a localized zh-CN download page, translate or sync it 
from the final English download page:
+   - source: `src/pages/download/index.md`
+   - target: `i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md`
+   - keep release version, release date, artifact URLs, release-notes link, 
and verification examples aligned with English
+   - if the zh-CN download page is expected but missing, create it during the 
release instead of silently leaving `/zh-CN/download` stale
+4. Translate or sync the zh-CN release blog:
    - source: `blog/<release-file>.md`
    - target: `i18n/zh-CN/docusaurus-plugin-content-blog/<release-file>.md`
    - preserve frontmatter structure and blog metadata unless a localized 
change is needed
    - keep blog asset paths aligned with the English source unless there is a 
deliberate zh-only asset change
-4. Translate or sync the zh-CN docs for the doc changes that should ship with 
the new release.
+5. Translate or sync the zh-CN docs for the doc changes that should ship with 
the new release.
    - primary path mapping: `docs/<subpath>` -> 
`i18n/zh-CN/docusaurus-plugin-content-docs/current/<subpath>`
    - do not limit this to `docs/guide/**`
    - translate or sync every changed English doc in the release-doc scope 
relative to `versioned_docs/version-<previous-version>/`
    - this includes changed files under `docs/benchmarks/**`, 
`docs/community/**`, `docs/compiler/**`, `docs/guide/**`, 
`docs/introduction/**`, `docs/specification/**`, and `docs/start/**`
    - if a changed English current doc has no matching zh-CN current update 
before versioning, treat that as a blocking gap unless the file is 
intentionally English-only and documented as such
-5. Follow the translation skill's hard rule: no external translation tools or 
services.
-6. If top-level category labels changed, also update:
+6. Follow the translation skill's hard rule: no external translation tools or 
services.
+7. If top-level category labels changed, also update:
    - `i18n/zh-CN/docusaurus-plugin-content-docs/current.json`
-7. If the release needs localized version metadata, plan a manual follow-up 
for `i18n/zh-CN/docusaurus-plugin-content-docs/version-<version>.json`; the 
versioning wrapper does not create it.
+8. If the release needs localized version metadata, plan a manual follow-up 
for `i18n/zh-CN/docusaurus-plugin-content-docs/version-<version>.json`; the 
versioning wrapper does not create it.
 
 ## Step 4: Git Commit the zh-CN Checkpoint
 
@@ -224,6 +241,8 @@ Recommended route checks when the build is usable:
 - `/`
 - `/docs`
 - `/zh-CN/docs`
+- `/download`
+- `/zh-CN/download`
 - `/docs/<previous-version>/`
 - `/zh-CN/docs/<previous-version>/`
 - `/blog`
@@ -232,10 +251,14 @@ Recommended route checks when the build is usable:
 Also run targeted checks:
 
 - parameterize stale-version scans using the actual old/new versions instead 
of hard-coded values
-- scan at least: `blog`, `docs`, `versioned_docs/version-<version>`, and 
`i18n/zh-CN/docusaurus-plugin-content-docs`
+- scan at least: `blog`, `docs`, `src/pages/download/index.md`, 
`i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md`, 
`versioned_docs/version-<version>`, and 
`i18n/zh-CN/docusaurus-plugin-content-docs`
 - for example, search for the previous release string, older release strings 
likely to be copy/paste remnants, and placeholders such as `TODO` / `TBD`
 - treat stale latest-version references in current install/docs pages as 
blocking, especially in `docs/start/install.md`, `docs/guide/**/index.md`, and 
other `docs/guide/**` pages
+- treat stale release numbers, dates, artifact URLs, or verification examples 
in `src/pages/download/index.md` as blocking
+- treat stale release numbers, dates, artifact URLs, or verification examples 
in `i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md` as blocking 
whenever the zh download page exists or should exist
 - confirm release blog asset paths exist under 
`static/img/blog/fory_<version>_release/`
+- confirm the download page's source, signature, checksum, archive, and 
release-notes links match the intended new release
+- confirm the zh-CN download page, if present, is semantically aligned with 
the English page and links to the expected zh-CN install route
 - compare the release-doc scope against the previous release snapshot so you 
do not miss changed docs outside `guide/` such as `compiler/generated-code.md`
 - for each changed English current doc in the release-doc scope, verify 
whether the matching zh current doc is updated, missing, or intentionally left 
as English fallback
 - if any changed doc under `benchmarks/`, `community/`, `compiler/`, `guide/`, 
`introduction/`, `specification/`, or `start/` is missing from zh current, 
treat that as unfinished release work rather than optional follow-up
@@ -252,9 +275,11 @@ The review should check at least:
 4. Are the zh-CN release blog and English release blog both present and 
consistent with the intended release state?
 5. Are blog asset paths and benchmark links valid?
 6. Are there any obvious missing follow-up edits, such as 
`docs/start/install.md` or guide pages with pinned version references that 
should move to the new release?
-7. Did the workflow accidentally snapshot stale site docs because upstream 
`apache/fory` doc changes were not synced first?
-8. Did any changed English current doc outside `guide/` fail to get translated 
or reviewed in zh-CN before versioning, for example under `compiler/`, 
`benchmarks/`, `specification/`, `start/`, or `introduction/`?
-9. Does every changed zh current doc in the release-doc scope match the 
intended `version-<version>` snapshot, or did the workflow freeze an older zh 
current state?
+7. Does `src/pages/download/index.md` advertise the new release correctly, 
including version, date, artifact URLs, release-notes link, and verification 
examples?
+8. If `/zh-CN/download` is expected, is 
`i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md` present and 
aligned with the English download page?
+9. Did the workflow accidentally snapshot stale site docs because upstream 
`apache/fory` doc changes were not synced first?
+10. Did any changed English current doc outside `guide/` fail to get 
translated or reviewed in zh-CN before versioning, for example under 
`compiler/`, `benchmarks/`, `specification/`, `start/`, or `introduction/`?
+11. Does every changed zh current doc in the release-doc scope match the 
intended `version-<version>` snapshot, or did the workflow freeze an older zh 
current state?
 
 Treat review findings as blocking until resolved or explicitly documented.
 
diff --git a/docs/introduction/benchmark.md b/docs/introduction/benchmark.md
index e559832cc..eb9729544 100644
--- a/docs/introduction/benchmark.md
+++ b/docs/introduction/benchmark.md
@@ -89,8 +89,20 @@ report for details: 
https://fory.apache.org/docs/benchmarks/swift/
 
 ## JavaScript Benchmark
 
-<img width="50%" alt="" src="/img/benchmarks/javascript/complex_object.jpg" />
+Fory JavaScript demonstrates strong performance compared to Protocol Buffers 
and
+JSON across representative Node.js workloads.
 
-The data used for this bar graph includes a complex object that has many kinds 
of field types, and the size of the JSON data is 3KB.
+<img src="../benchmarks/javascript/throughput.png" width="90%"/>
 
-See 
[benchmarks](https://github.com/apache/fory/blob/main/javascript/benchmark/index.js)
 for the benchmark code.
+Note: Results depend on hardware, dataset, and runtime versions. See the
+[JavaScript benchmark report](../benchmarks/javascript/README.md) for details.
+
+## Dart Benchmark
+
+Fory Dart demonstrates strong performance compared to Protocol Buffers across
+representative object and list workloads.
+
+<img src="../benchmarks/dart/throughput.png" width="90%"/>
+
+Note: Results depend on hardware, dataset, and runtime versions. See the
+[Dart benchmark report](../benchmarks/dart/README.md) for details.
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md
index 17ac2bffb..5103ac2b4 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md
@@ -83,8 +83,16 @@ Fory Swift 在标量对象和列表两类工作负载下,相比 Protobuf 和 M
 
 ## JavaScript 性能测试
 
-<img width="50%" alt="" src="/img/benchmarks/javascript/complex_object.jpg" />
+Fory JavaScript 在具有代表性的 Node.js 工作负载下,相比 Protocol Buffers 与 JSON 展现出较强性能表现。
 
-该柱状图使用的数据包含一个具有多种字段类型的复杂对象,JSON 数据大小为 3KB。
+<img src="../benchmarks/javascript/throughput.png" width="90%"/>
 
-性能测试代码请参见 
[benchmarks](https://github.com/apache/fory/blob/main/javascript/benchmark/index.js)。
+注意:结果取决于硬件、数据集和运行时版本。详细信息请参见 [JavaScript 
性能测试报告](../benchmarks/javascript/README.md)。
+
+## Dart 性能测试
+
+Fory Dart 在具有代表性的对象和列表工作负载下,相比 Protocol Buffers 展现出较强性能表现。
+
+<img src="../benchmarks/dart/throughput.png" width="90%"/>
+
+注意:结果取决于硬件、数据集和运行时版本。详细信息请参见 [Dart 性能测试报告](../benchmarks/dart/README.md)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/benchmark.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/benchmark.md
index 17ac2bffb..5103ac2b4 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/benchmark.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-0.17/introduction/benchmark.md
@@ -83,8 +83,16 @@ Fory Swift 在标量对象和列表两类工作负载下,相比 Protobuf 和 M
 
 ## JavaScript 性能测试
 
-<img width="50%" alt="" src="/img/benchmarks/javascript/complex_object.jpg" />
+Fory JavaScript 在具有代表性的 Node.js 工作负载下,相比 Protocol Buffers 与 JSON 展现出较强性能表现。
 
-该柱状图使用的数据包含一个具有多种字段类型的复杂对象,JSON 数据大小为 3KB。
+<img src="../benchmarks/javascript/throughput.png" width="90%"/>
 
-性能测试代码请参见 
[benchmarks](https://github.com/apache/fory/blob/main/javascript/benchmark/index.js)。
+注意:结果取决于硬件、数据集和运行时版本。详细信息请参见 [JavaScript 
性能测试报告](../benchmarks/javascript/README.md)。
+
+## Dart 性能测试
+
+Fory Dart 在具有代表性的对象和列表工作负载下,相比 Protocol Buffers 展现出较强性能表现。
+
+<img src="../benchmarks/dart/throughput.png" width="90%"/>
+
+注意:结果取决于硬件、数据集和运行时版本。详细信息请参见 [Dart 性能测试报告](../benchmarks/dart/README.md)。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md 
b/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md
new file mode 100644
index 000000000..2245a8d22
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md
@@ -0,0 +1,80 @@
+---
+id: download
+title: 下载
+---
+
+Apache Fory™ 的官方发布以源码制品形式提供。
+
+如需二进制安装,请参见 Apache Fory™ [install](/zh-CN/docs/start/install/) 文档。
+
+## 最新版本
+
+当前最新源码版本为 0.17.0:
+
+| 版本   | 日期       | 源码                                                         
                                                                                
                                                                                
                                                        | 发布说明                  
                                      |
+| ------ | ---------- | 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | --------------------------------------------------------------- |
+| 0.17.0 | 2026-04-19 | 
[source](https://www.apache.org/dyn/closer.lua/fory/0.17.0/apache-fory-0.17.0-src.tar.gz?action=download)
 
[asc](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.asc)
 
[sha512](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.sha512)
 | [release notes](https://github.com/apache/fory/releases/tag/v0.17.0) |
+
+## 所有归档版本
+
+如需更早版本,请访问 [archive](https://archive.apache.org/dist/fory)。
+
+## 验证发布文件
+
+强烈建议对下载的文件进行校验。
+
+Fory 为下载站点上的所有文件提供 SHA 摘要和 PGP 签名文件。
+这些文件与对应制品同名,仅额外带有 `.sha512` 或 `.asc` 扩展名。
+
+### 校验 Checksum
+
+要验证 SHA 摘要,你需要 `.tar.gz` 文件及其对应的 `.tar.gz.sha512` 文件。示例命令如下:
+
+```bash
+sha512sum --check apache-fory-0.17.0-src.tar.gz
+```
+
+输出类似下面这样即表示校验通过:
+
+```bash
+apache-fory-0.17.0-src.tar.gz: OK
+```
+
+### 校验签名
+
+要验证 PGP 签名,首先需要下载 [release KEYS](https://downloads.apache.org/fory/KEYS)。
+
+然后导入下载得到的 `KEYS`:
+
+```bash
+gpg --import KEYS
+```
+
+之后可以校验签名:
+
+```bash
+gpg --verify apache-fory-0.17.0-src.tar.gz.asc apache-fory-0.17.0-src.tar.gz
+```
+
+如果出现如下输出,即表示签名正确:
+
+```bash
+gpg: Signature made Sun Feb  9 12:09:36 2025 CST
+gpg:                using RSA key F4796001336453FDE7BB45709C0212E28DD7828C
+gpg: Good signature from "Weipeng Wang (CODE SIGNING KEY) 
<[email protected]>"
+```
+
+你还应通过如下命令进一步校验该密钥:
+
+```bash
+gpg --fingerprint F4796001336453FDE7BB45709C0212E28DD7828C
+```
+
+输出应类似:
+
+```bash
+pub   rsa4096 2025-03-17 [SC]
+      F479 6001 3364 53FD E7BB  4570 9C02 12E2 8DD7 828C
+uid           [ultimate] Weipeng Wang (CODE SIGNING KEY) 
<[email protected]>
+sub   rsa4096 2025-03-17
+```
diff --git a/src/pages/download/index.md b/src/pages/download/index.md
index b8a2320ba..9f0ae8671 100644
--- a/src/pages/download/index.md
+++ b/src/pages/download/index.md
@@ -9,11 +9,11 @@ For binary install, please see Apache Fory™ 
[install](/docs/start/install/) do
 
 ## The latest release
 
-The latest source release is 0.16.0:
+The latest source release is 0.17.0:
 
 | Version | Date       | Source                                                
                                                                                
                                                                                
                                                              | Release Notes   
                                                     |
 | ------- | ---------- | 
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | -------------------------------------------------------------------- |
-| 0.16.0  | 2026-03-17 | 
[source](https://www.apache.org/dyn/closer.lua/fory/0.16.0/apache-fory-0.16.0-src.tar.gz?action=download)
 
[asc](https://downloads.apache.org/fory/0.16.0/apache-fory-0.16.0-src.tar.gz.asc)
 
[sha512](https://downloads.apache.org/fory/0.16.0/apache-fory-0.16.0-src.tar.gz.sha512)
 | [release notes](https://github.com/apache/fory/releases/tag/v0.16.0) |
+| 0.17.0  | 2026-04-19 | 
[source](https://www.apache.org/dyn/closer.lua/fory/0.17.0/apache-fory-0.17.0-src.tar.gz?action=download)
 
[asc](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.asc)
 
[sha512](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.sha512)
 | [release notes](https://github.com/apache/fory/releases/tag/v0.17.0) |
 
 ## All archived releases
 
@@ -28,16 +28,16 @@ These files are named after the files they relate to but 
have `.sha512/.asc` ext
 
 ### Verifying Checksums
 
-To verify the SHA digests, you need the `.tgz` and its associated 
`.tgz.sha512` file. An example command:
+To verify the SHA digests, you need the `.tar.gz` file and its associated 
`.tar.gz.sha512` file. An example command:
 
 ```bash
-sha512sum --check apache-fory-0.16.0-src.tar.gz
+sha512sum --check apache-fory-0.17.0-src.tar.gz
 ```
 
 It should output something like:
 
 ```bash
-apache-fory-0.16.0-src.tar.gz: OK
+apache-fory-0.17.0-src.tar.gz: OK
 ```
 
 ### Verifying Signatures
@@ -54,7 +54,7 @@ gpg --import KEYS
 Then you can verify signature:
 
 ```bash
-gpg --verify apache-fory-0.16.0-src.tar.gz.asc apache-fory-0.16.0-src.tar.gz
+gpg --verify apache-fory-0.17.0-src.tar.gz.asc apache-fory-0.17.0-src.tar.gz
 ```
 
 If something like the following appears, it means the signature is correct:
diff --git a/versioned_docs/version-0.17/introduction/benchmark.md 
b/versioned_docs/version-0.17/introduction/benchmark.md
index e559832cc..eb9729544 100644
--- a/versioned_docs/version-0.17/introduction/benchmark.md
+++ b/versioned_docs/version-0.17/introduction/benchmark.md
@@ -89,8 +89,20 @@ report for details: 
https://fory.apache.org/docs/benchmarks/swift/
 
 ## JavaScript Benchmark
 
-<img width="50%" alt="" src="/img/benchmarks/javascript/complex_object.jpg" />
+Fory JavaScript demonstrates strong performance compared to Protocol Buffers 
and
+JSON across representative Node.js workloads.
 
-The data used for this bar graph includes a complex object that has many kinds 
of field types, and the size of the JSON data is 3KB.
+<img src="../benchmarks/javascript/throughput.png" width="90%"/>
 
-See 
[benchmarks](https://github.com/apache/fory/blob/main/javascript/benchmark/index.js)
 for the benchmark code.
+Note: Results depend on hardware, dataset, and runtime versions. See the
+[JavaScript benchmark report](../benchmarks/javascript/README.md) for details.
+
+## Dart Benchmark
+
+Fory Dart demonstrates strong performance compared to Protocol Buffers across
+representative object and list workloads.
+
+<img src="../benchmarks/dart/throughput.png" width="90%"/>
+
+Note: Results depend on hardware, dataset, and runtime versions. See the
+[Dart benchmark report](../benchmarks/dart/README.md) for details.


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

Reply via email to