You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fory.apache.org by ch...@apache.org on 2026/03/02 09:18:09 UTC
(fory-site) branch zh_blog created (now 89110fa8a8)
This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a change to branch zh_blog
in repository https://gitbox.apache.org/repos/asf/fory-site.git
at 89110fa8a8 translate blogs
This branch includes the following new commits:
new 89110fa8a8 translate blogs
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fory.apache.org
For additional commands, e-mail: commits-help@fory.apache.org
(fory-site) 01/01: translate blogs
Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch zh_blog
in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit 89110fa8a88da8138067f8c9825e136512da8d5a
Author: chaokunyang <sh...@gmail.com>
AuthorDate: Mon Mar 2 17:17:25 2026 +0800
translate blogs
---
.gitignore | 3 +
.../2023-07-15-fury_0_1_0_release.md | 473 ++++++++++++++++++
.../2023-09-21-fury_0_1_1_release.md | 47 ++
.../2023-09-27-fury_0_1_2_release.md | 24 +
.../2023-10-09-fury_0_2_0_release.md | 153 ++++++
.../2023-10-19-fury_0_2_1_release.md | 49 ++
.../2023-11-04-fury_0_3_0_release.md | 139 ++++++
.../2023-11-21-fury_0_3_1_release.md | 73 +++
.../2023-11-29-fury_0_4_0_release.md | 65 +++
.../2023-12-09-fury_0_4_1_release.md | 50 ++
...st_multiple_language_serialization_framework.md | 217 ++++++++
.../2024-05-03-fury_0_5_0_release.md | 172 +++++++
...tastring-space-efficient_encoding_for_string.md | 179 +++++++
.../2024-05-28-fury_0_5_1_release.md | 58 +++
.../2024-07-23-fury_0_6_0_release.md | 143 ++++++
.../2024-08-04-fury_0_7_0_release.md | 92 ++++
.../2024-09-12-fury_0_7_1_release.md | 52 ++
.../2024-10-04-fury_0_8_0_release.md | 59 +++
.../2024-11-10-fury_0_9_0_release.md | 75 +++
.../2025-02-16-fury_0_10_0_release.md | 66 +++
.../2025-04-15-fury_0_10_1_release.md | 33 ++
.../2025-05-06-fury_0_10_2_release.md | 22 +
.../2025-05-27-fury_0_10_3_release.md | 34 ++
.../2025-06-17-fory_0_11_0_release.md | 233 +++++++++
.../2025-06-27-fory_0_11_1_release.md | 55 +++
.../2025-07-10-fory_0_11_2_release.md | 34 ++
.../2025-08-18-fory_0_12_0_release.md | 90 ++++
.../2025-09-01-fory_0_12_1_release.md | 32 ++
.../2025-09-08-fory_0_12_2_release.md | 28 ++
.../2025-09-23-fory_0_12_3_release.md | 20 +
.../2025-10-27-fory_0_13_0_release.md | 366 ++++++++++++++
...-fory_rust_versatile_serialization_framework.md | 545 +++++++++++++++++++++
.../2025-11-06-fory_0_13_1_release.md | 314 ++++++++++++
.../2025-11-06-fory_0_13_2_release.md | 146 ++++++
.../2025-12-05-fory_0_13_2_release.md | 57 +++
.../2025-12-15-fory_0_14_0_release.md | 193 ++++++++
.../2025-12-26-fory_0_14_1_release.md | 27 +
.../2026-02-10-fory_0_15_0_release.md | 341 +++++++++++++
...2-19-fory_cpp_modern_serialization_framework.md | 534 ++++++++++++++++++++
.../docusaurus-plugin-content-blog/authors.yml | 2 +-
40 files changed, 5294 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index a27d557c01..f7bad08a03 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,6 @@ yarn-error.log*
# ignore yarn.lock
yarn.lock
+
+tasks/
+ignored/
\ No newline at end of file
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-07-15-fury_0_1_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-07-15-fury_0_1_0_release.md
new file mode 100644
index 0000000000..58c64eca49
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-07-15-fury_0_1_0_release.md
@@ -0,0 +1,473 @@
+---
+slug: fury_0_1_0_release
+title: Fury v0.1.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我很高兴宣布 Fury 0.1.0 版本发布。Fury 0.1.0 是我们自 2023-04-28 在 GitHub 启动开发、并于 2023-07-15 开源以来的首个正式版本。本次发布包含多项核心能力:生产可用的 Java 序列化、Java/Python/JavaScript/Rust 跨语言序列化能力,以及行式格式支持等。
+
+<!--truncate-->
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴发布 Fury v0.1.0。Fury 0.1.0 是我们自 2023-04-28 在 GitHub 启动开发、并于 2023-07-15 开源以来的首个正式版本。
+
+在这个版本中,我们累计完成了 314 个 issue、412 个 PR,并迎来了 5 位新贡献者。感谢大家为 Fury 做出的贡献,也期待后续继续一起共建。
+
+本次发布包含多项能力升级,详细内容可见:https://github.com/alipay/fury/releases/tag/v0.1.0
+
+- Production-ready java serialization:
+ - Highly optimized Java serialization primives
+ - Runtime codegen framework
+ - Interpreter mode java serialization
+ - JIT accelerated serializer for java serialization
+ - Support async and multi-thread JIT
+ - Support type forward-backward compatibility.
+ - Support meta sharing to send class meta only once.
+ - Support JDK custom serialization on fury natively.
+ - Out-of-band zero-copy serialization for java
+- Cross language Serialization
+ - Support basic types cross-language between java/python/javascript/rust
+ - Support struct cross-language automatically, no need for IDL definition
+ - Supports shared and circular reference object serialization between java/python/javascript.
+ - Support object polymorphism between java/python/javascript.
+ - Out-of-band zero-copy serialization between java/python
+- Row format
+ - Support row format between java/python/c++.
+ - Support lazy/partial deserialization.
+ - Support convert to arrow format automatically.
+
+通过这个版本,我们在“更快、更强跨语言能力、更统一、更开放”的序列化目标上迈出了关键一步。
+更多细节请参考以下提交记录。
+
+请注意,JavaScript/Rust 支持仍处于实验阶段,如有问题欢迎反馈。
+
+## 新贡献者
+
+- @wangweipeng2 made their first contribution in https://github.com/alipay/fury/pull/215
+- @rainsonGain made their first contribution in https://github.com/alipay/fury/pull/429
+- @leeco-cloud made their first contribution in https://github.com/alipay/fury/pull/436
+- @dependabot made their first contribution in https://github.com/alipay/fury/pull/590
+- @tisonkun made their first contribution in https://github.com/alipay/fury/pull/762
+- @hieu-ht made their first contribution in https://github.com/alipay/fury/pull/786
+- @s31k31 made their first contribution in https://github.com/alipay/fury/pull/782
+
+## 变更列表
+
+- Create pull_request_template.md by @chaokunyang in https://github.com/alipay/fury/pull/2
+- add apache licence file by @chaokunyang in https://github.com/alipay/fury/pull/3
+- [Java] add java code structure by @chaokunyang in https://github.com/alipay/fury/pull/4
+- [Java] add java code formatter by @chaokunyang in https://github.com/alipay/fury/pull/5
+- [Java] Add licence to file header by @chaokunyang in https://github.com/alipay/fury/pull/6
+- [Docs] add fury debug doc by @chaokunyang in https://github.com/alipay/fury/pull/8
+- [Docs] refine readme by fix syntax error by @chaokunyang in https://github.com/alipay/fury/pull/10
+- [Community] add getting involved document by @chaokunyang in https://github.com/alipay/fury/pull/12
+- [Java] add java ci by @chaokunyang in https://github.com/alipay/fury/pull/14
+- [Java] fix license format conflict with checkstyle by @chaokunyang in https://github.com/alipay/fury/pull/16
+- [Java] Add unsafe memory util by @chaokunyang in https://github.com/alipay/fury/pull/18
+- [Java] add tuple2/tuple3 utils by @chaokunyang in https://github.com/alipay/fury/pull/20
+- [Java] add LoggerFactory for disable logging more easily by @chaokunyang in https://github.com/alipay/fury/pull/22
+- [Java] add string utils by @chaokunyang in https://github.com/alipay/fury/pull/24
+- [Java] add memory read/write utils by @chaokunyang in https://github.com/alipay/fury/pull/26
+- [Community] update slack invite link by @chaokunyang in https://github.com/alipay/fury/pull/27
+- [Java] add cross-language type id by @chaokunyang in https://github.com/alipay/fury/pull/35
+- [Java] Add api annotation to mark api stability by @chaokunyang in https://github.com/alipay/fury/pull/37
+- [Java] add int array to avoid box cost by @chaokunyang in https://github.com/alipay/fury/pull/39
+- [Java] add auto-growing object array by @chaokunyang in https://github.com/alipay/fury/pull/41
+- [Java] Add optimized map for faster lookup by @chaokunyang in https://github.com/alipay/fury/pull/43
+- [Java] add basic type inference support by @chaokunyang in https://github.com/alipay/fury/pull/45
+- [Java] Add long map support by @chaokunyang in https://github.com/alipay/fury/pull/47
+- [Java] add fury exceptions by @chaokunyang in https://github.com/alipay/fury/pull/48
+- [Java] add MurmurHash3 support by @chaokunyang in https://github.com/alipay/fury/pull/50
+- [Java] add Reflection support by @chaokunyang in https://github.com/alipay/fury/pull/52
+- add FieldAccessor and fields compare by @chaokunyang in https://github.com/alipay/fury/pull/54
+- [Java] implement basic compiler backend based on janino by @chaokunyang in https://github.com/alipay/fury/pull/56
+- [Java] Add extensible classloaders by @chaokunyang in https://github.com/alipay/fury/pull/58
+- [Java] Support multi key weak map by @chaokunyang in https://github.com/alipay/fury/pull/60
+- [Java] codegen framework for fury java jit by @chaokunyang in https://github.com/alipay/fury/pull/61
+- [Java] add utility for lambda functions by @chaokunyang in https://github.com/alipay/fury/pull/63
+- [Java] add common expression ir for programing construct by @chaokunyang in https://github.com/alipay/fury/pull/64
+- [Java] fix if expression with return child node by @chaokunyang in https://github.com/alipay/fury/pull/66
+- [Java] add expression tree traverser and updater by @chaokunyang in https://github.com/alipay/fury/pull/68
+- [Java] add missing author java odc by @chaokunyang in https://github.com/alipay/fury/pull/69
+- [Java] add enum string resolver support by @chaokunyang in https://github.com/alipay/fury/pull/72
+- [Java] add reference tracking support by @chaokunyang in https://github.com/alipay/fury/pull/74
+- [Java] add java serializer interface by @chaokunyang in https://github.com/alipay/fury/pull/76
+- [Java] add test utils by @chaokunyang in https://github.com/alipay/fury/pull/77
+- [Java] add generics hierarchy resolving support by @chaokunyang in https://github.com/alipay/fury/pull/79
+- [Java] add serialization context to relate serializing different objects by @chaokunyang in https://github.com/alipay/fury/pull/82
+- [Java] add class info util by @chaokunyang in https://github.com/alipay/fury/pull/83
+- [Java] add buffer callback by @chaokunyang in https://github.com/alipay/fury/pull/87
+- [Java] implement basic java serialization framework by @chaokunyang in https://github.com/alipay/fury/pull/88
+- [Java] Add string serializer by @chaokunyang in https://github.com/alipay/fury/pull/90
+- [Java] add string builder/buffer serializers by @chaokunyang in https://github.com/alipay/fury/pull/93
+- [Java] add missing uint serializers tests by @chaokunyang in https://github.com/alipay/fury/pull/95
+- [Java] Implement enum serialization for java by @chaokunyang in https://github.com/alipay/fury/pull/97
+- [Java] Implement bigint/decimal serialization for java by @chaokunyang in https://github.com/alipay/fury/pull/101
+- [Community] add zhihu link by @chaokunyang in https://github.com/alipay/fury/pull/103
+- [Community] fix zhihu link by @chaokunyang in https://github.com/alipay/fury/pull/104
+- [Community] update slack desc by @chaokunyang in https://github.com/alipay/fury/pull/105
+- [Java] Add object array serializer by @chaokunyang in https://github.com/alipay/fury/pull/107
+- [Java] Implement primitive array serializers by @chaokunyang in https://github.com/alipay/fury/pull/109
+- [Java] support serializing byte buffer by @chaokunyang in https://github.com/alipay/fury/pull/113
+- [Java] support serializing java.util.concurrent.atomics by @chaokunyang in https://github.com/alipay/fury/pull/115
+- [Java] move string array serializers by @chaokunyang in https://github.com/alipay/fury/pull/116
+- [Java] support Currency serialization by @chaokunyang in https://github.com/alipay/fury/pull/118
+- [Java] support charset serialization by @chaokunyang in https://github.com/alipay/fury/pull/120
+- [Java] support URI serialization by @chaokunyang in https://github.com/alipay/fury/pull/122
+- [Java] add support for regex serialization by @chaokunyang in https://github.com/alipay/fury/pull/124
+- [Java] support uuid serialization by @chaokunyang in https://github.com/alipay/fury/pull/126
+- [Java] add class serialization test by @chaokunyang in https://github.com/alipay/fury/pull/127
+- [Java] add Locale Serializer support by @chaokunyang in https://github.com/alipay/fury/pull/129
+- [Java] fix LocaleSerializer cache thread safety by @chaokunyang in https://github.com/alipay/fury/pull/132
+- [Java] serialization support for java.util.OptionalXXX by @chaokunyang in https://github.com/alipay/fury/pull/134
+- [Java] Add time serializers by @chaokunyang in https://github.com/alipay/fury/pull/137
+- [Java] add ObjectInput/Output based on fury by @chaokunyang in https://github.com/alipay/fury/pull/139
+- [Java] add JavaSerializer based on ObjectInputStream/ObjectOutputStream by @chaokunyang in https://github.com/alipay/fury/pull/141
+- [Java] implement jdk proxy serialization by @chaokunyang in https://github.com/alipay/fury/pull/143
+- [Java] implement Externalizable serialization by @chaokunyang in https://github.com/alipay/fury/pull/145
+- [Java] implement Collection serialization by @chaokunyang in https://github.com/alipay/fury/pull/147
+- [Java] add sortedset serializer by @chaokunyang in https://github.com/alipay/fury/pull/149
+- [Java] add empty collection serializer by @chaokunyang in https://github.com/alipay/fury/pull/151
+- [Java] add single collection serializers by @chaokunyang in https://github.com/alipay/fury/pull/153
+- [Java] add ConcurrentSkipListSet serializer by @chaokunyang in https://github.com/alipay/fury/pull/155
+- [Java] add java.util.Vector serializer by @chaokunyang in https://github.com/alipay/fury/pull/157
+- [Java] add java.util.ArrayDeque serializer by @chaokunyang in https://github.com/alipay/fury/pull/159
+- [Java] add java.util.EnumSet serializer by @chaokunyang in https://github.com/alipay/fury/pull/161
+- [Java] implement java.util.BitSet serializer by @chaokunyang in https://github.com/alipay/fury/pull/163
+- [Java] implement java.util.PriorityQueue serialization by @chaokunyang in https://github.com/alipay/fury/pull/165
+- [Java] implement map serialization framework by @chaokunyang in https://github.com/alipay/fury/pull/167
+- [Java] support java.util.SortedMap serialization by @chaokunyang in https://github.com/alipay/fury/pull/169
+- [Java] support empty map serialization by @chaokunyang in https://github.com/alipay/fury/pull/171
+- [Java] implement singleton map serialization by @chaokunyang in https://github.com/alipay/fury/pull/173
+- [Java] support concurrent map serialization by @chaokunyang in https://github.com/alipay/fury/pull/175
+- [Java] implement enum map serialization by @chaokunyang in https://github.com/alipay/fury/pull/177
+- [Java] group and sort descriptors for cache and consistency by @chaokunyang in https://github.com/alipay/fury/pull/179
+- [Java] Implement object serialization by @chaokunyang in https://github.com/alipay/fury/pull/181
+- [Java] fury native lambda serialization for java by @chaokunyang in https://github.com/alipay/fury/pull/183
+- Update feature_request.md by @chaokunyang in https://github.com/alipay/fury/pull/184
+- Update bug_report.md by @chaokunyang in https://github.com/alipay/fury/pull/185
+- Update bug_report.md by @chaokunyang in https://github.com/alipay/fury/pull/186
+- [Java] Optimize Collections.synchronized serialization performance by @chaokunyang in https://github.com/alipay/fury/pull/188
+- [Java] optimize unmodifiable serialization by @chaokunyang in https://github.com/alipay/fury/pull/191
+- [Java] add native readResolve/writeReplace serialization support by @chaokunyang in https://github.com/alipay/fury/pull/193
+- [Java] [1/N] support type forward/backward compatibility by @chaokunyang in https://github.com/alipay/fury/pull/196
+- [Java] Add struct util to create test struct class dynamically by @chaokunyang in https://github.com/alipay/fury/pull/199
+- Revert "[Java] Add struct util to create test struct class dynamically" by @chaokunyang in https://github.com/alipay/fury/pull/200
+- [Java] Add struct util to create test struct class dynamically by @chaokunyang in https://github.com/alipay/fury/pull/201
+- [Java] [2/N] support type forward/backward compatibility by @chaokunyang in https://github.com/alipay/fury/pull/195
+- [Java] Optimize subclass container serialization by @chaokunyang in https://github.com/alipay/fury/pull/205
+- [Java] remove generated classes automatically by @chaokunyang in https://github.com/alipay/fury/pull/207
+- [Java] implement collection serialization field by field by @chaokunyang in https://github.com/alipay/fury/pull/209
+- [Java] implement java map serialization field by field by @chaokunyang in https://github.com/alipay/fury/pull/210
+- [Java] optimize jdk compatible collection serializer by @chaokunyang in https://github.com/alipay/fury/pull/212
+- [Java] support compatible map serialization by @chaokunyang in https://github.com/alipay/fury/pull/213
+- [JavaScript] javascript of fury by @wangweipeng2 in https://github.com/alipay/fury/pull/215
+- [JavaScript]Replace Nodejs lib by standard lib by @wangweipeng2 in https://github.com/alipay/fury/pull/217
+- [JavaScript]Add test by @wangweipeng2 in https://github.com/alipay/fury/pull/219
+- [JavaScript] Change package.json entry file by @wangweipeng2 in https://github.com/alipay/fury/pull/221
+- Update feature_request.md by @chaokunyang in https://github.com/alipay/fury/pull/223
+- [Java] implement fury-native jdk compatible object serialization by @chaokunyang in https://github.com/alipay/fury/pull/222
+- [Java] Add class def for meta sharing by @chaokunyang in https://github.com/alipay/fury/pull/226
+- [Java] Support meta shared serialization by @chaokunyang in https://github.com/alipay/fury/pull/225
+- [Java] add missing license to ObjectStreamSerializer by @chaokunyang in https://github.com/alipay/fury/pull/228
+- [Java] move loadClass to ClassUtils by @chaokunyang in https://github.com/alipay/fury/pull/229
+- [javascript] add javascript ci by @chaokunyang in https://github.com/alipay/fury/pull/230
+- Fix CI by @chaokunyang in https://github.com/alipay/fury/pull/232
+- [Java] forbid classes serialization by blacklist by @chaokunyang in https://github.com/alipay/fury/pull/234
+- [Java] generate field accessor on the flight by @chaokunyang in https://github.com/alipay/fury/pull/240
+- [Java] expression optimizer for method split by @chaokunyang in https://github.com/alipay/fury/pull/241
+- [JavaScript]Fix ci by @wangweipeng2 in https://github.com/alipay/fury/pull/242
+- [Java] add codec builder base class by @chaokunyang in https://github.com/alipay/fury/pull/244
+- [Java] add jdk serializable check by @chaokunyang in https://github.com/alipay/fury/pull/248
+- [Java] add base object serializer builder by @chaokunyang in https://github.com/alipay/fury/pull/249
+- [Java] Implement jit serialization for object by @chaokunyang in https://github.com/alipay/fury/pull/250
+- [Java] Fix meta shared serializer when jit enabled by @chaokunyang in https://github.com/alipay/fury/pull/252
+- Update bug_report.md by @chaokunyang in https://github.com/alipay/fury/pull/253
+- [Java] type forward/backward compatible jit serializer by @chaokunyang in https://github.com/alipay/fury/pull/254
+- [Java] Meta shared object jit serializer by @chaokunyang in https://github.com/alipay/fury/pull/255
+- [Java] jit context for manage compilation by @chaokunyang in https://github.com/alipay/fury/pull/259
+- [Java] fix javaFury thread safety by @chaokunyang in https://github.com/alipay/fury/pull/261
+- [Java] set rootdir for maven multi-module project by @chaokunyang in https://github.com/alipay/fury/pull/263
+- [Java] add guava immutable list serializer by @chaokunyang in https://github.com/alipay/fury/pull/264
+- [Java] add guava immutable map serializer by @chaokunyang in https://github.com/alipay/fury/pull/266
+- [Java] Async compilation for jit serializers by @chaokunyang in https://github.com/alipay/fury/pull/268
+- [Java] add url serializer by @chaokunyang in https://github.com/alipay/fury/pull/269
+- [Java] optimize java serialization by @chaokunyang in https://github.com/alipay/fury/pull/271
+- [Java] bind fury with classloader by @chaokunyang in https://github.com/alipay/fury/pull/274
+- [Java] add forward serializer by @chaokunyang in https://github.com/alipay/fury/pull/276
+- [Java] add thread-safe fury serializer by @chaokunyang in https://github.com/alipay/fury/pull/278
+- [Java] Add guava/sublist todo serializer by @chaokunyang in https://github.com/alipay/fury/pull/282
+- [Java] add zero-copy tests by @chaokunyang in https://github.com/alipay/fury/pull/284
+- [Java] Profiling fury init by @chaokunyang in https://github.com/alipay/fury/pull/286
+- [Java] add complex cyclic tests by @chaokunyang in https://github.com/alipay/fury/pull/288
+- [Java] enable testArrayStructZeroCopy by @chaokunyang in https://github.com/alipay/fury/pull/290
+- [Java] add complex collection struct tests by @chaokunyang in https://github.com/alipay/fury/pull/292
+- [Java] add complex map struct tests by @chaokunyang in https://github.com/alipay/fury/pull/294
+- [Java] misc serializer tests by @chaokunyang in https://github.com/alipay/fury/pull/295
+- [Java] optimize time reference by @chaokunyang in https://github.com/alipay/fury/pull/297
+- [Java] add unsafe accessor test for duplicate fields by @chaokunyang in https://github.com/alipay/fury/pull/299
+- [Java] add serializer factory test by @chaokunyang in https://github.com/alipay/fury/pull/301
+- [Java] add duplicate fields tests by @chaokunyang in https://github.com/alipay/fury/pull/303
+- [Java] add protocol interoperability tests by @chaokunyang in https://github.com/alipay/fury/pull/305
+- [Java] Lazy map support by @chaokunyang in https://github.com/alipay/fury/pull/307
+- [Java] Support deserialize unexisted classes by @chaokunyang in https://github.com/alipay/fury/pull/309
+- [Java] fix OutOfBandTest pkg by @chaokunyang in https://github.com/alipay/fury/pull/310
+- javascript latin1 string performance improvement by @wangweipeng2 in https://github.com/alipay/fury/pull/312
+- [Java] Add row format interface by @chaokunyang in https://github.com/alipay/fury/pull/316
+- [Java] add Default arrow type visitor by @chaokunyang in https://github.com/alipay/fury/pull/318
+- [Java] add decimal util by @chaokunyang in https://github.com/alipay/fury/pull/320
+- [Java] add pyarrow style data types API in java by @chaokunyang in https://github.com/alipay/fury/pull/322
+- [Java] add fury InputStream/OutputStream by @chaokunyang in https://github.com/alipay/fury/pull/324
+- [Java] Infer arrow schema for java bean by @chaokunyang in https://github.com/alipay/fury/pull/326
+- [Java] add bitmap utils by @chaokunyang in https://github.com/alipay/fury/pull/328
+- [Java] binary row format data structure by @chaokunyang in https://github.com/alipay/fury/pull/330
+- [Java] binary row format writer by @chaokunyang in https://github.com/alipay/fury/pull/333
+- [Java] add arrow visitor for value accessor by @chaokunyang in https://github.com/alipay/fury/pull/335
+- [Java] add row format tests by @chaokunyang in https://github.com/alipay/fury/pull/337
+- [Java] add row format encoder interface by @chaokunyang in https://github.com/alipay/fury/pull/339
+- [Java] Base builder for building jit encoder by @chaokunyang in https://github.com/alipay/fury/pull/341
+- [Java] add jit-based row encoder implementation by @chaokunyang in https://github.com/alipay/fury/pull/343
+- [Java] format code by @chaokunyang in https://github.com/alipay/fury/pull/344
+- [Java] add missing license by @chaokunyang in https://github.com/alipay/fury/pull/345
+- [Java] Add fury channel by @chaokunyang in https://github.com/alipay/fury/pull/346
+- [Java] Mock io for count bytes by @chaokunyang in https://github.com/alipay/fury/pull/349
+- [Java] Arrow record batch zero-copy serializers by @chaokunyang in https://github.com/alipay/fury/pull/351
+- [Java] Add missing license by @chaokunyang in https://github.com/alipay/fury/pull/352
+- [Java] optimize decimal encoding performance by @chaokunyang in https://github.com/alipay/fury/pull/354
+- [Java] optimize schema creation perf by @chaokunyang in https://github.com/alipay/fury/pull/356
+- [Java] update row javadoc by @chaokunyang in https://github.com/alipay/fury/pull/357
+- [Java] Support convert row to arrow format by @chaokunyang in https://github.com/alipay/fury/pull/359
+- [Java] add arrow serializers tests by @chaokunyang in https://github.com/alipay/fury/pull/361
+- [Java] fix arrow tests by @chaokunyang in https://github.com/alipay/fury/pull/362
+- [Java] add serialize to buffer tests by @chaokunyang in https://github.com/alipay/fury/pull/364
+- [Java] add basic cross-langauge serialization tests by @chaokunyang in https://github.com/alipay/fury/pull/366
+- [Java] add serializeBeanTest by @chaokunyang in https://github.com/alipay/fury/pull/367
+- [Java] add registerTest by @chaokunyang in https://github.com/alipay/fury/pull/368
+- [Java] add testTreeMap by @chaokunyang in https://github.com/alipay/fury/pull/369
+- [Java] add offheap tests by @chaokunyang in https://github.com/alipay/fury/pull/371
+- [Java] refine classresovler tests by @chaokunyang in https://github.com/alipay/fury/pull/373
+- [Java] add private bean tests by @chaokunyang in https://github.com/alipay/fury/pull/375
+- [Java] add blocking queue test by @chaokunyang in https://github.com/alipay/fury/pull/377
+- [Java] add duplicate fields test by @chaokunyang in https://github.com/alipay/fury/pull/378
+- [Java] add guava tests by @chaokunyang in https://github.com/alipay/fury/pull/381
+- [Java] add test for jdk serializable check by @chaokunyang in https://github.com/alipay/fury/pull/383
+- [Java] add secure mode test by @chaokunyang in https://github.com/alipay/fury/pull/385
+- [Java] ensure fury doesn't introduce class leak by @chaokunyang in https://github.com/alipay/fury/pull/387
+- [Java] add tests for ignoring fields by @chaokunyang in https://github.com/alipay/fury/pull/389
+- [Java] add thread to blacklist by @chaokunyang in https://github.com/alipay/fury/pull/391
+- [Java] Add complex testsuite by @chaokunyang in https://github.com/alipay/fury/pull/393
+- [Java] add benchmark framework by @chaokunyang in https://github.com/alipay/fury/pull/399
+- [Java] add plotting tool by @chaokunyang in https://github.com/alipay/fury/pull/400
+- [Java] add usertype benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/401
+- [Java] Add string benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/403
+- [Java] add array benchmark by @chaokunyang in https://github.com/alipay/fury/pull/405
+- [Java] add map benchmark by @chaokunyang in https://github.com/alipay/fury/pull/409
+- [Java] add memory benchmark by @chaokunyang in https://github.com/alipay/fury/pull/410
+- [Java] add row format benchmark by @chaokunyang in https://github.com/alipay/fury/pull/411
+- [Java] add zero copy benchmark by @chaokunyang in https://github.com/alipay/fury/pull/413
+- [Java] Add flatbufffer/protobuffer benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/415
+- [Java] update integration_tests readme by @chaokunyang in https://github.com/alipay/fury/pull/416
+- [C++] generate arrow bazel depdencies from pyarrow bundled shared library by @chaokunyang in https://github.com/alipay/fury/pull/418
+- [C++] Add bazel C++ build support by @chaokunyang in https://github.com/alipay/fury/pull/420
+- [C++] add c++ logging util by @chaokunyang in https://github.com/alipay/fury/pull/423
+- [C++] add cpp status util by @chaokunyang in https://github.com/alipay/fury/pull/425
+- [C++] basic util for bytes operations by @chaokunyang in https://github.com/alipay/fury/pull/427
+- Update bug_report.md by @chaokunyang in https://github.com/alipay/fury/pull/430
+- [Java] register class check duplciate id by @chaokunyang in https://github.com/alipay/fury/pull/432
+- [Java] move ExpressionOptimizer into codegen package by @chaokunyang in https://github.com/alipay/fury/pull/433
+- Format/container encoder by @rainsonGain in https://github.com/alipay/fury/pull/429
+- [Java] Thread-safe fury implementation by pooling by @leeco-cloud in https://github.com/alipay/fury/pull/436
+- [C++] Add c++ buffer util by @chaokunyang in https://github.com/alipay/fury/pull/438
+- [CI] fix CI by @chaokunyang in https://github.com/alipay/fury/pull/439
+- [C++] Binary row format for c++ by @chaokunyang in https://github.com/alipay/fury/pull/441
+- [C++] C++ row format to arrow by @chaokunyang in https://github.com/alipay/fury/pull/442
+- [C++] Add c++ ci by @chaokunyang in https://github.com/alipay/fury/pull/444
+- [CI] Add code lint ci job by @chaokunyang in https://github.com/alipay/fury/pull/446
+- [Doc] Add c++ debugging doc by @chaokunyang in https://github.com/alipay/fury/pull/448
+- [Python] [1/n] Fury python binding by @chaokunyang in https://github.com/alipay/fury/pull/450
+- [python] Type infer for python by @chaokunyang in https://github.com/alipay/fury/pull/458
+- [Java] skip checkstyle in java test by @chaokunyang in https://github.com/alipay/fury/pull/459
+- [Python] Fix python ci by @chaokunyang in https://github.com/alipay/fury/pull/461
+- [Python] Python row format by @chaokunyang in https://github.com/alipay/fury/pull/463
+- [Python] Python encoder for row format by @chaokunyang in https://github.com/alipay/fury/pull/466
+- [Python] Row and arrow format converter by @chaokunyang in https://github.com/alipay/fury/pull/467
+- [C++] cpp murmurhash by @chaokunyang in https://github.com/alipay/fury/pull/469
+- [Python] Python murmur hash binding by @chaokunyang in https://github.com/alipay/fury/pull/472
+- [Python] add weak key identity map by @chaokunyang in https://github.com/alipay/fury/pull/474
+- [Python] add reference resolver by @chaokunyang in https://github.com/alipay/fury/pull/476
+- [Python] Implement python serialization framework by @chaokunyang in https://github.com/alipay/fury/pull/478
+- [Python] add common python serializers by @chaokunyang in https://github.com/alipay/fury/pull/480
+- [Python] struct serialization support by @chaokunyang in https://github.com/alipay/fury/pull/482
+- [Java] Fix get super type exception by @chaokunyang in https://github.com/alipay/fury/pull/484
+- [Java] fix map final value type serializer in jit compatible mode by @chaokunyang in https://github.com/alipay/fury/pull/485
+- [Docs] add fury logo by @chaokunyang in https://github.com/alipay/fury/pull/487
+- [Docs] add square fury logo by @chaokunyang in https://github.com/alipay/fury/pull/488
+- [python] add cpp reference resolver based on abseil map by @chaokunyang in https://github.com/alipay/fury/pull/493
+- [python] add cpp class resolver by @chaokunyang in https://github.com/alipay/fury/pull/494
+- [Python] cython serialization framework by @chaokunyang in https://github.com/alipay/fury/pull/496
+- [Python] cython basic serializers by @chaokunyang in https://github.com/alipay/fury/pull/501
+- [Python] cython container serializers by @chaokunyang in https://github.com/alipay/fury/pull/502
+- [Pyhton] cython array serializers by @chaokunyang in https://github.com/alipay/fury/pull/503
+- [Python] cython struct serializer by @chaokunyang in https://github.com/alipay/fury/pull/505
+- [Python] cython misc serializers by @chaokunyang in https://github.com/alipay/fury/pull/506
+- [Python] Unify cython python serializer by @chaokunyang in https://github.com/alipay/fury/pull/507
+- [Python] Codegen serialization support by @chaokunyang in https://github.com/alipay/fury/pull/509
+- [Python] Support arrow serialization in objgraph by @chaokunyang in https://github.com/alipay/fury/pull/515
+- [Python] Add common pytests by @chaokunyang in https://github.com/alipay/fury/pull/517
+- [C++] pin bazel to 4.2.0 by @chaokunyang in https://github.com/alipay/fury/pull/519
+- [Community] Update contacts about wechat/dingding by @chaokunyang in https://github.com/alipay/fury/pull/521
+- [Java] support struct cross language serialization by @chaokunyang in https://github.com/alipay/fury/pull/523
+- [Java] add java/python cross language row format tests by @chaokunyang in https://github.com/alipay/fury/pull/525
+- feat: fix qrcode size in readme by @wangweipeng2 in https://github.com/alipay/fury/pull/526
+- [Java] replace io.furyx with org.furyio by @chaokunyang in https://github.com/alipay/fury/pull/527
+- [Java] Add missing map license by @chaokunyang in https://github.com/alipay/fury/pull/529
+- [Java] reduce string serializer caller stack by jit by @chaokunyang in https://github.com/alipay/fury/pull/531
+- [Java] fix nested map generics by @chaokunyang in https://github.com/alipay/fury/pull/533
+- [Java] fix jdk11 string jit serialization by @chaokunyang in https://github.com/alipay/fury/pull/535
+- [JavaScript] improve write performance by @wangweipeng2 in https://github.com/alipay/fury/pull/538
+- [Java] refine java benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/536
+- [Java] fix fury java kryo/fst benchmark classloading by @chaokunyang in https://github.com/alipay/fury/pull/542
+- [Java] Unsafe method invoke optimization by @chaokunyang in https://github.com/alipay/fury/pull/543
+- [Java] Optimize string serialization mem ops by @chaokunyang in https://github.com/alipay/fury/pull/545
+- [Java] Optimze jit generated code by @chaokunyang in https://github.com/alipay/fury/pull/548
+- [Java] Optimize primitive fields jit read/write by @chaokunyang in https://github.com/alipay/fury/pull/550
+- [Java] Fix benchmark plot by @chaokunyang in https://github.com/alipay/fury/pull/554
+- [Java] Upload benchmark data by @chaokunyang in https://github.com/alipay/fury/pull/555
+- [Docs] Update benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/560
+- [Docs] use a smaller size for benchmark plots by @chaokunyang in https://github.com/alipay/fury/pull/561
+- [Docs] update docs by @chaokunyang in https://github.com/alipay/fury/pull/565
+- [Doc] update docs by @chaokunyang in https://github.com/alipay/fury/pull/566
+- [Docs] update readme by @chaokunyang in https://github.com/alipay/fury/pull/567
+- [JavaScript] Import js write performance by @wangweipeng2 in https://github.com/alipay/fury/pull/569
+- [Docs ] fix benchmarks figures align by @chaokunyang in https://github.com/alipay/fury/pull/571
+- [Docs] fix python typehint comment by @chaokunyang in https://github.com/alipay/fury/pull/572
+- [Docs] add row format to arrow conversion java example by @chaokunyang in https://github.com/alipay/fury/pull/573
+- [JavaScript] update benchmark by @wangweipeng2 in https://github.com/alipay/fury/pull/574
+- [JavaScript] easy type description by @wangweipeng2 in https://github.com/alipay/fury/pull/576
+- [JavaScript] add generic constraints to the serializer by @wangweipeng2 in https://github.com/alipay/fury/pull/577
+- [Docs] Refine benchmark plots by @chaokunyang in https://github.com/alipay/fury/pull/578
+- [Docs] fix java header by @chaokunyang in https://github.com/alipay/fury/pull/582
+- [Python] support secure mode for python by @chaokunyang in https://github.com/alipay/fury/pull/584
+- [Docs] update readme speedup by @chaokunyang in https://github.com/alipay/fury/pull/585
+- [Docs] remove `Binary Serialization` from header by @chaokunyang in https://github.com/alipay/fury/pull/586
+- [Docs] add Serialization to header by @chaokunyang in https://github.com/alipay/fury/pull/587
+- [Docs] fix invalid image links in cpp debug doc by @chaokunyang in https://github.com/alipay/fury/pull/589
+- Bump protobuf-java from 3.11.0 to 3.16.3 in /java/fury-benchmark by @dependabot in https://github.com/alipay/fury/pull/590
+- Bump testng from 7.3.0 to 7.5.1 in /java by @dependabot in https://github.com/alipay/fury/pull/591
+- Bump checkstyle from 8.19 to 8.29 in /java by @dependabot in https://github.com/alipay/fury/pull/592
+- Bump guava from 30.0-jre to 32.0.0-jre in /java by @dependabot in https://github.com/alipay/fury/pull/593
+- Bump protobuf-java from 3.15.0 to 3.16.3 in /integration_tests by @dependabot in https://github.com/alipay/fury/pull/594
+- [Java] replace log4j by log4j2 for test modules by @chaokunyang in https://github.com/alipay/fury/pull/595
+- [JavaScript] update benchmark by @wangweipeng2 in https://github.com/alipay/fury/pull/597
+- [Java] rename reference to ref by @chaokunyang in https://github.com/alipay/fury/pull/599
+- [Java] fix checkstyle failure by @chaokunyang in https://github.com/alipay/fury/pull/602
+- [Java] fix missing reference renaming by @chaokunyang in https://github.com/alipay/fury/pull/603
+- [Java] Rename requireClassRegistration by @chaokunyang in https://github.com/alipay/fury/pull/604
+- [JavaScript]: remove dependency on v8 by @wangweipeng2 in https://github.com/alipay/fury/pull/606
+- [Rust] Add readme for fury rust by @chaokunyang in https://github.com/alipay/fury/pull/607
+- [Java] add missing license for java code by @chaokunyang in https://github.com/alipay/fury/pull/608
+- [Java] update java benchmarks by @chaokunyang in https://github.com/alipay/fury/pull/609
+- [Docs] update java benchmarks chart size by @chaokunyang in https://github.com/alipay/fury/pull/610
+- [Docs] use same color for fury best performance by @chaokunyang in https://github.com/alipay/fury/pull/611
+- [Java] add MetaContext tests by @chaokunyang in https://github.com/alipay/fury/pull/613
+- [Java] Add java misc tests by @chaokunyang in https://github.com/alipay/fury/pull/614
+- [Java] Add codegen class loading/gc tests by @chaokunyang in https://github.com/alipay/fury/pull/616
+- [Java] add warn logs when requireClassRegistration disabled by @chaokunyang in https://github.com/alipay/fury/pull/618
+- [Docs] Add java adcanced user guide doc by @chaokunyang in https://github.com/alipay/fury/pull/621
+- [Docs] Update java advanced doc by @chaokunyang in https://github.com/alipay/fury/pull/625
+- [JavaScript] Eliminate polymorphism in JS code by @wangweipeng2 in https://github.com/alipay/fury/pull/627
+- [Python] rename reference to ref for python by @chaokunyang in https://github.com/alipay/fury/pull/629
+- [Java/Python] Rename crosslanguage to x by @chaokunyang in https://github.com/alipay/fury/pull/631
+- [JavaScript] reduce generated code size by @wangweipeng2 in https://github.com/alipay/fury/pull/633
+- [Java] update java snapshot url by @chaokunyang in https://github.com/alipay/fury/pull/635
+- [CI] Enable Fury CI by @chaokunyang in https://github.com/alipay/fury/pull/636
+- [Docs] add benchmark data by @chaokunyang in https://github.com/alipay/fury/pull/639
+- [Doc] use camel naming for benchmark class doc by @chaokunyang in https://github.com/alipay/fury/pull/640
+- [Docs] Update security doc by @chaokunyang in https://github.com/alipay/fury/pull/642
+- [Java] update license for Generics by @chaokunyang in https://github.com/alipay/fury/pull/644
+- [Java] fix generics license length by @chaokunyang in https://github.com/alipay/fury/pull/645
+- [Java] update java security doc by @chaokunyang in https://github.com/alipay/fury/pull/646
+- [Go] update golang readme by @chaokunyang in https://github.com/alipay/fury/pull/648
+- [Doc] replace Fury.Language by Language by @chaokunyang in https://github.com/alipay/fury/pull/650
+- [Java] update java row readme by @chaokunyang in https://github.com/alipay/fury/pull/651
+- [Java] register guava serializers ahead by @chaokunyang in https://github.com/alipay/fury/pull/654
+- [Docs] split user guide doc into 3 parts to sync with website by @chaokunyang in https://github.com/alipay/fury/pull/665
+- [Docs] move guide docs to guide by @chaokunyang in https://github.com/alipay/fury/pull/667
+- [Doc] sync files to home site by @wangweipeng2 in https://github.com/alipay/fury/pull/666
+- [Java] Fix IndexOutOfBoundsException when new fury deserialize from InputStream by @chaokunyang in https://github.com/alipay/fury/pull/671
+- [Doc] support front matter by @wangweipeng2 in https://github.com/alipay/fury/pull/672
+- [Doc] rename inner fury to f when creating ThreadSafeFury by @chaokunyang in https://github.com/alipay/fury/pull/676
+- [Java] Support string zerocopy for jdk14+ by @chaokunyang in https://github.com/alipay/fury/pull/677
+- [CI] Add deploy script by @chaokunyang in https://github.com/alipay/fury/pull/688
+- [Java] Support maven release by @chaokunyang in https://github.com/alipay/fury/pull/691
+- [Doc] add java release jar for v0.1.0-alpha.1 by @chaokunyang in https://github.com/alipay/fury/pull/693
+- [Doc] Fix release jar doc by @chaokunyang in https://github.com/alipay/fury/pull/694
+- [Doc] Refine readme for more readability by @chaokunyang in https://github.com/alipay/fury/pull/695
+- [Java] Add detailed lambda error by @chaokunyang in https://github.com/alipay/fury/pull/698
+- [Doc] Fix threadsafe example by @chaokunyang in https://github.com/alipay/fury/pull/699
+- [Docs] fix threadsafe fury in java guide by @chaokunyang in https://github.com/alipay/fury/pull/700
+- [Docs] remove bracket from classLoader by @chaokunyang in https://github.com/alipay/fury/pull/701
+- [Java] add maven source plugin by @chaokunyang in https://github.com/alipay/fury/pull/702
+- [Java] Jdk serialization binary check by @chaokunyang in https://github.com/alipay/fury/pull/714
+- [Java] add jdk migration doc by @chaokunyang in https://github.com/alipay/fury/pull/715
+- [Java] Support jit for non public classes by @chaokunyang in https://github.com/alipay/fury/pull/719
+- [Rust] rust lang initial version by @wangweipeng2 in https://github.com/alipay/fury/pull/718
+- [Java] add type tag registration check by @chaokunyang in https://github.com/alipay/fury/pull/722
+- [Doc] highlight warmup by @chaokunyang in https://github.com/alipay/fury/pull/723
+- [Rust ] calculate the reserved space on compile time by @wangweipeng2 in https://github.com/alipay/fury/pull/725
+- [Java/Python] disable reference tracking by default by @chaokunyang in https://github.com/alipay/fury/pull/727
+- [Java] debug log code stats by @chaokunyang in https://github.com/alipay/fury/pull/728
+- [Java] upgrade java install to 0.1.0-alpha.2 by @chaokunyang in https://github.com/alipay/fury/pull/731
+- [Doc] use fury png logo by @chaokunyang in https://github.com/alipay/fury/pull/733
+- [Doc] remove margin fury png logo by @chaokunyang in https://github.com/alipay/fury/pull/734
+- [Doc] Refine logo and icon by @chaokunyang in https://github.com/alipay/fury/pull/735
+- [ Rust ] Make the protocols of rust and js consistent by @wangweipeng2 in https://github.com/alipay/fury/pull/738
+- [JavaScript] Make the protocols of rust and js consistent by @wangweipeng2 in https://github.com/alipay/fury/pull/739
+- [Java] Remove guava from userdoc by @chaokunyang in https://github.com/alipay/fury/pull/740
+- [Java] rename writeNonRefT to writeNonRef by @chaokunyang in https://github.com/alipay/fury/pull/743
+- [Java] Optimize object array serialization by @chaokunyang in https://github.com/alipay/fury/pull/741
+- [Java] avoid reflection in resolve/replace by @chaokunyang in https://github.com/alipay/fury/pull/744
+- [Java] avoid reflection in writeObject/readOject/readObjectNoData by @chaokunyang in https://github.com/alipay/fury/pull/747
+- [Java] optimize guava list serialization by @chaokunyang in https://github.com/alipay/fury/pull/748
+- [Java] add MakeJDKFunction lambda factory by @chaokunyang in https://github.com/alipay/fury/pull/752
+- [Java] Optimize guava List/Map/Set serialization by @chaokunyang in https://github.com/alipay/fury/pull/750
+- [Doc] Add contributing guide doc by @chaokunyang in https://github.com/alipay/fury/pull/759
+- [Doc] Create CODE_OF_CONDUCT.md by @chaokunyang in https://github.com/alipay/fury/pull/761
+- [Doc] Fix broken link in README by @tisonkun in https://github.com/alipay/fury/pull/762
+- [Rust] Several Rust idioms by @tisonkun in https://github.com/alipay/fury/pull/763
+- [Java] fix write replace class failure by @chaokunyang in https://github.com/alipay/fury/pull/767
+- [Java] replace withSecureMode by requireClassRegistration API by @chaokunyang in https://github.com/alipay/fury/pull/768
+- [Doc] Update README.md by @chaokunyang in https://github.com/alipay/fury/pull/770
+- [Doc] add javadoc for FuryBuilder by @chaokunyang in https://github.com/alipay/fury/pull/775
+- [Doc] add doc for fury creation reuse by @chaokunyang in https://github.com/alipay/fury/pull/777
+- [Java] [Python] auto deploy java/python packages by @chaokunyang in https://github.com/alipay/fury/pull/781
+- [Java] refine FuryBuilder API by @chaokunyang in https://github.com/alipay/fury/pull/784
+- [CI] skip release tests by @chaokunyang in https://github.com/alipay/fury/pull/785
+- Corrected grammar and paraphrasing to make the README easier to read by @hieu-ht in https://github.com/alipay/fury/pull/786
+- Don't let CI run when the changed files are not the code by @hieu-ht in https://github.com/alipay/fury/pull/787
+- [Java] use lambda for SynchronizedSerializers factory by @chaokunyang in https://github.com/alipay/fury/pull/789
+- [Java] use lambda for unmodifiable serializers factory by @chaokunyang in https://github.com/alipay/fury/pull/790
+- [Python] replace alpha/beta to a/b for python by @chaokunyang in https://github.com/alipay/fury/pull/792
+- [Python] fix python bump version by @chaokunyang in https://github.com/alipay/fury/pull/793
+- [CI] Fix bump version by @chaokunyang in https://github.com/alipay/fury/pull/795
+- [CI] Fix py release by @chaokunyang in https://github.com/alipay/fury/pull/796
+- [Doc] update python and java install by @chaokunyang in https://github.com/alipay/fury/pull/797
+- Update README.md by @chaokunyang in https://github.com/alipay/fury/pull/800
+- [Doc] Update java install version to 0.1.0-alpah.5 by @chaokunyang in https://github.com/alipay/fury/pull/801
+- [CI] Fix pypi upload by @chaokunyang in https://github.com/alipay/fury/pull/803
+- [Java] Add core java developer to maven pom by @chaokunyang in https://github.com/alipay/fury/pull/802
+- [Java] add core java developer to maven modules pom by @chaokunyang in https://github.com/alipay/fury/pull/804
+- [Java] support decode utf8 for java string serialization by @chaokunyang in https://github.com/alipay/fury/pull/806
+- Update Java Deserialization Blacklist by @s31k31 in https://github.com/alipay/fury/pull/782
+- chore: apply license format by @tisonkun in https://github.com/alipay/fury/pull/783
+- [Java] use soft reference to avoid duplicate codegen by @chaokunyang in https://github.com/alipay/fury/pull/809
+
+**完整更新日志**:https://github.com/alipay/fury/commits/v0.1.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-21-fury_0_1_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-21-fury_0_1_1_release.md
new file mode 100644
index 0000000000..820c020564
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-21-fury_0_1_1_release.md
@@ -0,0 +1,47 @@
+---
+slug: fury_0_1_1_release
+title: Fury v0.1.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury `0.1.1` 版本发布。该版本是在 Fury `0.1.0` 基础上的增强版本,并与 `0.1.0` 保持二进制兼容。
+
+## 亮点
+
+- Java
+ - Dubbo fury integration: https://github.com/fury-project/dubbo-serialization-fury
+ - Add class checker API to customize security check behaviour(#890)
+- Python
+ - Support pyarrow6 bazel build (#859 #862)
+ - Support python 3.10 (#859 #862)
+
+## 变更列表
+
+- [Java] Dubbo fury integration: https://github.com/fury-project/dubbo-serialization-fury
+- [Java] fix isSecure check for xlang in java (#822)
+- [Java] register empty object by default (#829)
+- [Java] upgrade guava for(#831)
+- [Python] Support pyarrow6 bazel build (#859)
+- [Python] add missing shared lib for python (#862)
+- [Java] optimize buffer copy (#870)
+- [Doc] Fix row format doc (#873)
+- [Java] fix ofHashMap (#877)
+- [Java] add jdk tools.jar for tests (#881)
+- [Java] Fix lazy bean serializer (#883)
+- [Java] print exception for fury creation (#885)
+- [Java] remove getCurrentFury API (#887)
+- [Java] Add fury map iterator api (#889)
+- [Java] Add class checker API (#890)
+- [Python] Fix python linux deploy missing shared library files (#892)
+- [[Java] refine AllowListChecker (#893)
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.1.0...v0.1.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-27-fury_0_1_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-27-fury_0_1_2_release.md
new file mode 100644
index 0000000000..275067a2d9
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-09-27-fury_0_1_2_release.md
@@ -0,0 +1,24 @@
+---
+slug: fury_0_1_2_release
+title: Fury v0.1.2 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury `0.1.2` 版本发布。该版本是在 Fury `0.1.1` 基础上的增强版本,并与 `0.1.0`/`0.1.1` 保持二进制兼容。
+
+## 变更列表
+
+- [Java] Skip toString in annotation invocation handler readObject (#746)
+- [Python] Use cloudpickle for local function serialization (#914)
+- [Python] fix row format getter (#915)
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.1.0...v0.1.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-09-fury_0_2_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-09-fury_0_2_0_release.md
new file mode 100644
index 0000000000..1ae95887cf
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-09-fury_0_2_0_release.md
@@ -0,0 +1,153 @@
+---
+slug: fury_0_2_0_release
+title: Fury v0.2.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我非常高兴宣布 Fury 0.2.0 版本发布。这是一个非常令人兴奋的版本:整体性能再提升约 1 倍,序列化数据体积缩小 `30%~50%`。在 [JVM-Serializers](https://github.com/eishay/jvm-serializers/wiki) 基准中,我们已经成为最快的序列化框架之一。同时,Fury 对 JDK17/21 提供了完整支持,新增 JDK17+ record 的 JIT 序列化与 JDK9+ ImmutableList 的 JIT 序列化。除此之外,我们还开源了 Fury GO——首个支持循环引用与接口多态的 Golang 序列化框架。欢迎试用并反馈问题。
+
+<!--truncate-->
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我非常高兴宣布 Fury 0.2.0 版本发布。 This a very exciting version of fury. With this version, we have 1X speedup, 30%~50% smaller serialized size. And now we are the fastest serialization framework in the [JVM-Serializers](https://github.com/eishay/jvm-serializers/wiki). At the same time, fury has fully support for JDK17/21, I supported JDK17+ record JIT serialization, JDK9+ ImmutableList JIT serialization. The serialization is blazing fast, please try it out. And we also open sourced Fury GO, the f [...]
+
+## 亮点
+
+### Java
+
+- Support JDK17+ record JIT/Interpreter serialization
+- Support JDK17+ record JIT/Interpreter serialization backward/forward compatibility
+- Support jdk9+ Immutable Collections JIT/Interpreter mode serialization, much faster compared to other frameworks
+- New collection serialization protocol by homogenization, 1.5x speed up, 2X space saving.
+- Desgined and implemented a new long compression algorithm, with performance cost less than 10% but give 50% compresstion ratio
+- Support configuring compress int/long independently, enable int/long compression by default
+- Add class checker API and Whitelist/Blacklist based implementation to enhance security
+
+### Python
+
+- Support pyarrow6 bazel build
+- Support python 3.10
+
+### JavaScript
+
+- [JavaScript] support fury for browser
+- [JavaScript] support polymorphism
+- [JavaScript] enhancement performance
+
+### Golang
+
+- Implement Golang serialization framework, which support reference, pointer, data serialization
+- Implement serializers for string/numbers/slice/map/slice/struct/pointer
+
+## 变更列表
+
+- [JavaScript] enhancement performance and bugfix by @wangweipeng2 in https://github.com/alipay/fury/pull/811
+- [JavaScript] support polymorphism by @wangweipeng2 in https://github.com/alipay/fury/pull/814
+- Create SECURITY.md by @chaokunyang in https://github.com/alipay/fury/pull/817
+- [JavaScript] fix bug #703 by @wangweipeng2 in https://github.com/alipay/fury/pull/819
+- [Java] fix isSecure check for xlang in java by @chaokunyang in https://github.com/alipay/fury/pull/822
+- [Doc] add protocol wire format wip by @chaokunyang in https://github.com/alipay/fury/pull/823
+- [JavaScript] write tag hash by @wangweipeng2 in https://github.com/alipay/fury/pull/825
+- [JavaScript] support browser by @wangweipeng2 in https://github.com/alipay/fury/pull/830
+- [Java] register empty object by default by @chaokunyang in https://github.com/alipay/fury/pull/829
+- [Java] upgrade guava for CVE-2023-2976 by @chaokunyang in https://github.com/alipay/fury/pull/831
+- [JavaScript] detect platform wrong by @wangweipeng2 in https://github.com/alipay/fury/pull/832
+- [JavaScript] add test by @wangweipeng2 in https://github.com/alipay/fury/pull/836
+- [Java] Add compatible ci for JDK8/11/13/15/17 by @chaokunyang in https://github.com/alipay/fury/pull/835
+- [Java] use java.lang.ClassValue to cache Lookup by @chaokunyang in https://github.com/alipay/fury/pull/844
+- [Java] Refactor integration tests by @chaokunyang in https://github.com/alipay/fury/pull/845
+- [Java] suppress maven download logs by --no-transfer-progress by @chaokunyang in https://github.com/alipay/fury/pull/846
+- [Java] add missing jdk primitive function by @chaokunyang in https://github.com/alipay/fury/pull/848
+- [Java] make getter lambda functions by @chaokunyang in https://github.com/alipay/fury/pull/849
+- [Java] add record utils by @chaokunyang in https://github.com/alipay/fury/pull/850
+- [Java] Support access record field value by @chaokunyang in https://github.com/alipay/fury/pull/851
+- [Java] interpreter mode support for record serialization by @chaokunyang in https://github.com/alipay/fury/pull/852
+- [CI] Fix checkstyle by @chaokunyang in https://github.com/alipay/fury/pull/853
+- [Java] Support jdk record forward/backward interpreter serialization by @chaokunyang in https://github.com/alipay/fury/pull/854
+- [Java] Support jdk record metashare mode by @chaokunyang in https://github.com/alipay/fury/pull/855
+- [Java] move record utils to record pkg by @chaokunyang in https://github.com/alipay/fury/pull/856
+- [Java] move inner functions outside by @chaokunyang in https://github.com/alipay/fury/pull/857
+- [Python] Support pyarrow6 bazel build by @chaokunyang in https://github.com/alipay/fury/pull/859
+- [Python] add missing shared lib for python by @chaokunyang in https://github.com/alipay/fury/pull/862
+- [Python] fix python deploy by @chaokunyang in https://github.com/alipay/fury/pull/863
+- [Java] Jdk record compatible jit by @chaokunyang in https://github.com/alipay/fury/pull/864
+- [Java] JIT serialization for JDK record by @chaokunyang in https://github.com/alipay/fury/pull/866
+- [Java] support private record jit by @chaokunyang in https://github.com/alipay/fury/pull/869
+- [Java] optimize buffer copy by @chaokunyang in https://github.com/alipay/fury/pull/870
+- [Doc] Fix row format doc by @chaokunyang in https://github.com/alipay/fury/pull/873
+- [Java] Support compress int long independently by @chaokunyang in https://github.com/alipay/fury/pull/875
+- [Java] fix ofHashMap by @chaokunyang in https://github.com/alipay/fury/pull/877
+- [Java] add jdk tools.jar for tests by @chaokunyang in https://github.com/alipay/fury/pull/881
+- [Java] register common exception by @chaokunyang in https://github.com/alipay/fury/pull/879
+- [Java] Fix lazy bean serializer by @chaokunyang in https://github.com/alipay/fury/pull/883
+- [Java] print exception for fury creation by @chaokunyang in https://github.com/alipay/fury/pull/885
+- [Java] remove getCurrentFury API by @chaokunyang in https://github.com/alipay/fury/pull/887
+- [Java] Add fury map iterator api by @chaokunyang in https://github.com/alipay/fury/pull/889
+- [Java] Add class checker API by @chaokunyang in https://github.com/alipay/fury/pull/890
+- [Python] Fix python linux deploy missing shared library files by @chaokunyang in https://github.com/alipay/fury/pull/892
+- [Java] refine AllowListChecker by @chaokunyang in https://github.com/alipay/fury/pull/893
+- Update README.md by @chaokunyang in https://github.com/alipay/fury/pull/894
+- [Java] support immutable collection/map jit and generics optimization by @chaokunyang in https://github.com/alipay/fury/pull/895
+- [Java] cache generated guava constructor by @chaokunyang in https://github.com/alipay/fury/pull/897
+- [Java] Optimize jdk9+ immutable collection serialization by @chaokunyang in https://github.com/alipay/fury/pull/900
+- [Java] add jdk20 tests by @chaokunyang in https://github.com/alipay/fury/pull/901
+- [Java] optimize duplicate fields utils by @chaokunyang in https://github.com/alipay/fury/pull/905
+- [Java] fix jit error for package-level field with private type by @chaokunyang in https://github.com/alipay/fury/pull/907
+- [Java] update blacklist by @chaokunyang in https://github.com/alipay/fury/pull/913
+- [Python] Use cloudpickle for local function serialization by @chaokunyang in https://github.com/alipay/fury/pull/914
+- [Python] fix row format getter by @chaokunyang in https://github.com/alipay/fury/pull/915
+- [Java] disable class check by default by @chaokunyang in https://github.com/alipay/fury/pull/917
+- [Java] refine java docs by @chaokunyang in https://github.com/alipay/fury/pull/918
+- Update blacklist.txt by @chaokunyang in https://github.com/alipay/fury/pull/920
+- [Java] Skip `toString` in annotation invocation handler `readObject` by @chaokunyang in https://github.com/alipay/fury/pull/922
+- Optimize StringBuilder/StringBuffer serialization by @pandalee99 in https://github.com/alipay/fury/pull/908
+- Bump release versin to 0.1.2 by @chaokunyang in https://github.com/alipay/fury/pull/924
+- [Doc] add basic type java format doc by @chaokunyang in https://github.com/alipay/fury/pull/928
+- [Java] speed test codegen speed by avoid duplicate codegen by @chaokunyang in https://github.com/alipay/fury/pull/929
+- [Java] Optimize collection serialization protocol by homogenization by @chaokunyang in https://github.com/alipay/fury/pull/923
+- Bump org.apache.avro:avro from 1.11.1 to 1.11.3 in /java/fury-benchmark by @dependabot in https://github.com/alipay/fury/pull/931
+- [Java] Rename classinfocache to classinfoholder by @chaokunyang in https://github.com/alipay/fury/pull/933
+- [Java] put together all primitive serializers by @chaokunyang in https://github.com/alipay/fury/pull/934
+- [Java] Fix jvm crash caused by varint out-of-bound writing by @chaokunyang in https://github.com/alipay/fury/pull/937
+- [Java] enable int compression by default by @chaokunyang in https://github.com/alipay/fury/pull/935
+- [Java] put together all fury related config classes into `config` package by @chaokunyang in https://github.com/alipay/fury/pull/940
+- [Java] Add SLI(small long as int) long encoding algorithm by @chaokunyang in https://github.com/alipay/fury/pull/942
+- [Java] use raw type serializer for getSerialzier in jit by @chaokunyang in https://github.com/alipay/fury/pull/943
+- [Java] use varint for class id encoding to reduce space cost by @chaokunyang in https://github.com/alipay/fury/pull/945
+- [Java] Fix Collection/Map jit/interpreter protocol inconsisitency for generics instantiated subclass by @chaokunyang in https://github.com/alipay/fury/pull/947
+- [Go] add fury go util and ci tests by @chaokunyang in https://github.com/alipay/fury/pull/950
+- [Go] add fury go buffer implementation by @chaokunyang in https://github.com/alipay/fury/pull/952
+- [Go] add fury go serialization framework by @chaokunyang in https://github.com/alipay/fury/pull/954
+- [Go] add serializers for common go types by @chaokunyang in https://github.com/alipay/fury/pull/956
+- [Java] fix varint writeindex grow for jit by @chaokunyang in https://github.com/alipay/fury/pull/957
+- [Go] add fury go map serializer by @chaokunyang in https://github.com/alipay/fury/pull/959
+- [Go] add slice serializer for fury go by @chaokunyang in https://github.com/alipay/fury/pull/961
+- [Go] add set serializer for fury go by @chaokunyang in https://github.com/alipay/fury/pull/963
+- [Go] Add struct serializer for fury go by @chaokunyang in https://github.com/alipay/fury/pull/965
+- [Go] add ref tracking tests by @chaokunyang in https://github.com/alipay/fury/pull/967
+- [Go] add fury type dispatch tests by @chaokunyang in https://github.com/alipay/fury/pull/969
+- [Go] add fury serialization tests by @chaokunyang in https://github.com/alipay/fury/pull/971
+- [Go] Add fury xlang tests by @chaokunyang in https://github.com/alipay/fury/pull/973
+- [Go] rename Reference to Ref by @chaokunyang in https://github.com/alipay/fury/pull/975
+- [Java] add jdk 21 tests by @chaokunyang in https://github.com/alipay/fury/pull/977
+- [Java] add jdk 21 tests ci by @chaokunyang in https://github.com/alipay/fury/pull/978
+- [Java] Optimize sli long read/write by @chaokunyang in https://github.com/alipay/fury/pull/981
+- [Doc] upgrade docs by @chaokunyang in https://github.com/alipay/fury/pull/985 https://github.com/alipay/fury/pull/986 https://github.com/alipay/fury/pull/987
+- [Java] add serializeJavaObject API to ThreadSafeFury by @chaokunyang in https://github.com/alipay/fury/pull/988
+- [Java] fix jdk17/21 ci latest_jdk_tests skip by @chaokunyang in https://github.com/alipay/fury/pull/989
+
+## 新贡献者
+
+- @pandalee99 made their first contribution in https://github.com/alipay/fury/pull/908
+- @ilxqx made their first contribution in https://github.com/fury-project/dubbo-serialization-fury/pull/1
+- @T-baby made their first contribution in https://github.com/fury-project/dubbo-serialization-fury/pull/13
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.1.0...v0.2.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-19-fury_0_2_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-19-fury_0_2_1_release.md
new file mode 100644
index 0000000000..338e2c5dff
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-10-19-fury_0_2_1_release.md
@@ -0,0 +1,49 @@
+---
+slug: fury_0_2_1_release
+title: Fury v0.2.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我很高兴宣布 Fury 0.2.1 版本发布。该版本提供了更完善的 JDK17+ record 支持,并改进了私有类场景下的 JIT 体验。
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury 0.2.1 版本发布。该版本提供了更完善的 JDK17+ record 支持,并改进了私有类场景下的 JIT 体验。欢迎试用并反馈问题。
+
+## 亮点
+
+- [Go] Support tiny go compilation
+- [Java] Support private JDK17+ record class JIT serialization
+
+## 缺陷修复
+
+- Fix jit error for register private serializers
+- Upgrade janino version to fix package name conflict with classname
+
+## 变更列表
+
+- [Doc] Update JDK support doc by @chaokunyang in https://github.com/alipay/fury/pull/992
+- [Go] Make compilation support tinygo by @springrain in https://github.com/alipay/fury/pull/991
+- [Doc] fix config class imports by @chaokunyang in https://github.com/alipay/fury/pull/993
+- [go] fixed typo in readme import path by @voldyman in https://github.com/alipay/fury/pull/995
+- [Java] fix jit error for register private serializers by @chaokunyang in https://github.com/alipay/fury/pull/999
+- [Java] Refine reflection contructor by MethodHandle by @chaokunyang in https://github.com/alipay/fury/pull/1000
+- [Java] Fix private record JIT by @chaokunyang in https://github.com/alipay/fury/pull/1004
+- [Java] Upgrade janino version to fix package name conflict with classname by @chaokunyang in https://github.com/alipay/fury/pull/1006
+- [Java] fix janino deps for fury-benchmark by @chaokunyang in https://github.com/alipay/fury/pull/1007
+- [Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1009
+
+## 新贡献者
+
+- @springrain made their first contribution in https://github.com/alipay/fury/pull/991
+- @voldyman made their first contribution in https://github.com/alipay/fury/pull/995
+- @caicancai made their first contribution in https://github.com/alipay/fury/pull/1009
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.2.0...v0.2.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-04-fury_0_3_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-04-fury_0_3_0_release.md
new file mode 100644
index 0000000000..3259ef6697
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-04-fury_0_3_0_release.md
@@ -0,0 +1,139 @@
+---
+slug: fury_0_3_0_release
+title: Fury v0.3.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我很高兴宣布 Fury 0.3.0 版本发布。这个版本已支持 Scala 2/3 的完整对象序列化,包括 **case/pojo/object/option/tuple/collection/enum 等类型**。其中 case/pojo/object 与 Fury JIT 深度集成,Fury 会在运行时自动生成高性能序列化代码,因此在这类对象上的序列化速度非常快。
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury 0.3.0 版本发布。这个版本已支持 Scala 2/3 的完整对象序列化,包括 **case/pojo/object/option/tuple/collection/enum 等类型**。其中 case/pojo/object 与 Fury JIT 深度集成,Fury 会在运行时自动生成高性能序列化代码,因此在这类对象上的序列化速度非常快。
+
+长期以来,Scala 序列化一直是个难题,最稳妥的方案通常只有 JDK serialization,但它速度慢、序列化体积也偏大。虽然也有 chill 这样的框架,但对 Scala 类型支持有限,性能上也有约束。现在借助 Fury Scala,你可以序列化几乎任意 Scala 对象,同时获得非常可观的性能表现。欢迎试用并反馈问题。
+
+## Scala 序列化指南
+
+安装依赖:
+
+```sbt
+libraryDependencies += "org.furyio" % "fury-core" % "0.3.0"
+```
+
+创建 Fury:
+
+```scala
+val fury = Fury.builder()
+ .withScalaOptimizationEnabled(true)
+ .requireClassRegistration(false)
+ .withRefTracking(true)
+ .build()
+```
+
+序列化 case 对象:
+
+```scala
+case class Person(github: String, age: Int, id: Long)
+val p = Person("https://github.com/chaokunyang", 18, 1)
+println(fury.deserialize(fury.serialize(p)))
+println(fury.deserializeJavaObject(fury.serializeJavaObject(p)))
+```
+
+序列化单例对象:
+
+```scala
+object singleton {
+}
+val o1 = fury.deserialize(fury.serialize(singleton))
+val o2 = fury.deserialize(fury.serialize(singleton))
+println(o1 == o2)
+```
+
+序列化集合对象:
+
+```scala
+val seq = Seq(1,2)
+val list = List("a", "b") val map = Map("a" -> 1, "b" -> 2)
+println(fury.deserialize(fury.serialize(seq)))
+println(fury.deserialize(fury.serialize(list)))
+println(fury.deserialize(fury.serialize(map)))
+```
+
+序列化枚举:
+
+```scala
+enum Color { case Red, Green, Blue }
+println(fury.deserialize(fury.serialize(Color.Green)))
+```
+
+## 亮点
+
+- [Scala] Support scala serialization: `case/object/tuple/string/collection/enum/basic` all supported
+- [Scala] Add [scala user documentation](https://github.com/alipay/fury/blob/main/docs/guide/scala_guide.md)
+- [Scala] add optimized scala singleton object serializer
+- [Java] Make `java.io.Externalizable` compatible with Java `writeReplace/readResolve` API
+- [Java] Integrate fury with dubbo https://github.com/apache/dubbo-spi-extensions/pull/226
+- [Java] support bytes string serialization for jdk8 with JDK17 runtime
+
+## 缺陷修复
+
+- [Java] Allow for `InputStream` not reading entire length
+- [Java] Use `ReflectionUtils.getCtrHandle()` for non-public constructor in `ExternalizableSerializer`
+- [Java] fix jdk compatible serialization for inheritance
+
+## 变更列表
+
+- [Impove]-[Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1011
+- [Java] rename wrong ascii naming to latin by @chaokunyang in https://github.com/alipay/fury/pull/1013
+- [Doc] Update go install doc by @chaokunyang in https://github.com/alipay/fury/pull/1015
+- fix(grammatical): correct typos and improve grammar by @iamahens in https://github.com/alipay/fury/pull/1018
+- [Improve]-[Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1020
+- [Improve]-[Doc] add environment requirement by @caicancai in https://github.com/alipay/fury/pull/1022
+- chore(docs): fixed typos by @Smoothieewastaken in https://github.com/alipay/fury/pull/1023
+- bugfix: read buffer error when object contain binary field by @wangweipeng2 in https://github.com/alipay/fury/pull/1026
+- [Doc] Optimize class registration doc by @chaokunyang in https://github.com/alipay/fury/pull/1027
+- [Java] fix jdk compatible serialization for inheritance by @chaokunyang in https://github.com/alipay/fury/pull/1030
+- [Doc] add scala user doc by @chaokunyang in https://github.com/alipay/fury/pull/1028
+- [Doc] refine scala doc by @chaokunyang in https://github.com/alipay/fury/pull/1031
+- Update README.md - fix grammatrical errors in README. by @ayushrakesh in https://github.com/alipay/fury/pull/1037
+- [Java] Support local static class jit by @chaokunyang in https://github.com/alipay/fury/pull/1036
+- [Java] support bytes string serialization for jdk8 by @chaokunyang in https://github.com/alipay/fury/pull/1039
+- [Java] set timeout to JITContextTest by @chaokunyang in https://github.com/alipay/fury/pull/1040
+- [Java] fix string builder serialization for jdk8 with jdk17 runtime by @chaokunyang in https://github.com/alipay/fury/pull/1042
+- [Doc] add auto code reviewers by @chaokunyang in https://github.com/alipay/fury/pull/1043
+- [Java] Allow for `InputStream` not reading entire length by @knutwannheden in https://github.com/alipay/fury/pull/1034
+- [Java] Use `ReflectionUtils.getCtrHandle()` in `ExternalizableSerializer` by @knutwannheden in https://github.com/alipay/fury/pull/1044
+- [Improve] make maven-spotless-plugin version as a parameter by @caicancai in https://github.com/alipay/fury/pull/1046
+- Update README.md by @Shivam250702 in https://github.com/alipay/fury/pull/1047
+- [Java] support writeReplace/readResolve for Externalizable by @chaokunyang in https://github.com/alipay/fury/pull/1048
+- Update README.md by @Spyrosigma in https://github.com/alipay/fury/pull/1051
+- Grammatical error in CODE_OF_CONDUCT.md by @HimanshuMahto in https://github.com/alipay/fury/pull/1050
+- Update scala link title README.md by @chaokunyang in https://github.com/alipay/fury/pull/1052
+- [Doc] add scala readme and refine document by @chaokunyang in https://github.com/alipay/fury/pull/1041
+- [Java] populate StackOverflowError with enable ref tracking message by @chaokunyang in https://github.com/alipay/fury/pull/1049
+- [Scala] Setup scala project by @chaokunyang in https://github.com/alipay/fury/pull/1054
+- [Scala] add scala singleton object serializer by @chaokunyang in https://github.com/alipay/fury/pull/1053
+- Updated README.md by @vidhijain27 in https://github.com/alipay/fury/pull/1056
+- [Scala] add scala tuple serialization tests by @chaokunyang in https://github.com/alipay/fury/pull/1059
+- Empty ListExpression#genCode will throw npe by @farmerworking in https://github.com/alipay/fury/pull/1063
+
+## 新贡献者
+
+- @iamahens made their first contribution in https://github.com/alipay/fury/pull/1018
+- @Smoothieewastaken made their first contribution in https://github.com/alipay/fury/pull/1023
+- @ayushrakesh made their first contribution in https://github.com/alipay/fury/pull/1037
+- @knutwannheden made their first contribution in https://github.com/alipay/fury/pull/1034
+- @Shivam250702 made their first contribution in https://github.com/alipay/fury/pull/1047
+- @Spyrosigma made their first contribution in https://github.com/alipay/fury/pull/1051
+- @HimanshuMahto made their first contribution in https://github.com/alipay/fury/pull/1050
+- @vidhijain27 made their first contribution in https://github.com/alipay/fury/pull/1056
+- @farmerworking made their first contribution in https://github.com/alipay/fury/pull/1063
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.2.1...v0.3.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-21-fury_0_3_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-21-fury_0_3_1_release.md
new file mode 100644
index 0000000000..869f7f06ee
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-21-fury_0_3_1_release.md
@@ -0,0 +1,73 @@
+---
+slug: fury_0_3_1_release
+title: Fury v0.3.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我很高兴宣布 Fury 0.3.1 版本发布。该版本新增 Python 3.11 与 3.12 支持,并移除了 Python 3.6 支持。
+该版本还包含多项 Scala 序列化 JIT 优化,并进一步提升了 Java 序列化兼容性。
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury 0.3.1 版本发布。该版本新增 Python 3.11 与 3.12 支持,并移除了 Python 3.6 支持。
+该版本还包含多项 Scala 序列化 JIT 优化,并进一步提升了 Java 序列化兼容性。
+
+## 亮点
+
+- Support python 3.11 and 3.12, drop python 3.6 support
+- Refactor collection serialization framework to support writeReplace JIT
+- Integrate scala collection with fury java collection framework
+- Support scala collection jit serialization
+- Support shim dispatcher to resolve compatibility problems for common used classes
+- Use lastest arrow 14 version for row format in Java and Python
+
+## 变更列表
+
+- [Doc] add scala sbt install doc by @chaokunyang in https://github.com/alipay/fury/pull/1066
+- [Doc] Update scala_guide.md by @chaokunyang in https://github.com/alipay/fury/pull/1067
+- [Doc] Add scala 2/3 support doc by @chaokunyang in https://github.com/alipay/fury/pull/1068
+- [Java] Refactor collection serialization framework to support writeReplace JIT by @chaokunyang in https://github.com/alipay/fury/pull/1062
+- [Java] Refine collection package by @chaokunyang in https://github.com/alipay/fury/pull/1070
+- [Java] merge map/collection into collection package by @chaokunyang in https://github.com/alipay/fury/pull/1072
+- [Scala] integrate scala collection with fury java collection framework by @chaokunyang in https://github.com/alipay/fury/pull/1073
+- remove unused part of build.sbt by @pjfanning in https://github.com/alipay/fury/pull/1074
+- [Scala] get build to work with Scala 3 by @pjfanning in https://github.com/alipay/fury/pull/1075
+- [Scala] support scala collection jit serialization by @chaokunyang in https://github.com/alipay/fury/pull/1077
+- [Doc] add apache license section to readme by @caicancai in https://github.com/alipay/fury/pull/1080
+- [Java] add option to disable class check warnings by @chaokunyang in https://github.com/alipay/fury/pull/1084
+- [Java] Fix collection serialization NPE when all elements are null by @chaokunyang in https://github.com/alipay/fury/pull/1086
+- [Java] FuryPooledObjectFactory getFury refactor, remove redundant recursive call by @mof-dev-3 in https://github.com/alipay/fury/pull/1088
+- [Rust] add rust-version by @wangweipeng2 in https://github.com/alipay/fury/pull/1091
+- [DOC] add javascript sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1095
+- Make sure the c++ standard is set to 17 by @PragmaTwice in https://github.com/alipay/fury/pull/1093
+- Fix undefined behavior due to use of uninitialized field in Buffer by @PragmaTwice in https://github.com/alipay/fury/pull/1092
+- [Rust] merge derive and make it sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1098
+- [DOC] add rust sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1100
+- Simplify endian utility functions and `IsOneOf` by @PragmaTwice in https://github.com/alipay/fury/pull/1096
+- [Java] throw error if nested fury serialize happen in serialization by @chaokunyang in https://github.com/alipay/fury/pull/1103
+- [C++] remove useless FromXXXEndian by @chaokunyang in https://github.com/alipay/fury/pull/1105
+- [Rust ] Remove the magic numbers by @wangweipeng2 in https://github.com/alipay/fury/pull/1107
+- [Rust] chore: add rust doc by @wangweipeng2 in https://github.com/alipay/fury/pull/1109
+- [JavaScript] Fill in readme by @wangweipeng2 in https://github.com/alipay/fury/pull/1110
+- chore: check xlang flag by @wangweipeng2 in https://github.com/alipay/fury/pull/1112
+- [Java] Remove guava part1 by @chaokunyang in https://github.com/alipay/fury/pull/1114
+- [Rust] Correct language flag by @wangweipeng2 in https://github.com/alipay/fury/pull/1120
+- [Java] DateTimeUtils minor refactor, reuse floorDiv to calculate floorMod by @mof-dev-3 in https://github.com/alipay/fury/pull/1122
+- [Python] Support python3.11/12 by @chaokunyang in https://github.com/alipay/fury/pull/1064
+- [java] support shim dispatcher to resolve compatibility problems for common used classes by @xiguashu in https://github.com/alipay/fury/pull/1123
+
+## 新贡献者
+
+- @pjfanning made their first contribution in https://github.com/alipay/fury/pull/1074
+- @mof-dev-3 made their first contribution in https://github.com/alipay/fury/pull/1088
+- @PragmaTwice made their first contribution in https://github.com/alipay/fury/pull/1093
+- @xiguashu made their first contribution in https://github.com/alipay/fury/pull/1123
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.3.0...v0.3.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-29-fury_0_4_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-29-fury_0_4_0_release.md
new file mode 100644
index 0000000000..a9dabbdd35
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-11-29-fury_0_4_0_release.md
@@ -0,0 +1,65 @@
+---
+slug: fury_0_4_0_release
+title: Fury 0.4.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+我很高兴宣布 Fury 0.4.0 版本发布。该版本新增 [GraalVM native image](https://www.graalvm.org/latest/reference-manual/native-image/) 支持,并提供基于编译期反射的 C++ 行式格式自动编码器。欢迎试用并反馈。
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+我很高兴宣布 Fury 0.4.0 版本发布。该版本新增 [GraalVM native image](https://www.graalvm.org/latest/reference-manual/native-image/) 支持,并提供基于编译期反射的 C++ 行式格式自动编码器。欢迎试用并反馈。
+
+## 亮点
+
+- [Java] Support Graalvm native image. The implementation will generate all serialization code at image build time, the runtime will be extremely fast, see [fury graalvm usage doc](https://github.com/alipay/fury/blob/main/docs/guide/graalvm_guide.md)
+- [Java] Fury vs JDK benchmark on Graalvm native image
+- [Scala] Serialization support for package scoped object
+- [C++] Reflection support by macro/template programing
+- [C++] Automatic row format encoder
+
+## 变更列表
+
+- [Python] fix python release by @chaokunyang in https://github.com/alipay/fury/pull/1125
+- [Java] make unsafe offset compatible with graalvm by @chaokunyang in https://github.com/alipay/fury/pull/1117
+- [Scala] Fix scala package object JIT error by @chaokunyang in https://github.com/alipay/fury/pull/1130
+- [Java] Refine maven pom config by @chaokunyang in https://github.com/alipay/fury/pull/1126
+- [Rust] add rust building by @caicancai in https://github.com/alipay/fury/pull/1129
+- [C++] Remove useless overload of Writer::WriteString by @PragmaTwice in https://github.com/alipay/fury/pull/1136
+- [Rust] fix typo by @caicancai in https://github.com/alipay/fury/pull/1133
+- [Rust] add mesaage about rust ci by @caicancai in https://github.com/alipay/fury/pull/1131
+- [C++] Add move ctor/assign op to Status by @PragmaTwice in https://github.com/alipay/fury/pull/1134
+- [Rust] fix cargo test error by @wangweipeng2 in https://github.com/alipay/fury/pull/1135
+- [Rust] improve rust ci by @caicancai in https://github.com/alipay/fury/pull/1138
+- [Scala] Fix scala collection serialization nested in pojo by @chaokunyang in https://github.com/alipay/fury/pull/1140
+- [Java] make sting builder serializer codegen eager by @chaokunyang in https://github.com/alipay/fury/pull/1141
+- [Rust] fix rust ci bug by @caicancai in https://github.com/alipay/fury/pull/1139
+- [Java] support add static fields in fury codegen by @chaokunyang in https://github.com/alipay/fury/pull/1147
+- [C++] Add the basic row format serializer for C++ class types via reflection by @PragmaTwice in https://github.com/alipay/fury/pull/1144
+- [C++] Add duplicated fields detection in `FURY_FIELD_INFO` macro by @PragmaTwice in https://github.com/alipay/fury/pull/1151
+- [Java] support create serializer when register class by @chaokunyang in https://github.com/alipay/fury/pull/1154
+- [Java] Support graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1143
+- [C++] Support string type in RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1158
+- [Scala] add graalvm support for scala singleton by @chaokunyang in https://github.com/alipay/fury/pull/1159
+- [Scala] Fix scala singleton map/collection serialization in struct by @chaokunyang in https://github.com/alipay/fury/pull/1160
+- [Java] add read resolve circular test suite by @chaokunyang in https://github.com/alipay/fury/pull/1161
+- [Java] Remove load arrow serializers by default by @chaokunyang in https://github.com/alipay/fury/pull/1163
+- [Java] Support thread safe fury for graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1164
+- [Scala] Fix package object serialization in scala App by @chaokunyang in https://github.com/alipay/fury/pull/1166
+- [Java] add graalvm usage doc by @chaokunyang in https://github.com/alipay/fury/pull/1168
+- [C++] Split util.h to bit_util.h and time_util.h by @PragmaTwice in https://github.com/alipay/fury/pull/1171
+- [C++] Support cv-qualified types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1172
+- [C++] Add support for nested class types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1173
+- [Java] Add graalvm benchmark by @chaokunyang in https://github.com/alipay/fury/pull/1178
+- [Java] Fix string key serializer ref tracking by @chaokunyang in https://github.com/alipay/fury/pull/1174
+- [Java] Add graalvm benchmark test results by @chaokunyang in https://github.com/alipay/fury/pull/1180
+- [Scala] fix package object inaccessible from source code by @chaokunyang in https://github.com/alipay/fury/pull/1181
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.3.1...v0.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-09-fury_0_4_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-09-fury_0_4_1_release.md
new file mode 100644
index 0000000000..167c1b5d0b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2023-12-09-fury_0_4_1_release.md
@@ -0,0 +1,50 @@
+---
+slug: fury_0_4_1_release
+title: Fury 0.4.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+:::info
+
+**该版本发布于 Fury 进入 Apache 孵化器之前,因此属于非 ASF 发布。**
+
+:::
+
+I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format. Please try it out and share your feedbacks with us.
+
+作者:[chaokunyang](https://github.com/chaokunyang)
+
+I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format too.
+
+## 亮点
+
+- [Rust] Support row format
+- [C++] Support iterable types for RowEncoder
+- [JavaScript] Support partial record
+- [Java] Fix JIT error in corner case, now Fury can generate serializer for every class
+
+## 变更列表
+
+- [Doc] Refine issue template by a yaml form by @chaokunyang in https://github.com/alipay/fury/pull/1185
+- [C++] Fix ownership problem for children writers by visitor by @PragmaTwice in https://github.com/alipay/fury/pull/1193
+- [C++] Remove useless fields and macro in logging by @PragmaTwice in https://github.com/alipay/fury/pull/1195
+- [Doc] add docs for java FuryBuilder #1188 by @mof-dev-3 in https://github.com/alipay/fury/pull/1192
+- [Rust] support row format by @wangweipeng2 in https://github.com/alipay/fury/pull/1196
+- [C++] Add RowEncoder wrapper to RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1200
+- [Rust] Row support more types by @wangweipeng2 in https://github.com/alipay/fury/pull/1202
+- [Rust] Support row map by @wangweipeng2 in https://github.com/alipay/fury/pull/1206
+- [C++] update bazel version from 4.2 to 6.3.2 by @chaokunyang in https://github.com/alipay/fury/pull/1204
+- [JavaScript] Support partial record by @wangweipeng2 in https://github.com/alipay/fury/pull/1208
+- [Java] fix package access level class accessor jit by @chaokunyang in https://github.com/alipay/fury/pull/1210
+- [JavaScript] Fix register a description twice will get undefined serializer by @bytemain in https://github.com/alipay/fury/pull/1211
+- [C++] Support iterable types in RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1212
+- [C++] Support iterable types for RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1215
+- [Python] Refine py register class method by @chaokunyang in https://github.com/alipay/fury/pull/1218
+- [Java] Clear extRegistry.getClassCtx if generate serializer class failed in https://github.com/alipay/fury/pull/1221
+
+## 新贡献者
+
+- @bytemain made their first contribution in https://github.com/alipay/fury/pull/1211
+
+**完整更新日志**:https://github.com/alipay/fury/compare/v0.4.0...v0.4.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-04-25-fury_blazing_fast_multiple_language_serialization_framework.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-04-25-fury_blazing_fast_multiple_language_serialization_framework.md
new file mode 100644
index 0000000000..d6e867e101
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-04-25-fury_blazing_fast_multiple_language_serialization_framework.md
@@ -0,0 +1,217 @@
+---
+slug: fury_blazing_fast_multiple_language_serialization_framework
+title: "Apache Fury:由 JIT 与零拷贝驱动的超高速多语言序列化框架"
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury (现已经改名为 Fory) 是一个由 JIT 动态编译与零拷贝能力驱动的多语言序列化框架,提供 Java、Python、Golang、JavaScript、Rust、C++ 多语言 SDK。它支持多语言对象自动序列化,在性能上相比 JDK 序列化最高可提升 170 倍。
+
+<!--truncate-->
+
+Fury 仓库 GitHub 地址:https://github.com/apache/fury
+
+<img alt="fury banner" src="/img/fury_banner.png" />
+
+## 背景
+
+序列化是系统通信的基础组件,广泛用于大数据、AI 框架、云原生等分布式系统。**进程间、语言间、节点间的数据传输,以及对象持久化、状态读写与复制**,都离不开序列化。序列化的性能与易用性,直接影响系统的**运行效率与开发效率**。
+
+像 [Protobuf](https://github.com/protocolbuffers/protobuf)、[FlatBuffers](https://github.com/google/flatbuffers) 这类静态序列化框架,无法直接用于跨语言[应用开发](https://en.wikipedia.org/wiki/Domain-driven_design),因为它们**不支持共享引用与多态**,并且需要**提前生成代码**。
+
+而 JDK serialization、Kryo、Fst、Hessian、Pickle 这类动态序列化框架虽有易用性和动态性,但**不支持跨语言**,同时还存在明显的**性能瓶颈**,不适合高吞吐、低时延、大规模数据传输场景。
+
+因此,我们开发并开源了全新的多语言序列化框架 **Apache Fury**(https://github.com/apache/fury)。借助**高度优化的序列化基础能力、JIT 动态编译与零拷贝**技术,Fury 同时具备高性能与高易用性,可**自动完成任意对象的跨语言序列化**,并提供极致性能。
+
+<p>
+<img width="44%" alt="serialization" src="/img/case1.png" />
+<img width="44%" alt="deserialization" src="/img/case2.png" />
+</p>
+
+## 什么是 Apache Fury?
+
+Apache Fury 是一个由 JIT 动态编译与零拷贝驱动的多语言序列化框架,兼具超高性能与易用性:
+
+- **多语言支持**:Java、Python、C++、Golang、JavaScript、Rust,并且可轻松扩展到更多语言。
+- **高度优化的序列化基础能力**。
+- **零拷贝**:支持 [out-of-band](https://peps.python.org/pep-0574/) 序列化与 off-heap 读写。
+- **高性能**:以异步多线程方式在运行时使用 JIT 生成序列化代码,可优化方法内联、代码缓存、死代码消除、哈希查找、元信息写入与内存读写。
+- **多协议设计**:同时具备动态序列化的灵活性与静态序列化的跨语言能力。
+ - **Java Serialization**:
+ - 可直接替换 JDK、Kryo、Hessian。无需改动用户代码,最高可获得 170 倍性能提升,显著提升 RPC、数据传输与对象持久化效率。
+ - 100% 兼容 JDK,原生支持 `writeObject`、`readObject`、`writeReplace`、`readResolve`、`readObjectNoData` 等 JDK 自定义序列化方法。
+ - **跨语言对象图序列化**:
+ - 自动跨语言序列化任意对象,不需要 IDL、Schema 编译或对象/协议转换代码。
+ - 跨语言序列化共享引用/循环引用,避免数据重复与递归错误。
+ - 支持对象多态,可同时序列化多个子类型对象。
+ - **行式格式(Row format)**
+ - 面向缓存友好的二进制随机访问格式,支持跳过反序列化与惰性反序列化,适用于高性能计算与大规模数据传输。
+ - 支持自动转换为 Apache Arrow。
+
+## 核心序列化能力
+
+虽然不同场景需要不同协议,但序列化底层操作高度相似。
+
+因此,Fury 定义并实现了一套**基础序列化能力**,用于快速构建新的多语言序列化协议,并通过 JIT 加速与其他优化获得统一性能收益。
+
+同时,任何一个协议在基础能力层面的优化,也会反哺其他协议。
+
+### 序列化基础能力(Serialization Primitives)
+
+常见序列化操作包括:
+
+- Bitmap 操作
+- 数值编码与解码
+- int/long 压缩
+- 字符串创建与拷贝
+- 字符串编码:ASCII、UTF8、UTF16
+- 内存拷贝
+- 数组拷贝与压缩
+- 元信息编码、压缩与缓存
+
+Fury 在各语言中使用 SIMD 等高级能力,将这些基础操作做到极致高效。
+
+### 零拷贝序列化
+
+在大规模数据传输中,对象图里通常包含多个二进制缓冲区。某些序列化框架会把这些二进制数据写入中间缓冲区,带来多次高成本内存拷贝。Fury 借鉴 [pickle5](https://peps.python.org/pep-0574/)、Ray 与 Apache Arrow,实现了 **out-of-band 序列化协议**,可**捕获对象图中的全部二进制缓冲区**,避免这些中间拷贝。
+
+下图展示了零拷贝序列化流程:
+
+<img alt="fury zero copy" src="/img/fury_zero_copy.jpeg" />
+
+当前 Fury 支持以下零拷贝类型:
+
+- Java:所有基础类型数组、`ByteBuffer`、`ArrowRecordBatch`、`VectorSchemaRoot`
+- Python:array 模块的所有数组、numpy 数组、`pyarrow.Table`、`pyarrow.RecordBatch`
+- Golang:byte slice
+
+你也可以基于 Fury 接口扩展新的零拷贝类型。
+
+### JIT 动态编译加速
+
+自定义类型对象通常携带大量类型信息。Fury 利用这些信息在运行时生成高效序列化代码,将大量运行时操作前移到动态编译阶段。通过更充分的方法内联、更优代码缓存、减少虚函数调用、条件分支、哈希查找、元信息写入与内存读写,序列化性能可大幅提升。
+
+在 Java 里,Fury 实现了**运行时代码生成框架**,并定义了[算子表达式 IR](https://en.wikipedia.org/wiki/Intermediate_representation)。随后,Fury 基于运行时对象的泛型信息做类型推断,构建描述序列化逻辑的表达式树。
+
+代码生成框架会从表达式树生成高效 Java 代码,再交给 [Janino](https://github.com/janino-compiler/janino) 编译为字节码,并加载到用户 ClassLoader 或 Fury 创建的 ClassLoader 中,最终由 Java JIT 编译为高效机器码。
+
+由于 JVM JIT 会跳过过大的方法编译与内联,Fury 还实现了优化器,可**递归拆分大方法为小方法**,确保代码尽可能被编译并内联。
+
+<img alt="fury java codegen" src="/img/fury_java_codegen.png" />
+
+Fury 还支持**异步多线程编译**:在后台线程池执行代码生成任务,在 JIT 完成前使用解释模式,避免序列化抖动,用户无需专门做对象预热序列化。
+
+Python 与 JavaScript 的 codegen 思路类似。直接生成源码也更利于开发调试与问题排查。
+
+由于序列化需要深度操作各语言对象,而语言本身通常不暴露内存模型底层 API,native 方法调用成本也较高,所以无法直接用 [LLVM](https://www.llvm.org/) 构建统一的序列化 JIT 框架。为此,我们在每种语言中分别实现了专用 codegen 框架。
+
+### 静态代码生成
+
+虽然 JIT 能显著提升序列化效率,并基于运行时数据分布生成更优代码,但像 C++ 这类语言没有反射、没有虚拟机,也缺少内存模型底层 API,无法通过 JIT 动态生成序列化代码。
+
+在这类场景中,Fury 正在实现 **AOT codegen 框架**:根据对象 Schema 静态生成序列化代码,并通过生成的序列化器自动处理对象。对于 Rust,则通过 Rust 宏静态生成代码。
+
+### 缓存优化
+
+在序列化自定义类型时,Fury 会对字段进行**重排序**,让同类型字段连续写入,以更好命中数据缓存与 CPU 指令缓存。
+
+基础类型字段会按**字节大小降序**写入。这样在起始地址对齐时,后续读写操作也更可能落在内存对齐位置,CPU 执行效率更高。
+
+## 多协议设计与实现
+
+基于 Fury core 提供的多语言序列化能力,我们已经构建了三类协议,分别面向不同场景:
+
+- **Java serialization**:面向纯 Java 序列化场景,最高可获得 170 倍性能提升;
+- **跨语言对象图序列化**:面向应用开发导向的多语言编程与高性能跨语言序列化;
+- **行式格式序列化**:面向 Apache Spark、Apache Flink、Apache Doris、Velox 等分布式计算引擎与特性框架。
+
+后续我们还会为更多核心场景新增协议。用户也可以基于 Fury 的序列化框架构建自己的协议。
+
+### Java 序列化
+
+Java 广泛用于**大数据、云原生、微服务与企业应用**。因此 Fury 在 Java 序列化上做了大量优化,可显著降低系统时延和服务器成本,并明显提升吞吐。实现亮点如下:
+
+- 超高性能:基于 Java 类型体系、JIT 编译与 Unsafe 底层操作,**Fury 相比 JDK 最高快 170 倍,相比 Kryo/Hessian 最高快 50~110 倍**。
+- **100% 兼容 JDK serialization API**:原生支持全部 JDK 自定义序列化方法 `writeObject`、`readObject`、`writeReplace`、`readResolve`、`readObjectNoData`,确保各种场景下的序列化正确性。Kryo 与 Hessian 在这类场景存在一定正确性问题。
+- **类型兼容性**:即使序列化端和反序列化端的类 Schema 不一致,也可正确反序列化。支持应用升级部署时独立增删字段。Fury 的类型兼容模式相比类型一致模式几乎无性能损失。
+- **元信息共享**:在同一上下文(如 TCP 连接)下跨多次序列化共享元信息(类名、字段名与字段类型等)。首次序列化时发送元信息,对端据此重建反序列化器;后续序列化可跳过重复元信息传输,降低网络流量并自动支持类型兼容。
+- **零拷贝支持**:支持 out-of-band 零拷贝与 off-heap 内存读写。
+
+### 跨语言对象图序列化
+
+Fury 的跨语言对象图序列化主要面向高动态性与高易用性场景。
+
+尽管 Protobuf、FlatBuffers 等框架支持跨语言序列化,但仍存在明显限制:
+
+- 需要**预定义 IDL 并静态生成代码**,动态性与灵活性不足;
+- 生成类**不符合面向对象设计**,无法附加业务行为,不适合作为跨语言应用开发中的领域对象;
+- **不支持多态**。面向对象编程通常通过接口调用子类方法,但这类框架支持有限。FlatBuffers 虽有 `Union`,Protobuf 虽有 `OneOf/Any`,但 API 在序列化与反序列化过程中都要显式判断对象类型,实质上不是真正的多态;
+- **不支持循环引用与共享引用**。用户需为领域对象单独定义一套 IDL,自行实现引用解析,并在各语言里编写领域对象与协议对象之间的转换代码。对象图越深,代码越复杂。
+
+针对以上问题,Fury 实现了跨语言对象图序列化协议,支持:
+
+- **自动跨多语言序列化任意对象**:只需在序列化端与反序列化端定义类,无需创建 IDL、无需 Schema 编译生成代码、无需编写转换逻辑,即可把一种语言的对象自动序列化为另一种语言对象。
+- **自动跨语言序列化共享引用与循环引用**。
+- **支持对象多态**,符合面向对象编程范式,可自动反序列化多个子类型对象,无需手工干预。
+- 同时支持 **out-of-band 零拷贝**。
+
+自动跨语言序列化示例:
+
+<img alt="xlang serialization example" src="/img/xlang_serialization_example.png" />
+
+### 行式格式(Row-format)
+
+在**高性能计算与大规模数据传输**场景中,数据序列化与传输往往是系统的**性能瓶颈**。若用户只需读取部分字段,或按对象某些字段过滤数据,完整反序列化会产生大量无谓开销。因此,Fury 提供了一种二进制数据结构,可在**二进制数据上直接读写,避免序列化/反序列化开销**。
+
+[Apache Arrow](https://arrow.apache.org/) 是标准化列式存储格式,支持二进制读写。但**列式格式并不适用于所有场景**。在线与流式计算中的数据天然按行组织,而列式引擎在涉及数据更新、Hash/Join/Aggregation 操作时也会使用行格式。
+
+然而当前并无统一行格式标准。**Spark/Flink/Doris/Velox 等计算引擎都定义了各自行格式,不支持跨语言且仅供内部使用**。FlatBuffers 虽支持**惰性反序列化**,但要求静态编译 Schema IDL 且需手动管理偏移量,难以应对复杂场景。
+
+因此,Fury 参考 [Spark Tungsten](https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html) 与 [Apache Arrow format](https://arrow.apache.org/docs/format/Columnar.html),实现了**二进制行式格式**,支持**随机访问与局部反序列化**。目前 Java/Python/C++ 版本均已实现,可直接在二进制数据上读写以规避全部序列化开销,并支持自动转换为 Arrow 格式。
+
+<img alt="xlang serialization example" src="/img/row_format.png" />
+
+这种格式采用紧凑存储、字节对齐且缓存友好,可显著加速读写。通过避免反序列化,还能降低 Java GC 压力与 Python 运行开销。针对 Python 的动态特性,Fury 数据结构实现了 `getattr`、`getitem`、`slice` 等特殊方法,保证其行为与 Python `dataclass`、`list`、`object` 一致,用户几乎无感知。
+
+## 性能对比
+
+下面给出一些 Java 序列化性能数据:标题中含 “compatible” 的图表示类型兼容模式(支持前向/后向兼容)下的数据;标题中不含 “compatible” 的图表示无类型兼容模式(要求序列化端和反序列化端类 Schema 完全一致)。
+
+为保证公平,测试中对所有框架都关闭了零拷贝特性。
+
+<p>
+<img width="44%" alt="serialization" src="/img/case1.png" />
+<img width="44%" alt="deserialization" src="/img/case2.png" />
+</p>
+
+<p>
+<img width="44%" alt="bench_serialize_compatible_MEDIA_CONTENT_to_array_tps" src="/img/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png" />
+<img width="44%" alt="bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps" src="/img/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png" />
+</p>
+
+<p>
+<img width="44%" alt="bench_serialize_STRUCT_to_array_tps" src="/img/benchmarks/serialization/bench_serialize_STRUCT_to_array_tps.png" />
+<img width="44%" alt="bench_serialize_SAMPLE_to_array_tps" src="/img/benchmarks/serialization/bench_serialize_SAMPLE_to_array_tps.png" />
+</p>
+
+## 路线图
+
+- 元信息压缩、自动元信息共享与跨语言 Schema 兼容
+- 为 C++ 与 Golang 提供 AOT Framework 静态代码生成
+- 为 C++ 与 Rust 增加对象图序列化支持
+- 为 Golang、Rust、NodeJS 增加行式格式支持
+- 支持 Protobuf 兼容
+- 增加面向特征与知识图谱序列化的协议
+- 持续完善序列化基础设施,支撑更多新协议
+
+## 欢迎加入
+
+我们致力于把 Apache Fury 打造成开放、中立、鼓励热情与创新的社区项目。社区内开发与讨论全程开源透明,欢迎任何形式参与,包括但不限于提问、代码贡献、技术讨论等。
+
+期待收到你的想法与反馈,一起推动项目持续演进,打造更好的序列化框架。
+
+Fury 仓库 GitHub 地址:https://github.com/apache/fury
+
+官网:https://fury.apache.org
+
+欢迎提交 Issue、PR 和 Discussion。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-03-fury_0_5_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-03-fury_0_5_0_release.md
new file mode 100644
index 0000000000..6b41a7c89a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-03-fury_0_5_0_release.md
@@ -0,0 +1,172 @@
+---
+slug: fury_0_5_0_release
+title: Fury v0.5.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+我们很高兴宣布 Fury v0.5.0 正式发布。该版本在 Java、Golang、Python、JavaScript 等多语言上引入了大量改进、缺陷修复与新特性,进一步提升了 Fury 的性能、兼容性与开发体验。
+
+## 新功能
+
+### 规范
+
+- Introduced fury cross-language serialization specification (#1413, #1508)
+- Introduced xlang type mapping (#1468)
+- Introduced fury java specification (#1240)
+- Introduced meta string encoding specification (#1565, #1513, #1517)
+
+### Java
+
+- Support for compatible mode with GraalVM (#1586, #1587).
+- Support unexisted array/enum classes and enabled deserializeUnexistedClass by default (#1569, #1575).
+- meta string encoding algorithm in java (#1514, #1568, #1516, #1565)
+- Support meta string encoding for classname and package name (#1527)
+- native streaming mode deserialization (#1451, #1551)
+- native channel stream reader (#1483)
+- Support registration in thread safe fury (#1280)
+- Implement fury logger and remove slf4j library (#1485, #1494, #1506, #1492)
+- Support adjust logger level dynamically (#1557)
+- Support jdk proxy serialization for graalvm (#1379)
+- Specify JPMS module names (#1343)
+- Align string array to collection protocol v2 (#1228)
+
+### JavaScript
+
+- Align implementation to new Xlang protocol (#1487)
+- Implement Xlang map (#1549)
+- Implemented xlang map code generator (#1571)
+- Added magic number feature for better serialization control (#1550).
+- Support oneof (#1348)
+- create zero-copy buffer when convert (#1386)
+- Implement the collection protocol (#1337)
+- Implement Enum (#1321)
+- compress numbers (#1290)
+
+### C++
+
+- Support optional fields/elements in RowEncoder (#1223)
+- Support mapping types for RowEncodeTrait (#1247)
+
+### Golang
+
+- Implemented Fury meta string encoding algorithm (#1566).
+- concat meta string len with flags (#1517)
+
+## 增强改进
+
+### Java
+
+- Improved buffer growth strategy to support larger data sizes for serialization (#1582).
+- Performance optimizations for MetaStringDecoder and various serialization processes (#1568, #1511, #1493).
+- concat write classname flag with package name (#1523)
+- concat meta string len with flags (#1517)
+- fastpath for read/write small varint in range `[0,127]` (#1503)
+- optimize read float/double for jvm jit inline (#1472)
+- replace Guava's TypeToken with self-made (#1553)
+- Remove basic guava API usage (#1244)
+- optimize fury creation speed (#1511)
+- optimize string serialization by concat coder and length (#1486)
+- carry read objects when deserialization fail for better trouble shooting (#1420)
+- implement define_class insteadof using javaassist (#1422)
+- avoid recompilation when gc happens for memory pressure (#1411, #1585)
+- Fix immutable collection ref tracking (#1403)
+- reduce fury caller stack (#1496)
+- Extract BaseFury interface (#1382)
+- refine collection builder util (#1334)
+- disable async compilation for graalvm (#1222)
+- refine endian check code size in buffer (#1501)
+- generate list fori loop instead of iterator loop for list serialization (#1493)
+- Reduce unsafeWritePositiveVarLong bytecode size. (#1491)
+- Reduce unsafePutPositiveVarInt bytecode size. (#1490, #1489)
+- optimize read char/short jvm jit inline (#1471)
+- reduce code size of read long to optimize jvm jit inline (#1470)
+- reduce readInt/readVarInt code size for for jvm jit inline (#1469)
+- refactor readVarUint32 algorithm (#1462)
+- rewrite readVarUint64 algorithm (#1463)
+
+### JavaScript
+
+- Make PlatformBuffer available if has Buffer polyfill (#1373)
+- enhance performance 64bits number (#1320)
+- Refactor & Compress Long (#1313)
+- Improve tag write performance (#1241)
+- Add more methods for BinaryReader (#1231)
+- Implements tuple serializer (#1216)
+
+### Python
+
+- concat meta string len with flags (#1517)
+
+### 缺陷修复
+
+#### Java
+
+- Fix bytebuffer no such method error (#1580)
+- Prevent exception in ObjectArray.clearObjectArray() (#1573)
+- Fix slf4j on graalvm (#1432)
+- Fix illegal classname caused by negative hash (#1436)
+- Fix BigDecimal serializer (#1431)
+- Fix BigInteger serialization (#1479)
+- Fix type conflict in method split (#1371)
+- Fix CodeGen Name conflicts when omitting java.lang prefix #1363 (#1366)
+- Fix ClassLoader npe in loadOrGenCodecClass (#1346)
+- Fix big buffer trunc (#1402)
+- Make Blacklist detection is also performed when the Class is registered. (#1398)
+- avoid big object graph cause buffer take up too much memory (#1397)
+- Fix get static field by unsafe (#1380)
+- Fix javax package for accessor codegen (#1388)
+- Fix nested collection cast for scala/java (#1333)
+- Fix References within InvocationHandler (#1365)
+- Allow partial read of serialized size from `InputStream` (#1391)
+- add potential missing bean class-loader (#1381)
+- Fix polymorphic array serialization (#1324)
+- Fix nested collection num elements (#1306)
+- Fix collection init size typo (#1342)
+- Clear extRegistry.getClassCtx if generate serializer class failed (#1221)
+
+#### Rust
+
+- Fix memory errors caused by casting (#1372)
+- Fix incorrect cast (#1345)
+
+## Miscellaneous
+
+- Numerous code cleanups, refactorings, and internal improvements across all supported languages to enhance code quality
+ and maintainability.
+- Moved various utilities into more appropriate packages to improve code organization and readability (#1584, #1583,
+ #1578).
+- rename MemoryBuffer read/write/put/getType with read/write/put/getTypeNumber (#1480, #1464, #1505, #1500)
+- extract public Fury methods to BaseFury (#1467)
+- Optimize Class ID allocation. (#1406)
+- refine Collection util data structure (#1287) (#1288)
+- Improve Status by using unique_ptr (#1234)
+- Improve FormatTimePoint by removing sstream (#1233)
+- Drop optional chaining expression (#1338)
+
+## 新贡献者
+
+- @nandakumar131 made their first contribution in https://github.com/apache/fury/pull/1244
+- @vesense made their first contribution in https://github.com/apache/fury/pull/1260
+- @LiangliangSui made their first contribution in https://github.com/apache/fury/pull/1294
+- @liuxiaocs7 made their first contribution in https://github.com/apache/fury/pull/1312
+- @mtf90 made their first contribution in https://github.com/apache/fury/pull/1343
+- @bowin made their first contribution in https://github.com/apache/fury/pull/1353
+- @cn-at-osmit made their first contribution in https://github.com/apache/fury/pull/1366
+- @Maurice-Betzel made their first contribution in https://github.com/apache/fury/pull/1381
+- @phogh made their first contribution in https://github.com/apache/fury/pull/1391
+- @laglangyue made their first contribution in https://github.com/apache/fury/pull/1415
+- @Munoon made their first contribution in https://github.com/apache/fury/pull/1467
+- @pixeeai made their first contribution in https://github.com/apache/fury/pull/1559
+- @huisman6 made their first contribution in https://github.com/apache/fury/pull/1572
+- @tommyettinger made their first contribution in https://github.com/apache/fury/pull/1573
+- @qingoba made their first contribution in https://github.com/apache/fury/pull/1566
+
+## 致谢
+
+Thanks @chaokunyang @theweipeng @PragmaTwice @LiangliangSui @nandakumar131 @Munoon @qingoba @vesense @liuxiaocs7 @mtf90 @bowin @cn-at-osmit @Maurice-Betzel @phogh @laglangyue @tommyettinger @huisman6 @pixeeai
+
+衷心感谢所有为本次发布付出努力的贡献者。无论是代码贡献、
+文档改进,还是问题反馈,都非常宝贵。
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.4.1...v0.5.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-06-metastring-space-efficient_encoding_for_string.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-06-metastring-space-efficient_encoding_for_string.md
new file mode 100644
index 0000000000..984c14c92b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-06-metastring-space-efficient_encoding_for_string.md
@@ -0,0 +1,179 @@
+---
+slug: fury_meta_string_37_5_percent_space_efficient_encoding_than_utf8
+title: "Meta String:Fury 序列化中比 UTF-8 节省 37.5% 空间的字符串编码"
+authors: [chaokunyang]
+tags: [fury]
+---
+
+## 背景
+
+在 RPC/序列化系统中,我们经常需要在进程之间传输 **`namespace/path/filename/fieldName/packageName/moduleName/className/enumValue`** 这类字符串。
+
+这些字符串大多是 ASCII。为了跨进程传输,通常会采用 UTF-8 编码。UTF-8 下每个字符通常占 1 个字节,这在空间利用率上并不理想。
+
+如果进一步观察,会发现高频字符其实集中在**小写字母、`.`、`$`、`_`**,可表示在更小的数值区间 **`0~32`**。而 1 个字节可表示 `0~255`,大量高位比特被浪费,这个开销并不小。在动态序列化框架里,这类元信息(meta)相对真实业务数据会占据可观成本。
+
+因此,我们在 Fury (现已经改名为 Fory) 中提出了新的字符串编码算法——**meta string encoding**。它把多数字符从 UTF-8 的 `8` bits 编码降为 `5` bits,可带来相对 UTF-8 **37.5% 的空间节省**。
+
+## Meta String 简介
+
+meta string 编码主要用于编码**字段名、namespace、packageName、className、path、filename** 等元字符串。
+
+这类字符串的集合通常是可枚举且有限的,因此编码性能不是首要矛盾(编码结果可以缓存)。
+
+meta string 对每个字符使用 `5/6` bits,而不是 UTF-8 的 `8` bits。由于位宽更低,相比 UTF-8 可实现**37.5% 空间节省**,编码后的二进制体积更小、存储占用更低、网络传输更快。
+
+meta string 规范细节可参考:[Fury xlang serialization specification](https://fury.apache.org/docs/docs/specification/fury_xlang_serialization_spec/#meta-string)。
+
+## 编码算法
+
+字符串二进制编码算法:
+
+| Algorithm | Pattern | Description |
+| ------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| LOWER_SPECIAL | `a-z._$\|` | 每个字符用 5 bits 写入,`a-z`: `0b00000~0b11001`,`._$\|`: `0b11010~0b11101`。在起始位额外写入 1 bit 标志,表示是否需要去掉最后一个字符(因为最后一个字节最多可能有 7 个冗余 bit,`1` 表示需要去掉最后一个字符) |
+| LOWER_UPPER_DIGIT_SPECIAL | `a-zA-Z0~9._` | 每个字符用 6 bits 写入,`a-z`: `0b00000~0b11001`,`A-Z`: `0b11010~0b110011`,`0~9`: `0b110100~0b111101`,`._`: `0b111110~0b111111`。同样在起始位额外写入 1 bit 标志,表示是否需要去掉最后一个字符(因为最后一个字节最多可能有 7 个冗余 bit,`1` 表示需要去掉最后一个字符) |
+| UTF-8 | any chars | UTF-8 编码 |
+
+如果采用 `LOWER_SPECIAL/LOWER_UPPER_DIGIT_SPECIAL`,编码数据里必须携带 “strip last char” 标志。因为每个字符按 `5/6` bits 编码,最后一个字符后可能残留 `1~7` bits 未被使用,这些位可能导致多读出一个字符,需要在解码时去掉。
+
+下面是 Java 编码代码片段,详见 [`org.apache.fury.meta.MetaStringEncoder#encodeGeneric(char[], int)`](https://github.com/apache/fury/blob/93800888595065b2690fec093ab0cbfd6ac7dedc/java/fury-core/src/main/java/org/apache/fury/meta/MetaStringEncoder.java#L235):
+
+```java
+private byte[] encodeGeneric(char[] chars, int bitsPerChar) {
+ int totalBits = chars.length * bitsPerChar + 1;
+ int byteLength = (totalBits + 7) / 8; // Calculate number of needed bytes
+ byte[] bytes = new byte[byteLength];
+ int currentBit = 1;
+ for (char c : chars) {
+ int value =
+ (bitsPerChar == 5) ? charToValueLowerSpecial(c) : charToValueLowerUpperDigitSpecial(c);
+ // Encode the value in bitsPerChar bits
+ for (int i = bitsPerChar - 1; i >= 0; i--) {
+ if ((value & (1 << i)) != 0) {
+ // Set the bit in the byte array
+ int bytePos = currentBit / 8;
+ int bitPos = currentBit % 8;
+ bytes[bytePos] |= (byte) (1 << (7 - bitPos));
+ }
+ currentBit++;
+ }
+ }
+ boolean stripLastChar = bytes.length * 8 >= totalBits + bitsPerChar;
+ if (stripLastChar) {
+ bytes[0] = (byte) (bytes[0] | 0x80);
+ }
+ return bytes;
+}
+
+private int charToValueLowerSpecial(char c) {
+ if (c >= 'a' && c <= 'z') {
+ return c - 'a';
+ } else if (c == '.') {
+ return 26;
+ } else if (c == '_') {
+ return 27;
+ } else if (c == '$') {
+ return 28;
+ } else if (c == '|') {
+ return 29;
+ } else {
+ throw new IllegalArgumentException("Unsupported character for LOWER_SPECIAL encoding: " + c);
+ }
+}
+
+private int charToValueLowerUpperDigitSpecial(char c) {
+ if (c >= 'a' && c <= 'z') {
+ return c - 'a';
+ } else if (c >= 'A' && c <= 'Z') {
+ return 26 + (c - 'A');
+ } else if (c >= '0' && c <= '9') {
+ return 52 + (c - '0');
+ } else if (c == specialChar1) {
+ return 62;
+ } else if (c == specialChar2) {
+ return 63;
+ } else {
+ throw new IllegalArgumentException(
+ "Unsupported character for LOWER_UPPER_DIGIT_SPECIAL encoding: " + c);
+ }
+}
+```
+
+下面是 Golang 解码代码片段,详见 [`go/fury/meta/meta_string_decoder.go:70`](https://github.com/apache/fury/blob/93800888595065b2690fec093ab0cbfd6ac7dedc/go/fury/meta/meta_string_decoder.go#L70):
+
+```go
+func (d *Decoder) decodeGeneric(data []byte, algorithm Encoding) ([]byte, error) {
+ bitsPerChar := 5
+ if algorithm == LOWER_UPPER_DIGIT_SPECIAL {
+ bitsPerChar = 6
+ }
+ // Retrieve 5 bits every iteration from data, convert them to characters, and save them to chars
+ // "abc" encodedBytes as [00000] [000,01] [00010] [0, corresponding to three bytes, which are 0, 68, 0
+ // Take the highest digit first, then the lower, in order
+
+ // here access data[0] before entering the loop, so we had to deal with empty data in Decode method
+ // totChars * bitsPerChar <= totBits < (totChars + 1) * bitsPerChar
+ stripLastChar := (data[0] & 0x80) >> 7
+ totBits := len(data)*8 - 1 - int(stripLastChar)*bitsPerChar
+ totChars := totBits / bitsPerChar
+ chars := make([]byte, totChars)
+ bitPos, bitCount := 6, 1 // first highest bit indicates whether strip last char
+ for i := 0; i < totChars; i++ {
+ var val byte = 0
+ for i := 0; i < bitsPerChar; i++ {
+ if data[bitCount/8]&(1<<bitPos) > 0 {
+ val |= 1 << (bitsPerChar - i - 1)
+ }
+ bitPos = (bitPos - 1 + 8) % 8
+ bitCount++
+ }
+ ch, err := d.decodeChar(val, algorithm)
+ if err != nil {
+ return nil, err
+ }
+ chars[i] = ch
+ }
+ return chars, nil
+}
+```
+
+## 选择最优编码
+
+对于绝大多数小写字符,meta string 会用 `5` bits 编码每个字符。
+
+当字符串包含大写字符时,meta string 会先尝试插入标记把字符串转为小写表示,然后把该结果与 `6` bits 编码的字节数做比较,选择编码后体积更小的方案。
+
+常见编码选择策略如下:
+
+| Encoding Flag | Pattern | Encoding Algorithm |
+| ------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| LOWER_SPECIAL | every char is in `a-z._\|` | `LOWER_SPECIAL` |
+| FIRST_TO_LOWER_SPECIAL | every char is in `a-z._` except first char is upper case | 把首字母大写字符转为小写后,使用 `LOWER_SPECIAL` |
+| ALL_TO_LOWER_SPECIAL | every char is in `a-zA-Z._` | 把每个大写字符替换为 `\|` + `lower case`,再使用 `LOWER_SPECIAL`;若编码结果比 `LOWER_UPPER_DIGIT_SPECIAL` 更小,则选该方案 |
+| LOWER_UPPER_DIGIT_SPECIAL | every char is in `a-zA-Z._` | 若编码结果比 `FIRST_TO_LOWER_SPECIAL` 更小,则使用 `LOWER_UPPER_DIGIT_SPECIAL` |
+| UTF8 | any utf-8 char | 使用 `UTF-8` 编码 |
+| Compression | any utf-8 char | 无损压缩 |
+
+对于 package name、module name、namespace,通常会用 `LOWER_SPECIAL`。`ALL_TO_LOWER_SPECIAL` 也可用,因为它在不增加位宽的前提下可表示与 `LOWER_SPECIAL` 相同的字符,同时还能支持大写字母。
+
+对于 className,通常会用 `FIRST_TO_LOWER_SPECIAL`。如果包含多个大写字符,则使用 `ALL_TO_LOWER_SPECIAL`;若字符串含数字,则会使用 `LOWER_UPPER_DIGIT_SPECIAL`。
+
+最后,若字符串包含 `a-z0-9A-Z` 范围外字符,则回退到 UTF-8。
+
+## 联合编码 Encoding Flags 与 Data
+
+- 可以根据场景把 `flags + data` 联合编码:例如用首字节 3 bits 存 flags,其余字节存数据。这样做在某些情况下很有价值,因为末字节常有空洞位,把 flags 放进去不一定会增加序列化字节数。
+- 也可以在 header 中统一编码这些 flags 以及 encoded size 等其他元信息,Fury 采用的是这种做法,参考:https://github.com/apache/fury/pull/1556
+
+## 基准测试
+
+对于字符串 `org.apache.fury.benchmark.data`,UTF-8 编码需要 `30` bytes,Fury meta string 仅需 `19` bytes。
+对于字符串 `MediaContent`,UTF-8 编码需要 `12` bytes,Fury meta string 仅需 `9` bytes。
+
+```java
+// utf8 use 30 bytes, we use only 19 bytes
+assertEquals(encoder.encode("org.apache.fury.benchmark.data").getBytes().length, 19);
+// utf8 uses 12 bytes, we use only 9 bytes.
+assertEquals(encoder.encode("MediaContent").getBytes().length, 9);
+```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-28-fury_0_5_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-28-fury_0_5_1_release.md
new file mode 100644
index 0000000000..91dbc7041c
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-05-28-fury_0_5_1_release.md
@@ -0,0 +1,58 @@
+---
+slug: fury_0_5_1_release
+title: Fury 0.5.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.5.1 版本发布。 这是一个小版本,包含来自 7 位贡献者的[36 PR](https://github.com/apache/fury/compare/v0.5.0...v0.5.1)。 See the Install Page to learn how to get the libraries for your platform.
+
+## 功能特性
+
+- feat(spec): remove list/map header from type meta spec by @chaokunyang in https://github.com/apache/fury/pull/1590
+- perf(java): Reduce performance regression caused by deleteCharAt by @LiangliangSui in https://github.com/apache/fury/pull/1591
+- feat(java): type meta encoding for java by @chaokunyang in https://github.com/apache/fury/pull/1556 and https://github.com/apache/fury/pull/1601
+- feat(sepc): update type meta field info spec by @chaokunyang in https://github.com/apache/fury/pull/1603
+- feat(javascript): add data to description util by @bytemain in https://github.com/apache/fury/pull/1609
+- feat(java): Support CopyOnWriteArrayListSerializer by @MrChang0 in https://github.com/apache/fury/pull/1613
+- feat(java): add blocked stream utils by @chaokunyang in https://github.com/apache/fury/pull/1617
+- feat(go/java): Add ASCII check before meta string encoding by @jasonmokk in https://github.com/apache/fury/pull/1620
+- feat(java): register old version guava collect by @MrChang0 in https://github.com/apache/fury/pull/1622
+- feat(java): support deserialization ignoreEnumDeserializeError by @157152688 in https://github.com/apache/fury/pull/1623
+- feat(java): add set serializer for concurrent set by @MrChang0 in https://github.com/apache/fury/pull/1616
+- feat(java): add custom serializer register in case of special serializer ctr by @MrChang0 in https://github.com/apache/fury/pull/1625
+- feat(java): remove soft/weak ref values from thread safe fury by @chaokunyang in https://github.com/apache/fury/pull/1639
+- refactor(java): Remove Guava's Collection usages by @Munoon in https://github.com/apache/fury/pull/1611 and https://github.com/apache/fury/pull/1614
+- refactor(java): replace Guava's string utility methods with own implementation by @Munoon in https://github.com/apache/fury/pull/1624
+
+## 缺陷修复
+
+- fix(java): compatible low version guava by @MrChang0 in https://github.com/apache/fury/pull/1593 and https://github.com/apache/fury/pull/1594
+- fix(java): fix getClassDef thead safety by @chaokunyang in https://github.com/apache/fury/pull/1597
+- fix(java): remove maven groupId change by @chaokunyang in https://github.com/apache/fury/pull/1602
+- fix(java): make slf4j provided by @chaokunyang in https://github.com/apache/fury/pull/1605
+- fix(java): clear serializer for collection/map by @chaokunyang in https://github.com/apache/fury/pull/1606
+- fix(java): fix TypeRef getSubType by @chaokunyang in https://github.com/apache/fury/pull/1608
+- fix(java): fix fastutil Object2ObjectOpenHashMap serialization by @chaokunyang in https://github.com/apache/fury/pull/1618
+- fix(java): subclass without fields will encode superclass by @MrChang0 in https://github.com/apache/fury/pull/1626
+- fix(java): fix wildcard capturer capture NullPointerException by @chaokunyang in https://github.com/apache/fury/pull/1637
+- fix(java): fix abstract collection elems same type serialization by @chaokunyang in https://github.com/apache/fury/pull/1641
+- fix(java): ThreadPoolFury#factoryCallback don't work when create new classLoaderFuryPooled by @MrChang0 in https://github.com/apache/fury/pull/1628
+- fix(go/java): Enhance ASCII check in meta string encoding by @jasonmokk in https://github.com/apache/fury/pull/1631
+
+## 杂项
+
+- chore(java): move tests to meta/reflect pkg by @chaokunyang in https://github.com/apache/fury/pull/1592
+- chore(java): make enum serializer as an upper level class by @chaokunyang in https://github.com/apache/fury/pull/1598
+- chore: bump dev version to 0.6.0 by @chaokunyang in https://github.com/apache/fury/pull/1599
+- chore: Fury header add language field by @LiangliangSui in https://github.com/apache/fury/pull/1612
+- chore(java): rename deserializeUnexistentEnumValueAsNull to deserializeNonexistentAsNull by @chaokunyang in https://github.com/apache/fury/pull/1634
+- chore(java): remove gpg pinentry-mode by @chaokunyang in https://github.com/apache/fury/pull/1636
+
+## 新贡献者
+
+- @MrChang0 made their first contribution in https://github.com/apache/fury/pull/1594
+- @jasonmokk made their first contribution in https://github.com/apache/fury/pull/1620
+- @157152688 made their first contribution in https://github.com/apache/fury/pull/1623
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.5.0...v0.5.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-07-23-fury_0_6_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-07-23-fury_0_6_0_release.md
new file mode 100644
index 0000000000..5f63a231c8
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-07-23-fury_0_6_0_release.md
@@ -0,0 +1,143 @@
+---
+slug: fury_0_6_0_release
+title: Fury 0.6.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.6.0 版本发布。 这是一个重要版本,包含来自 12 位贡献者的[35 PR](https://github.com/apache/fury/compare/v0.5.1...v0.6.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+In this release, we introduced a scoped meta share mode for schema evolution in java and enabled it by default when `CompatibleMode` is set to `Compatible`:
+
+- This mode is **50%** faster than previous KV compatible mode, and only **1/6** size of serialized payload than before.
+- It's **4x** faster than protobuf, less than **1/2** serialized size of protobuf for complex object.
+
+<p>
+<img width="44%" alt="Perfomance" src="/img/20240723/perf.png" />
+<img width="44%" alt="Size" src="/img/20240723/size.png" />
+</p>
+
+Protobuf/JSON will write message fields meta and values in a KV layout, so when serializzing a list of message, they will have two issues:
+
+- Write meta multiple times even those message are the same type.
+- KV layout is dispersive, which is not friendly for compression.
+
+The meta share mode will write field name&type meta of a struct only once for multiple objects of same type, which will save space and improve performance comparedto protobuf.
+
+With meta share, we can write field name&type meta of a struct only once for multiple objects of same type, which will save space and improve performance comparedto protobuf. And we can also encode the meta into binary in advance, and use one memory copy to write it which will be much faster.
+
+### 序列化数据
+
+```java
+ public static class NumericStruct {
+ public int f1;
+ public int f2;
+ public int f3;
+ public int f4;
+ public int f5;
+ public int f6;
+ public int f7;
+ public int f8;
+
+ public static NumericStruct build() {
+ NumericStruct struct = new NumericStruct();
+ struct.f1 = 1;
+ struct.f2 = 2;
+ struct.f3 = 3;
+ struct.f4 = 4;
+ struct.f5 = 5;
+ struct.f6 = 6;
+ struct.f7 = 7;
+ struct.f8 = 8;
+ return struct;
+ }
+ }
+
+ public static class NumericStructList {
+ public List<NumericStruct> list;
+
+ public static NumericStructList build() {
+ NumericStructList structList = new NumericStructList();
+ structList.list = new ArrayList<>(1000);
+ for (int i = 0; i < 1000; i++) {
+ structList.list.add(NumericStruct.build());
+ }
+ return structList;
+ }
+```
+
+### 结果
+
+Performance:
+
+```
+Benchmark Mode Cnt Score Error Units
+fury_deserialize thrpt 30 49667.900 ± 3004.061 ops/s
+fury_kv_compatible_deserialize thrpt 30 33014.595 ± 3716.199 ops/s
+fury_kv_compatible_serialize thrpt 30 23915.260 ± 3968.119 ops/s
+fury_serialize thrpt 30 63146.826 ± 2930.505 ops/s
+protobuf_deserialize thrpt 30 14156.610 ± 685.272 ops/s
+protobuf_serialize thrpt 30 10060.293 ± 706.064 ops/s
+```
+
+Size:
+
+| Lib | Serialized Payload Size |
+| ---------- | ----------------------- |
+| fury | 8077 |
+| furystrict | 8009 |
+| furykv | 48028 |
+| protobuf | 18000 |
+
+## 功能特性
+
+- feat(java): support nonexistent class deserialization in meta share mode by @chaokunyang in https://github.com/apache/fury/pull/1646
+- feat(java): scoped meta share mode for type forward/backward compaibility by @chaokunyang in https://github.com/apache/fury/pull/1660
+- feat(java): support meta compression by Deflater by @chaokunyang in https://github.com/apache/fury/pull/1663
+- perf(java): Add ClassInfo ClassBytes generation conditions. by @LiangliangSui in https://github.com/apache/fury/pull/1667
+- feat(javascript): use TextDecoder to decode buffer by @bytemain in https://github.com/apache/fury/pull/1699
+- feat(Python): meta string encoding algorithm in Python by @pandalee99 in https://github.com/apache/fury/pull/1702
+- feat(C++): String detection is performed using SIMD techniques by @pandalee99 in https://github.com/apache/fury/pull/1720
+- feat(C++): The use of SIMD accelerated to implement and optimize utf16 utf8 by @pandalee99 in https://github.com/apache/fury/pull/1732
+- feat(java): enable scoped meta share for compatible mode by default by @chaokunyang in https://github.com/apache/fury/pull/1733
+- perf(java): optimize scoped meta share mode perf by @chaokunyang in https://github.com/apache/fury/pull/1734
+
+## 缺陷修复
+
+- chore(doc): fix example by @wangjie-fourth in https://github.com/apache/fury/pull/1657
+- fix(java): fix scala object type codegen by @chaokunyang in https://github.com/apache/fury/pull/1659
+- fix(java): Fix header offset issue in MetaStringBytes hashcode by @LiangliangSui in https://github.com/apache/fury/pull/1668
+- fix(java): return fury to pooled which get from by @MrChang0 in https://github.com/apache/fury/pull/1697
+- fix(doc): codestyle version in python by @pandalee99 in https://github.com/apache/fury/pull/1706
+- fix(java): fix nested map serialization codegen by @chaokunyang in https://github.com/apache/fury/pull/1713
+- fix(java): fix fastjson object serialization by @chaokunyang in https://github.com/apache/fury/pull/1717
+
+## 其他改进
+
+- chore: Add IssueNavigationLink and icon for IDEA by @lvshaokang in https://github.com/apache/fury/pull/1665
+- chore(rust): resolve deprecate warnings by @waynexia in https://github.com/apache/fury/pull/1662
+- chore(doc): fix doc example code by @wangjie-fourth in https://github.com/apache/fury/pull/1666
+- chore(rust): Setup rustfmt and toolchain for rust by @Xuanwo in https://github.com/apache/fury/pull/1677
+- chore(rust): Make rust clippy happy by @Xuanwo in https://github.com/apache/fury/pull/1678
+- chore(doc): add incubating DISCLAIMER by @chaokunyang in https://github.com/apache/fury/pull/1681
+- chore(java): Update github URL in IntelliJ vcs.xml by @pjfanning in https://github.com/apache/fury/pull/1689
+- ci: fix ci error by @LiangliangSui in https://github.com/apache/fury/pull/1691
+- docs: fix badge x by @vesense in https://github.com/apache/fury/pull/1694
+- chore(doc): fix compiler error by @wangjie-fourth in https://github.com/apache/fury/pull/1698
+- refactor(java): move latin language checker method from string serializer to string util by @anagh07 in https://github.com/apache/fury/pull/1708
+- chore(doc): the more complete readme is in python by @pandalee99 in https://github.com/apache/fury/pull/1709
+- build: update scala build by @pjfanning in https://github.com/apache/fury/pull/1725
+- build: publish jars for fury-scala by @pjfanning in https://github.com/apache/fury/pull/1729
+- chore(java): merge reflect.Types into TypeRef by @chaokunyang in https://github.com/apache/fury/pull/1731
+
+## 新贡献者
+
+- @wangjie-fourth made their first contribution in https://github.com/apache/fury/pull/1657
+- @lvshaokang made their first contribution in https://github.com/apache/fury/pull/1665
+- @waynexia made their first contribution in https://github.com/apache/fury/pull/1662
+- @Xuanwo made their first contribution in https://github.com/apache/fury/pull/1677
+- @anagh07 made their first contribution in https://github.com/apache/fury/pull/1708
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.5.1...v0.6.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-08-04-fury_0_7_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-08-04-fury_0_7_0_release.md
new file mode 100644
index 0000000000..41ec4d1585
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-08-04-fury_0_7_0_release.md
@@ -0,0 +1,92 @@
+---
+slug: fury_0_7_0_release
+title: Fury v0.7.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.7.0 版本发布。 这是一个重要版本,包含来自 7 位贡献者的[24 PR](https://github.com/apache/fury/compare/v0.6.0...v0.7.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+### 实验特性
+
+Implement fast object deep copy framework for java:
+
+```java
+Fury fury = Fury.builder().withRefCopy(true).build();
+fury.register(SomeClass.class);
+SomeClass a = xxx;
+SomeClass copied = fury.copy(a);
+```
+
+Benchmark result:
+
+| Benchmark | objectType | Score | Error | Units |
+| ---------------------- | ------------- | ----------- | ------------- | ----- |
+| fury_copy | MEDIA_CONTENT | 1243297.690 | ± 451828.452 | ops/s |
+| fury_copy | SAMPLE | 2670545.816 | ± 1378536.021 | ops/s |
+| fury_copy | STRUCT | 2673356.422 | ± 202288.322 | ops/s |
+| fury_copy | STRUCT2 | 1943587.774 | ± 392513.707 | ops/s |
+| fury_copy_int_map | int map | 1470264.733 | ± 1021875.257 | ops/s |
+| fury_copy_list | int list | 3556892.276 | ± 127410.724 | ops/s |
+| fury_copy_object_array | array | 4430589.112 | ± 25366.893 | ops/s |
+| fury_copy_string_map | string map | 1736145.327 | ± 377806.877 | ops/s |
+| kryo_copy | MEDIA_CONTENT | 804208.092 | ± 27429.069 | ops/s |
+| kryo_copy | SAMPLE | 717669.608 | ± 71093.370 | ops/s |
+| kryo_copy | STRUCT | 1076048.642 | ± 223194.146 | ops/s |
+| kryo_copy | STRUCT2 | 141374.767 | ± 14150.535 | ops/s |
+| kryo_copy_int_map | int map | 546203.187 | ± 54669.173 | ops/s |
+| kryo_copy_list | int list | 843643.496 | ± 312306.921 | ops/s |
+| kryo_copy_object_array | object array | 1593267.344 | ± 1721824.436 | ops/s |
+| kryo_copy_string_map | string map | 574809.875 | ± 47316.340 | ops/s |
+
+## 功能特性
+
+- feat(Rust): add meta string encoding algorithm in Rust by @urlyy in https://github.com/apache/fury/pull/1712
+- feat(Rust): Implement utf16 to utf8 conversion algorithm by @urlyy in https://github.com/apache/fury/pull/1730
+- perf(java): add struct benchmark with pb by @chaokunyang in https://github.com/apache/fury/pull/1736
+- feat(java): fast object copy framework in fury java by @zhaommmmomo in https://github.com/apache/fury/pull/1701
+- perf(java): optimize pojo copy performance by @chaokunyang in https://github.com/apache/fury/pull/1739
+- feat(java): support jdk17+ record copy by @chaokunyang in https://github.com/apache/fury/pull/1741
+- feat(RUST): String detection is performed using SIMD techniques by @kitty-eu-org in https://github.com/apache/fury/pull/1752
+- feat(java): Add 'Expose' annotation to support "only de/serialize annotated fields" by @urlyy in https://github.com/apache/fury/pull/1751
+- feat(java): support Ignore inconsistent types deserialize by @weijiang157152688 in https://github.com/apache/fury/pull/1737
+- perf(java): optimize map copy perf by @chaokunyang in https://github.com/apache/fury/pull/1767
+- perf(java): optimize list copy perf by @chaokunyang in https://github.com/apache/fury/pull/1769
+- perf(java): optimize object array copy perf by @chaokunyang in https://github.com/apache/fury/pull/1770
+- feat(java): support deep ref copy by @chaokunyang in https://github.com/apache/fury/pull/1771
+
+## 缺陷修复
+
+- fix(java): fix janino commons classes issue by @chaokunyang in https://github.com/apache/fury/pull/1753
+- fix(scala): fix scala release version by @chaokunyang in https://github.com/apache/fury/pull/1756
+- fix(java): fix streaming classdef read by @chaokunyang in https://github.com/apache/fury/pull/1758
+- fix(java): fix big buffer streaming MetaShared read offset by @chaokunyang in https://github.com/apache/fury/pull/1760
+- fix(java): fix fury logger npe by @chaokunyang in https://github.com/apache/fury/pull/1762
+- fix(java): fix enum abstract field serialization by @chaokunyang in https://github.com/apache/fury/pull/1765
+- fix(java): Fix memory leak in `StructSerializer.xread()` caused by re-pushing instead of popping `GenericType`. by @komamitsu in https://github.com/apache/fury/pull/1768
+
+## 其他改进
+
+- chore: Update case in DISCLAIMER by @pjfanning in https://github.com/apache/fury/pull/1746
+- chore: bump dev version to 0.7.0 by @chaokunyang in https://github.com/apache/fury/pull/1755
+- chore(java): rename copyTrackingRef to copyRef by @chaokunyang in https://github.com/apache/fury/pull/1748
+- chore(java): add fury deep copy documentation by @chaokunyang in https://github.com/apache/fury/pull/1773
+
+## 新贡献者
+
+- @urlyy made their first contribution in https://github.com/apache/fury/pull/1712
+- @zhaommmmomo made their first contribution in https://github.com/apache/fury/pull/1701
+- @kitty-eu-org made their first contribution in https://github.com/apache/fury/pull/1752
+- @komamitsu made their first contribution in https://github.com/apache/fury/pull/1768
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.6.0...v0.7.0
+
+## 致谢
+
+Thanks @komamitsu @pjfanning @chaokunyang @weijiang157152688 @kitty-eu-org @urlyy @zhaommmmomo
+衷心感谢所有为本次发布付出努力的贡献者。无论是代码贡献、
+文档改进,还是问题反馈,都非常宝贵。
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.6.0...v0.7.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-09-12-fury_0_7_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-09-12-fury_0_7_1_release.md
new file mode 100644
index 0000000000..52625e3209
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-09-12-fury_0_7_1_release.md
@@ -0,0 +1,52 @@
+---
+slug: fury_0_7_1_release
+title: Fury v0.7.1 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.7.1 版本发布。这是一个重要版本,包含来自 8 位贡献者的[20 PR](https://github.com/apache/fury/compare/v0.7.0...v0.7.1)。请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(javascript): Added MetaString Class for Unicode Encoding/Decoding in Type.Object Code Generation by @Forchapeatl in https://github.com/apache/fury/pull/1774
+- feat(Rust): Refine Code Structure & Prepare for Future Compatibility Features by @theweipeng in https://github.com/apache/fury/pull/1787
+- feat(java): ThreadSafeFury add getClassResolver method by @funky-eyes in https://github.com/apache/fury/pull/1780
+- feat(Rust): Implement TypeMeta part of the compatibility features by @theweipeng in https://github.com/apache/fury/pull/1789
+- feat(Rust): Support polymorphism by @theweipeng in https://github.com/apache/fury/pull/1795
+- feat(java): Support copy capabilities for some classes without no-argument constructors by @zhaommmmomo in https://github.com/apache/fury/pull/1794
+- feat(java): support jdk9+ java.util.ImmutableCollections copy by @zhaommmmomo in https://github.com/apache/fury/pull/1800
+- feat(rust): support enum serialization by @jiacai2050 in https://github.com/apache/fury/pull/1817
+- refine fury website and add chinese documents by @yuluo-yx and @LofiSu
+
+## 缺陷修复
+
+- ci: fix rust ci failed by @LiangliangSui in https://github.com/apache/fury/pull/1783
+- fix(java): fix classloader get npe by @chaokunyang in https://github.com/apache/fury/pull/1792
+- fix(scala): fix nested type serialization in scala object type by @chaokunyang in https://github.com/apache/fury/pull/1809
+- fix(java): Fix replace resolver serializaiton by @chaokunyang in https://github.com/apache/fury/pull/1812
+- fix(java): fix reserved keyword conflict by @chaokunyang in https://github.com/apache/fury/pull/1819
+- fix(java): fix nested map field value serialization by private map serializer by @chaokunyang in https://github.com/apache/fury/pull/1820
+- fix(rust): use iter to avoid reallocate by @jiacai2050 in https://github.com/apache/fury/pull/1821
+
+## 其他改进
+
+- chore(java): Disallow writing meta classdef when obj is null by @LiangliangSui in https://github.com/apache/fury/pull/1686
+- chore(infra): optimize github tmpl & update actions/checkout version to 4.1.7 by @yuluo-yx in https://github.com/apache/fury/pull/1807
+- chore(infra): remove redundant bug reporting options by @yuluo-yx in https://github.com/apache/fury/pull/1810
+- docs: add check lint ci & fix md lint by @yuluo-yx in https://github.com/apache/fury/pull/1811
+
+## 新贡献者
+
+- @Forchapeatl made their first contribution in https://github.com/apache/fury/pull/1774
+- @funky-eyes made their first contribution in https://github.com/apache/fury/pull/1780
+- @yuluo-yx made their first contribution in https://github.com/apache/fury/pull/1807
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.7.0...v0.7.1
+
+## 致谢
+
+感谢 @jiacai2050 @chaokunyang @theweipeng @funky-eyes @Forchapeatl @zhaommmmomo @yuluo-yx @LiangliangSui @LofiSu
+
+衷心感谢所有为本次发布付出努力的贡献者。无论是代码贡献、
+文档改进,还是问题反馈,都非常宝贵。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-10-04-fury_0_8_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-10-04-fury_0_8_0_release.md
new file mode 100644
index 0000000000..6dc9313387
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-10-04-fury_0_8_0_release.md
@@ -0,0 +1,59 @@
+---
+slug: fury_0_8_0_release
+title: Fury v0.8.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.8.0 版本发布。这是一个重要版本,包含来自 7 位贡献者的[23 PR](https://github.com/apache/fury/compare/v0.7.1...v0.8.0)。请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- Support graalvm 17/21/22 native image
+- Release fury optimized serializers for scala collection
+- Reduce scala collection classname serialization cost using dict encoding
+
+## 功能特性
+
+- refactor(rust): simplify error handle by @jiacai2050 in https://github.com/apache/fury/pull/1823
+- feat(java): support graalvm 17/21/22 by @chaokunyang in https://github.com/apache/fury/pull/1845
+- perf(java): inline same element invoke in jit by @chaokunyang in https://github.com/apache/fury/pull/1851
+- perf(java): optimize read classdef perf by @chaokunyang in https://github.com/apache/fury/pull/1852
+- feat(scala): optimize scala class serialization by @chaokunyang in https://github.com/apache/fury/pull/1853
+- feat(java): implement sublist serializers by @chaokunyang in https://github.com/apache/fury/pull/1856
+- feat(java): use SubListViewSerializer only when tracking ref by @chaokunyang in https://github.com/apache/fury/pull/1858
+
+## 缺陷修复
+
+- fix(java): DeserializationException#getMessage call by @yoohaemin in https://github.com/apache/fury/pull/1830
+- fix(java): fix collection view serialization by @chaokunyang in https://github.com/apache/fury/pull/1833
+- fix(java): fix long type name meta string encoding by @chaokunyang in https://github.com/apache/fury/pull/1837
+- fix(java): fix serializer factory getSerializerClass by @chaokunyang in https://github.com/apache/fury/pull/1836
+- fix(rust): replace `(value << 8) | (value >> 8)` with `value.rotate_right(8)` by @chaokunyang in https://github.com/apache/fury/pull/1841
+- fix(java): Fix for maximum size of java arrays by @fink-arthur in https://github.com/apache/fury/pull/1843
+- fix(java): Fix max Java array size for reader by @fink-arthur in https://github.com/apache/fury/pull/1844
+- fix(java): fix jdk proxy serialization when proxy writeReplace method by @chaokunyang in https://github.com/apache/fury/pull/1857
+
+## 其他改进
+
+- chore(java): fix default value doc for metaShareEnabled/scopedMetaShareEnabled by @chaokunyang in https://github.com/apache/fury/pull/1826
+- chore(doc): fix 'how to upgrade fury' link in README by @sh-cho in https://github.com/apache/fury/pull/1846
+- build(deps): bump com.google.protobuf:protobuf-java from 3.16.3 to 3.25.5 in /java/benchmark by @dependabot in https://github.com/apache/fury/pull/1847
+- chore(java): simplify generated codec name by @chaokunyang in https://github.com/apache/fury/pull/1850
+- ci: only run sync job if the repo is apache/fury by @pjfanning in https://github.com/apache/fury/pull/1860
+- feat(scala): upgrade sbt and sbt-apache-sonatype by @pjfanning in https://github.com/apache/fury/pull/1859
+
+## 新贡献者
+
+- @yoohaemin made their first contribution in https://github.com/apache/fury/pull/1830
+- @fink-arthur made their first contribution in https://github.com/apache/fury/pull/1843
+- @sh-cho made their first contribution in https://github.com/apache/fury/pull/1846
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.7.1...v0.8.0
+
+## 致谢
+
+感谢 @jiacai2050 @fink-arthur @sh-cho @pjfanning @chaokunyang @yoohaemin
+
+衷心感谢所有为本次发布付出努力的贡献者。无论是代码贡献、
+文档改进,还是问题反馈,都非常宝贵。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2024-11-10-fury_0_9_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-11-10-fury_0_9_0_release.md
new file mode 100644
index 0000000000..9b1a7e5110
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2024-11-10-fury_0_9_0_release.md
@@ -0,0 +1,75 @@
+---
+slug: fury_0_9_0_release
+title: Fury v0.9.0 发布
+authors: [chaokunyang]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.9.0 版本发布。 这是一个重要版本,包含来自 14 位贡献者的[34 PR](https://github.com/apache/fury/compare/v0.8.0...v0.9.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- Optimized serializers for Fury kotlin support
+- Highly-optimized UTF-8 string encoding implementation for Java(2x faster than JDK utf8 encoding)
+- Reduce metastring hashcode payload for small string(`<=16 bytes`)
+- Support building C++ libs on windows platform
+
+## 功能特性
+
+- feat(kotlin): Introduce kotlin package with stdlib collections and tests by @wywen in https://github.com/apache/fury/pull/1877
+- feat(kotlin): Add Unsigned Primitive Support by @wywen in https://github.com/apache/fury/pull/1886
+- feat(kotlin): Add unsigned array support and tests for arrays and strings by @wywen in https://github.com/apache/fury/pull/1891
+- feat(java): Refactor String serialization and deserialization by @HuangXingBo in https://github.com/apache/fury/pull/1890
+- feat(java): support thread safe register callback for scala kotlin by @chaokunyang in https://github.com/apache/fury/pull/1895
+- feat(scala): add scala range serializer by @chaokunyang in https://github.com/apache/fury/pull/1899
+- feat(java): add option to treat enum as string by @orisgarno in https://github.com/apache/fury/pull/1892
+- feat(kotlin): Add tests and support for built-in types from the kotlin stdlib by @wywen in https://github.com/apache/fury/pull/1901
+- feat(java): reduce metastring hashcode payload for small string(`<=16 bytes`) by @chaokunyang in https://github.com/apache/fury/pull/1909
+- feat(javascript): Added serialization and serialization for Type Meta Layer by @Forchapeatl in https://github.com/apache/fury/pull/1825
+- feat(bazel): support building C++ libs on windows platform by @An-DJ in https://github.com/apache/fury/pull/1873
+- feat(scala): support scala native image build by @chaokunyang in https://github.com/apache/fury/pull/1922
+- perf(python): Add python benchmark test by @penguin-wwy in https://github.com/apache/fury/pull/1916
+
+## 缺陷修复
+
+- fix(scala): ban these sbt commands by @pjfanning in https://github.com/apache/fury/pull/1862
+- fix(java): fix async compilation switch for non-public nested class by @chaokunyang in https://github.com/apache/fury/pull/1883
+- fix(java): fix add fury thread safety issue by @chaokunyang in https://github.com/apache/fury/pull/1889
+- fix(other): fix feature request template by @chaokunyang in https://github.com/apache/fury/pull/1898
+- fix(java): NonExistentEnum on mode serializeEnumByName by @orisgarno in https://github.com/apache/fury/pull/1904
+- fix(java): ThreadLocalFury and ThreadPoolFury prioritize using the user classloader by @Aliothmoon in https://github.com/apache/fury/pull/1907
+- fix(java): child container deep copy by @zhaommmmomo in https://github.com/apache/fury/pull/1911
+- fix(java): Fix incorrect results of utf16 to utf8 conversion for latin1 but not ascii characters in https://github.com/apache/fury/pull/1914
+- fix(python): Eliminate PytestCollectionWarning when running pytest by @penguin-wwy in https://github.com/apache/fury/pull/1917
+
+## 其他改进
+
+- chore(py314): Replace deprecated pkgutil.find_loader by @effigies in https://github.com/apache/fury/pull/1888
+- docs(guide): Fix package typo by @mandrean in https://github.com/apache/fury/pull/1906
+- build(kotlin): Add spotless ktfmt and enable explicit api mode for library code. by @wywen in https://github.com/apache/fury/pull/1912
+- build(deps): upgrade scala (2.13.15/3.3.4) by @pjfanning in https://github.com/apache/fury/pull/1861
+- feat(rust): add rust-analyzer to toolchain by @caicancai in https://github.com/apache/fury/pull/1865
+- chore(scala): add scala build script by @chaokunyang in https://github.com/apache/fury/pull/1920
+- chore(kotlin): add parent pom for fury kotlin by @chaokunyang in https://github.com/apache/fury/pull/1921
+- feat(java): Improve error message on architecture not using little-endian format by @apupier in https://github.com/apache/fury/pull/1918
+
+## 新贡献者
+
+- @An-DJ made their first contribution in https://github.com/apache/fury/pull/1873
+- @wywen made their first contribution in https://github.com/apache/fury/pull/1877
+- @effigies made their first contribution in https://github.com/apache/fury/pull/1888
+- @HuangXingBo made their first contribution in https://github.com/apache/fury/pull/1890
+- @orisgarno made their first contribution in https://github.com/apache/fury/pull/1892
+- @mandrean made their first contribution in https://github.com/apache/fury/pull/1906
+- @Aliothmoon made their first contribution in https://github.com/apache/fury/pull/1907
+- @penguin-wwy made their first contribution in https://github.com/apache/fury/pull/1916
+- @apupier made their first contribution in https://github.com/apache/fury/pull/1918
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.8.0...v0.9.0
+
+## 致谢
+
+Thanks @effigies @apupier @wywen @mandrean @HuangXingBo @pjfanning @chaokunyang @penguin-wwy @An-DJ @Forchapeatl @orisgarno @zhaommmmomo @caicancai @Aliothmoon
+
+衷心感谢所有为本次发布付出努力的贡献者。无论是代码贡献、
+文档改进,还是问题反馈,都非常宝贵。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-02-16-fury_0_10_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-02-16-fury_0_10_0_release.md
new file mode 100644
index 0000000000..8b108669d4
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-02-16-fury_0_10_0_release.md
@@ -0,0 +1,66 @@
+---
+slug: fury_0_10_0_release
+title: Fury v0.10.0 发布
+authors: [wangweipeng]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.10.0 版本发布。 这是一个重要版本,包含来自 16 位贡献者的[27 PR](https://github.com/apache/fury/compare/v0.9.0...v0.10.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- Chunk based map serialization
+- Highly optimized JavaScript string serialization
+
+## 功能特性
+
+- feat(java): ReplaceResolveSerializer deep copy by @zhaommmmomo in https://github.com/apache/fury/pull/1925
+- feat(java): use varint for jdk compatible serializers by @chaokunyang in https://github.com/apache/fury/pull/1960
+- feat(java): configurable buffer size limit by @theigl in https://github.com/apache/fury/pull/1963
+- feat(java): make 4 bytes utf16 size header optional for utf8 encoding by @chaokunyang in https://github.com/apache/fury/pull/2010
+- feat(ci): support building python on windows by @An-DJ in https://github.com/apache/fury/pull/1885
+- feat(java): Chunk by chunk predictive map serialization protocol by @Hen1ng in https://github.com/apache/fury/pull/1722
+- feat(java): support streaming encode/decode to/from buffer for row format by @chaokunyang in https://github.com/apache/fury/pull/2024
+- feat(java): new implementation and protocol refine for chunk based map serialization by @chaokunyang in https://github.com/apache/fury/pull/2025
+- feat(java): jit support for chunk based map serialization by @chaokunyang in https://github.com/apache/fury/pull/2027
+- feat(java): Add basicMultiConfigFury dataprovider and add basic map unit test use the dataProvider by @Hen1ng in https://github.com/apache/fury/pull/2032
+- feat(java): deserialize one pojo into another type by @orisgarno in https://github.com/apache/fury/pull/2012
+- feat(python): chunk based map serialization for python by @chaokunyang in https://github.com/apache/fury/pull/2038
+- feat(java): zstd meta compressor by @orisgarno in https://github.com/apache/fury/pull/2042
+- feat(python): automatic release pyfury on macos and windows by @chaokunyang in https://github.com/apache/fury/pull/2045
+- feat(javascript): optimize string serializer by @theweipeng in https://github.com/apache/fury/pull/2043
+- feat(python): add macos pyfury ci by @chaokunyang in https://github.com/apache/fury/pull/2041
+
+## 缺陷修复
+
+- fix(java): Move schema caching to unsafe trait to avoid issues when using non-inferred schema. by @wywen in https://github.com/apache/fury/pull/1944
+- fix(java): ClassLoaderFuryPooled#setFactoryCallback cannot effect old Fury by @MrChang0 in https://github.com/apache/fury/pull/1946
+- fix(java): fix find constructor error in generated serializer class caused by duplicated class classloading for Fury by @chaokunyang in https://github.com/apache/fury/pull/1948
+- fix(c++): fix bazel install by @chaokunyang in https://github.com/apache/fury/pull/1979
+- fix(java): Fix flakiness in ExpressionVisitorTest#testTraverseExpression by @AmitPr in https://github.com/apache/fury/pull/1968
+- fix(java): Fix the issue caused by not using readCompressedBytesString during deserialization when string compression is enabled. by @Aliothmoon in https://github.com/apache/fury/pull/1991
+- fix(java): Compatible mode on de/serialize api failed to deserialize by @orisgarno in https://github.com/apache/fury/pull/1996
+- fix(java): chunk map serialize an error by @Hen1ng in https://github.com/apache/fury/pull/2030
+- fix(python): Fix missing parameters and old API names by @pandalee99 in https://github.com/apache/fury/pull/2049
+- fix(doc): set compressString default value to false by @chaokunyang in https://github.com/apache/fury/pull/1913
+- fix(java): Remove duplicate maven dependency by @Hen1ng in https://github.com/apache/fury/pull/2044
+- fix(java): fix duplicate entry write at max chunk size bound by @chaokunyang in https://github.com/apache/fury/pull/2040
+
+## 其他改进
+
+- chore(ci): Migrate the ci from macOS 12 to macOS 13 by @penguin-wwy in https://github.com/apache/fury/pull/1927
+- chore(Rust): fix lint problems by @theweipeng in https://github.com/apache/fury/pull/1962
+- docs(java): add object mapping example and tests by @chaokunyang in https://github.com/apache/fury/pull/1974
+- chore(python): drop py3.7 support by @chaokunyang in https://github.com/apache/fury/pull/1981
+- fix(java): only print warn message if scopedMetaShareEnabled is true … by @zhfeng in https://github.com/apache/fury/pull/1985
+- docs: update copyright date in NOTICE by @caicancai in https://github.com/apache/fury/pull/2029
+- docs(java): update java serialization schema compatibility doc by @chaokunyang in https://github.com/apache/fury/pull/2047
+
+## 新贡献者
+
+- @theigl made their first contribution in https://github.com/apache/fury/pull/1963
+- @AmitPr made their first contribution in https://github.com/apache/fury/pull/1968
+- @zhfeng made their first contribution in https://github.com/apache/fury/pull/1985
+- @Hen1ng made their first contribution in https://github.com/apache/fury/pull/1722
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.9.0...v0.10.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-04-15-fury_0_10_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-04-15-fury_0_10_1_release.md
new file mode 100644
index 0000000000..8c7182c604
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-04-15-fury_0_10_1_release.md
@@ -0,0 +1,33 @@
+---
+slug: fury_0_10_1_release
+title: Fury v0.10.1 发布
+authors: [wangweipeng]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.10.1 版本发布。 这是一个小版本,包含来自 10 位贡献者的[14 PR](https://github.com/apache/fury/compare/v0.10.0...v0.10.1)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(java): support passed tracking ref meta when building serializers by @chaokunyang in https://github.com/apache/fury/pull/2113
+- feat(java): extra entry in disallowed.txt by @pjfanning in https://github.com/apache/fury/pull/2098
+- feat(java): use sha256 to check disallowed.txt tamper by @chaokunyang in https://github.com/apache/fury/pull/2102
+
+## 缺陷修复
+
+- fix(java): fix read null chunk out of bound by @chaokunyang in https://github.com/apache/fury/pull/2065
+- fix(java): Fix error with `MemoryBuffer::readBytesAsInt64` when not in LITTLE_ENDIAN mode by @LouisLou2 in https://github.com/apache/fury/pull/2069
+- fix(java): fix read primitives error on fill buffer bound by @chaokunyang in https://github.com/apache/fury/pull/2064
+- fix(java): java.util.Date and its subclasses are mutable by @moooonk in https://github.com/apache/fury/pull/2076
+- fix(java): fix ImmutableCollections$SubList duplicate registration by @w-yfan in https://github.com/apache/fury/pull/2074
+- fix(java): Modify some mistake by @Hen1ng in https://github.com/apache/fury/pull/2086
+- fix(java): fix serialization npe of collection with all null elems by @chaokunyang in https://github.com/apache/fury/pull/2111
+- fix(java): fix disallowed.txt check in windows by @chaokunyang in https://github.com/apache/fury/pull/2128
+
+## 其他改进
+
+- perf(java): Improve performance by using System.arraycopy to copy between byte arrays by @Cybermaxke in https://github.com/apache/fury/pull/2101
+- perf(java): Refactor ThreadPoolFury to improve performance by @moooonk in https://github.com/apache/fury/pull/2092
+- perf(java): Optimize Computational Efficiency of MetaStringEncoder::encodeGeneric by @LouisLou2 in https://github.com/apache/fury/pull/2072
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.10.0...v0.10.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-06-fury_0_10_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-06-fury_0_10_2_release.md
new file mode 100644
index 0000000000..2417fc6c39
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-06-fury_0_10_2_release.md
@@ -0,0 +1,22 @@
+---
+slug: fury_0_10_2_release
+title: Fury v0.10.2 发布
+authors: [liangliangsui]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.10.2 版本发布。 这是一个小版本,包含来自 2 位贡献者的[6 PR](https://github.com/apache/fury/compare/v0.10.1...v0.10.2)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(kotlin): add kotlin ci by @pandalee99 in https://github.com/apache/fury/pull/2176
+
+## 缺陷修复
+
+- fix(java): fix DisallowedList calculate hash in Windows by @chaokunyang in https://github.com/apache/fury/pull/2142
+- fix(java): fix fury logger log exception by @chaokunyang in https://github.com/apache/fury/pull/2153
+- fix(java): fix nested chunk map serialization error when generics exists by @chaokunyang in https://github.com/apache/fury/pull/2162
+- fix(java): fix nested map chunk serialization codegen by @chaokunyang in https://github.com/apache/fury/pull/2172
+- fix(kotlin): fix kotlin compile error by @chaokunyang in https://github.com/apache/fury/pull/2173
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.10.1...v0.10.2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-27-fury_0_10_3_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-27-fury_0_10_3_release.md
new file mode 100644
index 0000000000..9129c9b04b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-05-27-fury_0_10_3_release.md
@@ -0,0 +1,34 @@
+---
+slug: fury_0_10_3_release
+title: Fury v0.10.3 发布
+authors: [pandalee99]
+tags: [fury]
+---
+
+Apache Fury 团队很高兴宣布 0.10.3 版本发布。 这是一个小版本,包含来自 4 位贡献者的[15 PR](https://github.com/apache/fury/compare/v0.10.3...v0.10.3-rc2)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(java): add protobuf serializer for message and byte string by @chaokunyang in https://github.com/apache/fury/pull/2213
+
+## 缺陷修复
+
+- fix(java): mark fury-test-core as test dep in fury extensions by @chaokunyang in https://github.com/apache/fury/pull/2231
+- fix(java): ensure readVarUint36Small reads full bits regardless of remaining buffer size by @LouisLou2 in https://github.com/apache/fury/pull/2179
+- fix(java): ensure FuryObjectInputStream.read never returns 0 when length>0 by @X-czh in https://github.com/apache/fury/pull/2205
+- fix(java): Fix empty string processing in MetaStringBytes by @LouisLou2 in https://github.com/apache/fury/pull/2212
+- fix(java): fix field super class missing in compatible mode by @chaokunyang in https://github.com/apache/fury/pull/2214
+- fix(python): fix pyfury build using pyproject.toml by @chaokunyang in https://github.com/apache/fury/pull/2206
+- fix: install bazel by @chaokunyang
+- fix: print python tests exception by @chaokunyang
+- fix: install pyarrow by @chaokunyang
+
+## 工程维护
+
+- chore: cherry-pick commits for 0.10.3 by @chaokunyang in https://github.com/apache/fury/pull/2219
+- chore: cherry-pick commits for 0.10.3 by @chaokunyang in https://github.com/apache/fury/pull/2234
+- chore: Bump version to 0.10.3 by @pandalee99 in https://github.com/apache/fury/pull/2235
+- chore: fix Releases 0.10 by @pandalee99 in https://github.com/apache/fury/pull/2236
+- chore(javascript): remove nodejs 12 support by @chaokunyang in https://github.com/apache/fury/pull/2233
+
+**完整更新日志**:https://github.com/apache/fury/compare/v0.10.2...v0.10.3-rc2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-17-fory_0_11_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-17-fory_0_11_0_release.md
new file mode 100644
index 0000000000..76e6e0934b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-17-fory_0_11_0_release.md
@@ -0,0 +1,233 @@
+---
+slug: fory_0_11_0_release
+title: Fory v0.11.0 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.11.0 版本发布。 这是一个重要版本,包含来自 39 位贡献者的[177 PR](https://github.com/apache/fory/compare/v0.10.3...v0.11.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- Add Dart Serialization support
+- Chunk-based map serialization for Java/Python with performance optimizations and XLang support
+- Cross-language homogeneous collection serialization between Java/Python
+- Refactor XLang type system and serialization for fory go
+- Performance improvements in Python (dict/tuple/list serialization, C-API optimization)
+- Row format evolution with support for Optional, Records, nested beans, and interface synthesis
+- Unify Java and XLang object serialization with cross-language compatibility for enums, time, arrays, and more
+- Renamed Apache Fury to Apache Fory
+
+## 不兼容变更
+
+- Renamed Apache Fury to Apache Fory, this transition impacts all project components including code repositories, maven groupId, jar names, package names, documentation, and communication channels and the source release name (and location), see [Rename Announcement](https://fory.apache.org/blog/fury_renamed_to_fory) for more details.
+
+## 功能特性
+
+- feat(java): ReplaceResolveSerializer deep copy by @zhaommmmomo in https://github.com/apache/fory/pull/1925
+- perf(python): Enhance the Python benchmark script by @penguin-wwy in https://github.com/apache/fory/pull/1926
+- perf(python): Improve tuple and list serializer performance by @penguin-wwy in https://github.com/apache/fory/pull/1933
+- feat(python): Implement collection serialization protocol by @penguin-wwy in https://github.com/apache/fory/pull/1942
+- perf(python): Pre-allocate size for the dictionary by @penguin-wwy in https://github.com/apache/fory/pull/1949
+- feat(java): use varint for jdk compatible serializers by @chaokunyang in https://github.com/apache/fory/pull/1960
+- feat(java): configurable buffer size limit by @theigl in https://github.com/apache/fory/pull/1963
+- perf(python): Directly access the key-value pairs of a dict by @penguin-wwy in https://github.com/apache/fory/pull/1970
+- feat(python): Hardcoding metastring into passable parameters by @pandalee99 in https://github.com/apache/fory/pull/1987
+- feat(java/python): new xlang type system spec implementation by @chaokunyang in https://github.com/apache/fory/pull/1690
+- feat(c++): Support the UTF-8 to UTF-16 with SIMD by @pandalee99 in https://github.com/apache/fory/pull/1990
+- feat(python): support latin1/utf16 string encoding in python by @chaokunyang in https://github.com/apache/fory/pull/1997
+- feat(c++): add simd accelerated c++ ascii/latin1 check funcion by @chaokunyang in https://github.com/apache/fory/pull/1999
+- perf(python): get object **dict** for faster field read/write by @chaokunyang in https://github.com/apache/fory/pull/2003
+- perf(python): optimize bytes buffer creation by @chaokunyang in https://github.com/apache/fory/pull/2008
+- feat(java): make 4 bytes utf16 size header optional for utf8 encoding by @chaokunyang in https://github.com/apache/fory/pull/2010
+- feat(ci): support building python on windows by @An-DJ in https://github.com/apache/fory/pull/1885
+- feat(java): Chunk by chunk predictive map serialization protocol by @Hen1ng in https://github.com/apache/fory/pull/1722
+- feat(java): support streaming encode/decode to/from buffer for row format by @chaokunyang in https://github.com/apache/fory/pull/2024
+- feat(c++): Add benchmark for performance evaluation by @pandalee99 in https://github.com/apache/fory/pull/2023
+- feat(java): new implementation and protocol refine for chunk based map serialization by @chaokunyang in https://github.com/apache/fory/pull/2025
+- feat(c++): BenchMark will be a Module by @pandalee99 in https://github.com/apache/fory/pull/2028
+- feat(java): jit support for chunk based map serialization by @chaokunyang in https://github.com/apache/fory/pull/2027
+- feat(java): Add basicMultiConfigFury dataprovider and add basic map unit test use the dataProvider by @Hen1ng in https://github.com/apache/fory/pull/2032
+- feat(python): unify type system between python and xlang serialization in pyfury by @chaokunyang in https://github.com/apache/fory/pull/2034
+- feat(java): deserialize one pojo into another type by @orisgarno in https://github.com/apache/fory/pull/2012
+- feat(python): chunk based map serialization for python by @chaokunyang in https://github.com/apache/fory/pull/2038
+- feat(python): add macos pyfury ci by @chaokunyang in https://github.com/apache/fory/pull/2041
+- feat(python): automatic release pyfury on macos and windows by @chaokunyang in https://github.com/apache/fory/pull/2045
+- feat(javascript): optimize string serializer by @theweipeng in https://github.com/apache/fory/pull/2043
+- feat(java): zstd meta compressor by @orisgarno in https://github.com/apache/fory/pull/2042
+- feat(python): support 3.13 by @penguin-wwy in https://github.com/apache/fory/pull/2046
+- feat(java): support register type by name in java by @chaokunyang in https://github.com/apache/fory/pull/2053
+- feat(spec): remove polymorphic from type id by @chaokunyang in https://github.com/apache/fory/pull/2054
+- feat(java): Add fastpath for collection/map serialize and deserialize by @Hen1ng in https://github.com/apache/fory/pull/2050
+- perf(python): upgrade pyarrow version to 15.0.0 by @pandalee99 in https://github.com/apache/fory/pull/2056
+- feat(python): chunk based map serialization in pure python by @pandalee99 in https://github.com/apache/fory/pull/2037
+- build(bazel): Extracts compile_commands.json by @penguin-wwy in https://github.com/apache/fory/pull/2059
+- feat(javascript): simplify the definition of object type description by @theweipeng in https://github.com/apache/fory/pull/2058
+- perf(java): Optimize Computational Efficiency of MetaStringEncoder::encodeGeneric by @LouisLou2 in https://github.com/apache/fory/pull/2072
+- feat(javascript): Impl xlang by @theweipeng in https://github.com/apache/fory/pull/2075
+- perf(python): Optimize sequence buffer writing via the c-api by @penguin-wwy in https://github.com/apache/fory/pull/2078
+- feat(javascript): Speed up string serializer by @theweipeng in https://github.com/apache/fory/pull/2083
+- feat(java): extra entry in disallowed.txt by @pjfanning in https://github.com/apache/fory/pull/2098
+- perf(java): Refactor ThreadPoolFury to improve performance by @moooonk in https://github.com/apache/fory/pull/2092
+- perf(java): Improve performance by using System.arraycopy to copy between byte arrays by @Cybermaxke in https://github.com/apache/fory/pull/2101
+- feat(java): use sha256 to check disallowed.txt tamper by @chaokunyang in https://github.com/apache/fory/pull/2102
+- perf(java): Refactor field sorting in StructSerializer to cache transformed field names and avoid redundant computation by @LouisLou2 in https://github.com/apache/fory/pull/2091
+- feat(java): support passed tracking ref meta when building serializers by @chaokunyang in https://github.com/apache/fory/pull/2113
+- feat(java): support nested bean in array/collection/map for row format by @chaokunyang in https://github.com/apache/fory/pull/2116
+- feat(java): support inconsistent registration by name/id by @chaokunyang in https://github.com/apache/fory/pull/2120
+- feat: xlang map chunk serialization between java/python by @chaokunyang in https://github.com/apache/fory/pull/2127
+- feat: xlang homogeneous collection serialization between java/python by @chaokunyang in https://github.com/apache/fory/pull/2130
+- feat(chore): bump version support kotlin by @chaokunyang in https://github.com/apache/fory/pull/2134
+- feat(dart): Add Fury Dart Support by @LouisLou2 in https://github.com/apache/fory/pull/2112
+- refactor(java): refactor object serializer for unifying xlang/java serialization in java by @chaokunyang in https://github.com/apache/fory/pull/2139
+- refactor(java): move methods from object serializer to abstract object serializer by @chaokunyang in https://github.com/apache/fory/pull/2140
+- feat(java): unify java and xlang object serialization by @chaokunyang in https://github.com/apache/fory/pull/2146
+- feat(java): support enum/time/array final types in xlang serialization by @chaokunyang in https://github.com/apache/fory/pull/2164
+- feat(java): FuryField annotation hints for struct serialization by @Hen1ng in https://github.com/apache/fory/pull/2036
+- feat(kotlin): add kotlin ci by @pandalee99 in https://github.com/apache/fory/pull/2176
+- perf(kotlin): Add multiple versions of kotlin CI by @pandalee99 in https://github.com/apache/fory/pull/2184
+- feat(dart): add `test_config.yaml` and apply `TestConfig` for environment-specific settings by @LouisLou2 in https://github.com/apache/fory/pull/2183
+- feat: add Dart to Language enums across all implementations by @LouisLou2 in https://github.com/apache/fory/pull/2187
+- feat(go): fury go implements new xlang by @pandalee99 in https://github.com/apache/fory/pull/2198
+- feat(java): add protobuf serializer for message and byte string by @chaokunyang in https://github.com/apache/fory/pull/2213
+- feat(spec): update type meta encoding by @chaokunyang in https://github.com/apache/fory/pull/2216
+- feat(java): type meta encoding for xlang in java by @chaokunyang in https://github.com/apache/fory/pull/2197
+- feat(java): support trackingRef in furyField by @Hen1ng in https://github.com/apache/fory/pull/2168
+- feat(java): add DescriptorBuilder for easy build and copying Descriptor by @Hen1ng in https://github.com/apache/fory/pull/2229
+- feat(java): Support furyField nullable in codeGen pattern by @Hen1ng in https://github.com/apache/fory/pull/2191
+- feat(java): row encoder supports custom types and collections by @stevenschlansker in https://github.com/apache/fory/pull/2243
+- test(benchmark): add msgpack serialization/deserialization to benchmark by @Kn0688 in https://github.com/apache/fory/pull/2242
+- feat(go): fury-go implements adaptation and optimization for new xlang by @pandalee99 in https://github.com/apache/fory/pull/2230
+- perf(c++): Evaluate the implementation effect &&simdutf performs partial vectorization by @pandalee99 in https://github.com/apache/fory/pull/2033
+- feat(java): fury row encoder now supports implementing interfaces with simple value type by @stevenschlansker in https://github.com/apache/fory/pull/2250
+- feat(java): row format supports Optional by @stevenschlansker in https://github.com/apache/fory/pull/2254
+- feat(java): row format supports Record types by @stevenschlansker in https://github.com/apache/fory/pull/2256
+- perf(go): Optimize the type registration system && Reduce useless code by @pandalee99 in https://github.com/apache/fory/pull/2262
+- feat(java): support meta shared serialization for xlang in java by @chaokunyang in https://github.com/apache/fory/pull/2276
+- feat(python): replace "\_class" prefix with "\_type" in metashare by @urlyy in https://github.com/apache/fory/pull/2290
+- feat(java): Adding explanatory message to `deserializeNonexistentClass` misconfiguration in `Config` by @drse in https://github.com/apache/fory/pull/2300
+- feat(java): row encoder supports synthesizing interfaces nested inside of records by @stevenschlansker in https://github.com/apache/fory/pull/2304
+- feat(java): Support customized serializer for abstract or interface. by @CherishCai in https://github.com/apache/fory/pull/2311
+- feat(java): row encoder supports custom rewriting values without changing their type by @stevenschlansker in https://github.com/apache/fory/pull/2305
+- feat(java): support multi-dimensional array field serialization in xlang meta shared mode by @OmCheeLin in https://github.com/apache/fory/pull/2314
+- feat(python): bump cython to 3.1.1 by @penguin-wwy in https://github.com/apache/fory/pull/2318
+
+## 缺陷修复
+
+- fix(doc): set compressString default value to false by @chaokunyang in https://github.com/apache/fory/pull/1913
+- fix(java): Move schema caching to unsafe trait to avoid issues when using non-inferred schema. by @wywen in https://github.com/apache/fory/pull/1944
+- fix(java): ClassLoaderFuryPooled#setFactoryCallback cannot effect old Fury by @MrChang0 in https://github.com/apache/fory/pull/1946
+- fix(java): fix find constructor error in generated serializer class caused by duplicated class classloading for Fury by @chaokunyang in https://github.com/apache/fory/pull/1948
+- fix(c++): fix bazel install by @chaokunyang in https://github.com/apache/fory/pull/1979
+- fix(java): Fix flakiness in ExpressionVisitorTest#testTraverseExpression by @AmitPr in https://github.com/apache/fory/pull/1968
+- fix(java): only print warn message if scopedMetaShareEnabled is true … by @zhfeng in https://github.com/apache/fory/pull/1985
+- fix(java): Fix the issue caused by not using readCompressedBytesString during deserialization when string compression is enabled. by @Aliothmoon in https://github.com/apache/fory/pull/1991
+- fix(java): Compatible mode on de/serialize api failed to deserialize by @orisgarno in https://github.com/apache/fory/pull/1996
+- fix(java): chunk map serialize an error by @Hen1ng in https://github.com/apache/fory/pull/2030
+- fix(java): fix duplicate entry write at max chunk size bound by @chaokunyang in https://github.com/apache/fory/pull/2040
+- fix(java): Remove duplicate maven dependency by @Hen1ng in https://github.com/apache/fory/pull/2044
+- fix(python): Fix missing parameters and old API names by @pandalee99 in https://github.com/apache/fory/pull/2049
+- fix(java): fix read null chunk out of bound by @chaokunyang in https://github.com/apache/fory/pull/2065
+- fix(java): Fix error with `MemoryBuffer::readBytesAsInt64` when not in LITTLE_ENDIAN mode by @LouisLou2 in https://github.com/apache/fory/pull/2069
+- fix(java): fix read primitives error on fill buffer bound by @chaokunyang in https://github.com/apache/fory/pull/2064
+- fix(java): java.util.Date and its subclasses are mutable by @moooonk in https://github.com/apache/fory/pull/2076
+- fix(java): fix ImmutableCollections$SubList duplicate registration by @w-yfan in https://github.com/apache/fory/pull/2074
+- fix(java): Modify some mistake by @Hen1ng in https://github.com/apache/fory/pull/2086
+- fix(python): inconsistent struct hash calculation between Java and Python by @LouisLou2 in https://github.com/apache/fory/pull/2108
+- fix(java): fix serialization npe of collection with all null elems by @chaokunyang in https://github.com/apache/fory/pull/2111
+- fix(java): fix not null value flag by @chaokunyang in https://github.com/apache/fory/pull/2114
+- fix(java): use registered id to sort fields by @chaokunyang in https://github.com/apache/fory/pull/2115
+- fix(java): fix disallowed.txt check in windows by @chaokunyang in https://github.com/apache/fory/pull/2128
+- fix(java): fix nested chunk map serialization error when generics exists by @chaokunyang in https://github.com/apache/fory/pull/2136
+- fix(java): fix DisallowedList calculate hash in Windows by @moooonk in https://github.com/apache/fory/pull/2142
+- fix(java): fix fury logger log exception by @chaokunyang in https://github.com/apache/fory/pull/2153
+- fix(java): fix xlang container field deserialization type error by @chaokunyang in https://github.com/apache/fory/pull/2161
+- fix(java): fix nested map chunk serialization codegen by @chaokunyang in https://github.com/apache/fory/pull/2172
+- fix(kotlin): fix kotlin compile error by @chaokunyang in https://github.com/apache/fory/pull/2173
+- fix(dart): fix inappropriate naming and align test titles by @LouisLou2 in https://github.com/apache/fory/pull/2180
+- fix(dart): replace string-based type selection with enum in FixedNum factory method by @LouisLou2 in https://github.com/apache/fory/pull/2185
+- fix(java): ensure readVarUint36Small reads full bits regardless of remaining buffer size by @LouisLou2 in https://github.com/apache/fory/pull/2179
+- test(java): add test for fix of readVarUint36Small behavior by @LouisLou2 in https://github.com/apache/fory/pull/2186
+- fix(python): fix pyfury build using pyproject.toml by @chaokunyang in https://github.com/apache/fory/pull/2206
+- fix(java): ensure FuryObjectInputStream.read never returns 0 when length>0 #2204 by @X-czh in https://github.com/apache/fory/pull/2205
+- fix(python): TimestampSerializer fails on Windows for naive datetimes near epoch by @LouisLou2 in https://github.com/apache/fory/pull/2209
+- fix(java): Fix empty string processing in MetaStringBytes by @LouisLou2 in https://github.com/apache/fory/pull/2212
+- fix(java): fix field super class missing in compatible mode by @chaokunyang in https://github.com/apache/fory/pull/2214
+- fix(java): mark fury-test-core as test dep in fury extensions by @chaokunyang in https://github.com/apache/fory/pull/2231
+- fix(java): MemoryBuffer getRemainingBytes can return unexpected results on a slice by @stevenschlansker in https://github.com/apache/fory/pull/2237
+- fix(java): use serialization binding by @Hen1ng in https://github.com/apache/fory/pull/2241
+- fix(C++): Fix reversed parameters and incorrect calls in string_util benchmark by @lzaeh in https://github.com/apache/fory/pull/2246
+- fix(java): fix row type enum properties by @stevenschlansker in https://github.com/apache/fory/pull/2258
+- fix(java): fix generics when write/read null map kv chunk by @chaokunyang in https://github.com/apache/fory/pull/2261
+- fix(java): row encoder incorrectly interprets type parameters as cycles by @stevenschlansker in https://github.com/apache/fory/pull/2265
+- fix(scala): Ensure singleton classes are initialized before reading by @creddy in https://github.com/apache/fory/pull/2267
+- fix(go): fix metastringbytes inconsistency issue by @lzaeh in https://github.com/apache/fory/pull/2269
+- fix(java): descriptors for beans should not include static methods by @stevenschlansker in https://github.com/apache/fory/pull/2281
+- fix(java): raise exception when registering invalid serializer for Map/List by @OmCheeLin in https://github.com/apache/fory/pull/2291
+- fix(java): xlang test skip needs correct import in newer python versions by @stevenschlansker in https://github.com/apache/fory/pull/2296
+- fix(java): row encoder interface synthesis handle `(Optional) null` correctly by @stevenschlansker in https://github.com/apache/fory/pull/2306
+- fix(java): Use (long, long, byte) key for MetaStringBytes cache to prevent collisions by @LouisLou2 in https://github.com/apache/fory/pull/2308
+- fix(python): update python benchmark script by @penguin-wwy in https://github.com/apache/fory/pull/2315
+
+## 其他改进
+
+- chore(ci): Migrate the ci from macOS 12 to macOS 13 by @penguin-wwy in https://github.com/apache/fory/pull/1927
+- chore: bump release version to 0.9.0 by @chaokunyang in https://github.com/apache/fory/pull/1940
+- chore(Rust): fix lint problems by @theweipeng in https://github.com/apache/fory/pull/1962
+- docs(java): add object mapping example and tests by @chaokunyang in https://github.com/apache/fory/pull/1974
+- chore(python): drop py3.7 support by @chaokunyang in https://github.com/apache/fory/pull/1981
+- chore(c++): Function inlining and code tuning by @pandalee99 in https://github.com/apache/fory/pull/2002
+- style(cpp): rename logging level with "FURY\_" prefix by @An-DJ in https://github.com/apache/fory/pull/2016
+- docs: update copyright date in NOTICE by @caicancai in https://github.com/apache/fory/pull/2029
+- docs(java): update java serialization schema compatibility doc by @chaokunyang in https://github.com/apache/fory/pull/2047
+- docs: Update to latest version by @theweipeng in https://github.com/apache/fory/pull/2080
+- Update snapshot version by @chaokunyang in https://github.com/apache/fory/pull/2081
+- chore: remove required_linear_history by @chaokunyang in https://github.com/apache/fory/pull/2122
+- chore: fix license issue by @chaokunyang in https://github.com/apache/fory/pull/2137
+- chore(java): use the SHA256_HASH field value directly. by @LiangliangSui in https://github.com/apache/fory/pull/2144
+- chore(java): Update the content that needs to be corrected when reading the code. by @LiangliangSui in https://github.com/apache/fory/pull/2143
+- chore: update copyright year to 2025 by @chaokunyang in https://github.com/apache/fory/pull/2149
+- chore: bump release version to 0.10.1 by @chaokunyang in https://github.com/apache/fory/pull/2151
+- chore(dart): remove unused `dart/fury-test/lib/main.dart` by @LouisLou2 in https://github.com/apache/fory/pull/2181
+- chore: bump release version to 0.10.2 by @LiangliangSui in https://github.com/apache/fory/pull/2207
+- chore(java): reduce java test log by @chaokunyang in https://github.com/apache/fory/pull/2217
+- chore(.asf.yaml): enable rebase-and-merge button by @chaokunyang in https://github.com/apache/fory/pull/2220
+- chore(github): fix YAML warnings about spaces before comments by @stevenschlansker in https://github.com/apache/fory/pull/2225
+- chore(java): janino 3.1.12 by @stevenschlansker in https://github.com/apache/fory/pull/2226
+- chore(java): jdk 24 build support by @stevenschlansker in https://github.com/apache/fory/pull/2224
+- chore(javascript): remove nodejs 12 support by @chaokunyang in https://github.com/apache/fory/pull/2233
+- chore(java): gitignore testng output by @stevenschlansker in https://github.com/apache/fory/pull/2238
+- chore: fix clippy warning by @theweipeng in https://github.com/apache/fory/pull/2240
+- chore: Delete the redundant comments and add the document by @pandalee99 in https://github.com/apache/fory/pull/2244
+- chore: bump release version to 0.10.3 by @pandalee99 in https://github.com/apache/fory/pull/2252
+- chore: rename apache fury to apache fory by @chaokunyang in https://github.com/apache/fory/pull/2263
+- chore: keep fury for maven artifact by @chaokunyang in https://github.com/apache/fory/pull/2264
+- chore(java): skip xlang tests when pyfory is not available by @stevenschlansker in https://github.com/apache/fory/pull/2266
+- chore(java): Use `crossLanguage` instead of `language` in Fory by @CherishCai in https://github.com/apache/fory/pull/2274
+- chore(java): fix xlang test skip in the case where there is no Python at all by @stevenschlansker in https://github.com/apache/fory/pull/2280
+- chore(java): gitignore test-output from integration_tests as well as java by @stevenschlansker in https://github.com/apache/fory/pull/2282
+- chore: update fory rename in README.md by @chaokunyang in https://github.com/apache/fory/pull/2292
+- chore: Some Fory changes in README.md by @pjfanning in https://github.com/apache/fory/pull/2295
+- chore: update fory logo by @chaokunyang in https://github.com/apache/fory/pull/2298
+- chore(java): skip find customized serializer when absClassInfo is empty by @CherishCai in https://github.com/apache/fory/pull/2316
+
+## 新贡献者
+
+- @theigl made their first contribution in https://github.com/apache/fory/pull/1963
+- @AmitPr made their first contribution in https://github.com/apache/fory/pull/1968
+- @zhfeng made their first contribution in https://github.com/apache/fory/pull/1985
+- @Hen1ng made their first contribution in https://github.com/apache/fory/pull/1722
+- @LouisLou2 made their first contribution in https://github.com/apache/fory/pull/2069
+- @moooonk made their first contribution in https://github.com/apache/fory/pull/2076
+- @w-yfan made their first contribution in https://github.com/apache/fory/pull/2074
+- @Cybermaxke made their first contribution in https://github.com/apache/fory/pull/2101
+- @X-czh made their first contribution in https://github.com/apache/fory/pull/2205
+- @stevenschlansker made their first contribution in https://github.com/apache/fory/pull/2225
+- @Kn0688 made their first contribution in https://github.com/apache/fory/pull/2242
+- @lzaeh made their first contribution in https://github.com/apache/fory/pull/2246
+- @creddy made their first contribution in https://github.com/apache/fory/pull/2267
+- @CherishCai made their first contribution in https://github.com/apache/fory/pull/2274
+- @OmCheeLin made their first contribution in https://github.com/apache/fory/pull/2291
+- @drse made their first contribution in https://github.com/apache/fory/pull/2300
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.10.3...v0.11.0-rc2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-27-fory_0_11_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-27-fory_0_11_1_release.md
new file mode 100644
index 0000000000..4857cb3e22
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-06-27-fory_0_11_1_release.md
@@ -0,0 +1,55 @@
+---
+slug: fory_0_11_1_release
+title: Fory v0.11.1 发布
+authors: [liangliangsui]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.11.1 版本发布。 这是一个重要版本,包含来自 13 位贡献者的[32 PR](https://github.com/apache/fory/compare/v0.11.0...v0.11.1-rc1)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(java): row encoder supports synthesizing interfaces nested inside of records by @stevenschlansker in https://github.com/apache/fory/pull/2304
+- feat(java): Support customized serializer for abstract or interface. by @CherishCai in https://github.com/apache/fory/pull/2311
+- feat(java): row encoder supports custom rewriting values without changing their type by @stevenschlansker in https://github.com/apache/fory/pull/2305
+- feat(java): support multi-dimensional array field serialization in xlang meta shared mode by @OmCheeLin in https://github.com/apache/fory/pull/2314
+- feat(python): bump cython to 3.1.1 by @penguin-wwy in https://github.com/apache/fory/pull/2318
+- feat(java): array row encoder supports set of interface type by @stevenschlansker in https://github.com/apache/fory/pull/2333
+- feat(java): support maven shade for disallowed.txt by @chaokunyang in https://github.com/apache/fory/pull/2327
+- feat(java): store OptionalInt, OptionalLong, OptionalDouble same as nullable values by @stevenschlansker in https://github.com/apache/fory/pull/2338
+
+## 缺陷修复
+
+- fix(java): row encoder interface synthesis handle (Optional) null correctly by @stevenschlansker in https://github.com/apache/fory/pull/2306
+- fix(java): Use (long, long, byte) key for MetaStringBytes cache to prevent collisions by @LouisLou2 in https://github.com/apache/fory/pull/2308
+- fix(python): update python benchmark script by @penguin-wwy in https://github.com/apache/fory/pull/2315
+- fix(java): fix row encoder synthesized interface lazy-decoding of Optional by @stevenschlansker in https://github.com/apache/fory/pull/2320
+- fix(java): fix row format handling Optional of type with custom codec by @stevenschlansker in https://github.com/apache/fory/pull/2321
+- fix(java): row encoder array element serializer created too late by @stevenschlansker in https://github.com/apache/fory/pull/2323
+- fix(python): fix py3.13 ci on windows by @chaokunyang in https://github.com/apache/fory/pull/2334
+- fix(python): correct compute_string_hash usage in StructHashVisitor.visit_customized by @lzaeh in https://github.com/apache/fory/pull/2335
+- fix(java): fix register serializer for abstract class by @chaokunyang in https://github.com/apache/fory/pull/2347
+- fix(java): fix map nested array type serialization codegen by @chaokunyang in https://github.com/apache/fory/pull/2352
+
+## 其他改进
+
+- chore(java): skip find customized serializer when absClassInfo is empty by @CherishCai in https://github.com/apache/fory/pull/2316
+- chore: add release note generate tool by @chaokunyang in https://github.com/apache/fory/pull/2322
+- chore: Update README.md for fory rename by @chaokunyang in https://github.com/apache/fory/pull/2324
+- chore: update slack invite link to fory by @chaokunyang in https://github.com/apache/fory/pull/2325
+- perf(java): Improve zone offset deserialization performance by overriding JDK caching by @Cybermaxke in https://github.com/apache/fory/pull/2336
+- chore: bump release version to 0.11.0 by @chaokunyang in https://github.com/apache/fory/pull/2340
+- perf(java): update benchmark plot by @chaokunyang in https://github.com/apache/fory/pull/2342
+- chore: update plots fro compatible by @chaokunyang in https://github.com/apache/fory/pull/2344
+- docs: add document for customized map collection serializers by @chaokunyang in https://github.com/apache/fory/pull/2351
+- docs: add row format guide for ext and interface types by @nabilshafi in https://github.com/apache/fory/pull/2346
+- chore(java): ProtobufDispatcher should trigger log warning at most once by @ClaudioConsolmagno in https://github.com/apache/fory/pull/2353
+- docs: format markdown docs by @chaokunyang in https://github.com/apache/fory/pull/2354
+- chore: refine validate serializers message for map/collection by @chaokunyang in https://github.com/apache/fory/pull/2355
+
+## 新贡献者
+
+- @nabilshafi made their first contribution in https://github.com/apache/fory/pull/2346
+- @ClaudioConsolmagno made their first contribution in https://github.com/apache/fory/pull/2353
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.11.0...v0.11.1-rc1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-07-10-fory_0_11_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-07-10-fory_0_11_2_release.md
new file mode 100644
index 0000000000..4986ea12d9
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-07-10-fory_0_11_2_release.md
@@ -0,0 +1,34 @@
+---
+slug: fory_0_11_2_release
+title: Fory v0.11.2 发布
+authors: [pandalee99]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.11.2 版本发布。 这是一个重要版本,包含来自 6 位贡献者的[13 PR](https://github.com/apache/fory/compare/v0.11.1...v0.11.2-rc1)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(python): Add Python Linux ARM64 support and optimize Bazel installation by @esafak in https://github.com/apache/fory/pull/2357
+- feat(java): row encoder array deserialization into List supports lazy access by @stevenschlansker in https://github.com/apache/fory/pull/2358
+
+## 缺陷修复
+
+- fix(java): fix register class async jit thread safety by @chaokunyang in https://github.com/apache/fory/pull/2365
+- fix: fix WeakHashMap thread safety by @chaokunyang in https://github.com/apache/fory/pull/2366
+- fix(rust): fix rust lint error by @chaokunyang in https://github.com/apache/fory/pull/2373
+- fix(java): fix automatic module conflict with maven shaded dependencies by @chaokunyang in https://github.com/apache/fory/pull/2372
+
+## 文档
+
+- docs: adding multi-threading clarifications for java serialization by @drse in https://github.com/apache/fory/pull/2356
+- docs: fix document markdown lint error by @LiangliangSui in https://github.com/apache/fory/pull/2360
+- docs: Update java_serialization_guide.md - Fury - Fory by @apupier in https://github.com/apache/fory/pull/2362
+- docs: Update java_serialization_guide.md - fury --> fory by @apupier in https://github.com/apache/fory/pull/2361
+- docs: update jdk 24 support in README.md by @chaokunyang in https://github.com/apache/fory/pull/2368
+
+## 工程维护
+
+- chore: bump version 0.11.1 by @LiangliangSui in https://github.com/apache/fory/pull/2369
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.11.1...v0.11.2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-08-18-fory_0_12_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-08-18-fory_0_12_0_release.md
new file mode 100644
index 0000000000..f6caafceeb
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-08-18-fory_0_12_0_release.md
@@ -0,0 +1,90 @@
+---
+slug: fory_0_12_0_release
+title: Fory v0.12.0 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.12.0 版本发布。 这是一个重要版本,包含来自 9 位贡献者的[64 PR](https://github.com/apache/fory/compare/v0.11.2...v0.12.0)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- [Python] Support Python `__getstate__/__setstate__/__reduce__` serialization protocol
+- [Python] Support serialize python function
+- [Java] Use JDK11 for fory-format module
+- [Scala]Support default value for scala case/pojo classes when deseralizing
+- [Kotlin] Support default value for kotlin data classes when deserializing
+
+## 功能特性
+
+- refactor(python): replace Black and Flake8 with Ruff by @esafak in https://github.com/apache/fory/pull/2388
+- refactor(python): Unify DataClassSerializer and ComplexObjectSerializer by @esafak in https://github.com/apache/fory/pull/2389
+- refactor(python): Simplify require_pyarrow, remove undefined pytest.mark by @esafak in https://github.com/apache/fory/pull/2396
+- feat(python): Replace usage of ComplexObjectSerializer with DataClassSerializer by @esafak in https://github.com/apache/fory/pull/2395
+- feat(python): Add StatefulSerializer using **getstate**, **setstate** by @esafak in https://github.com/apache/fory/pull/2400
+- feat(python): Implement ReduceSerializer for **reduce** support by @esafak in https://github.com/apache/fory/pull/2401
+- feat(python): Support codegen with XLANG in DataClassSerializer by @esafak in https://github.com/apache/fory/pull/2405
+- perf(Go/python): Type system compatibility upgrade by @pandalee99 in https://github.com/apache/fory/pull/2339
+- feat(python): Add FunctionSerializer for function serialization by @esafak in https://github.com/apache/fory/pull/2404
+- feat: Implement ObjectSerializer for custom objects by @esafak in https://github.com/apache/fory/pull/2413
+- feat(scala): support scala object with default values by @chaokunyang in https://github.com/apache/fory/pull/2412
+- refactor(java): refactor java default value support for scala/kotlin by @chaokunyang in https://github.com/apache/fory/pull/2415
+- feat(kotlin): support default value for kotlin data class by @chaokunyang in https://github.com/apache/fory/pull/2416
+- feat(kotlin): add cache to kotlin default value support by @chaokunyang in https://github.com/apache/fory/pull/2419
+- refactor(ci): Migrate CI runner to Python scripts by @esafak in https://github.com/apache/fory/pull/2406
+- feat(java): use java11 for fory-format module by @chaokunyang in https://github.com/apache/fory/pull/2448
+- feat(python): add register api for python by @chaokunyang in https://github.com/apache/fory/pull/2451
+- feat(java): add graalvm 23 ci by @chaokunyang in https://github.com/apache/fory/pull/2463
+
+## 缺陷修复
+
+- fix: tidy up issues in scala_guide.md by @pjfanning in https://github.com/apache/fory/pull/2374
+- fix(java): ClassDef header calculation error by @LiangliangSui in https://github.com/apache/fory/pull/2382
+- ci(python): Build manylinux_2_28 wheels using auditwheel by @esafak in https://github.com/apache/fory/pull/2381
+- fix: Correct pyarrow installation check and add bazel troubleshooting by @esafak in https://github.com/apache/fory/pull/2418
+- fix(go): fix type writing and reading logic in slice by @lzaeh in https://github.com/apache/fory/pull/2427
+- fix(rust): fix rust lint error by @chaokunyang in https://github.com/apache/fory/pull/2447
+- fix(java): crash when map only contains null value by @LouisLou2 in https://github.com/apache/fory/pull/2444
+- fix(java): MemoryBuffer::readChars by @LouisLou2 in https://github.com/apache/fory/pull/2438
+- fix(java): fix java deploy with different java versions by @chaokunyang in https://github.com/apache/fory/pull/2449
+- fix(java): fix install jdks by @chaokunyang in https://github.com/apache/fory/pull/2450
+- fix(java): fix maven deploy by @chaokunyang in https://github.com/apache/fory/pull/2452
+- fix(java): fix shade janino duplciate entry by @chaokunyang in https://github.com/apache/fory/pull/2453
+- fix(java): fix extension java module conflict by @chaokunyang in https://github.com/apache/fory/pull/2455
+- fix(java): fix extension java module conflict by @chaokunyang in https://github.com/apache/fory/pull/2456
+- fix(java): fix decode classdef for abstract classes by @chaokunyang in https://github.com/apache/fory/pull/2462
+- fix(python): fix pyfory pypi release (#2473) by @chaokunyang in https://github.com/apache/fory/pull/2474
+- fix(python): fix py releases macos13 by @chaokunyang in https://github.com/apache/fory/pull/2479
+
+## 其他改进
+
+- chore(Scala): upgrade sbt and plugins by @pjfanning in https://github.com/apache/fory/pull/2379
+- chore(python): add more comprehensive test parameters by @pandalee99 in https://github.com/apache/fory/pull/2377
+- chore(Scala): remove var that can be mutated by @pjfanning in https://github.com/apache/fory/pull/2385
+- chore(Scala): add test for Scala 3 enum by @pjfanning in https://github.com/apache/fory/pull/2386
+- chore(Scala): use setup-sbt CI action by @pjfanning in https://github.com/apache/fory/pull/2387
+- chore(Scala): refactor scala test so it asserts something by @pjfanning in https://github.com/apache/fory/pull/2390
+- chore(Scala): Create DurationTest.scala by @pjfanning in https://github.com/apache/fory/pull/2394
+- chore(Java): handle deserialization scenario that currently throws an IndexOutOfBoundsException by @pjfanning in https://github.com/apache/fory/pull/2399
+- chore: bump release version to 0.11.2 by @pandalee99 in https://github.com/apache/fory/pull/2403
+- chore(deps): bump org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 in /java/fory-test-core by @dependabot[bot] in https://github.com/apache/fory/pull/2408
+- chore(docs): Fix the names of some documents by @pandalee99 in https://github.com/apache/fory/pull/2411
+- chore(cpp): fix duplicate copyright by @co63oc in https://github.com/apache/fory/pull/2426
+- docs: fix ruff command by @co63oc in https://github.com/apache/fory/pull/2425
+- chore: fix typos by @co63oc in https://github.com/apache/fory/pull/2424
+- chore(dart): fix typos by @co63oc in https://github.com/apache/fory/pull/2428
+- chore: fix typos by @co63oc in https://github.com/apache/fory/pull/2429
+- chore: remove incubating by @chaokunyang in https://github.com/apache/fory/pull/2431
+- chore: fix typos by @co63oc in https://github.com/apache/fory/pull/2433
+- chore: fix typos by @co63oc in https://github.com/apache/fory/pull/2436
+- chore: translate comments by @co63oc in https://github.com/apache/fory/pull/2442
+- chore(python): add execute doc for cross langauge tests in python by @chaokunyang in https://github.com/apache/fory/pull/2420
+- chore(java): arrow 18.3.0 by @stevenschlansker in https://github.com/apache/fory/pull/2458
+- chore: prepare commits for releases-0.12 by @chaokunyang in https://github.com/apache/fory/pull/2470
+- chore(python): disable import format warning by @chaokunyang in https://github.com/apache/fory/pull/2477
+
+## 新贡献者
+
+- @co63oc made their first contribution in https://github.com/apache/fory/pull/2426
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.11.2...v0.12.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-01-fory_0_12_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-01-fory_0_12_1_release.md
new file mode 100644
index 0000000000..b269e4090c
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-01-fory_0_12_1_release.md
@@ -0,0 +1,32 @@
+---
+slug: fory_0_12_1_release
+title: Fory v0.12.1 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.12.1 版本发布。 这是一个重要版本,包含来自 5 位贡献者的[24 PR](https://github.com/apache/fory/compare/v0.11.2...v0.12.1)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(python): set default languge to python for pyfory by @chaokunyang in https://github.com/apache/fory/pull/2490
+- feat(python): add register api to python by @chaokunyang in https://github.com/apache/fory/pull/2491
+
+## 缺陷修复
+
+- Ensure `Encoders.mapEncoder` loads bean classes correctly by @stevenschlansker in https://github.com/apache/fory/pull/2494
+- fix(java): row format generated bean types handling Optional by @stevenschlansker in https://github.com/apache/fory/pull/2497
+- fix(java): fix addListener not releasing the lock by @open-snail in https://github.com/apache/fory/pull/2500
+
+## 改进项
+
+- Improve PyPI landing page and add row-format documentation (https://github.com/apache/fory/pull/2498, https://github.com/apache/fory/pull/2499)
+- Refactor python release workflow by @esafak in https://github.com/apache/fory/pull/2483 https://github.com/apache/fory/pull/2532
+- chore: translate Chinese comments into English by @Asnowww in https://github.com/apache/fory/pull/2503
+
+## 新贡献者
+
+- @Asnowww made their first contribution in https://github.com/apache/fory/pull/2503
+- @open-snail made their first contribution in https://github.com/apache/fory/pull/2500
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.12.0...v0.12.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-08-fory_0_12_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-08-fory_0_12_2_release.md
new file mode 100644
index 0000000000..6da01371ee
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-08-fory_0_12_2_release.md
@@ -0,0 +1,28 @@
+---
+slug: fory_0_12_2_release
+title: Fory v0.12.2 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.12.2 版本发布。 这是一个小版本,包含来自 4 位贡献者的[10 PR](https://github.com/apache/fory/compare/v0.12.1...v0.12.2)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(java): bean encoder implemented interfaces honor `@Ignore` by @stevenschlansker in https://github.com/apache/fory/pull/2576
+- feat(java): support limit deserialization depth by @chaokunyang in https://github.com/apache/fory/pull/2578
+
+## 缺陷修复
+
+- fix(ci): Install pyfory for golang xlang tests by @esafak in https://github.com/apache/fory/pull/2561
+- fix(ci): Exit with subprocess return code in run_ci.py by @esafak in https://github.com/apache/fory/pull/2560
+- fix(java): fix codegen name conflict by @chaokunyang in https://github.com/apache/fory/pull/2565
+- fix(java): Skip calculation of classVersionHash if checkClassVersion by @theigl in https://github.com/apache/fory/pull/2573
+- fix(java): skip hash compute for abstract field type by @chaokunyang in https://github.com/apache/fory/pull/2575
+- fix(java): row format buffer recycling leaves offset and size for null by @stevenschlansker in https://github.com/apache/fory/pull/2540
+
+## 改进项
+
+- refactor(java): refactor fory java exception hierarchical structure by @chaokunyang in https://github.com/apache/fory/pull/2577
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.12.1...v0.12.2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-23-fory_0_12_3_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-23-fory_0_12_3_release.md
new file mode 100644
index 0000000000..096527d2e8
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-09-23-fory_0_12_3_release.md
@@ -0,0 +1,20 @@
+---
+slug: fory_0_12_3_release
+title: Fory v0.12.3 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.12.3 版本发布。 This is a minor release that includes [4 PR](https://github.com/apache/fory/compare/v0.12.2...v0.12.3). 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 功能特性
+
+- feat(java): support concurent map serialization when being updated by @chaokunyang in https://github.com/apache/fory/pull/2617
+- feat(python): support limit pyfory depth by @chaokunyang in https://github.com/apache/fory/pull/2625
+- feat(python): drop-in replacement for pickle serialization by @chaokunyang in https://github.com/apache/fory/pull/2629
+
+## 缺陷修复
+
+- fix(java): fix get nested genericType for codegen by @chaokunyang in https://github.com/apache/fory/pull/2632
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.12.2...v0.12.3
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-27-fory_0_13_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-27-fory_0_13_0_release.md
new file mode 100644
index 0000000000..0b6fc9221a
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-27-fory_0_13_0_release.md
@@ -0,0 +1,366 @@
+---
+slug: fory_0_13_0_release
+title: Fory v0.13.0 发布
+authors: [chaokunyang]
+tags: [fory]
+---
+
+Apache Fory 团队很高兴宣布 0.13.0 版本发布。这是一个重要版本,包含来自 19 位贡献者的[217 PR](https://github.com/apache/fory/compare/v0.12.3...v0.13.0)。请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- Dynamic Trait Object Serialization for Rust
+- Shared/Circular ownership serialization for Rust
+- Schema Forward/Backward compatibilify for Rust
+- Drop-in Replacement for Python pickle: support local function/classes/`__reduce__`/`__getstate__` serialization
+- Schema Forward/Backward compatibilify for Python dataclass
+- Support codegen for xlang mode in java
+- Primitive array compression using SIMD
+- Compact Row Codec for Row Format
+- Schema Forward/Backward compatibilify for Go
+- Ahead-of-time codegen for golang struct serialization
+
+## Rust:首次发布亮点
+
+这是 Apache Fory Rust 的首个正式发布版本,提供完整且高性能的序列化能力。如果你正在构建 Rust 服务或库,现在可以原生使用 Fory,在强类型、安全性、性能与 Schema 演进能力之间取得更好平衡。
+
+- Derive-based object graph serialization via `#[derive(ForyObject)]`
+- Polymorphism for trait objects: `Box<dyn Trait>`, `Rc<dyn Trait>`, `Arc<dyn Trait>`, plus `dyn Any`
+- Shared and circular reference tracking: `Rc`/`Arc` and `RcWeak`/`ArcWeak`
+- Forward/backward compatible schema evolution (Compatible mode)
+- Zero-copy Row format via `#[derive(ForyRow)]` with selective field access
+- Thread-safe and multi-thread capable serialization (context pool)
+- Broad collection support (e.g., `VecDeque`, `LinkedList`, `BTreeMap`, `BTreeSet`, `BinaryHeap`)
+
+### 快速开始(最小示例)
+
+```rust
+use fory::{Fory, Error};
+use fory::ForyObject;
+
+#[derive(ForyObject, Debug, PartialEq)]
+struct User {
+ name: String,
+ age: i32,
+ email: String,
+}
+
+fn main() -> Result<(), Error> {
+ let mut fory = Fory::default();
+ fory.register::<User>(1)?;
+
+ let user = User { name: "Alice".into(), age: 30, email: "alice@example.com".into() };
+ let bytes = fory.serialize(&user)?;
+ let decoded: User = fory.deserialize(&bytes)?;
+ assert_eq!(user, decoded);
+ Ok(())
+}
+```
+
+- Rust 指南:https://fory.apache.org/docs/docs/guide/rust_serialization
+- Crate:https://crates.io/crates/fory
+- API 文档:https://docs.rs/fory/latest/fory
+
+### Rust 基准测试
+
+<img src="/img/benchmarks/rust/ecommerce_data.png" width="90%"/>
+<img src="/img/benchmarks/rust/system_data.png" width="90%"/>
+
+下面给出序列化吞吐结果(TPS,越高越好),用于对比 Fory、JSON 和 Protobuf 在不同数据集与规模下的表现。
+
+| Datatype | Size | Operation | Fory TPS | JSON TPS | Protobuf TPS | Fastest |
+| -------------- | ------ | --------- | ---------- | ---------- | ------------ | ------- |
+| company | small | serialize | 10,063,906 | 761,673 | 896,620 | fory |
+| company | medium | serialize | 412,507 | 33,835 | 37,590 | fory |
+| company | large | serialize | 9,183 | 793 | 880 | fory |
+| ecommerce_data | small | serialize | 2,350,729 | 206,262 | 256,970 | fory |
+| ecommerce_data | medium | serialize | 59,977 | 4,699 | 5,242 | fory |
+| ecommerce_data | large | serialize | 3,727 | 266 | 295 | fory |
+| person | small | serialize | 13,632,522 | 1,345,189 | 1,475,035 | fory |
+| person | medium | serialize | 3,839,656 | 337,610 | 369,031 | fory |
+| person | large | serialize | 907,853 | 79,631 | 91,408 | fory |
+| simple_list | small | serialize | 27,726,945 | 4,874,957 | 4,643,172 | fory |
+| simple_list | medium | serialize | 4,770,765 | 401,558 | 397,551 | fory |
+| simple_list | large | serialize | 606,061 | 41,061 | 44,565 | fory |
+| simple_map | small | serialize | 22,862,369 | 3,888,025 | 2,695,999 | fory |
+| simple_map | medium | serialize | 2,128,973 | 204,319 | 193,132 | fory |
+| simple_map | large | serialize | 177,847 | 18,419 | 18,668 | fory |
+| simple_struct | small | serialize | 35,729,598 | 10,167,045 | 8,633,342 | fory |
+| simple_struct | medium | serialize | 34,988,279 | 9,737,098 | 6,433,350 | fory |
+| simple_struct | large | serialize | 31,801,558 | 4,545,041 | 7,420,049 | fory |
+| system_data | small | serialize | 5,382,131 | 468,033 | 569,930 | fory |
+| system_data | medium | serialize | 174,240 | 11,896 | 14,753 | fory |
+| system_data | large | serialize | 10,671 | 876 | 1,040 | fory |
+
+注:结果与硬件环境、测试数据和实现版本相关。如何复现实验请参考 Rust benchmark 文档:https://github.com/apache/fory/blob/main/benchmarks/rust_benchmark/README.md
+
+## Python:pickle 无缝替换
+
+`pyfory` 现在可以作为 `pickle`/`cloudpickle` 的高性能无缝替代方案,在保持简单 API 的同时,提供更强的安全性与性能能力。
+
+- Serialize any Python object in Python‑native mode (`xlang=False`): global/local functions, lambdas, global/local classes, instance/class/static methods
+- Honors Python hooks: `__getstate__`, `__setstate__`, `__reduce__`, `__reduce_ex__`
+- Reference tracking for shared/circular graphs with `ref=True`
+- Pickle protocol 5 out‑of‑band buffers for zero‑copy via `pickle.PickleBuffer` (NumPy, Pandas, etc.)
+- Security: `strict=True` for registration‑based safety and `DeserializationPolicy` for fine‑grained control
+- Threading: `ThreadSafeFory` for safe multi‑thread use
+- Familiar API: `dumps/loads` are aliases of `serialize/deserialize`
+
+快速开始:
+
+```python
+import pyfory
+
+# pickle/cloudpickle 无缝替换
+fory = pyfory.Fory(xlang=False, ref=True, strict=False)
+
+def make_multiplier(k):
+ def mul(x):
+ return k * x
+ return mul
+
+binary = fory.dumps(make_multiplier(10))
+assert fory.loads(binary)(3) == 30
+```
+
+更多说明:Python Guide – https://fory.apache.org/docs/latest/python_serialization/
+
+## 功能特性
+
+- feat(java): support object stream serialization for graalvm by @chaokunyang in https://github.com/apache/fory/pull/2464
+- refactor(java): rename abstract collection/map serializers to Map/ListLikeSerializer by @chaokunyang in https://github.com/apache/fory/pull/2466
+- feat(memory): add customizable MemoryAllocator interface by @adriacabeza in https://github.com/apache/fory/pull/2467
+- feat: Chain wheel test/build and release workflows by @esafak in https://github.com/apache/fory/pull/2483
+- feat(python): set default languge to python for pyfory by @chaokunyang in https://github.com/apache/fory/pull/2490
+- feat(python): add register api to python by @chaokunyang in https://github.com/apache/fory/pull/2491
+- feat(python): meta compression for python by @chaokunyang in https://github.com/apache/fory/pull/2504
+- feat(python): type meta encoding for python by @chaokunyang in https://github.com/apache/fory/pull/2509
+- feat(CI): Cache npm, add node 24, lock file by @esafak in https://github.com/apache/fory/pull/2523
+- feat(Rust): Implementing Type Compatible by @urlyy in https://github.com/apache/fory/pull/2492
+- feat(Rust): support Option in MetaFieldType se/de by @urlyy in https://github.com/apache/fory/pull/2528
+- feat(rust): support skipping fields bytes when deserializing in compatible mode by @urlyy in https://github.com/apache/fory/pull/2545
+- feat(go): add type meta encoding for meta share by @junjiexh in https://github.com/apache/fory/pull/2554
+- feat(Rust): Support automatic conversion between T and `Option<T>` when deserialize by @urlyy in https://github.com/apache/fory/pull/2563
+- feat(java): bean encoder implemented interfaces honor `@Ignore` by @stevenschlansker in https://github.com/apache/fory/pull/2576
+- refactor(java): refactor fory java exception hierarchical structure by @chaokunyang in https://github.com/apache/fory/pull/2577
+- feat(Go): Implement ahead of time codegen for fory-go serialization by @ThisingL in https://github.com/apache/fory/pull/2553
+- feat(java): support limit deserialization depth by @chaokunyang in https://github.com/apache/fory/pull/2578
+- feat(rust): add fory rust benchmark by @chaokunyang in https://github.com/apache/fory/pull/2583
+- perf(rust): optimize rust deserialize perf by @chaokunyang in https://github.com/apache/fory/pull/2584
+- feat(rust): add rust profiler for serialization by @chaokunyang in https://github.com/apache/fory/pull/2588
+- refactor(go): rename FieldInfo to FieldDef to avoide name collision by @junjiexh in https://github.com/apache/fory/pull/2594
+- feat(python): meta share mode for pyfory compatible serialization by @chaokunyang in https://github.com/apache/fory/pull/2593
+- feat(java/python): align java and python compatible mode serialization by @chaokunyang in https://github.com/apache/fory/pull/2602
+- feat(java/python): support enum xlang serialization by @chaokunyang in https://github.com/apache/fory/pull/2603
+- feat(Rust): support basic type se/de aligned with java by @urlyy in https://github.com/apache/fory/pull/2585
+- perf(python/java): Fix & optimize cross-language meta-share mode by @pandalee99 in https://github.com/apache/fory/pull/2601
+- feat(go): align cross-language type serialization for primitive arrays by @pandalee99 in https://github.com/apache/fory/pull/2610
+- feat(java): support codegen for xlang mode in java by @chaokunyang in https://github.com/apache/fory/pull/2613
+- feat(java): primitive array compression using SIMD by @adriacabeza in https://github.com/apache/fory/pull/2485
+- refactor(go): Replace globalTypeResolver with factory-based serializer registration by @ThisingL in https://github.com/apache/fory/pull/2615
+- feat(go): Implement compatible mode with metashare mode by @junjiexh in https://github.com/apache/fory/pull/2607
+- feat(java): support concurent map serialization when being updated by @chaokunyang in https://github.com/apache/fory/pull/2617
+- feat(java): support concurrent updates when serializing collections by @chaokunyang in https://github.com/apache/fory/pull/2623
+- feat(python): support limit pyfory depth by @chaokunyang in https://github.com/apache/fory/pull/2625
+- feat(Rust): sort fields && feat Enum && fix read/write type_info && fix type_meta en/decode by @urlyy in https://github.com/apache/fory/pull/2630
+- feat(python): drop-in replacement for pickle serialization by @chaokunyang in https://github.com/apache/fory/pull/2629
+- refactor(java): refactor type resolver by @chaokunyang in https://github.com/apache/fory/pull/2640
+- feat(java): support type converters for comaptible mode by @chaokunyang in https://github.com/apache/fory/pull/2641
+- refactor(java/python): refine collection header bitmap by @chaokunyang in https://github.com/apache/fory/pull/2642
+- feat(go): metashare mode support collection and map and nested object by @junjiexh in https://github.com/apache/fory/pull/2643
+- feat(go): Add slice and map support to fory-go codegen serialization by @ThisingL in https://github.com/apache/fory/pull/2638
+- refactor(go): Change codegen annotation from //fory:gen to //fory:generate by @ThisingL in https://github.com/apache/fory/pull/2648
+- feat(rust): support Map and register_by_name by @urlyy in https://github.com/apache/fory/pull/2649
+- feat(java): support graalvm 25 by @chaokunyang in https://github.com/apache/fory/pull/2652
+- feat(java): support deserialize not registered/exsited class/fields for xlang compatible mode by @chaokunyang in https://github.com/apache/fory/pull/2655
+- refactor(Rust): Refactor compile-time code & fix named_enum & fix skip enum by @urlyy in https://github.com/apache/fory/pull/2657
+- feat(python): support local py class serialization by @chaokunyang in https://github.com/apache/fory/pull/2665
+- refactor(go): refine collection header bitmap by @junjiexh in https://github.com/apache/fory/pull/2656
+- feat(python): support class methods serialization by @chaokunyang in https://github.com/apache/fory/pull/2670
+- refactor(go): refine collection header bitmap in codegen by @ThisingL in https://github.com/apache/fory/pull/2676
+- feat(rust): support box serde for rust by @chaokunyang in https://github.com/apache/fory/pull/2677
+- feat(rust): support reference tracking for rust Rc/Arc by @chaokunyang in https://github.com/apache/fory/pull/2678
+- feat(python): refine python serialization api by @chaokunyang in https://github.com/apache/fory/pull/2673
+- refactor(Rust): Refine api name by @urlyy in https://github.com/apache/fory/pull/2671
+- feat(rust): support rust dyn trait object serialization by @chaokunyang in https://github.com/apache/fory/pull/2691
+- feat(rust): support dyn any trait object serialization for box/arc/rc by @chaokunyang in https://github.com/apache/fory/pull/2704
+- feat(rust): support shared reference tracking for `arc/rc<dyn T>` by @chaokunyang in https://github.com/apache/fory/pull/2707
+- feat(rust): avoid downcast method of multiple trait objects in same module conflict by @chaokunyang in https://github.com/apache/fory/pull/2708
+- feat(rust): add deref to arc/rc wrapper by @chaokunyang in https://github.com/apache/fory/pull/2709
+- refactor(rust): unify rc/arc wrapper macro arms into one function by @chaokunyang in https://github.com/apache/fory/pull/2711
+- perf(Rust): Use SIMD to se/de string by @urlyy in https://github.com/apache/fory/pull/2716
+- feat(Rust): named_xx se/de && ext se/de && add unittest by @urlyy in https://github.com/apache/fory/pull/2712
+- feat(rust): support RcWeak/ArcWeak for circular reference tracking by @chaokunyang in https://github.com/apache/fory/pull/2714
+- feat(rust): support limit max dyn depth by @chaokunyang in https://github.com/apache/fory/pull/2730
+- feat(Rust): Unroll fields loop & Add a feature for this by @urlyy in https://github.com/apache/fory/pull/2724
+- feat(python): make fory out-of-band serialization compatible with pickle5 by @chaokunyang in https://github.com/apache/fory/pull/2732
+- refactor(go): Replace legacy RegisterTagType api call by @junjiexh in https://github.com/apache/fory/pull/2696
+- feat(python): add thread safe fory by @chaokunyang in https://github.com/apache/fory/pull/2735
+- feat(rust): support VecDeque/LinkedList serialization by @chaokunyang in https://github.com/apache/fory/pull/2741
+- feat(rust): support btreemap serialization by @chaokunyang in https://github.com/apache/fory/pull/2743
+- feat(rust): support btree set and binary heap serialization by @chaokunyang in https://github.com/apache/fory/pull/2744
+- feat(Rust): support context_pool to reduce context allocation && support se/de in multi-thread by @urlyy in https://github.com/apache/fory/pull/2737
+- feat(ci): cache Bazel binary in Python CI workflow by @SanyamSuyal in https://github.com/apache/fory/pull/2745
+- feat(rust): rewrite fory derive macro for smaller and faster generated code using compile-time fields sort algorithm by @chaokunyang in https://github.com/apache/fory/pull/2749
+- feat(ci): add maven cache to ci for faster build by @chaokunyang in https://github.com/apache/fory/pull/2751
+- feat(rust): fast fory_read_compatible macro to use match by assigned field id by @chaokunyang in https://github.com/apache/fory/pull/2758
+- refactor(rust): use compatible bool instead of enum to simplify API by @chaokunyang in https://github.com/apache/fory/pull/2763
+- feat(rust): query type meta from parsed cache to speed up deserialization by @chaokunyang in https://github.com/apache/fory/pull/2764
+- feat(java): introduce Compact Row Codec by @stevenschlansker in https://github.com/apache/fory/pull/2414
+- feat(go): Add pointer field test for meta share mode by @junjiexh in https://github.com/apache/fory/pull/2674
+- feat(rust): make Serializer api to return Result && replace panic/expect/assert/unwrap with Result by @urlyy in https://github.com/apache/fory/pull/2765
+- feat(rust): refactor rust serialization system by @chaokunyang in https://github.com/apache/fory/pull/2774
+- feat(python): support optional typehint for dataclass fields by @chaokunyang in https://github.com/apache/fory/pull/2766
+- feat(rust): dynamic rust serializer system by @chaokunyang in https://github.com/apache/fory/pull/2778
+- feat(rust): use rc instead of arc for type meta for faster performance by @chaokunyang in https://github.com/apache/fory/pull/2782
+- feat(python): support dataclass compatible mode for python native mode by @chaokunyang in https://github.com/apache/fory/pull/2784
+- feat(java): support deserialize non exist enum variant to default by @chaokunyang in https://github.com/apache/fory/pull/2787
+- feat(go): update codegen field sorting to generate smaller and faster code by @ThisingL in https://github.com/apache/fory/pull/2779
+- feat(rust): make type meta resolve return type info directly by @chaokunyang in https://github.com/apache/fory/pull/2789
+- perf(Rust): remove clone()/to_owned() on MetaString/MetaStringBytes in MetaStringResolver to improve performance && fix xlang test by @urlyy in https://github.com/apache/fory/pull/2791
+- feat(rust): support static struct version hash check for rust by @chaokunyang in https://github.com/apache/fory/pull/2793
+- feat(rust): support profile all data types in rust benchmark by @chaokunyang in https://github.com/apache/fory/pull/2801
+- perf(rust): optimize rust small string/struct read/write performance by @chaokunyang in https://github.com/apache/fory/pull/2803
+- perf(rust): optimize rust performance by remove copy simd and add more inline hints by @chaokunyang in https://github.com/apache/fory/pull/2807
+- perf(rust): always use utf8 when writing string by @chaokunyang in https://github.com/apache/fory/pull/2809
+- feat(python): add deserialization policy for more fine-grained control and audit deserialization behaviour by @chaokunyang in https://github.com/apache/fory/pull/2811
+- perf(Rust): Enchance performance by @theweipeng in https://github.com/apache/fory/pull/2810
+- feat(Rust): Support serialize_to by @theweipeng in https://github.com/apache/fory/pull/2822
+- feat(rust): lazy build typeinfo for rust to avoid nested struct register deps by @chaokunyang in https://github.com/apache/fory/pull/2824
+- perf(Rust): Refactor reader by @theweipeng in https://github.com/apache/fory/pull/2826
+- perf(python): optimize pyfory perf by @chaokunyang in https://github.com/apache/fory/pull/2829
+
+## 缺陷修复
+
+- fix(java): fix map/list element type same with collection type jit error by @chaokunyang in https://github.com/apache/fory/pull/2465
+- fix(python): fix gh action pypi publish by @chaokunyang in https://github.com/apache/fory/pull/2468
+- fix(java): fix row encoder for private struct by @chaokunyang in https://github.com/apache/fory/pull/2469
+- fix(python): fix pyfory pypi release by @chaokunyang in https://github.com/apache/fory/pull/2473
+- fix(python): fix py release on macos 13 by @chaokunyang in https://github.com/apache/fory/pull/2478
+- fix(ci): Build python wheels using interpreters in manylinux2014 by @esafak in https://github.com/apache/fory/pull/2486
+- fix(java): Encoders.mapEncoder(TypeRef, TypeRef, TypeRef, Fory) should load bean classes by @stevenschlansker in https://github.com/apache/fory/pull/2494
+- fix(java): row format generated bean types handling Optional by @stevenschlansker in https://github.com/apache/fory/pull/2497
+- fix: Fix the issue of addListener not releasing the lock by @open-snail in https://github.com/apache/fory/pull/2500
+- fix(ci): Use $ROOT/dist for wheel distribution by @esafak in https://github.com/apache/fory/pull/2506
+- fix(python): fix publich tag for workflow by @chaokunyang in https://github.com/apache/fory/pull/2517
+- fix(ci): print workflow head branch by @chaokunyang in https://github.com/apache/fory/pull/2518
+- fix(python): fix release python wheel head_branch tag by @chaokunyang in https://github.com/apache/fory/pull/2519
+- fix(java): MemoryBuffer tests that equalTo works with size zero buffers by @stevenschlansker in https://github.com/apache/fory/pull/2524
+- fix(ci): Pass tag to bump_py_version, set PLAT inside manylinux container by @esafak in https://github.com/apache/fory/pull/2522
+- fix(ci): Use ref_name tag in Windows, name release runs, verify wheel versions, use all python versions for release by @esafak in https://github.com/apache/fory/pull/2532
+- ci: Fix verify_version() by capturing version properly by @esafak in https://github.com/apache/fory/pull/2535
+- fix(python): fix bump_wheel version by @chaokunyang in https://github.com/apache/fory/pull/2534
+- fix(python): fix bump version by @chaokunyang in https://github.com/apache/fory/pull/2536
+- fix(python): add macos 13 release by @chaokunyang in https://github.com/apache/fory/pull/2538
+- fix(ci): use lowercase for betahuhn/repo-file-sync-action by @chaokunyang in https://github.com/apache/fory/pull/2541
+- fix(ci): use commit hash for repo-file-sync-action by @chaokunyang in https://github.com/apache/fory/pull/2542
+- fix(java): array encoder seems to waste 8 bytes in encode(T) by @stevenschlansker in https://github.com/apache/fory/pull/2551
+- fix(ci): Install pyfory for golang xlang tests by @esafak in https://github.com/apache/fory/pull/2561
+- fix(ci): Exit with subprocess return code in run_ci.py by @esafak in https://github.com/apache/fory/pull/2560
+- fix(java): fix codegen name conflict by @chaokunyang in https://github.com/apache/fory/pull/2565
+- fix(java): fix classinfo npe on graalvm by @chaokunyang in https://github.com/apache/fory/pull/2572
+- fix(java): Skip calculation of classVersionHash if checkClassVersion is false by @theigl in https://github.com/apache/fory/pull/2573
+- fix(java): skip hash compute for abstract field type by @chaokunyang in https://github.com/apache/fory/pull/2575
+- fix(java): row format buffer recycling leaves offset and size for null values by @stevenschlansker in https://github.com/apache/fory/pull/2540
+- fix(java): fix xlang register type by id by @chaokunyang in https://github.com/apache/fory/pull/2591
+- fix(java): fix xlang mode meta shared for java by @chaokunyang in https://github.com/apache/fory/pull/2592
+- fix(python): Fix the build dependency failure that occurred in pyfory by @pandalee99 in https://github.com/apache/fory/pull/2596
+- fix(python): Delete the redundant code in typedef by @pandalee99 in https://github.com/apache/fory/pull/2600
+- fix(java): fix register by id for xlang metashare mode in java by @chaokunyang in https://github.com/apache/fory/pull/2614
+- fix(java/python): fix meta string encoding order by @chaokunyang in https://github.com/apache/fory/pull/2616
+- fix(go): Complete type registration in factory-based serializer system by @ThisingL in https://github.com/apache/fory/pull/2619
+- fix(python): fix pyfory depth limit by @chaokunyang in https://github.com/apache/fory/pull/2626
+- fix(java): fix get nested genericType for codegen by @chaokunyang in https://github.com/apache/fory/pull/2632
+- fix(python): register dynamic serializer only not require registration by @chaokunyang in https://github.com/apache/fory/pull/2634
+- fix(java): fix record serialization on graalvm25 by @chaokunyang in https://github.com/apache/fory/pull/2644
+- fix(java): fix field converter for xlang by @chaokunyang in https://github.com/apache/fory/pull/2654
+- fix(java): fix array serialization on graalvm by @chaokunyang in https://github.com/apache/fory/pull/2664
+- fix(java): fix meta share deserialization for register by @chaokunyang in https://github.com/apache/fory/pull/2667
+- fix(java): retain serializers in graalvm native images by @gudzpoz in https://github.com/apache/fory/pull/2680
+- fix(java): fix graalvm not use generated serializer by @chaokunyang in https://github.com/apache/fory/pull/2682
+- fix(java): fix register serializer for xlang in java by @chaokunyang in https://github.com/apache/fory/pull/2683
+- fix(java): fix InputStream read big buffer error by @wuwangben in https://github.com/apache/fory/pull/2687
+- fix(python): fix python module/type serialize by @chaokunyang in https://github.com/apache/fory/pull/2688
+- fix(java): Fix flakiness in CollectionSerializersTest#tesPriorityQueueSerializer by @swj20010308 in https://github.com/apache/fory/pull/2693
+- fix(java): Fix flakiness in LazyMapTest#testMap by @swj20010308 in https://github.com/apache/fory/pull/2692
+- fix(java): fix deserializing EXT type bug by @mengnankkkk in https://github.com/apache/fory/pull/2700
+- fix(java): fix xlang typedef encode by @chaokunyang in https://github.com/apache/fory/pull/2719
+- fix(java): Fix flakiness in MetaContextTest#testShareClassName and #testShareClassDefCompatible by @swj20010308 in https://github.com/apache/fory/pull/2739
+- fix(java): Fix flakiness in ForyCopyTest#mutableObjectCopyTest by @swj20010308 in https://github.com/apache/fory/pull/2738
+- fix(ci): add retry logic to Bazel downloads to prevent flaky CI failures by @SanyamSuyal in https://github.com/apache/fory/pull/2733
+- fix(java): serialize collections with only null elements in xlang mode by @mymde in https://github.com/apache/fory/pull/2740
+- fix(ci): fix sync file by @chaokunyang in https://github.com/apache/fory/pull/2750
+- fix(ci): fix sync files by @chaokunyang in https://github.com/apache/fory/pull/2752
+- fix(docs): fix rust doc links build and check by @chaokunyang in https://github.com/apache/fory/pull/2753
+- fix(java): fix maven cache by @chaokunyang in https://github.com/apache/fory/pull/2755
+- fix(rust): fix rust xlang tests by @chaokunyang in https://github.com/apache/fory/pull/2788
+- fix(java): Fix flakiness in CollectionSerializersTest#testCollectionFieldSerializers, CollectionSerializersTest#testCollectionFieldSerializersCopy and ProtocolInteroperabilityTest#testComplexCollection by @swj20010308 in https://github.com/apache/fory/pull/2790
+- fix(java): fix java shanpshot version by @chaokunyang in https://github.com/apache/fory/pull/2800
+- fix(go): Adjust serialization of nullable value to align python behavior by @junjiexh in https://github.com/apache/fory/pull/2814
+
+## 其他改进
+
+- chore(python): disable pyfory.format import warning by @chaokunyang in https://github.com/apache/fory/pull/2476
+- chore: bump release version to 0.12.0 by @chaokunyang in https://github.com/apache/fory/pull/2489
+- docs: fix meta_size_mask by @urlyy in https://github.com/apache/fory/pull/2495
+- chore: fix typos by @Asnowww in https://github.com/apache/fory/pull/2496
+- docs: Improve pyfory PyPI documentation by @esafak in https://github.com/apache/fory/pull/2498
+- docs(python): add row format doc by @chaokunyang in https://github.com/apache/fory/pull/2499
+- chore: translate Chinese comments into English by @Asnowww in https://github.com/apache/fory/pull/2503
+- docs: Improve pull request template by @esafak in https://github.com/apache/fory/pull/2508
+- ci: Fix Windows wheel creation by @esafak in https://github.com/apache/fory/pull/2511
+- ci: Pass the GH token to actions/download-artifact by @esafak in https://github.com/apache/fory/pull/2514
+- chore: fix MetaStrEncoding by @co63oc in https://github.com/apache/fory/pull/2516
+- chore(javascript): rename foryjs to apache-fory and remove install docs by @chaokunyang in https://github.com/apache/fory/pull/2544
+- chore: bump release version to 0.12.1 by @chaokunyang in https://github.com/apache/fory/pull/2556
+- docs: update contributing.md with Rust lint command by @urlyy in https://github.com/apache/fory/pull/2569
+- chore(ci): use str replace to make bump java version faster by @chaokunyang in https://github.com/apache/fory/pull/2568
+- docs(java): add idea jdk11 usage config by @chaokunyang in https://github.com/apache/fory/pull/2570
+- docs(rust): add rust document by @chaokunyang in https://github.com/apache/fory/pull/2582
+- chore: bump release version to 0.12.2 by @chaokunyang in https://github.com/apache/fory/pull/2589
+- chore: add trademark for fory name by @chaokunyang in https://github.com/apache/fory/pull/2590
+- chore: Revert "fix(python): Fix the build dependency failure that occurred in pyfory" by @chaokunyang in https://github.com/apache/fory/pull/2597
+- chore: remove slash in homepage URL by @chaokunyang in https://github.com/apache/fory/pull/2604
+- chore(go): replace all typ to type\_ by @chaokunyang in https://github.com/apache/fory/pull/2612
+- chore: bump release version to 0.12.3 by @chaokunyang in https://github.com/apache/fory/pull/2645
+- docs: add AGENT.md to make AI coding more efficient by @chaokunyang in https://github.com/apache/fory/pull/2646
+- chore(rust): remove tag read/write by @chaokunyang in https://github.com/apache/fory/pull/2681
+- docs(python): refine python readme with detailed docs by @chaokunyang in https://github.com/apache/fory/pull/2689
+- docs(python): update schema evolution support in README by @chaokunyang in https://github.com/apache/fory/pull/2690
+- docs: fix python readme lint by @chaokunyang in https://github.com/apache/fory/pull/2694
+- docs(rust): add comprehensive rust readme document by @chaokunyang in https://github.com/apache/fory/pull/2723
+- docs(rust): add detailed rust api doc and readme by @chaokunyang in https://github.com/apache/fory/pull/2728
+- docs: sync rust and python document to fory-site by @chaokunyang in https://github.com/apache/fory/pull/2734
+- docs(rust): update rust roadmap by @chaokunyang in https://github.com/apache/fory/pull/2754
+- docs(rust): fix rust doc broken link by @chaokunyang in https://github.com/apache/fory/pull/2756
+- docs(rust): fix rust doc lint by @chaokunyang in https://github.com/apache/fory/pull/2757
+- docs(go): Update README.md by @junjiexh in https://github.com/apache/fory/pull/2675
+- docs(rust): add rust thread safety and troubleshooting doc by @chaokunyang in https://github.com/apache/fory/pull/2781
+- chore(rust): rename fory-tests to tests by @chaokunyang in https://github.com/apache/fory/pull/2783
+- docs(rust): update rust serializer trait doc by @chaokunyang in https://github.com/apache/fory/pull/2795
+- chore: fix release error by @chaokunyang in https://github.com/apache/fory/pull/2796
+- chore(python): rename numeric typehint by @chaokunyang in https://github.com/apache/fory/pull/2808
+- chore(rust): reorder fory rust methods by @chaokunyang in https://github.com/apache/fory/pull/2813
+- docs(python): refine python code and add api doc by @chaokunyang in https://github.com/apache/fory/pull/2816
+- chore(ci): remove macos13 ci for rust/c++ by @chaokunyang in https://github.com/apache/fory/pull/2817
+- chore(rust): rename metastring to meta_string by @urlyy in https://github.com/apache/fory/pull/2812
+- docs(rust): add serialize_to api doc by @chaokunyang in https://github.com/apache/fory/pull/2825
+- chore(Rust): Streamline code by @theweipeng in https://github.com/apache/fory/pull/2828
+- docs(rust): update serialize to deserialize from doc by @chaokunyang in https://github.com/apache/fory/pull/2830
+- chore(Rust): Remove new_from_fory from context.rs by @urlyy in https://github.com/apache/fory/pull/2831
+
+## 新贡献者
+
+- @adriacabeza made their first contribution in https://github.com/apache/fory/pull/2467
+- @Asnowww made their first contribution in https://github.com/apache/fory/pull/2496
+- @open-snail made their first contribution in https://github.com/apache/fory/pull/2500
+- @junjiexh made their first contribution in https://github.com/apache/fory/pull/2554
+- @ThisingL made their first contribution in https://github.com/apache/fory/pull/2553
+- @gudzpoz made their first contribution in https://github.com/apache/fory/pull/2680
+- @wuwangben made their first contribution in https://github.com/apache/fory/pull/2687
+- @swj20010308 made their first contribution in https://github.com/apache/fory/pull/2693
+- @mengnankkkk made their first contribution in https://github.com/apache/fory/pull/2700
+- @SanyamSuyal made their first contribution in https://github.com/apache/fory/pull/2733
+- @mymde made their first contribution in https://github.com/apache/fory/pull/2740
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.12.3...v0.13.0-rc2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-29-fory_rust_versatile_serialization_framework.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-29-fory_rust_versatile_serialization_framework.md
new file mode 100644
index 0000000000..6e823d589d
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-10-29-fory_rust_versatile_serialization_framework.md
@@ -0,0 +1,545 @@
+---
+slug: fory_rust_versatile_serialization_framework
+title: "重磅发布:Apache Fory™ Rust,面向现代开发的全能序列化框架"
+authors: [chaokunyang]
+tags: [fory, rust]
+---
+
+**TL;DR**:Apache Fory Rust 让跨语言序列化同时拥有顶级性能与顺滑开发体验。它以 Rust 的安全模型为基础,通过零拷贝、自动引用管理和自适应 schema 演进,处理循环引用、trait 对象、多语言互通等棘手场景而无需额外样板代码。
+
+- 🐙 GitHub: https://github.com/apache/fory
+- 📦 Crate: https://crates.io/crates/fory
+
+
+
+---
+
+## 序列化的三难选择
+
+后台工程师迟早会撞上这堵墙:系统里充满嵌套结构、循环引用、运行时多态,你却只能在以下三种糟糕方案里挑一个:
+
+1. **速度快却脆弱**:手写二进制协议,一遇到 schema 变动就整体崩塌
+2. **灵活却迟钝**:JSON、Protocol Buffers 性能动辄慢一个数量级
+3. **功能全却掣肘**:现成框架不理解你语言里的高级抽象
+
+Apache Fory Rust 把这个难题彻底推翻:不需要 IDL、不用同步 schema,也无需牺牲吞吐量,就能把复杂对象牢牢握在手里。
+
+## Apache Fory Rust 的独到之处
+
+### 1. **真正的跨语言互操作**
+
+Fory Rust 与 Java、Python、C++、Go 等官方实现走的是同一套二进制协议。Rust 里写入、Python 里读出,二进制直接通用,无需生成代码,也不存在版本错配。
+
+```rust
+// Rust: Serialize
+let user = User {
+ name: "Alice".to_string(),
+ age: 30,
+ metadata: HashMap::from([("role", "admin")]),
+};
+let bytes = fory.serialize(&user);
+
+// Python: Deserialize (same binary format!)
+user = fory.deserialize(bytes) # Just works!
+```
+
+跨语言序列化因此变成产品级的可靠能力,而非勉强达成的工程妥协。
+
+### 2. **共享与循环引用一网打尽**
+
+多数序列化库遇到循环引用就报错。Fory 会在编解码阶段自动追踪引用关系,既保留共享对象,也保持指针身份。
+
+**Shared Reference:**
+
+```rust
+use fory::Fory;
+use std::rc::Rc;
+
+let fory = Fory::default();
+
+// Create a shared value
+let shared = Rc::new(String::from("shared_value"));
+
+// Reference it multiple times
+let data = vec![shared.clone(), shared.clone(), shared.clone()];
+
+// The shared value is serialized only once
+let bytes = fory.serialize(&data);
+let decoded: Vec<Rc<String>> = fory.deserialize(&bytes)?;
+
+// Verify reference identity is preserved
+assert_eq!(decoded.len(), 3);
+assert_eq!(*decoded[0], "shared_value");
+
+// All three Rc pointers point to the same object
+assert!(Rc::ptr_eq(&decoded[0], &decoded[1]));
+assert!(Rc::ptr_eq(&decoded[1], &decoded[2]));
+```
+
+**Circular Reference:**
+
+```rust
+use fory::{ForyObject, RcWeak};
+
+#[derive(ForyObject)]
+struct Node {
+ value: i32,
+ parent: RcWeak<RefCell<Node>>, // Weak pointer breaks cycles
+ children: Vec<Rc<RefCell<Node>>>, // Strong references tracked
+}
+
+// Build a parent-child tree with circular references
+let parent = Rc::new(RefCell::new(Node { ... }));
+let child = Rc::new(RefCell::new(Node {
+ parent: RcWeak::from(&parent), // Points back to parent
+ ...
+}));
+parent.borrow_mut().children.push(child.clone());
+
+// Serialization handles the cycle automatically
+let bytes = fory.serialize(&parent);
+let decoded: Rc<RefCell<Node>> = fory.deserialize(&bytes)?;
+
+// Reference relationships preserved!
+assert!(Rc::ptr_eq(&decoded, &decoded.borrow().children[0].borrow().parent.upgrade().unwrap()));
+```
+
+图数据库、ORM、复杂领域模型都因此受益,工程团队再也不用为保留指针身份写边角逻辑。
+
+### 3. **Trait 对象序列化终于不再折腾**
+
+Rust 的抽象力来自 trait,但 `Box<dyn Trait>` 序列化一直被视为难题。Fory 内建类型注册机制,处理起来轻松自然。
+
+```rust
+use fory::{ForyObject, Serializer, register_trait_type};
+
+trait Animal: Serializer {
+ fn speak(&self) -> String;
+}
+
+#[derive(ForyObject)]
+struct Dog { name: String, breed: String }
+
+#[derive(ForyObject)]
+struct Cat { name: String, color: String }
+
+// Register implementations
+register_trait_type!(Animal, Dog, Cat);
+
+// Serialize heterogeneous collections
+let animals: Vec<Box<dyn Animal>> = vec![
+ Box::new(Dog { ... }),
+ Box::new(Cat { ... }),
+];
+
+let bytes = fory.serialize(&animals);
+let decoded: Vec<Box<dyn Animal>> = fory.deserialize(&bytes)?;
+
+// Polymorphism preserved!
+decoded[0].speak(); // "Woof!"
+decoded[1].speak(); // "Meow!"
+```
+
+**无需注册,直接使用 `dyn Any` 的写法:**
+
+```rust
+use std::rc::Rc;
+use std::any::Any;
+
+// No trait definition or registration needed
+let dog: Rc<dyn Any> = Rc::new(Dog { name: "Rex".to_string(), breed: "Labrador".to_string() });
+let cat: Rc<dyn Any> = Rc::new(Cat { name: "Whiskers".to_string(), color: "Orange".to_string() });
+
+let bytes = fory.serialize(&dog);
+let decoded: Rc<dyn Any> = fory.deserialize(&bytes)?;
+
+// Downcast to concrete type
+let unwrapped = decoded.downcast_ref::<Dog>().unwrap();
+assert_eq!(unwrapped.name, "Rex");
+```
+
+支持面向 `Box`、`Rc`、`Arc` 的 trait 对象,以及 `Rc<dyn Any>` / `Arc<dyn Any>` 等运行时多态场景,为插件系统、异构集合和可扩展架构打开新的空间。
+
+### 4. **Schema 演进无需同步发布**
+
+微服务独立迭代时,最怕 schema 不一致。Fory 的 **Compatible 模式** 允许你放心升级字段,老版本数据依旧读得出来。
+
+```rust
+use fory::{Fory, ForyObject};
+
+// Service A: Version 1
+#[derive(ForyObject)]
+struct User {
+ name: String,
+ age: i32,
+ address: String,
+}
+
+let mut fory_v1 = Fory::default().compatible(true);
+fory_v1.register::<User>(1);
+
+// Service B: Version 2 (evolved independently)
+#[derive(ForyObject)]
+struct User {
+ name: String,
+ age: i32,
+ // address removed
+ phone: Option<String>, // New field
+ metadata: HashMap<String, String>, // Another new field
+}
+
+let mut fory_v2 = Fory::default().compatible(true);
+fory_v2.register::<User>(1);
+
+// V1 data deserializes into V2 structure
+let v1_bytes = fory_v1.serialize(&user_v1);
+let user_v2: User = fory_v2.deserialize(&v1_bytes)?;
+// Missing fields get default values automatically
+```
+
+**兼容策略概览:**
+
+- ✅ 新增字段会被自动赋默认值
+- ✅ 删除字段时旧数据会被跳过
+- ✅ 字段顺序可随意调整,按名称对齐
+- ✅ 可空性 (`T` ↔ `Option<T>`) 可互换
+- ❌ 字段类型不可直接改动(可空性除外)
+
+零停机上新、跨团队协同和多语言部署都能依赖这一机制。
+
+## 技术基石
+
+### 协议设计
+
+Fory 的二进制协议兼顾吞吐与灵活度:
+
+```
+| fory header | reference meta | type meta | value data |
+```
+
+四项关键设计:
+
+1. **紧凑编码**:可变长整数、精简类型 ID、位级标志位
+2. **引用追踪**:共享对象只写一次,此后以引用替代
+3. **元信息压缩**:meta-sharing 模式下对类型描述做 gzip 压缩
+4. **小端布局**:适配现代 CPU 的缓存与对齐策略
+
+### 编译期代码生成
+
+Fory 通过过程宏在编译期生成序列化逻辑,避开运行时反射开销。
+
+```rust
+use fory::ForyObject;
+
+#[derive(ForyObject)]
+struct Person {
+ name: String,
+ age: i32,
+ address: Address,
+}
+
+// Macro generates:
+// - fory_write_data() for serialization
+// - fory_read_data() for deserialization
+// - fory_reserved_space() for buffer pre-allocation
+// - fory_get_type_id() for type registration
+```
+
+因此:
+
+- ⚡ 没有运行时分派或反射
+- 🛡️ 类型不匹配在编译期即会被捕获
+- 📦 只生成实际用到的序列化代码
+- 🔍 IDE 推导体验完整保留
+
+### 组件划分
+
+整个 Rust 实现由三个 crate 组成,职责分明:
+
+```
+fory/ # 高阶 API
+ └─ 常用封装与 derive 重导出
+
+fory-core/ # 核心序列化内核
+ ├─ fory.rs # 入口模块
+ ├─ buffer.rs # 零拷贝缓冲区
+ ├─ serializer/ # 针对类型的序列化器
+ ├─ resolver/ # 类型注册与派发
+ ├─ meta/ # 元信息压缩
+ └─ row/ # Row format 实现
+
+fory-derive/ # 过程宏集合
+ ├─ object/ # ForyObject derive 宏
+ └─ fory_row.rs # ForyRow derive 宏
+```
+
+模块化设计让团队能够放心演进性能和功能,而无需担心耦合。
+
+## 基准:真实业务下的吞吐
+
+<img src="/img/benchmarks/rust/ecommerce_data.png" width="90%"/>
+<img src="/img/benchmarks/rust/system_data.png" width="90%"/>
+
+| 数据类型 | 数据规模 | 操作类型 | Fory TPS | JSON TPS | Protobuf TPS | 最快 |
+| -------------- | -------- | --------- | ---------- | ---------- | ------------ | ---- |
+| company | small | serialize | 10,063,906 | 761,673 | 896,620 | fory |
+| company | medium | serialize | 412,507 | 33,835 | 37,590 | fory |
+| company | large | serialize | 9,183 | 793 | 880 | fory |
+| ecommerce_data | small | serialize | 2,350,729 | 206,262 | 256,970 | fory |
+| ecommerce_data | medium | serialize | 59,977 | 4,699 | 5,242 | fory |
+| ecommerce_data | large | serialize | 3,727 | 266 | 295 | fory |
+| person | small | serialize | 13,632,522 | 1,345,189 | 1,475,035 | fory |
+| person | medium | serialize | 3,839,656 | 337,610 | 369,031 | fory |
+| person | large | serialize | 907,853 | 79,631 | 91,408 | fory |
+| simple_list | small | serialize | 27,726,945 | 4,874,957 | 4,643,172 | fory |
+| simple_list | medium | serialize | 4,770,765 | 401,558 | 397,551 | fory |
+| simple_list | large | serialize | 606,061 | 41,061 | 44,565 | fory |
+| simple_map | small | serialize | 22,862,369 | 3,888,025 | 2,695,999 | fory |
+| simple_map | medium | serialize | 2,128,973 | 204,319 | 193,132 | fory |
+| simple_map | large | serialize | 177,847 | 18,419 | 18,668 | fory |
+| simple_struct | small | serialize | 35,729,598 | 10,167,045 | 8,633,342 | fory |
+| simple_struct | medium | serialize | 34,988,279 | 9,737,098 | 6,433,350 | fory |
+| simple_struct | large | serialize | 31,801,558 | 4,545,041 | 7,420,049 | fory |
+| system_data | small | serialize | 5,382,131 | 468,033 | 569,930 | fory |
+| system_data | medium | serialize | 174,240 | 11,896 | 14,753 | fory |
+| system_data | large | serialize | 10,671 | 876 | 1,040 | fory |
+
+## 适用与不适用的场景
+
+### ✅ 最佳落地案例
+
+1. **多语言微服务体系**
+ - 团队间使用不同语言
+ - 无 schema 文件的跨语言通信
+ - 独立升级却要保持兼容
+
+2. **高吞吐数据流水线**
+ - 每秒处理数百万条记录
+ - 内存紧张,可借助 row format
+ - 分析场景需要按字段解码
+
+3. **结构复杂的领域模型**
+ - 父子引用、图结构、循环依赖
+ - trait 对象、多态层次丰富
+ - 共享引用必须原样保留
+
+4. **低延迟系统**
+ - 序列化开销要求低于 1ms
+ - 借助内存映射文件
+ - 强调零拷贝读写
+
+### ⚠️ 可以考虑其他方案的情况
+
+1. **调试必须可读**:直接使用 JSON/YAML
+2. **长期存档**:面向数据湖的 Parquet 更合适
+3. **数据结构极其简单**:`serde` + `bincode` 成本最低
+
+## 五分钟快速上手
+
+### 安装依赖
+
+在 `Cargo.toml` 中加入:
+
+```toml
+[dependencies]
+fory = "0.13"
+```
+
+### 首个对象的读写
+
+```rust
+use fory::{Fory, Error, ForyObject};
+
+#[derive(ForyObject, Debug, PartialEq)]
+struct User {
+ name: String,
+ age: i32,
+ email: String,
+}
+
+fn main() -> Result<(), Error> {
+ let mut fory = Fory::default();
+ fory.register::<User>(1); // Register with unique ID
+ let user = User {
+ name: "Alice".to_string(),
+ age: 30,
+ email: "alice@example.com".to_string(),
+ };
+ // Serialize
+ let bytes = fory.serialize(&user);
+ // Deserialize
+ let decoded: User = fory.deserialize(&bytes)?;
+ assert_eq!(user, decoded);
+ Ok(())
+}
+```
+
+### 跨语言互通配置
+
+```rust
+use fory::Fory;
+
+// Enable cross-language mode
+let mut fory = Fory::default().compatible(true).xlang(true);
+
+// Register with id/namespace for cross-language compatibility
+fory.register_by_namespace::<User>(1);
+// fory.register_by_namespace::<User>("example", "User");
+
+let bytes = fory.serialize(&user);
+// This can now be deserialized in Java, Python, Go, etc.
+```
+
+请确保所有语言实现都以一致的 ID 或名称注册类型:
+
+- **使用 ID**(`fory.register::<User>(1)`):编码最紧凑、吞吐最好,但需要跨团队协调 ID
+- **使用名称**(`fory.register_by_name::<User>("example.User")`):更易管理、冲突风险低,代价是编码稍大
+
+## 支持的类型族群
+
+Fory Rust 支持体系涵盖:
+
+**原生类型**:`bool`、`i8`、`i16`、`i32`、`i64`、`f32`、`f64`、`String`
+
+**集合容器**:`Vec<T>`、`HashMap<K,V>`、`BTreeMap<K,V>`、`HashSet<T>`、`Option<T>`
+
+**智能指针**:`Box<T>`、`Rc<T>`、`Arc<T>`、`RcWeak<T>`、`ArcWeak<T>`、`RefCell<T>`、`Mutex<T>`
+
+**日期时间**:`chrono::NaiveDate`、`chrono::NaiveDateTime`
+
+**自定义类型**:对象图使用 `ForyObject`,行式存储使用 `ForyRow`
+
+**Trait 对象**:`Box<dyn T>`、`Rc<dyn T>`、`Arc<dyn T>`、`Rc<dyn Any>`、`Arc<dyn Any>`
+
+## 路线图:现在与未来
+
+Fory Rust 已经稳定可用于生产,同时仍保持高速演进。
+
+### ✅ v0.13 已完成
+
+- ✅ 过程宏驱动的静态代码生成
+- ✅ 零拷贝 row format 编解码
+- ✅ 跨语言对象图序列化
+- ✅ 自动追踪共享与循环引用
+- ✅ `RcWeak`、`ArcWeak` 等弱指针支持
+- ✅ `Box` / `Rc` / `Arc` trait 对象序列化
+- ✅ Compatible 模式支持 schema 演进
+
+### 🚧 研发中
+
+- [ ] **跨语言引用序列化**:`Rc/Arc` 跨语言互通
+- [ ] **Row format 局部更新**:原地更新部分字段
+
+### 🎯 社区期待
+
+欢迎加入并贡献:
+
+- **性能优化**:深挖热点路径
+- **文档补完**:案例、指南、教学
+- **测试覆盖**:基准、性质、边界场景
+
+## 生产级别的考量
+
+### 线程安全模式
+
+完成所有类型注册后,`Fory` 即具备线程安全特性。此时用 `Arc` 包装、分发到多个线程,既能并发序列化,也能并发解码。
+
+```rust
+use fory::Fory;
+use std::{sync::Arc, thread};
+
+let mut fory = Fory::default();
+fory.register::<Item>(1)?;
+let fory = Arc::new(fory); // `Fory` is Send + Sync once registration is done
+
+let item = Item::default();
+let handles: Vec<_> = (0..4)
+ .map(|_| {
+ let fory = Arc::clone(&fory);
+ let input = item.clone();
+ thread::spawn(move || {
+ let bytes = fory.serialize(&input);
+ let decoded: Item = fory.deserialize(&bytes).expect("valid data");
+ (bytes, decoded)
+ })
+ })
+ .collect();
+
+for handle in handles {
+ let (bytes, decoded) = handle.join().expect("thread finished");
+ // work with `bytes` / `decoded`
+}
+```
+
+### 错误处理方式
+
+所有可失败操作都返回 `Result<T, Error>`,与 Rust 生态保持一致。
+
+```rust
+use fory::Error;
+
+match fory.deserialize::<User>(&bytes) {
+ Ok(user) => process_user(user),
+ Err(Error::TypeMismatch) => log::error!("Schema mismatch"),
+ Err(Error::BufferTooShort) => log::error!("Incomplete data"),
+ Err(e) => log::error!("Deserialization failed: {}", e),
+}
+```
+
+## 文档与资源
+
+- Apache Fory Rust 指南:[📖 查看](https://fory.apache.org/docs/docs/guide/rust_serialization)
+- Apache Fory Rust API:[📖 查看](https://docs.rs/fory/latest/fory/)
+- Apache Fory Xlang 协议规范:[📖 查看](https://fory.apache.org/docs/specification/fory_xlang_serialization_spec/)
+
+## 社区与共建
+
+Apache Fory 隶属于 **Apache 软件基金会**,社区活跃并持续壮大:
+
+- **GitHub**:[apache/fory](https://github.com/apache/fory)
+- **文档站**:[fory.apache.org](https://fory.apache.org)
+- **Slack**:[加入社区](https://join.slack.com/t/fory-project/shared_invite/zt-1u8soj4qc-ieYEu7ciHOqA2mo47llS8A)
+- **Issue Tracker**:[GitHub Issues](https://github.com/apache/fory/issues)
+
+### 如何参与贡献
+
+1. **代码**:实现路线图上的功能点
+2. **文档**:补充教程、示例与实践
+3. **测试**:完善基准、模糊与集成测试
+4. **反馈**:提交 Bug、需求或使用经验
+
+详见 [CONTRIBUTING.md](https://github.com/apache/fory/blob/main/CONTRIBUTING.md)。
+
+### 许可证
+
+项目使用 **Apache License 2.0**,允许商业应用、修改和再发行。
+
+## 收官
+
+Apache Fory Rust 把性能、灵活度和开发者体验重新排列组合:
+
+- **性能与灵活性并行**,不再二选一
+- **复杂样板自动化**,derive 宏替你完成繁琐实现
+- **天然支持多态与引用**,跨语言协作不再吃力
+
+如果你正在构建微服务、高速数据管线或实时系统,Fory Rust 值得马上试用。
+
+**立即体验:**
+
+```bash
+cargo add fory
+```
+
+**加入社区:**
+
+```bash
+git clone https://github.com/apache/fory.git
+cd fory/rust
+cargo test --features tests
+```
+
+**分享经验:**
+
+- 写一篇实践文章
+- 在 Rust Meetup 做场分享
+- 提交与你业务相关的基准数据
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_1_release.md
new file mode 100644
index 0000000000..9ab476fb71
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_1_release.md
@@ -0,0 +1,314 @@
+---
+slug: fory_0_13_1_release
+title: 🦀 Fory v0.13.1 发布:Rust 类型演进新纪元 - 枚举变体与元组的灵活进化
+authors: [chaokunyang]
+tags: [fory, rust]
+---
+
+Apache Fory 团队很高兴地宣布 0.13.1 版本发布。此版本包含来自 11 位不同贡献者的 [28 个 PR](https://github.com/apache/fory/compare/v0.13.0...v0.13.1)。请参阅[安装页面](https://fury.apache.org/docs/docs/start/install)了解如何获取适用于您平台的库。
+
+## ✨ 亮点
+
+- 🔧 支持 Rust 枚举变体以及元组/结构体风格枚举的 schema 演进
+- 🎯 支持 Rust 元组序列化和 schema 演进
+- ⏭️ 支持 Rust skip 宏属性
+
+### 🎨 枚举 Schema 演进
+
+Fory v0.13.1 在兼容模式下增加了全面的枚举 schema 演进支持,支持所有三种变体类型(Unit、Unnamed、Named):
+
+- ➕ **添加/删除变体**:未知变体回退到 `#[fory(default)]`
+- 📝 **添加/删除字段**:命名变体支持字段演进,自动使用默认值
+- 🔄 **修改元素**:未命名变体处理元素数量变化(多余的被跳过,缺失的使用默认值)
+- 🔀 **变体类型更改**:在 Unit/Unnamed/Named 之间转换,自动使用默认值
+
+```rust
+// 版本 1
+#[derive(ForyObject)]
+enum Command {
+ #[fory(default)]
+ Noop,
+ Execute { name: String, args: i32 },
+}
+
+// 版本 2 - 添加了字段和新变体
+// 同时支持 `fory(default)` 和标准 `default`
+#[derive(Default, ForyObject)]
+enum Command {
+ #[default]
+ Noop,
+ Execute { name: String, args: i32, env: String }, // 添加了 'env'
+ Cancel { reason: String }, // 新变体
+}
+
+// V1→V2: 缺失的 'env' 获得默认值 ""; Cancel→Noop 回退到 V1
+// V2→V1: 额外的 'env' 被跳过; Cancel→Noop 回退
+```
+
+### 📦 元组 Schema 演进
+
+元组(1-22 个元素)现在在兼容模式下支持长度演进:
+
+- 📏 **长度变化**:增大或缩小元组大小(缺失的元素获得默认值,多余的被丢弃)
+- 📚 **集合**:完全支持 `Vec`、`HashMap`、`HashSet` 元素
+- 🪆 **嵌套元组**:多级嵌套,每层独立演进
+- 🔗 **智能指针**:`Option`、`Arc`、`Rc` 包装的元素正确处理演进
+- 🏗️ **结构体字段**:结构体中的元组字段独立演进
+
+```rust
+let fory = Fory::default().compatible(true);
+
+// 序列化 2 元素元组
+let short = (42i32, "hello".to_string());
+let bin = fory.serialize(&short).unwrap();
+
+// 反序列化为 4 元素元组 - 额外的元素获得默认值
+let long: (i32, String, f64, bool) = fory.deserialize(&bin).unwrap();
+assert_eq!(long, (42, "hello".to_string(), 0.0, false));
+
+// 反向:4→2 元素,多余的被丢弃
+let long = (100i32, "world".to_string(), 3.14, true);
+let bin = fory.serialize(&long).unwrap();
+let short: (i32, String) = fory.deserialize(&bin).unwrap();
+assert_eq!(short, (100, "world".to_string()));
+```
+
+## 📦 快速开始
+
+默认情况下会使用各语言的原生模式以获得最佳性能;只有在需要跨语言互通时,才将序列化模式切换为 `xlang=true`(或等效选项)。
+
+### Rust
+
+```toml
+[dependencies]
+fory = "0.13"
+```
+
+```rust
+use fory::{Error, Fory};
+use fory::ForyObject;
+
+#[derive(ForyObject, Debug, PartialEq)]
+struct Person {
+ name: String,
+ age: i32,
+}
+
+fn main() -> Result<(), Error> {
+ let mut fory = Fory::default();
+ fory.register::<Person>(1)?;
+ let bytes = fory.serialize(&Person { name: "Alice".into(), age: 30 })?;
+ let decoded: Person = fory.deserialize(&bytes)?;
+ assert_eq!(decoded.age, 30);
+ Ok(())
+}
+```
+
+### Python
+
+```bash
+python -m pip install --upgrade pip
+pip install pyfory==0.13.1
+```
+
+```python
+from dataclasses import dataclass
+import pyfory
+
+@dataclass
+class Person:
+ name: str
+ age: pyfory.int32
+
+fory = pyfory.Fory()
+fory.register_type(Person)
+payload = fory.serialize(Person(name="Alice", age=30))
+decoded = fory.deserialize(payload)
+print(decoded.name, decoded.age)
+```
+
+### Java
+
+```xml
+<dependency>
+ <groupId>org.apache.fory</groupId>
+ <artifactId>fory-core</artifactId>
+ <version>0.13.1</version>
+</dependency>
+```
+
+```java
+import org.apache.fory.*;
+import org.apache.fory.config.*;
+
+public class QuickStart {
+ public static class Person {
+ String name;
+ int age;
+
+ Person(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+ }
+
+ public static void main(String[] args) {
+ Fory fory = Fory.builder()
+ .withLanguage(Language.JAVA)
+ .requireClassRegistration(true)
+ .build();
+ fory.register(Person.class);
+ byte[] bytes = fory.serialize(new Person("Alice", 30));
+ Person result = (Person) fory.deserialize(bytes);
+ System.out.println(result.name + " " + result.age);
+ }
+}
+```
+
+### Scala
+
+```scala
+// SBT Scala 2.13
+libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.13.1"
+// SBT Scala 3
+libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.13.1"
+```
+
+```scala
+import org.apache.fory.Fory
+import org.apache.fory.config.Language
+import org.apache.fory.serializer.scala.ScalaSerializers
+
+case class Person(name: String, age: Int)
+
+object Example {
+ def main(args: Array[String]): Unit = {
+ val fory = Fory.builder()
+ .withLanguage(Language.JAVA)
+ .requireClassRegistration(true)
+ .build()
+ ScalaSerializers.registerSerializers(fory)
+ fory.register(classOf[Person])
+ val bytes = fory.serialize(Person("Alice", 30))
+ val result = fory.deserialize(bytes).asInstanceOf[Person]
+ println(s"${result.name} ${result.age}")
+ }
+}
+```
+
+### Kotlin
+
+```xml
+<dependency>
+ <groupId>org.apache.fory</groupId>
+ <artifactId>fory-kotlin</artifactId>
+ <version>0.13.1</version>
+</dependency>
+```
+
+```kotlin
+import org.apache.fory.Fory
+import org.apache.fory.config.Language
+import org.apache.fory.serializer.kotlin.KotlinSerializers
+
+data class Person(val name: String, val age: Int)
+
+fun main() {
+ val fory = Fory.builder()
+ .withLanguage(Language.JAVA)
+ .requireClassRegistration(true)
+ .build()
+ KotlinSerializers.registerSerializers(fory)
+ fory.register(Person::class.java)
+ val bytes = fory.serialize(Person("Alice", 30))
+ val result = fory.deserialize(bytes) as Person
+ println("${result.name} ${result.age}")
+}
+```
+
+### Golang
+
+```go
+package main
+
+import (
+ "fmt"
+
+ forygo "github.com/apache/fory/go/fory"
+)
+
+type Person struct {
+ Name string
+ Age int32
+}
+
+func main() {
+ fory := forygo.NewFory(true)
+ fory.Register(Person{}, 1)
+ payload, _ := fory.Marshal(Person{Name: "Alice", Age: 30})
+ var decoded Person
+ fory.Unmarshal(payload, &decoded)
+ fmt.Println(decoded.Name, decoded.Age)
+}
+```
+
+### JavaScript
+
+```javascript
+import Fory, { Type } from "@apache-fory/fory";
+import hps from "@apache-fory/hps";
+
+const description = Type.object("example.Person", {
+ name: Type.string(),
+ age: Type.int32(),
+});
+
+const fory = new Fory({ hps });
+const { serialize, deserialize } = fory.registerSerializer(description);
+const payload = serialize({ name: "Alice", age: 30 });
+const decoded = deserialize(payload);
+console.log(decoded.name, decoded.age);
+```
+
+## 🎁 新特性
+
+- 📊 feat(rust): 添加 rust benchmark 报告脚本和结果 by @chaokunyang in https://github.com/apache/fory/pull/2835
+- 📏 feat(rust): rust benchmark 打印序列化数据大小 by @chaokunyang in https://github.com/apache/fory/pull/2845
+- 🏷️ feat(rust): 支持 rust tagged union 枚举 by @urlyy in https://github.com/apache/fory/pull/2855
+- 🔢 feat(rust): 支持 rust 无符号数字 by @chaokunyang in https://github.com/apache/fory/pull/2857
+- 📦 feat(rust): 支持 rust 元组序列化和 schema 演进 by @chaokunyang in https://github.com/apache/fory/pull/2858
+- 🔄 feat(go): 实现新的字段排序和类型哈希算法 by @ThisingL in https://github.com/apache/fory/pull/2868
+- ⏭️ feat: 支持 fory skip 宏属性(#2864) by @kitty-eu-org in https://github.com/apache/fory/pull/2865
+- 📐 feat(Rust): 支持 usize by @urlyy in https://github.com/apache/fory/pull/2870
+- ⚡ feat(rust): 使是否写入 type/ref 为编译时求值 by @chaokunyang in https://github.com/apache/fory/pull/2871
+- 📋 feat(rust): 为 rust 添加数组支持 by @chaokunyang in https://github.com/apache/fory/pull/2874
+- 🎨 feat(rust): 支持 schema 演进模式的枚举变体 by @chaokunyang in https://github.com/apache/fory/pull/2873
+
+## 🐛 Bug 修复
+
+- 🔧 fix: 修复 0.14.0 快照版本 by @chaokunyang in https://github.com/apache/fory/pull/2842
+- 🧵 fix(java): 设置 ForyJitCompilerThreadFactory 生成守护线程 by @coderunner234 in https://github.com/apache/fory/pull/2869
+- 🔍 fix: 修改 Fory 中的深度设置以防止重复注册 by @mengnankkkk in https://github.com/apache/fory/pull/2852
+
+## 🔨 其他改进
+
+- 📝 docs(rust): 更新 rust benchmark 报告表 by @chaokunyang in https://github.com/apache/fory/pull/2836
+- 📦 chore(rust): 更新 cargo toml 用于发布 by @chaokunyang in https://github.com/apache/fory/pull/2838
+- 🔗 docs: 修复文档同步目标 by @chaokunyang in https://github.com/apache/fory/pull/2839
+- ♻️ docs: 重构 readme by @chaokunyang in https://github.com/apache/fory/pull/2843
+- ➕ docs: 在 readme 中添加 AGENTS by @chaokunyang in https://github.com/apache/fory/pull/2844
+- ➖ chore: 从主 readme 中删除 agents by @chaokunyang in https://github.com/apache/fory/pull/2846
+- 📝 docs: 更新 readme by @chaokunyang in https://github.com/apache/fory/pull/2847
+- 🔗 docs: 修复 xlang 类型映射链接 by @chaokunyang in https://github.com/apache/fory/pull/2848
+- 🧪 chore(Java): 使 RustXlangTest 测试用例相互独立 by @urlyy in https://github.com/apache/fory/pull/2834
+- 🗑️ chore(java): 删除打印属性名称 by @Danden1 in https://github.com/apache/fory/pull/2860
+- 🐍 chore(python): 添加 py3.13 发布标志 by @chaokunyang in https://github.com/apache/fory/pull/2872
+- 🧪 chore(rust): 添加在 macro_rules! 中使用 #[derive(ForyObject)] 的测试 by @REASY in https://github.com/apache/fory/pull/2867
+
+## 👥 新贡献者
+
+- 🎉 @Danden1 在 https://github.com/apache/fory/pull/2860 中首次贡献
+- 🎉 @coderunner234 在 https://github.com/apache/fory/pull/2869 中首次贡献
+- 🎉 @REASY 在 https://github.com/apache/fory/pull/2867 中首次贡献
+
+**完整变更日志**: https://github.com/apache/fory/compare/v0.13.0...v0.13.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_2_release.md
new file mode 100644
index 0000000000..82686a9c83
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-11-06-fory_0_13_2_release.md
@@ -0,0 +1,146 @@
+---
+slug: fory_0_13_2_release
+title: Fory v0.13.2 发布
+authors: [chaokunyang]
+tags: [fory, rust]
+---
+
+Apache Fory 团队很高兴地宣布 0.13.2 版本的发布。这个版本包含来自 4 位贡献者的 [25 个 PR](https://github.com/apache/fory/compare/v0.13.1...v0.13.2)。请访问[安装](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适合您平台的库。
+
+## 📦 快速开始
+
+默认情况下会使用各语言的原生模式以获得最佳性能;只有在需要跨语言互通时,才将序列化模式切换为 `xlang=true`(或等效选项)。
+
+### Rust
+
+```toml
+[dependencies]
+fory = "0.13"
+```
+
+```rust
+use fory::{Error, Fory};
+use fory::ForyObject;
+
+#[derive(ForyObject, Debug, PartialEq)]
+struct Person {
+ name: String,
+ age: i32,
+}
+
+fn main() -> Result<(), Error> {
+ let mut fory = Fory::default();
+ fory.register::<Person>(1)?;
+ let bytes = fory.serialize(&Person { name: "Alice".into(), age: 30 })?;
+ let decoded: Person = fory.deserialize(&bytes)?;
+ assert_eq!(decoded.age, 30);
+ Ok(())
+}
+```
+
+### Python
+
+```bash
+python -m pip install --upgrade pip
+pip install pyfory==0.13.2
+```
+
+```python
+from dataclasses import dataclass
+import pyfory
+
+@dataclass
+class Person:
+ name: str
+ age: pyfory.int32
+
+fory = pyfory.Fory()
+fory.register_type(Person)
+payload = fory.serialize(Person(name="Alice", age=30))
+decoded = fory.deserialize(payload)
+print(decoded.name, decoded.age)
+```
+
+### Java
+
+```xml
+<dependency>
+ <groupId>org.apache.fory</groupId>
+ <artifactId>fory-core</artifactId>
+ <version>0.13.2</version>
+</dependency>
+```
+
+```java
+import org.apache.fory.*;
+import org.apache.fory.config.*;
+
+public class QuickStart {
+ public static class Person {
+ String name;
+ int age;
+
+ Person(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+ }
+
+ public static void main(String[] args) {
+ Fory fory = Fory.builder().requireTypeRegistration(true).build();
+ fory.registerType(Person.class, 1);
+ byte[] bytes = fory.serialize(new Person("Alice", 30));
+ Person decoded = (Person) fory.deserialize(bytes);
+ System.out.println(decoded.name + " " + decoded.age);
+ }
+}
+```
+
+## 重点特性
+
+- perf(rust): 使用线程局部变量管理 fory rust WriteContext/ReadContext by @chaokunyang in
+ https://github.com/apache/fory/pull/2946
+- feat(rust): 为未注册类型的错误消息添加类型名称 by @chaokunyang in https://github.com/apache/fory/pull/2881
+
+## 新特性
+
+- feat(rust): 为 rust 添加 fory 配置 by @chaokunyang in https://github.com/apache/fory/pull/2947
+- perf(rust): 使用线程局部变量管理 fory rust WriteContext/ReadContext by @chaokunyang in
+ https://github.com/apache/fory/pull/2946
+- perf(rust): 使用分段池减少 fory 池的竞争 by @chaokunyang in
+ https://github.com/apache/fory/pull/2945
+- feat(Rust): 支持 u128 和 u128_array by @urlyy in https://github.com/apache/fory/pull/2899
+- perf(rust): 优化缓冲区读写性能 by @chaokunyang in https://github.com/apache/fory/pull/2892
+- feat(rust): 直接派生基本类型的写入/读取 by @chaokunyang in https://github.com/apache/fory/pull/2890
+- refactor(rust): 将 fory_debug 合并到 fory 宏属性中 by @chaokunyang in https://github.com/apache/fory/pull/2883
+- perf(rust): 支持 criterion profiler 生成火焰图 by @chaokunyang in
+ https://github.com/apache/fory/pull/2882
+- feat(rust): 为未注册类型的错误消息添加类型名称 by @chaokunyang in https://github.com/apache/fory/pull/2881
+- feat(rust): 添加 duration 序列化器支持 by @chaokunyang in https://github.com/apache/fory/pull/2878
+- feat(python): 为 buffer 对象添加 raw 方法 by @chaokunyang in https://github.com/apache/fory/pull/2875
+- feat: 改进 python 模块检查 by @chaokunyang in https://github.com/apache/fory/pull/2952
+
+## 问题修复
+
+- fix(kotlin): 支持使用 Java 保留字的 Kotlin 字段 by @chaokunyang in
+ https://github.com/apache/fory/pull/2948
+- fix(rust): 为集合的嵌套多态类型抛出错误 by @chaokunyang in
+ https://github.com/apache/fory/pull/2934
+- fix(rust): 修复数组字段支持 by @chaokunyang in https://github.com/apache/fory/pull/2933
+- fix(Rust): 修复 Binary 实现 by @urlyy in https://github.com/apache/fory/pull/2902
+
+## 其他改进
+
+- docs(java): 添加日志记录部分 by @mosinnik in https://github.com/apache/fory/pull/2905
+- docs: 修复文档中的 cargo benchmark 命令 by @chaokunyang in https://github.com/apache/fory/pull/2897
+- chore: 将基准测试移至单独目录以加快 CI 构建速度 by @chaokunyang in
+ https://github.com/apache/fory/pull/2894
+- chore(CI): 修复符号链接缓存 by @PrakashRaj-GK in https://github.com/apache/fory/pull/2893
+- chore(CI): 在 GitHub 工作流中添加 bazel 缓存 by @PrakashRaj-GK in https://github.com/apache/fory/pull/2888
+- chore(Java): 更新 Java 快速入门文档,注明注册顺序敏感 by @monk in
+ https://github.com/apache/fory/pull/2837
+- docs(rust): 删除共享引用的冗余文档 by @chaokunyang in https://github.com/apache/fory/pull/2879
+- chore(rust): 修复元组测试注释 by @chaokunyang in https://github.com/apache/fory/pull/2877
+- docs: 修复 java_serialization_guide.md 中损坏的表格 by @mosinnik in https://github.com/apache/fory/pull/2876
+
+**完整变更日志**: https://github.com/apache/fory/compare/v0.13.1...v0.13.2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-05-fory_0_13_2_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-05-fory_0_13_2_release.md
new file mode 100644
index 0000000000..475229eb4e
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-05-fory_0_13_2_release.md
@@ -0,0 +1,57 @@
+---
+slug: fory_0_13_2_release
+title: Fory v0.13.2 发布
+authors: [chaokunyang]
+tags: [fory, rust]
+---
+
+Apache Fory 团队很高兴宣布 0.13.2 版本发布。 这是一个版本更新,包含来自 4 位贡献者的[25 PR](https://github.com/apache/fory/compare/v0.13.1...v0.13.2)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- perf(rust): use thread local to manage fory rust WriteContext/ReadContext by @chaokunyang in
+ https://github.com/apache/fory/pull/2946
+- feat(rust): add typename to unregistered error message by @chaokunyang in https://github.com/apache/fory/pull/2881
+
+## 功能特性
+
+- feat(rust): add fory config for rust by @chaokunyang in https://github.com/apache/fory/pull/2947
+- perf(rust): use thread local to manage fory rust WriteContext/ReadContext by @chaokunyang in
+ https://github.com/apache/fory/pull/2946
+- perf(rust): use segmented pool to reduce contention of fory pool by @chaokunyang in
+ https://github.com/apache/fory/pull/2945
+- feat(Rust): Support u128 & u128_array by @urlyy in https://github.com/apache/fory/pull/2899
+- perf(rust): optimize buffer write read perf by @chaokunyang in https://github.com/apache/fory/pull/2892
+- feat(rust): direct derive primitve write/read by @chaokunyang in https://github.com/apache/fory/pull/2890
+- refactor(rust): merge fory_debug into fory macro attr by @chaokunyang in https://github.com/apache/fory/pull/2883
+- perf(rust): support criterion profiler to generate flamegraph by @chaokunyang in
+ https://github.com/apache/fory/pull/2882
+- feat(rust): add typename to unregistered error message by @chaokunyang in https://github.com/apache/fory/pull/2881
+- feat(rust): add duration serializer support by @chaokunyang in https://github.com/apache/fory/pull/2878
+- feat(python): add raw method to buffer object by @chaokunyang in https://github.com/apache/fory/pull/2875
+- feat: refine python module check by @chaokunyang in https://github.com/apache/fory/pull/2952
+
+## 缺陷修复
+
+- fix(kotlin): support Kotlin field with Java reserved world by @chaokunyang in
+ https://github.com/apache/fory/pull/2948
+- fix(rust): raise error for nested polymorphics for collection by @chaokunyang in
+ https://github.com/apache/fory/pull/2934
+- fix(rust): fix array field support by @chaokunyang in https://github.com/apache/fory/pull/2933
+- fix(Rust): fix Binary implementation by @urlyy in https://github.com/apache/fory/pull/2902
+
+## 其他改进
+
+- docs(java): add logging section by @mosinnik in https://github.com/apache/fory/pull/2905
+- docs: fix cargo benchmark comand in doc by @chaokunyang in https://github.com/apache/fory/pull/2897
+- chore: move benchmarks to separate dir to speed up ci build by @chaokunyang in
+ https://github.com/apache/fory/pull/2894
+- chore(CI): Fix cache with symlinks by @PrakashRaj-GK in https://github.com/apache/fory/pull/2893
+- chore(CI): Add caching for bazel in github workflows by @PrakashRaj-GK in https://github.com/apache/fory/pull/2888
+- chore(Java): Update java quickstart doc, for note register order-sensitive by @monk in
+ https://github.com/apache/fory/pull/2837
+- docs(rust): remove redundant doc for shared reference by @chaokunyang in https://github.com/apache/fory/pull/2879
+- chore(rust): fix tuple test comment by @chaokunyang in https://github.com/apache/fory/pull/2877
+- docs: fix broken table in in java_serialization_guide.md by @mosinnik in https://github.com/apache/fory/pull/2876
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.13.1...v0.13.2
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-15-fory_0_14_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-15-fory_0_14_0_release.md
new file mode 100644
index 0000000000..f58ac53226
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-15-fory_0_14_0_release.md
@@ -0,0 +1,193 @@
+---
+slug: fory_0_14_0_release
+title: Fory v0.14.0 发布
+authors: [chaokunyang]
+tags: [fory, c++, rust, java, python]
+---
+
+Apache Fory 团队很高兴地宣布 0.14.0 版本发布。这是一个主要版本,包含来自 11 位不同贡献者的 [85 个 PR](https://github.com/apache/fory/compare/v0.13.2...v0.14.0)。请参阅[安装页面](https://fory.apache.org/docs/start/install)了解如何获取适用于您平台的库。
+
+## 亮点
+
+- **正式支持 `C++`**:首次发布 Apache Fory `C++`,具有高性能对象图序列化、跨语言互操作性和 schema 演进功能
+- **行格式与类型系统**:在 Java、Python 和 `C++` 中新增面向行的格式类型系统,支持行列转换并移除 Arrow 依赖
+- **性能增强**:所有语言的显著优化,包括 Rust 中的线程本地上下文和 `C++` 类型分发的快速扁平整数映射
+- **生态系统更新**:添加对 JDK 25(Java)、Go 1.23 和 Bazel 8 的支持。Python 正式标记为稳定版本,改进了构建并行性
+- **高级 Java 特性**:通过 `ForyFeature` 支持 GraalVM Native Image,以及为阻塞队列和 final 字段优化的序列化器
+- **ObjectStreamSerializer 重构**:重构了 `ObjectStreamSerializer`,采用元数据共享的兼容模式,降低空间成本并提高 JDK 自定义序列化 API 的性能
+
+## `C++`:首次发布亮点
+
+这是 Apache Fory `C++` 的首次发布,为现代 `C++17` 提供完整、高性能的序列化框架。如果您构建需要快速序列化、跨语言通信或 schema 演进的 `C++` 应用程序,Fory `C++` 提供了类型安全、编译时序列化,且开销最小。
+
+**关键功能:**
+
+- 通过 `FORY_STRUCT` 宏进行结构体注册,实现编译时类型安全
+- 与 Java、Python、Go、Rust 和 JavaScript 的跨语言序列化
+- 前向/后向兼容的 schema 演进(兼容模式)
+- 共享对象和循环引用的引用跟踪
+- 线程安全和单线程(最快)变体
+- 全面的类型支持:基本类型、`std::string`、`std::vector`、`std::map`、`std::set`、`std::optional`、`std::shared_ptr`、`std::unique_ptr`、`std::variant` 和时间类型
+- 用于分析工作负载的零拷贝行格式,支持随机字段访问
+- CMake(FetchContent)和 Bazel 构建系统支持
+
+### 快速开始
+
+```cpp
+#include "fory/serialization/fory.h"
+
+using namespace fory::serialization;
+
+struct Person {
+ std::string name;
+ int32_t age;
+ std::vector<std::string> hobbies;
+ FORY_STRUCT(Person, name, age, hobbies);
+};
+
+int main() {
+ auto fory = Fory::builder()
+ .xlang(true) // 启用跨语言模式
+ .track_ref(false) // 禁用引用跟踪
+ .build();
+ fory.register_struct<Person>(1);
+
+ Person person{"Alice", 30, {"reading", "coding"}};
+ auto bytes = fory.serialize(person).value();
+ Person decoded = fory.deserialize<Person>(bytes).value();
+ // person == decoded
+ return 0;
+}
+```
+
+- 指南:`C++` 序列化 – https://fory.apache.org/docs/guide/cpp/
+- 示例:[hello_world](https://github.com/apache/fory/tree/main/examples/cpp/hello_world)、[hello_row](https://github.com/apache/fory/tree/main/examples/cpp/hello_row)
+
+### `C++` 基准测试
+
+<img src="https://fory.apache.org/img/benchmarks/cpp/throughput.png" width="90%"/>
+
+以下是时间结果(纳秒;越低越好),比较了 Fory 与 Protobuf 在不同数据结构上的性能。
+
+| 数据类型 | 操作 | Fory (ns) | Protobuf (ns) | 更快 |
+| ------------ | -------- | --------- | ------------- | ------------ |
+| MediaContent | 序列化 | 414 | 2,046 | Fory (4.9倍) |
+| MediaContent | 反序列化 | 1,361 | 2,890 | Fory (2.1倍) |
+| Sample | 序列化 | 210 | 307 | Fory (1.5倍) |
+| Sample | 反序列化 | 1,061 | 1,500 | Fory (1.4倍) |
+| Struct | 序列化 | 51 | 181 | Fory (3.5倍) |
+| Struct | 反序列化 | 136 | 170 | Fory (1.3倍) |
+
+注意:结果取决于硬件和实现版本。有关如何自行运行基准测试,请参阅 `C++` 基准测试指南:https://github.com/apache/fory/tree/main/benchmarks/cpp_benchmark
+
+## 功能特性
+
+- feat(python): 为 buffer 对象添加 raw 方法,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2875
+- feat(rust): 添加 duration 序列化器支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2878
+- feat(rust): 为未注册错误消息添加类型名称,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2881
+- perf(rust): 支持 criterion profiler 生成火焰图,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2882
+- refactor(rust): 将 fory_debug 合并到 fory 宏属性中,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2883
+- feat(rust): 直接派生基本类型写入/读取,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2890
+- perf(rust): 优化 buffer 写入读取性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2892
+- feat(Rust): 支持 u128 和 u128_array,作者 @urlyy,见 https://github.com/apache/fory/pull/2899
+- feat(c++): 实现 fory cpp 对象图序列化框架,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2908
+- feat(python): 纯 Python 行列转换,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2919
+- feat(c++): 为 `c++` 实现 xlang 序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2925
+- feat(c++/python): 添加行格式 schema 并移除 arrow 依赖,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2928
+- feat(java): 实现 fory 行格式类型系统,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2931
+- feat(python): 直接实现 cython bazel 构建,无需第三方依赖,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2936
+- feat(c+/python): 升级 bazel 到 bazel8,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2937
+- feat(java/python/c++): 添加 schema 编码器并移除 arrow 序列化器,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2938
+- feat(c++): 在反序列化多态类型时检查最大动态深度,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2939
+- feat(c++): 添加 cmake 构建支持和 cpp 示例,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2942
+- feat(c++): 添加 cpp 基准测试,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2943
+- perf(rust): 使用分段池减少 fory 池的争用,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2945
+- perf(rust): 使用线程本地管理 fory rust WriteContext/ReadContext,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2946
+- feat(rust): 为 rust 添加 fory 配置,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2947
+- perf(c++): 优化 cpp 序列化性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2944
+- perf(c++): 从类型信息中移除 shared_ptr 以减少原子计数器成本,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2951
+- feat: 优化 python 模块检查,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2952
+- feat(java): 支持 jdk 25,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2954
+- feat(java): 为阻塞队列添加优化的序列化器,作者 @zhan7236,见 https://github.com/apache/fory/pull/2955
+- perf(c++): 在热路径上直接设置错误而不是 result 以减少成本,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2959
+- perf(c++): 优化基本类型结构字段读取性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2960
+- feat(java): 为带有 writeReplace/readResolve 方法的 final 字段实现 FinalFieldReplaceResolveSerializer,作者 @mchernyakov,见 https://github.com/apache/fory/pull/2917
+- perf(c++): 为 `c++` 添加 mac profile 脚本,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2962
+- perf(c++): cpp 的公平基准测试,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2963
+- perf(c++): 通过快速扁平整数映射优化类型分发性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2966
+- perf(c++): 添加 media content 基准测试,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2968
+- feat(c++): 支持多态集合元素序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2974
+- feat(c++): 添加 cpp tuple 序列化器,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2975
+- refactor(xlang): 对未知类型 id 使用 0,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2985
+- feat(java): 为 GraalVM Native Image 添加 ForyFeature,作者 @mengnankkkk,见 https://github.com/apache/fory/pull/2701
+- feat(c++): 支持带有多态元素的容器 xlang 序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2980
+- feat(python): 并行 python wheel 构建,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2989
+- perf(c++): 改进数组/集合的序列化性能,作者 @LiangliangSui,见 https://github.com/apache/fory/pull/2986
+- feat(go): 升级 go 到 1.23,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2995
+- perf(c++): 在上下文中集中错误状态以加快序列化速度,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3009
+- refactor(go): 重新设计序列化实现,提高性能和可用性,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2998
+- refactor(rust): 将 rust 类型层合并到 TypeMeta 中,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3019
+- ci: 移除 Python 的 macos x86 CI,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3023
+- feat(c++): 为 cpp 支持无符号类型,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3022
+- feat(c++): 为 `c++` 支持基于 variant 的联合类型序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3032
+- feat(java): 重构 ObjectStreamSerializer 以使用元数据共享兼容序列化器,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3034
+- feat(java): 将用户注册类型 id 与 fory 注册类型 id 分离,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3035
+- feat(): 添加 `c++` 用户指南文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3037
+- refactor(c++/rust): 优化 `c++` serialize_to API,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3045
+
+## Bug 修复
+
+- fix(Rust): 修复 Binary 实现,作者 @urlyy,见 https://github.com/apache/fory/pull/2902
+- fix(rust): 修复数组字段支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2933
+- fix(rust): 对集合的嵌套多态引发错误,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2934
+- fix(kotlin): 支持带有 Java 保留字的 Kotlin 字段,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2948
+- fix(java): 在行格式类型推断中处理 TypeVariable,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2949
+- fix(java): 在 Python 命令中使用单引号以兼容 Windows,作者 @zhan7236,见 https://github.com/apache/fory/pull/2953
+- fix(java): 修复阻塞队列序列化器中的竞态条件,作者 @zhan7236,见 https://github.com/apache/fory/pull/2956
+- fix(cpp): 修复类型错误,作者 @LiangliangSui,见 https://github.com/apache/fory/pull/2961
+- fix(go): 修复结构体值引用跟踪 bug,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2991
+- fix(java): 支持 CopyOnWriteArraySet 的序列化,作者 @LiangliangSui,见 https://github.com/apache/fory/pull/2999
+
+## 其他改进
+
+- docs: 修复 java_serialization_guide.md 中的表格,作者 @mosinnik,见 https://github.com/apache/fory/pull/2876
+- chore(rust): 修复元组测试注释,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2877
+- docs(rust): 移除共享引用的冗余文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2879
+- chore(Java): 更新 java 快速入门文档,注意注册顺序敏感,作者 @moooonk,见 https://github.com/apache/fory/pull/2837
+- chore(CI): 在 github workflows 中为 bazel 添加缓存,作者 @prakash-218,见 https://github.com/apache/fory/pull/2888
+- chore(CI): 修复符号链接缓存,作者 @prakash-218,见 https://github.com/apache/fory/pull/2893
+- chore: 将基准测试移至单独目录以加快 ci 构建,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2894
+- docs: 修复 rust 基准测试链接,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2896
+- docs: 修复文档中的 cargo 基准测试命令,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2897
+- chore: 将发布版本升至 0.13.1,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2901
+- docs(java): 添加日志记录部分,作者 @mosinnik,见 https://github.com/apache/fory/pull/2905
+- chore(c++): 移除 cpp 基准测试,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2926
+- chore(c++): 将 meta string 移至 meta 目录,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2940
+- docs: 移除 arrow 类型的未使用类型映射,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2964
+- chore: 移除与 arrow 相关的内容,作者 @LiangliangSui,见 https://github.com/apache/fory/pull/2965
+- chore(c++): 将常用宏移至 macros.h,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2970
+- docs: 在 README.md 中更新 Bazel 版本,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2971
+- docs: 优化 xlang 规范文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2979
+- docs: 优化元数据打包和自动类型映射,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2984
+- ci: 添加从 PR 正文中移除 HTML 注释的工作流,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2983
+- docs: 更新 xlang_serialization_spec.md,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2987
+- docs: 更新 `C++` 基准测试用例,作者 @LiangliangSui,见 https://github.com/apache/fory/pull/2988
+- chore(deps): 在 /go/fory 中将 gopkg.in/yaml.v3 从 3.0.0-20200313102051-9f266ea9e77c 升级到 3.0.1,作者 @dependabot[bot],见 https://github.com/apache/fory/pull/2996
+- chore: 将发布版本升至 0.13.2,作者 @chaokunyang,见 https://github.com/apache/fory/pull/2997
+- chore(python): 将 pyfory 标记为稳定版本,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3001
+- docs(c++): 添加 cpp bazel 示例和 ci,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3033
+- docs: 重构用户指南文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3036
+- docs: 添加 scala 和 kotlin 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3040
+- docs: 重构 xlang 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3041
+- docs: 添加行格式规范,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3042
+- docs: 修复侧边栏位置,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3043
+- docs: 移除复制的 rust/python 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3044
+
+## 新贡献者
+
+- @mosinnik 在 https://github.com/apache/fory/pull/2876 首次贡献
+- @prakash-218 在 https://github.com/apache/fory/pull/2888 首次贡献
+- @zhan7236 在 https://github.com/apache/fory/pull/2953 首次贡献
+- @mchernyakov 在 https://github.com/apache/fory/pull/2917 首次贡献
+
+**完整变更日志**: https://github.com/apache/fory/compare/v0.13.2...v0.14.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-26-fory_0_14_1_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-26-fory_0_14_1_release.md
new file mode 100644
index 0000000000..64f8709593
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2025-12-26-fory_0_14_1_release.md
@@ -0,0 +1,27 @@
+---
+slug: fory_0_14_1_release
+title: Fory v0.14.1 发布
+authors: [chaokunyang]
+tags: [fory, rust]
+---
+
+Apache Fory 团队很高兴宣布 0.14.1 版本发布。 这是一个版本更新,包含来自 5 位贡献者的[6 PR](https://github.com/apache/fory/compare/v0.14.0...v0.14.1)。 请参阅[Install](https://fury.apache.org/docs/docs/start/install)页面了解如何获取适用于你平台的库。
+
+## 亮点
+
+- feat(rust): add generate_default attr, no longer generate Default by default by @ariesdevil in https://github.com/apache/fory/pull/3074
+
+## 功能特性
+
+- feat(rust): add generate_default attr, no longer generate Default by default by @ariesdevil in https://github.com/apache/fory/pull/3074
+- feat(java): mark createSerializer as public by @chaokunyang
+
+## 缺陷修复
+
+- fix(java): Fix CopyOnWriteArrayList field serialization by @vybhavjs in https://github.com/apache/fory/pull/3079
+- fix(java): Better ergonomics for AllowListChecker by @Asuka-star in https://github.com/apache/fory/pull/3061
+- fix(java): fix read class def when writing classdefs by @chaokunyang in https://github.com/apache/fory/commit/3ad627c9
+- fix(Rust): Move the calculating of TypeMeta::bytes and TypeMeta::hash ahead of serialization by @urlyy in https://github.com/apache/fory/pull/3060
+- fix(Rust): prevent obtaining generic type metadata on custom types(struct/enum) by @urlyy in https://github.com/apache/fory/pull/3057
+
+**完整更新日志**:https://github.com/apache/fory/compare/v0.14.0...v0.14.1
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-10-fory_0_15_0_release.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-10-fory_0_15_0_release.md
new file mode 100644
index 0000000000..f8fd47b2cb
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-10-fory_0_15_0_release.md
@@ -0,0 +1,341 @@
+---
+slug: fory_0_15_0_release
+title: Fory v0.15.0 发布
+authors: [chaokunyang]
+tags: [fory, c++, rust, java, python, go, compiler]
+---
+
+Apache Fory 团队很高兴宣布 0.15.0 版本正式发布。这是一个重要版本,包含来自 17 位贡献者的 [144 个 PR](https://github.com/apache/fory/compare/v0.14.1...v0.15.0)。请访问 [Install 页面](https://fory.apache.org/docs/start/install) 获取各平台安装方式。
+
+## 发布亮点
+
+- feat(go): 新增 golang xlang 序列化实现,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3063
+- feat(rust): 添加 tuple struct 支持并改进泛型类型处理,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3087
+- refactor(rust): 统一 tuple struct 与 named struct 协议,并改进 schema evolution 兼容性,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3092
+- feat(java/python/rust/go/cpp): 对齐 xlang 结构体字段序列化的 nullable 元信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3093
+- feat(java/python/rust/go/cpp): 对齐 xlang 字段的引用与类型信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3107
+- feat(cpp): 添加 `SharedWeak<T>` 以支持循环引用,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3109
+- feat(xlang): 为 xlang 增加无符号整数支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3111 and https://github.com/apache/fory/pull/3113
+- feat(xlang/java): 重构 Java native 序列化类型系统,并为 xlang 引入流式类型信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3153
+- feat(xlang): 新增 fory schema idl 与 compiler,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3106
+- feat(compiler): 添加 flatbuffers idl 支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3184
+
+## Go Serialization:首次发布
+
+Apache Fory 0.15.0 是首个正式提供 Go serialization 支持的版本。
+该实现提供了高性能序列化能力、跨语言兼容性,以及面向生产环境的配置选项。
+
+**关键能力:**
+
+- 支持与 Java、Python、`cpp`、Rust、JavaScript 的 Cross-language mode(`fory.WithXlang(true)`)
+- 默认基于 reflection 的 serialization,并提供可选的实验性 AOT code generation 以优化 hot paths
+- 支持 shared/circular object graphs 的 reference tracking(`fory.WithTrackRef(true)` + `fory:"ref"` tags)
+- 提供用于 schema evolution 的 Compatible mode(`fory.WithCompatible(true)`),支持字段新增/删除/重排
+- 提供 thread-safe wrapper(`github.com/apache/fory/go/fory/threadsafe`)以支持并发工作负载
+
+### 快速开始
+
+```go
+package main
+
+import (
+ "github.com/apache/fory/go/fory"
+)
+
+type User struct {
+ ID int64
+ Name string
+}
+
+func main() {
+ f := fory.New(
+ fory.WithXlang(true),
+ fory.WithCompatible(true),
+ )
+ _ = f.RegisterStruct(User{}, 1)
+
+ data, _ := f.Serialize(&User{ID: 1, Name: "Alice"})
+ var out User
+ _ = f.Deserialize(data, &out)
+}
+```
+
+- Go 指南: https://fory.apache.org/docs/guide/go/
+
+### Go 基准测试
+
+<img src="https://fory.apache.org/assets/images/benchmark_combined-e97543c39d4ad0eef3888d3a9ee51897.png" width="90%"/>
+
+以下是代表性数据结构上的耗时结果(ns/op,越低越好),用于比较 Fory、Protobuf 与 Msgpack。
+
+| Data Type | Operation | Fory | Protobuf | Msgpack |
+| ---------------- | ----------- | ------ | -------- | ------- |
+| Struct | Serialize | 66.0 | 97.8 | 184.9 |
+| Struct | Deserialize | 82.7 | 90.9 | 309.6 |
+| Structlist | Serialize | 632.8 | 1783.0 | 3340.0 |
+| Structlist | Deserialize | 906.4 | 1891.0 | 5709.0 |
+| Sample | Serialize | 137.3 | 367.3 | 1492.0 |
+| Sample | Deserialize | 263.6 | 422.2 | 2661.0 |
+| Samplelist | Serialize | 1962.0 | 7087.0 | 26169.0 |
+| Samplelist | Deserialize | 4234.0 | 9321.0 | 53615.0 |
+| Mediacontent | Serialize | 268.8 | 471.1 | 773.7 |
+| Mediacontent | Deserialize | 426.9 | 553.1 | 1432.0 |
+| Mediacontentlist | Serialize | 3736.0 | 9107.0 | 13911.0 |
+| Mediacontentlist | Deserialize | 7247.0 | 11435.0 | 27975.0 |
+
+序列化数据大小(bytes):
+
+| Data Type | Fory | Protobuf | Msgpack |
+| ---------------- | ---- | -------- | ------- |
+| Struct | 58 | 61 | 57 |
+| Sample | 446 | 375 | 524 |
+| MediaContent | 342 | 301 | 400 |
+| StructList | 560 | 1260 | 1146 |
+| SampleList | 7600 | 7560 | 10486 |
+| MediaContentList | 5776 | 6080 | 8006 |
+
+注:结果与硬件和实现版本相关。详细说明请参考 Go benchmark 文档: https://fory.apache.org/docs/benchmarks/go/
+
+## Fory Schema IDL 与 Compiler:首次发布
+
+Apache Fory 0.15.0 同时带来了 Fory schema IDL 与 compiler toolchain 的首次发布。你可以一次定义 schema,并为多语言生成 native types 与 registration code。
+
+**关键能力:**
+
+- Schema-first 开发,支持 `enum`、`message`、`union`
+- Fory-native 字段语义:`optional`(nullability)、`ref`(shared/circular references)、`list`、`map`
+- 支持 Java、Python、Go、Rust 与 `cpp` 的多语言代码生成
+- 支持 Protobuf(`.proto`)与 FlatBuffers(`.fbs`)前端,并转换为 Fory IR/codegen
+- 提供 idiomatic 的生成 API,并包含 `to/from bytes` helper
+
+### 快速开始
+
+```bash
+pip install fory-compiler
+foryc example.fdl --lang java,python,go,rust,cpp --output ./generated
+```
+
+```protobuf
+package example;
+
+message Person [id=101] {
+ string name = 1;
+ optional string email = 2;
+}
+```
+
+### 生成代码示例
+
+`foryc` 会生成 idiomatic 的 native types,并附带 registration/byte helpers。以上 schema 的生成代码示例如下:
+
+```go
+// Go (excerpt)
+type Person struct {
+ Name string `fory:"id=1"`
+ Email optional.Optional[string] `fory:"id=2"`
+}
+
+func (m *Person) ToBytes() ([]byte, error) { ... }
+func (m *Person) FromBytes(data []byte) error { ... }
+func RegisterTypes(f *fory.Fory) error {
+ return f.RegisterStruct(Person{}, 101)
+}
+```
+
+```java
+// Java (excerpt)
+public class Person {
+ @ForyField(id = 1)
+ private String name;
+
+ @ForyField(id = 2, nullable = true)
+ private String email;
+
+ public byte[] toBytes() { ... }
+ public static Person fromBytes(byte[] bytes) { ... }
+}
+```
+
+```python
+# Python (excerpt)
+@pyfory.dataclass
+class Person:
+ name: str = pyfory.field(id=1, default="")
+ email: Optional[str] = pyfory.field(id=2, default=None)
+
+ def to_bytes(self) -> bytes: ...
+ @classmethod
+ def from_bytes(cls, data: bytes) -> "Person": ...
+```
+
+- Compiler 文档: https://fory.apache.org/docs/compiler/
+
+## 功能特性
+
+- feat(java): 为 IdentityObjectIntMap 增加配置参数,作者 @jim-parsons,见 https://github.com/apache/fory/pull/3048
+- perf: 添加 cpp benchmark 报告,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3051
+- feat(python): 为 xlang 序列化增加 Union 类型支持,作者 @zhan7236,见 https://github.com/apache/fory/pull/3059
+- feat(go): 新增 golang xlang 序列化实现,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3063
+- feat(java): 增强 ForyField 注解,支持 tag ID 以优化序列化,作者 @mchernyakov,见 https://github.com/apache/fory/pull/3021
+- feat(cpp): 增加 iterator 容器序列化支持,作者 @zhan7236,见 https://github.com/apache/fory/pull/3068
+- refactor(go): 重构 go 错误处理流程,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3069
+- feat(rust): 新增 generate_default 属性,默认不再自动生成 `Default` trait 实现,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3074
+- feat(java): 实现跨语言序列化的 Union 类型支持,作者 @zhan7236,见 https://github.com/apache/fory/pull/3062
+- perf(go): 增加 go benchmark 并优化性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3071
+- feat(python): 新增 java/python xlang 测试并对齐协议,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3077
+- feat(rust): 增加 i128 与 isize 类型支持,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3080
+- feat(rust): 增加 unit 类型与 PhantomData serializer 支持,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3081
+- refactor(python): 重构 pyfory serializers 代码结构,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3083
+- feat(rust): 增加 union 与 none 类型支持,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3084
+- feat(go): 增加 go struct 字段 tag 支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3082
+- feat(rust): 添加 tuple struct 支持并改进泛型类型处理,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3087
+- feat(rust): 支持配置 rust 字段元信息以降低开销,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3089
+- feat(cpp): 支持自定义 cpp 字段元信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3088
+- feat(ci): 将 rust xlang CI 拆分运行以加快整体 CI,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3090
+- feat(python): 支持为 python 配置字段元信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3091
+- refactor(rust): 统一 tuple struct 与 named struct 协议,并改进 schema evolution 兼容性,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3092
+- feat(java): 构建带最终 ref_tracking 标记的 Descriptors,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3070
+- feat(java/python/rust/go/cpp): 对齐 xlang 结构体字段序列化的 nullable 元信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3093
+- feat(rust): 为 rust 实现细粒度 ref tracking,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3101
+- feat(cpp): 为 cpp 提供细粒度 ref tracking,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3103
+- feat(java/python/rust/go/cpp): 对齐 xlang nullable/ref 语义,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3104
+- feat(java/python/rust/go/cpp): 对齐 xlang 字段的引用与类型信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3107
+- feat(java/python/go/rust): 增加循环引用 xlang 测试,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3108
+- feat(cpp): 添加 `SharedWeak<T>` 以支持循环引用,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3109
+- feat(js): 为 xlang 增加基于 schema 的按字段 nullable 支持,作者 @theharsh999,见 https://github.com/apache/fory/pull/3100
+- feat(xlang): 为 xlang 增加无符号整数支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3111
+- feat(java): long 数组 serializer 支持 varint 编码,作者 @Pigsy-Monk,见 https://github.com/apache/fory/pull/3115
+- feat(xlang): 支持无符号类型序列化与字段编码配置,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3113
+- perf(go): 优化 go 结构体字段序列化性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3120
+- feat(java): int 数组 serializer 支持 varint 编码,作者 @Pigsy-Monk,见 https://github.com/apache/fory/pull/3124
+- feat(java): 支持 GraalVM native image 的 xlang 序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3126
+- refactor(go): 将 go interface{} 重命名为 any,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3128
+- refactor(xlang): 从协议中移除 magic number,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3137
+- feat(xlang): 在序列化多字节元素数组时使用 little endian,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3140
+- refactor(java/cpp): 将 morphic 重命名为 dynamic,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3142
+- feat(xlang): 为 JavaScript 增加无符号整数类型支持,作者 @ayush00git,见 https://github.com/apache/fory/pull/3139
+- feat: 为 dart 增加无符号数支持,作者 @ayush00git,见 https://github.com/apache/fory/pull/3144
+- feat(xlang/java): 重构 Java native 序列化类型系统,并为 xlang 引入流式类型信息,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3153
+- feat(dart): 为无符号整数类型增加 struct serializer 支持,作者 @ayush00git,见 https://github.com/apache/fory/pull/3155
+- feat(xlang): 新增 fory schema idl 与 compiler,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3106
+- refactor(java): 使用 `Types.NONE + 1` 作为 java native id 基值,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3180
+- refactor(compiler): 将 fory compiler 重构为分层架构,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3179
+- feat(JavaScript): 为 JavaScript 增加跨语言测试,作者 @theweipeng,见 https://github.com/apache/fory/pull/3161
+- feat(dart): 增加 dart CI,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3189
+- feat(compiler): 添加 flatbuffers idl 支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3184
+- feat(java): 增强 java 无符号整数/数组类型系统,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3190
+- feat(dart): 为 fory codegen 系统增加 uint 注解类型,作者 @ayush00git,见 https://github.com/apache/fory/pull/3181
+- feat(dart): 为 codegen 系统增加 uint struct 支持,作者 @ayush00git,见 https://github.com/apache/fory/pull/3192
+- feat(compiler): 为 fory compiler 与 runtime 增加 union 支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3195
+- feat(cpp): 支持 cpp class 的 private 字段,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3193
+- feat(compiler): 为 cpp 生成 getter/setter/has/clear 方法,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3199
+- feat(JavaScript): 实现 xlang string,作者 @theweipeng,见 https://github.com/apache/fory/pull/3197
+- feat(cpp): 将 fory enum/union 宏放入用户命名空间,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3200
+- feat(go): 对 optional 字段使用 option,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3202
+- feat(cpp): 让 shared_ptr 默认启用 ref tracking,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3214
+- feat(go): 支持 [N]uint 类型数组 serializer,作者 @ayush00git,见 https://github.com/apache/fory/pull/3201
+- feat(xlang): 为 type meta 预留 4 个 bit,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3204
+- feat(go): 移除 go 的 murmur hash 依赖,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3217
+- feat(compiler): 优化生成的 cpp API,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3221
+- feat(python): 重构 cython buffer,改用 cpp buffer,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3219
+- ci: 加快 windows 上的 setup-python,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3222
+- feat(python): 增加 buffer 索引访问器,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3223
+- feat(xlang/compiler): 支持 fory/protobuf/flatbuffer idl 的共享/循环引用序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3226
+- feat(cpp): 为 compiler 增加 `any` 的多态序列化支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3232
+- feat(JavaScript): 实现 xlang writer,作者 @theweipeng,见 https://github.com/apache/fory/pull/3234
+- feat(xlang): 支持控制嵌套 list/map 元素的 ref tracking,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3236
+- feat(compiler): 为生成的 message/union 增加 `to_bytes/from_bytes` 方法,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3238
+- refactor(cpp): 为 cpp 使用 snake_case 命名风格,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3240
+- perf(go): 优化 go 性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3241
+- refactor(go): 调整 go buffer uint32/64 写读命名风格,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3242
+- refactor(compiler): 重构 fory compiler 命令行,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3243
+- feat(compiler): 为 idl 增加 compatible mode,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3245
+- feat(go): 为 go 增加 float16 支持,作者 @ayush00git,见 https://github.com/apache/fory/pull/3235
+- feat(java): 为 primitive array 生成 java List,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3247
+- feat(JavaScript): 实现 xlang Map 与 Collection,作者 @theweipeng,见 https://github.com/apache/fory/pull/3249
+- feat(compiler/runtime): 使用 hash 作为生成类 id,并重构用户类型 id 编码,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3248
+- refactor(spec): 从协议中移除 xlang 的 language byte,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3256
+- refactor(go): 将 go struct serializer 初始化迁移到 struct_init.go,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3255
+- feat(protocol): 在 protocol spec 中增加 float8 与 bfloat16,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3259
+- feat(compiler): 增加 evolution 选项支持,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3262
+- feat(compiler): 更新生成引用代码的 toString/**repr**/std::fmt::Debug,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3264
+- perf: 优化 schema evolution 模式性能,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3260
+- feat(JavaScript): 实现 xlang JavaScript 测试用例,作者 @theweipeng,见 https://github.com/apache/fory/pull/3263
+- feat(compiler): 为 list 字段增加 list 关键字,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3295
+
+## Bug 修复
+
+- fix(docs): 修复 graalvm 链接,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3056
+- fix(Rust): 防止在自定义类型(struct/enum)上获取泛型类型元数据,作者 @urlyy,见 https://github.com/apache/fory/pull/3057
+- fix(Rust): 将 TypeMeta::bytes 与 TypeMeta::hash 的计算提前到序列化之前,作者 @urlyy,见 https://github.com/apache/fory/pull/3060
+- fix(java): 改进 AllowListChecker 的易用性,作者 @Asuka-star,见 https://github.com/apache/fory/pull/3061
+- fix(rust): 在类型不匹配错误日志中输出原始注册 ID,作者 @userzhy,见 https://github.com/apache/fory/pull/3067
+- fix(java): 修复 CopyOnWriteArrayList 字段序列化,作者 @vybhavjs,见 https://github.com/apache/fory/pull/3079
+- fix(go): 修复序列化对象超过 127 时 reference tracking 失败的问题,作者 @jonyoder,见 https://github.com/apache/fory/pull/3086
+- fix(java): 修复 GraalVM 下 abstract enum 与 abstract array 序列化,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3095
+- fix(rust): 启用 Rust 与 Java 之间 Union 类型跨语言序列化,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3094
+- fix: 修复 universal2 macOS wheel 缺少 x86 架构的问题,作者 @madhavajay,见 https://github.com/apache/fory/pull/3114
+- fix(java): 优化 graalvm 下 xlang 模式的 type resolver 调用,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3129
+- fix(java): 在关闭 compile service 时停止 compilation service,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3138
+- fix(python): 修复集合中 null 元素的读写,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3149
+- fix: 修复 xlang_serialization_spec.md 中的拼写错误,作者 @ayush00git,见 https://github.com/apache/fory/pull/3151
+- fix(java): 在 big endian 平台上为 utf16 string 使用 little endian,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3159
+- fix(java): 修复 openj9 sliced string 的 serde,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3160
+- fix(cpp): 修复 fory cpp 编译告警,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3188
+- fix(cpp): 修复 issue 3229:gcc16 下编译错误,作者 @xflcx1991,见 https://github.com/apache/fory/pull/3230
+- fix(java): 修复 java CI 的 maven module 错误,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3265
+- fix(go): 防止 readUTF16LE 在奇数字节数时触发 panic,作者 @jonyoder,见 https://github.com/apache/fory/pull/3293
+
+## 其他改进
+
+- chore: 将发布版本提升到 0.14.0,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3052
+- chore: 修复 benchmark 图表,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3053
+- docs: 在主 README.md 中添加 cpp 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3055
+- chore(deps): 在 /java/fory-test-core 中将 org.apache.logging.log4j:log4j-core 从 2.20.0 升级到 2.25.3,作者 @dependabot[bot],见 https://github.com/apache/fory/pull/3065
+- chore(python): 更新 README.md 中的 badge 样式,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3072
+- chore(rust): 回退 rust crates 版本,作者 @ariesdevil,见 https://github.com/apache/fory/pull/3075
+- docs(cpp): 为 CPP 文档中的 CMake 示例增加 MSVC 兼容性,作者 @Eiskomet,见 https://github.com/apache/fory/pull/3078
+- chore: 将发布版本提升到 0.14.1,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3096
+- docs(go): 新增 go serialization 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3121
+- docs(go): 修复 go serialization 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3125
+- docs(go): 修复 go 文档中的失效链接,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3127
+- docs(go): 补充 go 版本要求,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3134
+- docs(go): 补充 go pkg 开发文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3135
+- docs: 调整文档链接并同步配置,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3136
+- docs: 移除冗余的前缀 doc id,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3141
+- docs: 新增字段配置文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3143
+- docs: 修复字段类型文档中的失效链接,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3146
+- docs: 修复字段类型元信息文档位置,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3147
+- docs: 修复 native 字段类型元信息文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3148
+- chore(java): 将 java benchmark 迁移到 bench 目录,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3152
+- docs: 修复 readme 中的拼写与语法问题,作者 @Howard-aile,见 https://github.com/apache/fory/pull/3156
+- docs: 更新 agents.md,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3162
+- docs(compiler): 更新 fory compiler 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3183
+- docs: 修复 protobuf 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3185
+- docs: 补充缺失的 protobuf-idl.md,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3186
+- docs(cpp): 新增 cpp polymorphism 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3187
+- docs: 修复 README 中的链接,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3212
+- chore(cpp): 从 FORY_FIELD_CONFIG 中移除 unique token,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3228
+- docs(compiler): 将类型系统文档合并到 schema-idl 文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3258
+- chore: 修复版本提升流程并增加 rust/compiler 自动发布,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3257
+- docs: 将语言实现参考迁移到新文档,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3261
+- docs(go): 新增 go benchmark 结果,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3296
+- chore: 加速 windows CI,作者 @chaokunyang,见 https://github.com/apache/fory/pull/3297
+
+## 新贡献者
+
+- @jim-parsons 完成首次贡献,见 https://github.com/apache/fory/pull/3048
+- @Asuka-star 完成首次贡献,见 https://github.com/apache/fory/pull/3061
+- @userzhy 完成首次贡献,见 https://github.com/apache/fory/pull/3067
+- @ariesdevil 完成首次贡献,见 https://github.com/apache/fory/pull/3074
+- @Eiskomet 完成首次贡献,见 https://github.com/apache/fory/pull/3078
+- @vybhavjs 完成首次贡献,见 https://github.com/apache/fory/pull/3079
+- @jonyoder 完成首次贡献,见 https://github.com/apache/fory/pull/3086
+- @theharsh999 完成首次贡献,见 https://github.com/apache/fory/pull/3100
+- @madhavajay 完成首次贡献,见 https://github.com/apache/fory/pull/3114
+- @Pigsy-Monk 完成首次贡献,见 https://github.com/apache/fory/pull/3115
+- @ayush00git 完成首次贡献,见 https://github.com/apache/fory/pull/3139
+- @Howard-aile 完成首次贡献,见 https://github.com/apache/fory/pull/3156
+- @xflcx1991 完成首次贡献,见 https://github.com/apache/fory/pull/3230
+
+**完整变更日志**: https://github.com/apache/fory/compare/v0.14.1...v0.15.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-19-fory_cpp_modern_serialization_framework.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-19-fory_cpp_modern_serialization_framework.md
new file mode 100644
index 0000000000..0f44d176e7
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-02-19-fory_cpp_modern_serialization_framework.md
@@ -0,0 +1,534 @@
+---
+slug: fory_cpp_blazing_fast_serialization_framework
+title: "重磅发布:Apache Fory™ C++,面向现代 C++ 的超高速、类型安全序列化框架"
+authors: [chaokunyang]
+tags: [fory, cpp, serialization, cross-language]
+---
+
+**TL;DR**:Apache Fory C++ 是一个极致性能的跨语言序列化框架,在 **二进制性能** 上表现出色,同时支持 **多态类型、循环引用、Schema 演进**,并可与 Java、Python、Go、Rust、JavaScript 无缝互操作。全程基于现代 C++17,零运行时反射开销。
+
+- 🐙 GitHub: https://github.com/apache/fory
+- 📚 文档: https://fory.apache.org/docs/guide/cpp
+
+<img src="https://fory.apache.org/img/fory-logo-light.png" width="50%"/>
+
+---
+
+## C++ 序列化的核心痛点
+
+凡是在多语言环境里做过工程落地的 C++ 开发者,最终都会遇到同一堵墙:现有方案通常让你做艰难取舍。
+
+1. **IDL 优先框架**(Protocol Buffers、FlatBuffers):需要先定义并编译 Schema,原生 C++ 类型表达能力会被压缩,集成摩擦也很明显。每次类型变更,都要多语言代码同步再生成。
+2. **基于反射的框架**(Boost.Serialization、cereal):跨语言支持有限,对循环引用和多态的支持薄弱,往往要写大量样板代码。单语言内好用,一跨系统边界就容易失效。
+3. **手写二进制格式**:速度快,但脆弱。Schema 一变就可能出现静默损坏,新类型还要手工补编解码逻辑。
+
+Apache Fory C++ 打破了这种取舍:它在性能上可与顶级 C++ 序列化库竞争,同时原生支持多态、共享/循环引用、Schema 演进,并通过简洁的 C++17 API 实现与 Java、Python、Go、Rust、JavaScript 的 **二进制兼容**。
+
+---
+
+## Apache Fory C++ 为什么不一样?
+
+### 编译期代码生成
+
+很多序列化框架为了灵活性,会在运行时付出代价:每次调用都要借助虚函数分派或哈希表查询类型信息。Apache Fory 走了另一条路:通过 `FORY_STRUCT` 宏和 C++ 模板元编程,在编译期直接生成序列化逻辑。最终得到的是可内联、类型特化的代码,没有虚函数分派、没有反射、没有额外运行时开销:
+
+```cpp
+#include "fory/serialization/fory.h"
+using namespace fory::serialization;
+
+struct Person {
+ std::string name;
+ int32_t age;
+ std::vector<std::string> hobbies;
+ std::map<std::string, std::string> metadata;
+ std::optional<std::string> nickname;
+};
+FORY_STRUCT(Person, name, age, hobbies, metadata, nickname);
+```
+
+这一个宏就能生成编译期字段元信息、基于 ADL(Argument-Dependent Lookup,实参相关查找)的高效序列化/反序列化代码,以及类型注册钩子。你既可以把宏放在 class 内访问 private 字段,也可以放在 namespace 作用域里支持第三方类型。
+
+### 跨语言二进制协议
+
+Apache Fory C++ 与 Java、Python、Go、Rust、JavaScript 使用相同的二进制编码格式。你可以在 C++ 里序列化 struct,在 Python 里直接反序列化——无需适配层、无需 Schema 转换、无需版本协商。对于不同语言团队协作的微服务架构,这一点尤其关键:
+
+```cpp
+// C++:序列化
+auto fory = Fory::builder().xlang(true).build();
+fory.register_struct<Person>(100);
+auto bytes = fory.serialize(person).value();
+```
+
+```python
+# Python:反序列化(同一二进制格式,同一 type ID)
+fory = pyfory.Fory(xlang=True)
+fory.register(Person, type_id=100) # 与 C++ 使用同一 ID
+person = fory.deserialize(data)
+```
+
+要实现可靠的跨语言互操作,核心前提是:参与运行时之间使用一致的类型 ID/名称、一致的规范字段名,以及兼容的同名字段类型。
+
+### 通过智能指针实现多态
+
+在 C++ 中序列化多态对象一直很棘手。多数框架要么手工做类型标记,要么生成大量样板代码。Apache Fory 会自动处理:它通过 `std::is_polymorphic<T>` 检测多态类型,并借助 `std::shared_ptr` / `std::unique_ptr` 保留完整运行时类型身份。比如反序列化一个实际持有 `Dog` 的 `shared_ptr<Animal>`,你拿回来的仍然是 `Dog`:
+
+```cpp
+struct Animal { virtual ~Animal() = default; int32_t age = 0; };
+FORY_STRUCT(Animal, age);
+struct Dog : Animal { std::string breed; };
+FORY_STRUCT(Dog, FORY_BASE(Animal), breed);
+struct Cat : Animal { std::string color; };
+FORY_STRUCT(Cat, FORY_BASE(Animal), color);
+
+struct Shelter { std::vector<std::shared_ptr<Animal>> animals; };
+FORY_STRUCT(Shelter, animals);
+
+auto fory = Fory::builder().track_ref(true).build();
+fory.register_struct<Shelter>(10); fory.register_struct<Dog>(11); fory.register_struct<Cat>(12);
+
+Shelter s;
+s.animals.push_back(std::make_shared<Dog>()); // 运行时类型是 Dog
+s.animals.push_back(std::make_shared<Cat>()); // 运行时类型是 Cat
+
+auto decoded = fory.deserialize<Shelter>(fory.serialize(s).value()).value();
+assert(dynamic_cast<Dog*>(decoded.animals[0].get()) != nullptr); // 运行时类型被正确保留!
+```
+
+Fory 同样支持用于独占所有权多态字段的 `std::unique_ptr`,以及智能指针集合(如 `std::vector<std::shared_ptr<Base>>`、`std::map<K, std::unique_ptr<Base>>`)。
+
+### 共享/循环引用跟踪
+
+真实世界的数据模型里,共享对象和循环结构很常见:父节点指向子节点,子节点再回指父节点;多个订单共享同一个客户对象。传统序列化框架往往要么重复写入(浪费空间),要么遇到循环就直接栈溢出。
+
+开启 `track_ref(true)` 后,Fory 会在整个对象图范围内跟踪对象身份:共享对象只序列化一次,后续引用编码为回溯引用;循环也会自然终止:
+
+```cpp
+struct Node {
+ virtual ~Node() = default;
+ int32_t id = 0;
+ std::vector<std::shared_ptr<Node>> neighbors;
+};
+FORY_STRUCT(Node, id, neighbors);
+
+auto fory = Fory::builder().track_ref(true).build();
+fory.register_struct<Node>(200);
+
+auto node1 = std::make_shared<Node>(); node1->id = 1;
+auto node2 = std::make_shared<Node>(); node2->id = 2;
+node1->neighbors.push_back(node2);
+node2->neighbors.push_back(node1); // 循环引用——可正确处理!
+
+auto bytes = fory.serialize(node1).value();
+// 不会栈溢出、不会重复写入——循环结构可被完整保留
+auto decoded = fory.deserialize<std::shared_ptr<Node>>(bytes).value();
+```
+
+这让 Fory 非常适合图数据库、实体组件系统,以及任何含双向关系的领域模型。
+
+### Schema 演进
+
+在微服务部署中,各服务通常独立迭代。例如用户服务新版本新增 `phone` 字段时,旧消费者可能仍在线。如果没有 Schema 演进支持,就会被迫做协调式的“大爆炸发布”。Apache Fory 的 **兼容模式** 可以彻底解除这个约束:
+
+```cpp
+// 版本 1
+struct UserV1 { std::string name; int32_t age; };
+FORY_STRUCT(UserV1, name, age);
+
+// 版本 2——独立新增字段
+struct UserV2 { std::string name; int32_t age; std::string email; };
+FORY_STRUCT(UserV2, name, age, email);
+
+auto fory_v1 = Fory::builder().compatible(true).xlang(true).build();
+auto fory_v2 = Fory::builder().compatible(true).xlang(true).build();
+fory_v1.register_struct<UserV1>(100);
+fory_v2.register_struct<UserV2>(100); // 使用同一 type ID 才能实现演进
+
+auto bytes = fory_v1.serialize(UserV1{"Alice", 30}).value();
+auto v2 = fory_v2.deserialize<UserV2>(bytes).value();
+assert(v2.name == "Alice" && v2.email == ""); // 缺失字段将使用默认值
+```
+
+在兼容模式下,字段按名称匹配而不是按位置匹配。缺失的新字段会回落到 C++ 默认值,被删除的字段会被安全跳过。这样就能实现滚动升级与独立服务发布,而不会触发序列化错误。
+
+### 行式格式:零拷贝分析
+
+除了对象图序列化,Apache Fory C++ 还提供面向分析负载的 **行式二进制格式**。行式格式采用连续内存布局,包含空值位图、基础类型定长槽位,以及字符串/嵌套对象的变长区域。这带来 **按索引 O(1) 随机字段访问**——你可以从大 struct 中直接读取某个字段,无需反序列化全部数据。
+
+这在数据管道和 OLAP 负载中非常有价值,因为单条记录往往只查询少数字段:
+
+```cpp
+#include "fory/encoder/row_encoder.h"
+using namespace fory::row::encoder;
+
+struct SensorReading {
+ int32_t sensor_id; double temperature; std::string location;
+ FORY_STRUCT(SensorReading, sensor_id, temperature, location);
+};
+
+RowEncoder<SensorReading> encoder;
+encoder.encode({42, 23.5, "rack-B"});
+auto row = encoder.get_writer().to_row();
+
+// 可按 O(1) 读取任意字段——无需反序列化未使用字段
+int32_t id = row->get_int32(0);
+double temp = row->get_double(1);
+auto loc = row->get_string(2);
+```
+
+如果要在已有缓冲区上做零拷贝访问(例如内存映射文件或网络接收缓冲区),Fory 可以让 `Row` 直接指向那段内存而不做拷贝:
+
+```cpp
+auto src = encoder.get_writer().to_row();
+fory::row::Row view(src->schema());
+view.point_to(src->buffer(), src->base_offset(), src->size_bytes()); // 零拷贝视图
+int32_t id = view.get_int32(0); // 直接从原始缓冲区读取
+```
+
+建议:分析、OLAP 风格与部分字段读取场景使用行式格式;需要完整对象往返(含引用与多态)时使用对象图序列化。
+
+---
+
+## 安装
+
+Fory C++ 需要兼容 C++17 的编译器(GCC 7+、Clang 5+、MSVC 2017+),并同时支持 CMake 与 Bazel。
+
+### CMake (FetchContent)
+
+最简单的接入方式是使用 CMake 的 `FetchContent` 模块,在你的项目构建过程中直接拉取并编译 Fory:
+
+```cmake
+cmake_minimum_required(VERSION 3.16)
+project(my_project LANGUAGES CXX)
+set(CMAKE_CXX_STANDARD 17)
+
+include(FetchContent)
+FetchContent_Declare(fory
+ GIT_REPOSITORY https://github.com/apache/fory.git
+ GIT_TAG v0.15.0
+ SOURCE_SUBDIR cpp)
+FetchContent_MakeAvailable(fory)
+
+add_executable(my_app main.cc)
+target_link_libraries(my_app PRIVATE fory::serialization)
+```
+
+### Bazel
+
+对于 Bazel 项目,可将 Fory 作为 module dependency 引入:
+
+```bazel
+bazel_dep(name = "fory", version = "0.15.0")
+git_override(module_name = "fory",
+ remote = "https://github.com/apache/fory.git",
+ commit = "v0.15.0")
+```
+
+```bazel
+cc_binary(name = "my_app", srcs = ["main.cc"],
+ deps = ["@fory//cpp/fory/serialization:fory_serialization"])
+```
+
+---
+
+## 原生序列化
+
+如果是纯 C++ 应用且不需要跨语言能力,关闭 `xlang` 可以得到更紧凑的二进制编码(因为不再输出跨语言类型元数据),这也是最快路径:
+
+```cpp
+auto fory = Fory::builder()
+ .xlang(false) // 原生 C++ 模式——编码更紧凑
+ .track_ref(false) // 若无共享/循环引用可关闭
+ .build();
+
+fory.register_struct<Address>(1);
+fory.register_struct<Person>(2);
+
+// 序列化
+auto result = fory.serialize(person);
+if (!result.ok()) { std::cerr << result.error().to_string(); return 1; }
+std::vector<uint8_t> bytes = std::move(result).value();
+
+// 反序列化
+auto decoded = fory.deserialize<Person>(bytes);
+assert(decoded.ok() && person == decoded.value());
+```
+
+`FORY_STRUCT` 还能很好覆盖生产代码里常见的几个 C++ 模式:
+
+```cpp
+// 私有字段——将宏放在 public: 区域
+class Secure {
+ int32_t secret_; std::string token_;
+public:
+ FORY_STRUCT(Secure, secret_, token_);
+};
+
+// 继承——`FORY_BASE` 包含基类字段
+struct Derived : Base {
+ std::string extra;
+ FORY_STRUCT(Derived, FORY_BASE(Base), extra);
+};
+
+// 外部/第三方类型——在 namespace 作用域使用(仅限 public 字段)
+namespace ext { struct Coord { double lat, lon; }; }
+FORY_STRUCT(ext::Coord, lat, lon);
+```
+
+### 错误处理
+
+Fory 所有操作都返回 `Result<T, Error>`,让错误处理清晰、可组合。对于需要向上传播错误的函数,`FORY_TRY` 宏提供了精炼的提前返回模式:
+
+```cpp
+// 方式 1:条件判断
+auto r = fory.serialize(obj);
+if (r.ok()) { auto bytes = std::move(r).value(); }
+else { std::cerr << r.error().to_string(); }
+
+// 方式 2:使用 `FORY_TRY` 宏提前返回
+FORY_TRY(bytes, fory.serialize(obj));
+// 可直接使用 bytes——错误会自动向上传播
+```
+
+### 线程安全
+
+Fory 提供两种线程模型。选择依据是:你的序列化能力是集中管理(共享实例)还是分散在线程内部:
+
+```cpp
+// 单线程(最快)——每个线程一个实例,无同步开销
+auto fory = Fory::builder().build();
+
+// 线程安全——通过内部实例池跨线程共享
+auto fory = Fory::builder().build_thread_safe();
+fory.register_struct<MyType>(1); // 共享前先注册全部类型
+std::thread t([&]() { fory.serialize(obj); }); // 可安全并发调用
+```
+
+---
+
+## 跨语言序列化
+
+### 不使用 IDL
+
+当你能同时控制通信双方,并可手工协调类型定义时,最简方式是在各语言中注册一致的数字类型 ID。这不需要额外工具,适合小型、稳定 Schema:
+
+```cpp
+// C++
+auto fory = Fory::builder().xlang(true).build();
+fory.register_struct<Order>(201);
+auto bytes = fory.serialize(order).value();
+```
+
+```java
+// Java——同一二进制格式、同一 type ID
+Fory fory = Fory.builder().withLanguage(Language.XLANG).build();
+fory.register(Order.class, 201);
+Order order = (Order) fory.deserialize(bytes);
+```
+
+```python
+# Python——同一二进制格式、同一 type ID
+fory = pyfory.Fory(xlang=True)
+fory.register(Order, type_id=201)
+order = fory.deserialize(data)
+```
+
+**字段匹配**:在跨语言模式下,字段名会规范化为 snake_case,并按该规范名称匹配。字段顺序遵循 Fory 的 xlang 字段排序规则(并非简单字母序),因此跨语言命名语义要保持一致。
+
+### 使用 Fory Schema IDL Compiler
+
+随着 Schema 规模扩大、服务和团队增多,手工维护五种语言中的字段名、类型 ID 与类型定义会越来越容易出错。**Fory Schema IDL Compiler**(`foryc`)通过“单一 `.fdl` 定义,多语言自动生成”的方式解决这一问题。生成代码包含类型化访问器、序列化宏、注册辅助函数,以及 `to_bytes()`/`from_bytes()` 辅助函数——你无需再手写任何序列化胶水代码。
+
+#### 1. 安装编译器
+
+```bash
+pip install fory-compiler
+foryc --help
+```
+
+#### 2. 编写 Schema(`ecommerce.fdl`)
+
+Fory IDL 语法简洁,且刻意贴近 protobuf,学习成本很低。`optional`、`ref`、`list` 等字段修饰符会直接映射到地道的 C++ 类型:
+
+```protobuf
+package ecommerce;
+
+enum OrderStatus {
+ PENDING = 0; CONFIRMED = 1; SHIPPED = 2; DELIVERED = 3;
+}
+
+message Address {
+ string street = 1; string city = 2; string country = 3;
+}
+
+message Customer {
+ string id = 1;
+ string name = 2;
+ optional string email = 3; // Nullable: maps to std::optional<std::string>
+ optional Address address = 4;
+}
+
+message OrderItem {
+ string sku = 1;
+ int32 quantity = 2;
+ float64 unit_price = 3;
+}
+
+// Discount 既可以是固定金额,也可以是百分比——用 union 建模
+message FixedDiscount { float64 amount = 1; }
+message PercentDiscount { float64 percentage = 1; }
+
+// union 在 C++ 中映射为 std::variant<FixedDiscount, PercentDiscount>
+union Discount {
+ FixedDiscount fixed = 1;
+ PercentDiscount percent = 2;
+}
+
+message Order {
+ string order_id = 1;
+ ref Customer customer = 2; // ref:std::shared_ptr + 引用跟踪
+ list<OrderItem> items = 3; // list:std::vector<OrderItem>
+ OrderStatus status = 4;
+ float64 total = 5;
+ optional string notes = 6;
+ timestamp created_at = 7;
+ optional Discount discount = 8; // 可选 union 字段
+}
+```
+
+IDL 类型系统与原生 C++ 构造的映射非常直接。`union` 是一等公民,会在 C++ 中生成基于 `std::variant` 的包装类,并提供类型化分支访问器(如 `is_fixed()`、`as_fixed()`)以及 `visit()` 方法。下表是字段修饰符及其 C++ 对应关系:
+
+| 字段修饰符 | C++ 类型 | 用途 |
+| ------------------ | ------------------------------------ | ------------------------------------ |
+| `optional T` | `std::optional<T>` | 可空字段 |
+| `ref T` | `std::shared_ptr<T>` | 共享/循环引用 |
+| `ref(weak=true) T` | `fory::serialization::SharedWeak<T>` | 弱引用(用于打断循环) |
+| `list<T>` | `std::vector<T>` | 有序列表 |
+| `map<K,V>` | `std::map<K,V>` | 键值映射 |
+
+#### 3. 生成代码
+
+`foryc` 会为 C++ 每个 Schema 生成一个头文件,并为其他目标语言生成对应文件。所有生成文件都会使用同一套由 package 与类型名推导出的类型 ID,从而在无需手工协调的前提下保证二进制兼容:
+
+```bash
+# 在 ./generated 下直接生成 C++ 头文件
+foryc ecommerce.fdl --cpp_out ./generated
+
+# 使用显式输出目录生成多语言代码
+foryc ecommerce.fdl --cpp_out ./generated --java_out ./java/src/main/java --python_out ./python/gen --go_out ./go/gen --rust_out ./rust/gen
+```
+
+C++ 输出结构是:每个 Schema 文件在 `--cpp_out` 指定目录下生成一个头文件。比如 `--cpp_out ./generated` 会得到 `generated/ecommerce.h`。该头文件内已包含 `ecommerce::` namespace 下的全部类型,并预置 `FORY_STRUCT` 宏与 `register_types()` 辅助函数。
+
+#### 4. 使用生成的 C++ 代码
+
+生成的头文件提供带类型化访问器的 `final` 类,以及 `to_bytes()`/`from_bytes()` 辅助函数。无需手动创建 Fory 实例,辅助函数会在内部完成管理:
+
+```cpp
+#include "generated/ecommerce.h"
+
+ecommerce::Order order;
+order.set_order_id("ORD-2025-001");
+order.mutable_customer()->set_name("Alice");
+order.set_status(ecommerce::OrderStatus::CONFIRMED);
+order.set_total(159.98);
+
+// `to_bytes()`/`from_bytes()` 由工具生成——无需手写 Fory 样板代码
+auto bytes = order.to_bytes().value();
+auto restored = ecommerce::Order::from_bytes(bytes).value();
+assert(restored.order_id() == "ORD-2025-001");
+```
+
+由于生成的 Java、Python、Go 代码使用相同类型 ID,C++ `to_bytes()` 写出的字节可以被 Java `fromBytes()` 或 Python `from_bytes()` 直接读入,开箱即用,不需要额外配置。
+
+---
+
+## 支持的类型
+
+Apache Fory C++ 支持覆盖常见 C++ 数据结构与跨语言基础类型的完整类型集:
+
+| 类别 | C++ 类型 |
+| ----------------- | -------------------------------------------------------------------------------------------------------------- |
+| 基础类型 | `bool`, `int8_t`…`int64_t`, `uint8_t`…`uint64_t`, `float`, `double` |
+| 字符串 | `std::string`, `std::string_view`, `std::u16string` |
+| 集合 | `std::vector<T>`, `std::set<T>`, `std::unordered_set<T>`, `std::map<K,V>`, `std::unordered_map<K,V>` |
+| 可选/联合类型 | `std::optional<T>`, `std::variant<Ts...>` |
+| 智能指针 | `std::shared_ptr<T>`(引用跟踪 + 多态)、`std::unique_ptr<T>`、`fory::serialization::SharedWeak<T>` |
+| 时间类型 | `std::chrono::nanoseconds`, `fory::serialization::Timestamp`, `fory::serialization::Date` |
+| 枚举 | 作用域/非作用域枚举;非连续值请使用 `FORY_ENUM` |
+| 用户结构体 | 所有通过 `FORY_STRUCT` 标注的类型 |
+
+集合元素与映射值类型都支持任意层级嵌套,包括 struct、智能指针与 `std::optional`。
+
+---
+
+## 配置参考
+
+Fory 实例通过链式 builder API 构造。所有配置都有合理默认值,大多数场景只需设置 1~2 项:
+
+```cpp
+auto fory = Fory::builder()
+ .xlang(true) // 跨语言二进制协议(默认:true)
+ .compatible(true) // Schema 演进/兼容模式(默认:false)
+ .track_ref(true) // 共享/循环引用跟踪(默认:true)
+ .max_dyn_depth(10) // 多态嵌套最大深度(默认:5)
+ .check_struct_version(true) // 反序列化时校验结构体哈希(默认:false)
+ .build(); // 单线程;多线程请使用 build_thread_safe()
+```
+
+**调优建议**:当 Schema 变更可协调(同版本二进制同步发布)时,关闭 `compatible` 可获得最大吞吐;若数据是纯值类型且不存在共享/循环,关闭 `track_ref` 可省去每对象引用记账;仅 C++ 部署下使用 `xlang(false)` 可进一步压缩二进制编码。
+
+---
+
+## 性能基准
+
+Apache Fory 在多种数据形态上都表现出色。得益于编译期代码生成、可变长整数编码,以及精心设计的二进制协议,相比文本格式有显著优势,相比 Protocol Buffers 也有很强竞争力。在当前 C++ 基准报告中,Fory 相对 Protobuf 的吞吐提升范围约为 **1.1x ~ 12.2x**(取决于负载与操作类型):
+
+<img src="https://fory.apache.org/img/benchmarks/cpp/throughput.png" width="90%"/>
+
+C++ 实现与 Java 实现的相对加速趋势基本一致。二者共享同一套二进制协议设计,而 C++ 序列化代码在编译期生成(避免 JIT 预热成本),因此在时延敏感负载中通常具备同等甚至更优表现。
+
+序列化数据大小(bytes)
+
+| 数据类型 | Fory | Protobuf |
+| ---------------- | ---- | -------- |
+| Struct | 58 | 61 |
+| Sample | 446 | 375 |
+| MediaContent | 365 | 301 |
+| StructList | 184 | 315 |
+| SampleList | 1980 | 1890 |
+| MediaContentList | 1535 | 1520 |
+
+---
+
+## 总结
+
+Apache Fory C++ 将其他 C++ 序列化库很难“一次性同时做到”的能力,打包成了完整且一致的工程方案:
+
+- **性能**:基于模板的编译期代码生成消除了运行时反射开销;高效二进制协议同时优化序列化体积与 CPU 成本
+- **跨语言**:同一二进制格式原生支持 Java、Python、Go、Rust、JavaScript
+- **原生 C++ 惯用法**:`std::shared_ptr`、`std::optional`、`std::variant`、`fory::serialization::SharedWeak` 均可自然处理
+- **生产级特性**:多态、循环引用、Schema 演进、线程安全开箱即用
+- **Schema 优先选项**:Fory IDL Compiler 基于单一 `.fdl` 定义生成多语言地道代码,不再手工同步各代码库 type ID
+
+无论你在构建高性能游戏服务器、多语言微服务后端、实时分析管道,还是需要序列化复杂领域模型的嵌入式系统,Apache Fory C++ 都能覆盖。
+
+**快速开始:**
+
+```bash
+git clone https://github.com/apache/fory.git
+cd fory/examples/cpp/hello_world
+cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build
+./build/hello_world
+```
+
+**文档:**
+
+- C++ 序列化指南: [fory.apache.org/docs/guide/cpp](https://fory.apache.org/docs/guide/cpp)
+- Fory Schema IDL 编译器: [fory.apache.org/docs/compiler](https://fory.apache.org/docs/compiler)
+- Xlang 序列化规范: [fory.apache.org/docs/specification](https://fory.apache.org/docs/specification/xlang_serialization_spec/)
+
+**社区:**
+
+- GitHub: [apache/fory](https://github.com/apache/fory)
+- Slack: [加入我们的社区](https://join.slack.com/t/fory-project/shared_invite/zt-1u8soj4qc-ieYEu7ciHOqA2mo47llS8A)
+- 许可证:Apache License 2.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/authors.yml b/i18n/zh-CN/docusaurus-plugin-content-blog/authors.yml
index c4fcb8297e..c6d367d3d5 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-blog/authors.yml
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/authors.yml
@@ -1,5 +1,5 @@
chaokunyang:
- name: Shawn Yang
+ name: 杨朝坤
title: Apache Fory PMC Member
url: https://github.com/chaokunyang
image_url: /img/authors/chaokunyang.png
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fory.apache.org
For additional commands, e-mail: commits-help@fory.apache.org