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/09/16 02:40:40 UTC

(fory-site) branch main updated: docs: announce Apache Fory 1.7.3 (#509)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 87a79576cee docs: announce Apache Fory 1.7.3 (#509)
87a79576cee is described below

commit 87a79576cee32e6d0fdb4f04a48e7015b1676475
Author: Shawn Yang <sh...@gmail.com>
AuthorDate: Wed Sep 16 10:40:36 2026 +0800

    docs: announce Apache Fory 1.7.3 (#509)
    
    Updates the website for Apache Fory 1.7.3 after apache/fory#4050 merged:
    download links and installation examples use 1.7.3, and the existing 1.7
    documentation snapshot includes the release-tag changes. The default 1.7
    documentation route remains unchanged.
    
    Adds English and Chinese release articles with Go Standard Row Format
    examples and the Kotlin JSON property-inclusion behavior, including the
    effect of omitted values on deserialization. Updates the corresponding
    Chinese guides and adds the Go Row Format guide.
    
    Validation: English and Chinese production builds passed; Markdown lint
    passed for all 103 changed Markdown files; 14 generated routes and
    release-blog internal links checked; the blog's Go example ran
    successfully against v1.7.3. Public source files and package downloads,
    including the locally published Rust crates and Maven Central JARs/POMs,
    have been verified.
---
 blog/2026-09-16-fory_1_7_3_released.md             | 103 ++++++++
 .../2026-09-16-fory_1_7_3_released.md              |  98 ++++++++
 .../current/compiler/build-integration.md          |   2 +-
 .../current/compiler/cli.md                        |   2 +-
 .../current/grpc/csharp.md                         |   4 +-
 .../current/grpc/dart.md                           |   2 +-
 .../current/grpc/rust.md                           |   2 +-
 .../current/json/annotations.md                    |   4 +-
 .../current/json/getting-started.md                |   6 +-
 .../current/json/kotlin.md                         |  37 ++-
 .../current/json/scala.md                          |   2 +-
 .../current/object-serialization/cpp/index.md      |   8 +-
 .../current/object-serialization/csharp/index.md   |   2 +-
 .../current/object-serialization/dart/index.md     |   2 +-
 .../current/object-serialization/java/index.md     |   4 +-
 .../current/object-serialization/kotlin/index.md   |   4 +-
 .../rust/basic-serialization.md                    |   2 +-
 .../current/object-serialization/rust/index.md     |   8 +-
 .../current/object-serialization/scala/index.md    |   2 +-
 .../current/row-format/go.md                       | 202 ++++++++++++++++
 .../current/row-format/index.md                    |   9 +-
 .../current/row-format/java.md                     |   4 +-
 .../current/row-format/troubleshooting.md          |   2 +-
 .../current/specification/row_format_spec.md       |  10 +-
 .../current/start/cpp.md                           |   2 +-
 .../current/start/csharp.md                        |   2 +-
 .../current/start/dart.md                          |   2 +-
 .../current/start/go.md                            |   2 +-
 .../current/start/java.md                          |   6 +-
 .../current/start/javascript.md                    |   4 +-
 .../current/start/kotlin.md                        |   4 +-
 .../current/start/python.md                        |   2 +-
 .../current/start/rust.md                          |   2 +-
 .../current/start/scala.md                         |   2 +-
 .../current/start/swift.md                         |   2 +-
 .../version-1.7.0/compiler/build-integration.md    |   2 +-
 .../version-1.7.0/compiler/cli.md                  |   2 +-
 .../version-1.7.0/grpc/csharp.md                   |   4 +-
 .../version-1.7.0/grpc/dart.md                     |   2 +-
 .../version-1.7.0/grpc/rust.md                     |   2 +-
 .../version-1.7.0/json/annotations.md              |  18 +-
 .../version-1.7.0/json/getting-started.md          |  22 +-
 .../version-1.7.0/json/kotlin.md                   | 143 ++++++-----
 .../version-1.7.0/json/scala.md                    |  40 ++--
 .../object-serialization/cpp/index.md              |   8 +-
 .../object-serialization/csharp/index.md           |   4 +-
 .../object-serialization/dart/index.md             |   4 +-
 .../object-serialization/java/index.md             |   6 +-
 .../object-serialization/kotlin/index.md           |   4 +-
 .../rust/basic-serialization.md                    |   2 +-
 .../object-serialization/rust/index.md             |   8 +-
 .../object-serialization/scala/index.md            |   2 +-
 .../version-1.7.0/row-format/go.md                 | 202 ++++++++++++++++
 .../version-1.7.0/row-format/index.md              |  15 +-
 .../version-1.7.0/row-format/java.md               |   4 +-
 .../version-1.7.0/row-format/troubleshooting.md    |   2 +-
 .../version-1.7.0/specification/row_format_spec.md |  10 +-
 .../version-1.7.0/start/cpp.md                     |   2 +-
 .../version-1.7.0/start/csharp.md                  |   2 +-
 .../version-1.7.0/start/dart.md                    |   2 +-
 .../version-1.7.0/start/go.md                      |   2 +-
 .../version-1.7.0/start/java.md                    |   6 +-
 .../version-1.7.0/start/javascript.md              |   4 +-
 .../version-1.7.0/start/kotlin.md                  |   4 +-
 .../version-1.7.0/start/python.md                  |   2 +-
 .../version-1.7.0/start/rust.md                    |   2 +-
 .../version-1.7.0/start/scala.md                   |   2 +-
 .../version-1.7.0/start/swift.md                   |   2 +-
 .../download/index.md                              |  12 +-
 src/components/home/HomepageLanding.tsx            | 156 ++++++++----
 src/pages/download/index.md                        |  12 +-
 .../version-1.7.0/compiler/build-integration.md    |   2 +-
 versioned_docs/version-1.7.0/compiler/cli.md       |   2 +-
 versioned_docs/version-1.7.0/grpc/csharp.md        |   4 +-
 versioned_docs/version-1.7.0/grpc/dart.md          |   2 +-
 versioned_docs/version-1.7.0/grpc/rust.md          |   2 +-
 versioned_docs/version-1.7.0/json/annotations.md   |   6 +-
 .../version-1.7.0/json/getting-started.md          |   6 +-
 versioned_docs/version-1.7.0/json/kotlin.md        |  49 ++--
 versioned_docs/version-1.7.0/json/scala.md         |   3 +-
 .../object-serialization/cpp/index.md              |   8 +-
 .../object-serialization/csharp/index.md           |   2 +-
 .../object-serialization/dart/index.md             |   2 +-
 .../object-serialization/java/index.md             |   4 +-
 .../object-serialization/kotlin/index.md           |   4 +-
 .../rust/basic-serialization.md                    |   2 +-
 .../object-serialization/rust/index.md             |   8 +-
 .../object-serialization/scala/index.md            |   2 +-
 versioned_docs/version-1.7.0/row-format/go.md      | 261 +++++++++++++++++++++
 versioned_docs/version-1.7.0/row-format/index.md   |  15 +-
 versioned_docs/version-1.7.0/row-format/java.md    |   4 +-
 .../version-1.7.0/row-format/troubleshooting.md    |   2 +-
 .../version-1.7.0/specification/row_format_spec.md |  10 +-
 versioned_docs/version-1.7.0/start/cpp.md          |   2 +-
 versioned_docs/version-1.7.0/start/csharp.md       |   2 +-
 versioned_docs/version-1.7.0/start/dart.md         |   2 +-
 versioned_docs/version-1.7.0/start/go.md           |   2 +-
 versioned_docs/version-1.7.0/start/java.md         |   6 +-
 versioned_docs/version-1.7.0/start/javascript.md   |   4 +-
 versioned_docs/version-1.7.0/start/kotlin.md       |   4 +-
 versioned_docs/version-1.7.0/start/python.md       |   2 +-
 versioned_docs/version-1.7.0/start/rust.md         |   2 +-
 versioned_docs/version-1.7.0/start/scala.md        |   2 +-
 versioned_docs/version-1.7.0/start/swift.md        |   2 +-
 104 files changed, 1343 insertions(+), 354 deletions(-)

diff --git a/blog/2026-09-16-fory_1_7_3_released.md b/blog/2026-09-16-fory_1_7_3_released.md
new file mode 100644
index 00000000000..56d75749075
--- /dev/null
+++ b/blog/2026-09-16-fory_1_7_3_released.md
@@ -0,0 +1,103 @@
+---
+slug: fory_1_7_3_release
+title: Fory v1.7.3 Released
+description: "Fory 1.7.3 adds Go Standard Row Format support, improves Java JSON performance, and fixes Kotlin JSON property inclusion."
+authors: [chaokunyang]
+tags: [fory, java, json, go, kotlin]
+---
+
+Apache Fory 1.7.3 is now available. This release adds Standard Row Format support in Go,
+improves Java JSON reading and writing, and fixes Kotlin JSON property inclusion and Java
+serialization edge cases. See [Getting Started](/docs/start/) for installation instructions.
+
+## Highlights
+
+- Go can encode structs into Standard Row bytes and read selected fields and collection elements directly.
+- Java JSON improves floating-point conversion, reading and writing, and timestamp parsing with time zones.
+- Kotlin JSON honors property inclusion settings, including `NON_EMPTY`, on the JVM, GraalVM Native Image, and Android.
+- Java fixes nested `Externalizable` callbacks and inconsistent exception handling when reading an exhausted stream.
+
+## Standard Row Format in Go
+
+The new `github.com/apache/fory/go/fory/row` package supports the Standard Row layout shared
+with Java, C++, Python, and Rust. Use it for trusted analytics data when readers need selected
+fields without reconstructing an entire object.
+
+```go
+package main
+
+import (
+    "fmt"
+
+    "github.com/apache/fory/go/fory/row"
+)
+
+type Profile struct {
+    Name   string
+    Scores []int32
+}
+
+func main() {
+    encoder, err := row.NewEncoder[Profile]()
+    if err != nil {
+        panic(err)
+    }
+    data, err := encoder.ToRow(&Profile{Name: "Alice", Scores: []int32{95, 87}})
+    if err != nil {
+        panic(err)
+    }
+    schema := encoder.Schema()
+    view := row.NewRow(schema, data)
+    fmt.Println(view.String(schema.FieldIndex("name"))) // Alice
+    fmt.Println(view.Array(schema.FieldIndex("scores")).Int32(1)) // 87
+}
+```
+
+Create and reuse an encoder per struct type and goroutine, or guard it with a mutex.
+Row views require the underlying bytes to remain alive and unmodified. Go string reads copy;
+nested row, array, and map access uses views into the bytes.
+
+`ToRow` and `FromRow` exchange bare row bytes. `Encode` and `Decode` add an eight-byte schema
+hash. Cross-language producers and consumers must agree on the schema, including field types
+and nullability. Row Format accepts trusted input only; use object serialization when you need
+object graphs or untrusted-input handling. See the [Go Row Format guide](/docs/row-format/go)
+for supported types and schema exchange.
+
+## Kotlin JSON Property Inclusion
+
+Kotlin constructor parameters and body properties now follow the configured inclusion rule.
+`NON_NULL` omits null values; `NON_EMPTY` also omits empty strings, arrays, collections, maps,
+and absent JDK Optional values. A property's `@JsonProperty(include = ...)` overrides the
+builder default.
+
+```kotlin
+import org.apache.fory.json.annotation.JsonProperty.Include
+import org.apache.fory.json.kotlin.ForyJsonKotlin
+
+data class Response(
+    val id: Int,
+    val name: String? = null,
+    val items: List<String>? = null,
+)
+
+val json = ForyJsonKotlin.builder().defaultPropertyInclusion(Include.NON_EMPTY).build()
+val text = json.toJson(Response(1, items = emptyList())) // {"id":1}
+```
+
+Inclusion affects writing. Reading this output restores `items` to its declared default of
+null, so the original empty list does not round-trip. Missing constructor parameters use their
+defaults or fail when no default exists; missing body properties keep their initializers.
+Use an inclusion rule that retains the values your application needs. See the
+[Kotlin JSON guide](/docs/json/kotlin#immutable-classes-and-compiler-defaults) for the full rules.
+
+## Java JSON and Serialization Fixes
+
+Java JSON improves floating-point conversion and common read/write paths, including timestamps
+with time zones. The release also restores the surrounding serialization contexts after nested
+`Externalizable` callbacks and makes exception handling consistent when reading an exhausted
+stream.
+
+The complete release notes, including all 13 pull requests, are available on
+[GitHub](https://github.com/apache/fory/releases/tag/v1.7.3).
+
+**Full Changelog**: [v1.7.2...v1.7.3](https://github.com/apache/fory/compare/v1.7.2...v1.7.3)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-blog/2026-09-16-fory_1_7_3_released.md b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-09-16-fory_1_7_3_released.md
new file mode 100644
index 00000000000..9dc5b592e16
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-blog/2026-09-16-fory_1_7_3_released.md
@@ -0,0 +1,98 @@
+---
+slug: fory_1_7_3_release
+title: Apache Fory 1.7.3 正式发布
+description: "Fory 1.7.3 新增 Go Standard Row Format 支持,提升 Java JSON 读写性能,并修复 Kotlin JSON 属性包含策略。"
+authors: [chaokunyang]
+tags: [fory, java, json, go, kotlin]
+---
+
+Apache Fory 1.7.3 已正式发布。本次发布新增 Go Standard Row Format 支持,提升 Java JSON
+读写性能,并修复 Kotlin JSON 属性包含策略和 Java 序列化中的边界问题。
+安装方法请参阅[快速开始](/zh-CN/docs/start/)。
+
+## 亮点
+
+- Go 支持将结构体编码为 Standard Row 字节,并直接读取指定字段和集合元素。
+- Java JSON 优化浮点数转换、读写路径和带时区的时间戳解析。
+- Kotlin JSON 在 JVM、GraalVM Native Image 和 Android 上遵循配置的属性包含策略,包括 `NON_EMPTY`。
+- Java 修复嵌套 `Externalizable` 回调和读取已耗尽数据流时的异常处理不一致问题。
+
+## Go Standard Row Format
+
+新增的 `github.com/apache/fory/go/fory/row` 包支持与 Java、C++、Python 和 Rust 共享的
+Standard Row 布局。如果读取方只需要少量字段,不希望重建整个对象,可以将它用于可信的分析数据。
+
+```go
+package main
+
+import (
+    "fmt"
+
+    "github.com/apache/fory/go/fory/row"
+)
+
+type Profile struct {
+    Name   string
+    Scores []int32
+}
+
+func main() {
+    encoder, err := row.NewEncoder[Profile]()
+    if err != nil {
+        panic(err)
+    }
+    data, err := encoder.ToRow(&Profile{Name: "Alice", Scores: []int32{95, 87}})
+    if err != nil {
+        panic(err)
+    }
+    schema := encoder.Schema()
+    view := row.NewRow(schema, data)
+    fmt.Println(view.String(schema.FieldIndex("name"))) // Alice
+    fmt.Println(view.Array(schema.FieldIndex("scores")).Int32(1)) // 87
+}
+```
+
+每种结构体类型可以复用 encoder,但并发 goroutine 应分别创建实例,或使用互斥锁保护。
+Row 视图要求底层字节保持有效且不被修改。读取 Go 字符串会复制数据;嵌套 Row、数组和 Map
+则通过原始字节上的视图访问。
+
+`ToRow` 和 `FromRow` 处理裸 Row 字节,`Encode` 和 `Decode` 额外携带八字节 Schema hash。
+跨语言读写双方必须使用一致的 Schema,包括字段类型和可空性。Row Format 只接受可信输入;
+如果需要对象图或处理不可信输入,应使用对象序列化。支持的类型和 Schema 交换方法见
+[Go Row Format 指南](/zh-CN/docs/row-format/go)。
+
+## Kotlin JSON 属性包含策略
+
+Kotlin 的构造函数参数和类体属性现在都遵循配置的包含策略。
+`NON_NULL` 省略 null;`NON_EMPTY` 还会省略空字符串、数组、集合、Map 和不含值的 JDK Optional。
+属性上的 `@JsonProperty(include = ...)` 优先于 builder 默认值。
+
+```kotlin
+import org.apache.fory.json.annotation.JsonProperty.Include
+import org.apache.fory.json.kotlin.ForyJsonKotlin
+
+data class Response(
+    val id: Int,
+    val name: String? = null,
+    val items: List<String>? = null,
+)
+
+val json = ForyJsonKotlin.builder().defaultPropertyInclusion(Include.NON_EMPTY).build()
+val text = json.toJson(Response(1, items = emptyList())) // {"id":1}
+```
+
+包含策略影响写入。读取示例输出时,`items` 使用声明的默认值 null,因此不会保留原来的空列表。
+缺失的构造函数参数使用其默认值,没有默认值则读取失败;缺失的类体属性保留初始化值。
+如果应用要求精确往返,应选择能保留所需值的包含策略。完整规则见
+[Kotlin JSON 指南](/zh-CN/docs/json/kotlin#immutable-classes-and-compiler-defaults)。
+
+## Java JSON 与序列化修复
+
+Java JSON 优化了浮点数转换和常见读写路径,包括带时区的时间戳解析。
+本次发布还修复了嵌套 `Externalizable` 回调结束后外层序列化上下文的恢复,
+以及读取已耗尽数据流时异常处理不一致的问题。
+
+包含全部 13 个 PR 的发布说明见
+[GitHub Release](https://github.com/apache/fory/releases/tag/v1.7.3)。
+
+**完整变更日志**:[v1.7.2...v1.7.3](https://github.com/apache/fory/compare/v1.7.2...v1.7.3)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/build-integration.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/build-integration.md
index 5fefa0fb59c..49453322e7d 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/build-integration.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/build-integration.md
@@ -211,7 +211,7 @@ cc_library(
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/cli.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/cli.md
index 09f976b1b57..e08529951f4 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/cli.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/compiler/cli.md
@@ -659,5 +659,5 @@ fory = "x.y.z"
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 ```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/csharp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/csharp.md
index 101071d354a..4e2ed5b4807 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/csharp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/csharp.md
@@ -36,7 +36,7 @@ gRPC 客户端、服务基类、方法描述符、元数据、截止时间、取
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
 </ItemGroup>
 ```
@@ -45,7 +45,7 @@ gRPC 客户端、服务基类、方法描述符、元数据、截止时间、取
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.Core.Api" Version="2.71.0" />
   <PackageReference Include="Grpc.Net.Client" Version="2.71.0" />
 </ItemGroup>
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/dart.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/dart.md
index 2ef83b207b6..2f3f602d2cd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/dart.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/dart.md
@@ -29,7 +29,7 @@ license: |
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
   grpc: ^4.0.0
 
 dev_dependencies:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/rust.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/rust.md
index 5f7003b032c..77c403b912e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/rust.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/grpc/rust.md
@@ -29,7 +29,7 @@ license: |
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 bytes = "1"
 tonic = { version = "0.14", features = ["transport"] }
 tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/annotations.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/annotations.md
index 9cd29752bb8..fd81775b196 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/annotations.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/annotations.md
@@ -146,7 +146,9 @@ public final class Response {
 以及包含空列表的非空 Optional 都会保留。属性包含策略不会过滤根值、集合元素、Map 条目或
 Any 条目。原始 JSON String 属性按字符串检查,不会解析其中的 JSON 文本。
 
-各语言的重建规则仍然适用;请参阅 [Kotlin 包含策略](kotlin.md#immutable-classes-and-compiler-defaults)。
+Kotlin 属性遵循配置的包含策略,即使省略属性会因默认值而改变读取结果,或导致缺少必需属性的读取失败;
+请参阅 [Kotlin 包含策略](kotlin.md#immutable-classes-and-compiler-defaults)。
+Scala 仍遵循[必需构造函数参数规则](scala.md#case-classes-and-annotations)。
 
 包含策略只影响写入。对于没有写入来源、仅供创建器使用的属性,非默认包含策略无效。可以重复相同声明;
 同一逻辑属性中相互冲突的显式名称、索引或非默认包含策略会被拒绝。规范化为同一最终 JSON 名称的两个
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/getting-started.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/getting-started.md
index 35ce206af79..d8fddcd82d2 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/getting-started.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/getting-started.md
@@ -41,7 +41,7 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-json</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -55,7 +55,7 @@ repositories {
   mavenCentral()
 }
 
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 ### Kotlin
@@ -64,7 +64,7 @@ Kotlin/JVM 应用添加可选的 Kotlin JSON 运行时,并使用其统一 buil
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/kotlin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/kotlin.md
index 669fce93b88..d4a621ecc7e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/kotlin.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/kotlin.md
@@ -38,7 +38,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
@@ -50,7 +50,7 @@ plugins {
 }
 
 dependencies {
-  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.2")
+  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.3")
 }
 ```
 
@@ -120,14 +120,33 @@ data class Request(
 
 类体 `val`、计算属性、委托属性、仅 getter 的属性和委托 `var` 必须被忽略,或由精确的自定义编解码器处理。输入中存在的延后赋值 setter 在构造后按固定属性顺序执行,随后运行验证器;输入成员顺序不能决定应用调用顺序。Kotlin 类实例始终通过正常构造创建,因此不会绕过主构造函数初始化和验证。
 
-Fory 必须能在相同配置下读取自身输出。因此,可空构造函数参数和可空延后赋值属性在为 null 时会显式输出,即使 builder 的 Java 通用默认行为是省略 null 字段。如果省略属性可能导致失败或调用不同的编译器默认值,则会拒绝该属性上显式设置的 `JsonProperty.Include.NON_NULL`。
+Kotlin 的构造函数参数和类体属性都遵循配置的[属性包含策略](annotations.md#jsonproperty)。
+默认的 `NON_NULL` 省略 null,`NON_EMPTY` 还会省略空字符串、数组、集合、Map 和不含值的 JDK Optional。
+属性上的 `@JsonProperty(include = ...)` 优先于 builder 默认值。使用 `ALWAYS` 或
+`writeNullFields(true)` 可以保留 null。
 
-同样的规则也适用于 `NON_EMPTY`。全局设置
-`defaultPropertyInclusion(JsonProperty.Include.NON_EMPTY)` 会保留 Kotlin 构造函数参数和延后赋值属性中的
-空值,包括声明了 `emptyList()` 默认值的属性。Fory 不会通过比较编译器默认值或执行初始化器来决定
-是否省略属性。对于可重建的属性,如果其逻辑类型可能为空,或者其可空值可能因此被省略,显式的
-`NON_EMPTY` 注解会被拒绝。非空值类即使底层字符串或集合为空,也仍会输出。如果包含这些属性的模型
-需要不同的省略与重建规则,请为该模型使用自定义编解码器。
+```kotlin
+import org.apache.fory.json.annotation.JsonProperty.Include
+import org.apache.fory.json.kotlin.ForyJsonKotlin
+
+data class Response(
+    val id: Int,
+    val name: String? = null,
+    val items: List<String>? = null,
+)
+
+val json = ForyJsonKotlin.builder().defaultPropertyInclusion(Include.NON_EMPTY).build()
+val text = json.toJson(Response(1, items = emptyList())) // {"id":1}
+```
+
+包含策略只影响写入。读取示例输出时,`items` 使用声明的默认值 null,因此不会保留原来的空列表。
+缺失的构造函数参数使用声明的默认值;如果没有默认值则读取失败。缺失的类体属性保留初始化值。
+显式 null 与字段缺失不同,非空属性仍会拒绝显式 null。如果需要精确往返,应选择能保留所需值的包含策略。
+
+序列化时不会比较 Kotlin 默认值,也不会执行初始化器。无论默认值为 null、`emptyList()` 还是非空列表,
+`NON_EMPTY` 都会省略空列表。非空值类不会因为底层字符串或集合为空而被当作空属性。
+对于本身实现 `CharSequence`、`Collection` 或 `Map` 的未装箱值类,不支持显式的 `NON_EMPTY`;
+这类模型应使用包含它的对象的自定义编解码器。
 
 ## 可空性 {#nullability}
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/scala.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/scala.md
index b85e3046301..a3c0f3dadb6 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/scala.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/json/scala.md
@@ -24,7 +24,7 @@ Fory JSON 通过可选的 `fory-json-scala` 制品支持 Scala 2.13 和 Scala 3
 ## 设置 {#setup}
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.3"
 ```
 
 `ForyJsonScala.builder()` 安装 Scala 模块并返回标准 Fory JSON builder:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/cpp/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/cpp/index.md
index 57bdb65d34e..e184535818c 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/cpp/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/cpp/index.md
@@ -60,7 +60,7 @@ include(FetchContent)
 FetchContent_Declare(
     fory
     GIT_REPOSITORY https://github.com/apache/fory.git
-    GIT_TAG        v1.7.2
+    GIT_TAG        v1.7.3
     SOURCE_SUBDIR  cpp
 )
 FetchContent_MakeAvailable(fory)
@@ -90,11 +90,11 @@ module(
 
 bazel_dep(name = "rules_cc", version = "0.1.1")
 
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git",
-    commit = "v1.7.2",  # Or use a specific commit hash for reproducibility
+    commit = "v1.7.3",  # Or use a specific commit hash for reproducibility
 )
 ```
 
@@ -125,7 +125,7 @@ bazel run //:my_app
 本地开发时,可以改用 `local_path_override`:
 
 ```bazel
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 local_path_override(
     module_name = "fory",
     path = "/path/to/fory",
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/csharp/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/csharp/index.md
index 2c44e528ff9..af0cfac92d7 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/csharp/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/csharp/index.md
@@ -44,7 +44,7 @@ Apache Fory™ C# 是面向 .NET 的高性能跨语言序列化库。它支持
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
 </ItemGroup>
 ```
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/dart/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/dart/index.md
index e6fa87ed29b..43bb226b51e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/dart/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/dart/index.md
@@ -44,7 +44,7 @@ Apache Fory™ Dart 可以将 Dart 对象序列化为字节并反序列化,也
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/java/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/java/index.md
index e61c49f8e92..10c783a23d2 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/java/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/java/index.md
@@ -51,7 +51,7 @@ Fory core 支持 Java 8 及更高版本。Java Record 序列化需要 Java 17 
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -59,7 +59,7 @@ Fory core 支持 Java 8 及更高版本。Java Record 序列化需要 Java 17 
 
 ```kotlin
 // Binary object serialization
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 #### JDK 25 及更高版本
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/kotlin/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/kotlin/index.md
index 15abfe82fae..57c2f0e0c15 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/kotlin/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/kotlin/index.md
@@ -53,14 +53,14 @@ Fory Kotlin 继承了 Fory Java 的全部功能,并增加了 Kotlin 特有优
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-kotlin</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 ### Gradle
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.7.2")
+implementation("org.apache.fory:fory-kotlin:1.7.3")
 ```
 
 ### JDK25+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/basic-serialization.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/basic-serialization.md
index c7a6469003d..3736d8c3e4a 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/basic-serialization.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/basic-serialization.md
@@ -145,7 +145,7 @@ Rust 启用 `chrono::NaiveDate`、`chrono::NaiveDateTime` 和 `chrono::Duration`
 
 ```toml
 [dependencies]
-fory = { version = "1.7.2", features = ["chrono"] }
+fory = { version = "1.7.3", features = ["chrono"] }
 ```
 
 ### 自定义类型
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/index.md
index d03162b61a5..2696cc72bba 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/rust/index.md
@@ -36,9 +36,9 @@ Rust 实现通过自动内存管理和编译期类型安全提供灵活的高性
 
 | Crate                                                                       | 说明                               | 版本                                          |
 | --------------------------------------------------------------------------- | ---------------------------------- | --------------------------------------------- |
-| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | 面向用户的 API、运行时类型和派生宏 | [1.7.2](https://crates.io/crates/fory)        |
-| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | 用于高级集成的底层运行时 crate     | [1.7.2](https://crates.io/crates/fory-core)   |
-| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | 供直接使用运行时的底层过程宏 crate | [1.7.2](https://crates.io/crates/fory-derive) |
+| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | 面向用户的 API、运行时类型和派生宏 | [1.7.3](https://crates.io/crates/fory)        |
+| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | 用于高级集成的底层运行时 crate     | [1.7.3](https://crates.io/crates/fory-core)   |
+| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | 供直接使用运行时的底层过程宏 crate | [1.7.3](https://crates.io/crates/fory-derive) |
 
 大多数应用程序只需依赖 `fory`。它重新导出生成代码所需的派生宏和公共运行时类型。只有明确要基于底层运行时 crate 构建时,才直接使用 `fory-core` 或 `fory-derive`。
 
@@ -48,7 +48,7 @@ Rust 实现通过自动内存管理和编译期类型安全提供灵活的高性
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ### 基本示例
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/scala/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/scala/index.md
index 995fe7d6586..035a4c3fc8e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/scala/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/object-serialization/scala/index.md
@@ -49,7 +49,7 @@ Fory Scala 继承了 Fory Java 的全部功能,并增加了 Scala 特有优化
 使用 sbt 添加依赖:
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 ### JDK25+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/go.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/go.md
new file mode 100644
index 00000000000..f31734d504b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/go.md
@@ -0,0 +1,202 @@
+---
+title: Go Standard Row Format
+sidebar_position: 7
+id: go
+license: |
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+---
+
+`github.com/apache/fory/go/fory/row` 实现与 Java、C++、Python 和 Rust 共享的 Standard Row Format,
+提供结构体编码、字段随机访问和跨语言 Schema 编码。
+
+Row Format 适用于可信的内存数据,例如选择性字段读取、内存映射数据和跨语言分析数据管道。
+只读取可信来源、由 Fory Row writer 按相同 Schema 生成的数据;该格式不提供对象序列化针对不可信输入的防护。
+
+## 基本用法 {#basic-usage}
+
+```go
+package main
+
+import (
+    "fmt"
+
+    "github.com/apache/fory/go/fory/row"
+)
+
+type UserProfile struct {
+    Id       int64
+    Username string
+    Email    *string
+    Scores   []int32
+}
+
+func main() {
+    encoder, err := row.NewEncoder[UserProfile]()
+    if err != nil {
+        panic(err)
+    }
+    email := "alice@example.com"
+    profile := UserProfile{
+        Id: 12345, Username: "alice", Email: &email, Scores: []int32{95, 87},
+    }
+    data, err := encoder.ToRow(&profile)
+    if err != nil {
+        panic(err)
+    }
+    schema := encoder.Schema()
+    view := row.NewRow(schema, data)
+    fmt.Println(view.String(schema.FieldIndex("username"))) // alice
+    fmt.Println(view.Array(schema.FieldIndex("scores")).Int32(1)) // 87
+    fmt.Println(view.IsNullAt(schema.FieldIndex("email"))) // false
+
+    decoded, err := encoder.FromRow(data)
+    if err != nil {
+        panic(err)
+    }
+    fmt.Println(decoded.Username) // alice
+}
+```
+
+创建 encoder 的成本高于复用实例。每种结构体类型应创建一次并复用,但不要在多个 goroutine 中
+无保护地共享同一个 encoder。
+
+## 裸 Row 与带帧消息 {#rows-and-framed-messages}
+
+`ToRow` 和 `FromRow` 处理裸 Row 字节,与其他语言的 `toRow` 和 `BinaryRow.pointTo` 对应。
+`Encode` 和 `Decode` 额外使用 Java、Python Row encoder 的帧格式:八字节小端 Schema hash,随后是 Row。
+
+```go
+framed, err := encoder.Encode(&profile)
+decoded, err := encoder.Decode(framed)
+```
+
+hash 只包含递归字段类型 ID。它可以检测字段类型变化,但不能检测字段重命名、可空性变化或相同类型字段
+的重排。如果双方需要完整校验 Schema,应交换 Schema 字节。
+
+`Decode` 和 `FromRow` 对截断或不一致的数据返回错误。解码后的值不引用输入字节,因此之后可以复用输入缓冲区。
+
+## 零拷贝读取 {#zero-copy-reading}
+
+`row.NewRow(schema, data)` 创建 Row 视图。`Struct`、`Array` 和 `Map` 返回嵌套字节视图,
+`Binary` 返回输入的子切片。这些视图只在底层字节有效且不被修改时有效。
+`String` 会复制数据,避免 Go 字符串随输入缓冲区变化。
+
+固定宽度 getter 对 null 返回零值,需要区分 null 和零时使用 `IsNullAt`。
+变长 getter 对 null 返回 `nil` 或空字符串。越界索引和格式错误的数据可能导致原始视图访问 panic;
+需要错误返回时使用 encoder 的解码方法。
+
+## 可空性 {#nullability}
+
+指针字段可空:`nil` 写入 null 位,并在解码时恢复为 `nil`。切片、Map 和 `[]byte` 同样可空,
+并且区分 nil 与空容器。
+
+字符串、嵌套值结构体、`fory.Date`、`time.Time` 和 `time.Duration` 在 Schema 中可空,
+但对应的 Go 值不能持有 nil,因此解码 null 会返回错误。需要保留 null 时,使用 `*string`、
+`*time.Time` 或 `*Inner` 等指针类型。
+
+Map 值可空,键不可空。`[]*int32` 元素和 `map[string]*int32` 值可以承载 null,
+`[]int32` 和 `map[string]int32` 不可以。
+
+## 字段顺序与名称 {#field-order-and-names}
+
+字段按 lowerCamel 名称排序,并以 snake_case 命名,例如 `UserName` 对应 `user_name`。
+该规则与 Java 的 Schema 推导一致。不导出的字段会被跳过。
+`fory:"-"`、`fory:"ignore"` 和 `fory:"ignore=true"` 会跳过字段;其他 tag 选项被接受但不影响 Row Format。
+更改字段名或类型时,必须协调所有读写方的 Schema。
+
+## 支持的类型 {#supported-types}
+
+| Go 类型                                   | Standard Row 编码     | 可空 |
+| ----------------------------------------- | --------------------- | ---- |
+| `bool`、`int8`、`int16`、`int32`、`int64` | 固定宽度标量          | 否   |
+| `int`                                     | int64                 | 否   |
+| `float32`、`float64`                      | IEEE 754 浮点数       | 否   |
+| `fory.Date`                               | 自纪元起的天数 date32 | 是   |
+| `time.Time`                               | 自纪元起的微秒数      | 是   |
+| `time.Duration`                           | 微秒数                | 是   |
+| `string`                                  | UTF-8 字节            | 是   |
+| `[]byte`                                  | int8 Standard array   | 是   |
+| 受支持元素类型的 `[]T`                    | Standard array        | 是   |
+| `map[K]V`                                 | Standard map          | 是   |
+| 嵌套结构体                                | 嵌套 Standard Row     | 是   |
+| 受支持的非切片、非 Map 类型的 `*T`        | 与 `T` 相同           | 是   |
+
+`[]byte` 与 Java `byte[]` 一样按 int8 列表编码。binary 类型仅可通过手动构建的 Schema、
+`RowWriter.WriteBytes` 和 `Row.Binary` 使用。
+
+字符串必须是有效 UTF-8。时间戳微秒数必须能由 int64 表示。
+Map 键可以是标量、字符串或由这些类型递归组成的值结构体。
+`time.Time`、`time.Duration` 和指针不能用作键,也不能出现在键结构体的有效字段中。
+Duration 编码截断到微秒;如果应用需要以时间为键,请使用单位明确的 int64。
+
+不支持无符号整数、固定长度数组、嵌套指针、切片或 Map 的指针、接口、channel、函数、递归类型、
+`float16` 和 `decimal`。
+
+## Schema 交换 {#schema-exchange}
+
+`SchemaToBytes` 和 `SchemaFromBytes` 使用与 Java `SchemaEncoder`、Python
+`Schema.to_bytes` 和 `from_bytes` 一致的编码。`ComputeSchemaHash` 计算 `Encode` 使用的类型结构 hash。
+
+```go
+schemaBytes, err := row.SchemaToBytes(encoder.Schema())
+schema, err := row.SchemaFromBytes(schemaBytes)
+fmt.Println(schema.Equal(encoder.Schema())) // true
+```
+
+Java bean 与 Go 结构体需要对应字段和一致的可空性。与 Java 装箱类型对应时使用 Go 指针,
+与 Java 基本类型对应时使用 Go 值。
+
+## 手动写入 Row {#writing-rows-by-hand}
+
+使用 `RowWriter`、`ArrayWriter` 和 `MapWriter` 可以按手动构建的 Schema 写入,不需要 Go 结构体。
+嵌套值写入共享缓冲区后,通过 `SetOffsetAndSize` 关联到父字段。
+
+```go
+schema := row.NewSchema([]row.Field{
+    row.NewField("id", row.Int64Type{}, false),
+    row.NewField("tags", row.List(row.StringType{}), true),
+})
+writer := row.NewRowWriter(schema)
+writer.Reset()
+writer.WriteInt64(0, 7)
+tags := row.NewArrayWriter(row.List(row.StringType{}).Elem, writer.Buffer())
+start := writer.Buffer().WriterIndex()
+if err := tags.Reset(2); err != nil {
+    panic(err)
+}
+if err := tags.WriteString(0, "go"); err != nil {
+    panic(err)
+}
+tags.SetNullAt(1)
+if err := writer.SetOffsetAndSize(1, start, writer.Buffer().WriterIndex()-start); err != nil {
+    panic(err)
+}
+data := writer.ToBytes()
+```
+
+每次写 Row 前调用 `Reset`;为新的顶层 Row 复用 writer 时,先将缓冲区的写位置设为零。
+`ToBytes` 返回的字节只在下一次修改缓冲区之前有效。
+
+## 线程安全 {#thread-safety}
+
+encoder 和 writer 不支持无保护的并发调用。每个 goroutine 使用独立实例,或用互斥锁保护。
+Row、数组和 Map 视图可以被多个 goroutine 同时读取,前提是底层字节不被修改。
+
+## 相关文档 {#related-topics}
+
+- [基础序列化](../object-serialization/go/basic-serialization.md)
+- [Standard Row Format](index.md#standard-row)
+- [Row Format 规范](../specification/row_format_spec.md)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/index.md
index 54d400a135b..35d7606e1f3 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/index.md
@@ -30,18 +30,18 @@ Row Format 仅用于可信的分析数据,包括内存映射数据、选择性
 
 | 布局         | 语言支持                | 兼容性                      |
 | ------------ | ----------------------- | --------------------------- |
-| Standard Row | Java、Python、C++、Rust | 共享的 Standard Row 布局    |
+| Standard Row | Java、Python、C++、Rust、Go | 共享的 Standard Row 布局    |
 | Compact Row  | Java                    | 仅 Java、面向空间优化的布局 |
 
 ## Standard Row
 
-Standard Row 是 Java、Python、C++ 和 Rust 之间可互操作的布局。
+Standard Row 是 Java、Python、C++、Rust 和 Go 之间可互操作的布局。
 
 ### 功能特性
 
 - **零拷贝随机访问**:直接从编码数据中读取选定字段。
 - **部分反序列化**:只重建应用所需的值。
-- **跨语言兼容**:在 Java、Python、C++ 和 Rust 之间共享 Standard Row 字节。
+- **跨语言兼容**:在 Java、Python、C++、Rust 和 Go 之间共享 Standard Row 字节。
 - **Apache Arrow 集成**:在 Java 和 Python 中将 Row 转换为 Arrow 数据。
 
 ### 布局
@@ -58,6 +58,7 @@ Schema 解析字段位置和元素类型。规范性的字节布局、对齐规
 | Python | 兼容                | [Python](python.md) | PyArrow Schema 和 table 转换   |
 | C++    | 兼容                | [C++](cpp.md)       | 原生 Row 读取器和写入器        |
 | Rust   | 兼容                | [Rust](rust.md)     | 借用式结构体、数组和 Map 视图  |
+| Go     | 兼容                | [Go](go.md)         | 结构体编码器和零拷贝 Row 视图 |
 
 安装、Schema 构建、编码、随机访问、部分读取和特定语言集成请参阅各语言指南。
 
@@ -89,7 +90,7 @@ MyBean decoded = encoder.fromRow(row);
 - 固定大小的嵌套 struct 可以内联存储。
 
 仅当所有 reader 都使用 Java,且节省的空间足以抵消 Java 特有布局的限制时,才应选择
-Compact Row。Java、Python、C++ 和 Rust 互操作请使用 Standard Row。
+Compact Row。Java、Python、C++、Rust 和 Go 互操作请使用 Standard Row。
 
 精确的 Standard 和 Compact 二进制布局请参阅
 [Row Format 规范](../specification/row_format_spec.md)。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/java.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/java.md
index 2696203fcb3..0df3fa8d21a 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/java.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/java.md
@@ -41,14 +41,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-format</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-format:1.7.2")
+implementation("org.apache.fory:fory-format:1.7.3")
 ```
 
 ## 基本用法
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/troubleshooting.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/troubleshooting.md
index 109fbf7bc2a..5be05b54777 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/troubleshooting.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/row-format/troubleshooting.md
@@ -21,7 +21,7 @@ license: |
 
 ## Standard Row 对端无法读取 Compact Row 字节
 
-Compact Row 是仅支持 Java 的 Row 系列。需要在 Java、Python、C++ 和 Rust 之间共享字节时,
+Compact Row 是仅支持 Java 的 Row 系列。需要在 Java、Python、C++、Rust 和 Go 之间共享字节时,
 请使用 Standard Row。
 
 ## 字段查找失败
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/specification/row_format_spec.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/specification/row_format_spec.md
index 9ff5aea80aa..f3ef291c834 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/specification/row_format_spec.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/specification/row_format_spec.md
@@ -26,14 +26,14 @@ Apache Fory 行格式是一种缓存友好的随机访问二进制格式,专
 - **随机字段访问**:无需反序列化整行即可读取单个字段
 - **零拷贝操作**:无需转换数据即可直接访问内存
 - **缓存友好布局**:通过优化内存布局提高 CPU 缓存效率
-- **跨语言支持**:Java、C++、Python 和 Rust 使用一致的二进制格式
+- **跨语言支持**:Java、C++、Python、Rust 和 Go 使用一致的二进制格式
 
 Fory 提供两种行格式:
 
-| 格式     | 语言                    | 使用场景                 |
-| -------- | ----------------------- | ------------------------ |
-| 标准格式 | Java、C++、Python、Rust | 跨语言兼容               |
-| 紧凑格式 | 仅 Java                 | 提高空间效率,减小行大小 |
+| 格式     | 语言                        | 使用场景                 |
+| -------- | --------------------------- | ------------------------ |
+| 标准格式 | Java、C++、Python、Rust、Go | 跨语言兼容               |
+| 紧凑格式 | 仅 Java                     | 提高空间效率,减小行大小 |
 
 ## 格式对比
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/cpp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/cpp.md
index b64be7925a2..eaf1881fc57 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/cpp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/cpp.md
@@ -42,7 +42,7 @@ include(FetchContent)
 FetchContent_Declare(
   fory
   GIT_REPOSITORY https://github.com/apache/fory.git
-  GIT_TAG v1.7.2
+  GIT_TAG v1.7.3
   SOURCE_SUBDIR cpp
 )
 FetchContent_MakeAvailable(fory)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/csharp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/csharp.md
index 0e084dfe1c5..65d47a3f894 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/csharp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/csharp.md
@@ -34,7 +34,7 @@ dotnet --version
 ```bash
 dotnet new console -n ForyExample
 cd ForyExample
-dotnet add package Apache.Fory --version 1.7.2
+dotnet add package Apache.Fory --version 1.7.3
 ```
 
 将 `Program.cs` 替换为:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/dart.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/dart.md
index d71f3479e5d..0c4af43826c 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/dart.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/dart.md
@@ -34,7 +34,7 @@ dart pub --help
 
 ```yaml
 dependencies:
-  fory: 1.7.2
+  fory: 1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/go.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/go.md
index 7a693d9b87b..957a6694c55 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/go.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/go.md
@@ -36,7 +36,7 @@ go env GOPROXY
 mkdir fory-example
 cd fory-example
 go mod init example.com/fory-example
-go get github.com/apache/fory/go/fory@v1.7.2
+go get github.com/apache/fory/go/fory@v1.7.3
 ```
 
 如果 Go proxy 尚未收录新的 submodule tag,请稍后重试,或者暂时使用 `GOPROXY=direct`。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/java.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/java.md
index c46f5e3ab11..d515e7e42b9 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/java.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/java.md
@@ -39,14 +39,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 运行下面完整的 xlang 往返示例:
@@ -85,7 +85,7 @@ public final class ForyExample {
 Fory JSON 将 Java 对象映射为标准 JSON 文本和 UTF-8 字节。如果应用只需要 JSON,请添加 `fory-json`,无需添加 `fory-core`:
 
 ```kotlin
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 在 `ForyExample.java` 中添加 import:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/javascript.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/javascript.md
index 02cdb2b366e..22f3a489609 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/javascript.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/javascript.md
@@ -33,7 +33,7 @@ npm --version
 安装 core 软件包:
 
 ```bash
-npm install @apache-fory/core@1.7.2
+npm install @apache-fory/core@1.7.3
 ```
 
 定义 Schema 并运行 xlang 往返示例:
@@ -65,7 +65,7 @@ JavaScript 使用 xlang 模式。接下来可阅读 [JavaScript/TypeScript 对
 若要使用可选的 Node.js 字符串快速路径,请安装版本匹配的软件包:
 
 ```bash
-npm install @apache-fory/core@1.7.2 @apache-fory/hps@1.7.2
+npm install @apache-fory/core@1.7.3 @apache-fory/hps@1.7.3
 ```
 
 ## 其他能力
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/kotlin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/kotlin.md
index 3a301e2aa10..94cb9ff4972 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/kotlin.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/kotlin.md
@@ -42,7 +42,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-kotlin:1.7.3")
 }
 ```
 
@@ -81,7 +81,7 @@ Fory JSON 是独立于二进制对象序列化的文本格式。与普通 JSON A
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/python.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/python.md
index 2e0fff219ab..a8d02cefce3 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/python.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/python.md
@@ -33,7 +33,7 @@ python -m pip --version
 安装已发布的软件包:
 
 ```bash
-python -m pip install pyfory==1.7.2
+python -m pip install pyfory==1.7.3
 ```
 
 运行 xlang 往返示例:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/rust.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/rust.md
index d3d4ac72f86..2c04545c263 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/rust.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/rust.md
@@ -34,7 +34,7 @@ cargo --version
 
 ```toml title="Cargo.toml"
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ```rust
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/scala.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/scala.md
index e09df97c0f9..c5c566e76fd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/scala.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/scala.md
@@ -35,7 +35,7 @@ sbt --version
 
 ```sbt
 ThisBuild / scalaVersion := "3.3.1"
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 创建 `src/main/scala/ScalaExample.scala`:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/swift.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/swift.md
index 263349b85ab..22eabbf59cd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/swift.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/start/swift.md
@@ -39,7 +39,7 @@ swift package init --type executable --name ForyExample
 
 ```swift title="Package.swift"
 dependencies: [
-    .package(url: "https://github.com/apache/fory.git", exact: "1.7.2")
+    .package(url: "https://github.com/apache/fory.git", exact: "1.7.3")
 ],
 targets: [
     .executableTarget(
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/build-integration.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/build-integration.md
index 5fefa0fb59c..49453322e7d 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/build-integration.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/build-integration.md
@@ -211,7 +211,7 @@ cc_library(
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/cli.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/cli.md
index 09f976b1b57..e08529951f4 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/cli.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/compiler/cli.md
@@ -659,5 +659,5 @@ fory = "x.y.z"
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 ```
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/csharp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/csharp.md
index 101071d354a..4e2ed5b4807 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/csharp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/csharp.md
@@ -36,7 +36,7 @@ gRPC 客户端、服务基类、方法描述符、元数据、截止时间、取
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
 </ItemGroup>
 ```
@@ -45,7 +45,7 @@ gRPC 客户端、服务基类、方法描述符、元数据、截止时间、取
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.Core.Api" Version="2.71.0" />
   <PackageReference Include="Grpc.Net.Client" Version="2.71.0" />
 </ItemGroup>
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/dart.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/dart.md
index 2ef83b207b6..2f3f602d2cd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/dart.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/dart.md
@@ -29,7 +29,7 @@ license: |
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
   grpc: ^4.0.0
 
 dev_dependencies:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/rust.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/rust.md
index 5f7003b032c..77c403b912e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/rust.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/grpc/rust.md
@@ -29,7 +29,7 @@ license: |
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 bytes = "1"
 tonic = { version = "0.14", features = ["transport"] }
 tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/annotations.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/annotations.md
index 9cd29752bb8..141e1d3f5e8 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/annotations.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/annotations.md
@@ -29,13 +29,13 @@ Kotlin/JVM 模型使用 Kotlin JSON 模块。平台设置见 [Kotlin 指南](kot
 
 Kotlin 注解与对应 Java 字段、访问器或选定构造函数参数合并为同一个逻辑属性。请显式指定使用位置,避免依赖 Kotlin 的默认目标策略:
 
-| Kotlin 使用位置 | 逻辑声明 |
-| ------------ | ---------------------------------------------- |
-| `@field:` | 后备字段 |
-| `@get:` | getter |
-| `@set:` | setter |
-| `@param:` | 选定构造函数的参数 |
-| `@setparam:` | 支持参数注解的 setter 值参数 |
+| Kotlin 使用位置 | 逻辑声明                     |
+| --------------- | ---------------------------- |
+| `@field:`       | 后备字段                     |
+| `@get:`         | getter                       |
+| `@set:`         | setter                       |
+| `@param:`       | 选定构造函数的参数           |
+| `@setparam:`    | 支持参数注解的 setter 值参数 |
 
 不支持 `@property:`,因为 Fory JSON 注解不以 Kotlin 专有的属性元数据为目标。`@setparam:JsonProperty` 会被拒绝,因为 setter 参数命名不属于 JSON 属性名契约。`@setparam:JsonIgnore`、`@setparam:JsonCodec` 和 `@setparam:JsonUnwrapped` 作用于对应的单参数 setter 属性,也直接支持有效的 `@set:JsonCodec`。
 
@@ -146,7 +146,9 @@ public final class Response {
 以及包含空列表的非空 Optional 都会保留。属性包含策略不会过滤根值、集合元素、Map 条目或
 Any 条目。原始 JSON String 属性按字符串检查,不会解析其中的 JSON 文本。
 
-各语言的重建规则仍然适用;请参阅 [Kotlin 包含策略](kotlin.md#immutable-classes-and-compiler-defaults)。
+Kotlin 属性遵循配置的包含策略,即使省略属性会因默认值而改变读取结果,或导致缺少必需属性的读取失败;
+请参阅 [Kotlin 包含策略](kotlin.md#immutable-classes-and-compiler-defaults)。
+Scala 仍遵循[必需构造函数参数规则](scala.md#case-classes-and-annotations)。
 
 包含策略只影响写入。对于没有写入来源、仅供创建器使用的属性,非默认包含策略无效。可以重复相同声明;
 同一逻辑属性中相互冲突的显式名称、索引或非默认包含策略会被拒绝。规范化为同一最终 JSON 名称的两个
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/getting-started.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/getting-started.md
index 35ce206af79..029ed5db42e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/getting-started.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/getting-started.md
@@ -41,7 +41,7 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-json</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -55,7 +55,7 @@ repositories {
   mavenCentral()
 }
 
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 ### Kotlin
@@ -64,7 +64,7 @@ Kotlin/JVM 应用添加可选的 Kotlin JSON 运行时,并使用其统一 buil
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
@@ -145,14 +145,14 @@ public final class JsonExample {
 
 Fory JSON 支持 String 输入/输出、UTF-8 字节输入/输出,以及通过 `ByteBuffer` 分块提供的增量 UTF-8 输入。目前不提供阻塞式 `InputStream` 解析 API。
 
-| 操作 | 运行时类型 | 声明的 `Class` | 声明的 `TypeRef` |
-| -------------------- | ------------------------- | ---------------------------- | ------------------------------ |
-| String 输出 | `toJson(value)` | `toJson(value, type)` | `toJson(value, typeRef)` |
-| UTF-8 字节 | `toJsonBytes(value)` | `toJsonBytes(value, type)` | `toJsonBytes(value, typeRef)` |
-| UTF-8 `OutputStream` | `writeJsonTo(value, out)` | `writeJsonTo(value, type, out)` | `writeJsonTo(value, typeRef, out)` |
-| String 输入 | - | `fromJson(text, type)` | `fromJson(text, typeRef)` |
-| UTF-8 输入 | - | `fromJson(bytes, type)` | `fromJson(bytes, typeRef)` |
-| UTF-8 字节范围 | - | `fromJson(bytes, offset, length, type)` | `fromJson(bytes, offset, length, typeRef)` |
+| 操作                 | 运行时类型                | 声明的 `Class`                          | 声明的 `TypeRef`                           |
+| -------------------- | ------------------------- | --------------------------------------- | ------------------------------------------ |
+| String 输出          | `toJson(value)`           | `toJson(value, type)`                   | `toJson(value, typeRef)`                   |
+| UTF-8 字节           | `toJsonBytes(value)`      | `toJsonBytes(value, type)`              | `toJsonBytes(value, typeRef)`              |
+| UTF-8 `OutputStream` | `writeJsonTo(value, out)` | `writeJsonTo(value, type, out)`         | `writeJsonTo(value, typeRef, out)`         |
+| String 输入          | -                         | `fromJson(text, type)`                  | `fromJson(text, typeRef)`                  |
+| UTF-8 输入           | -                         | `fromJson(bytes, type)`                 | `fromJson(bytes, typeRef)`                 |
+| UTF-8 字节范围       | -                         | `fromJson(bytes, offset, length, type)` | `fromJson(bytes, offset, length, typeRef)` |
 
 每次 `fromJson` 调用恰好消费一个 JSON 值,并拒绝其后的非空白内容。字节范围重载只解析指定范围,忽略范围之前和之后的字节。返回的 String 和字节数组与内部可复用缓冲区相互独立。
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/kotlin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/kotlin.md
index 669fce93b88..8f7ccd79788 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/kotlin.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/kotlin.md
@@ -38,7 +38,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
@@ -50,7 +50,7 @@ plugins {
 }
 
 dependencies {
-  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.2")
+  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.3")
 }
 ```
 
@@ -120,25 +120,44 @@ data class Request(
 
 类体 `val`、计算属性、委托属性、仅 getter 的属性和委托 `var` 必须被忽略,或由精确的自定义编解码器处理。输入中存在的延后赋值 setter 在构造后按固定属性顺序执行,随后运行验证器;输入成员顺序不能决定应用调用顺序。Kotlin 类实例始终通过正常构造创建,因此不会绕过主构造函数初始化和验证。
 
-Fory 必须能在相同配置下读取自身输出。因此,可空构造函数参数和可空延后赋值属性在为 null 时会显式输出,即使 builder 的 Java 通用默认行为是省略 null 字段。如果省略属性可能导致失败或调用不同的编译器默认值,则会拒绝该属性上显式设置的 `JsonProperty.Include.NON_NULL`。
+Kotlin 的构造函数参数和类体属性都遵循配置的[属性包含策略](annotations.md#jsonproperty)。
+默认的 `NON_NULL` 省略 null,`NON_EMPTY` 还会省略空字符串、数组、集合、Map 和不含值的 JDK Optional。
+属性上的 `@JsonProperty(include = ...)` 优先于 builder 默认值。使用 `ALWAYS` 或
+`writeNullFields(true)` 可以保留 null。
 
-同样的规则也适用于 `NON_EMPTY`。全局设置
-`defaultPropertyInclusion(JsonProperty.Include.NON_EMPTY)` 会保留 Kotlin 构造函数参数和延后赋值属性中的
-空值,包括声明了 `emptyList()` 默认值的属性。Fory 不会通过比较编译器默认值或执行初始化器来决定
-是否省略属性。对于可重建的属性,如果其逻辑类型可能为空,或者其可空值可能因此被省略,显式的
-`NON_EMPTY` 注解会被拒绝。非空值类即使底层字符串或集合为空,也仍会输出。如果包含这些属性的模型
-需要不同的省略与重建规则,请为该模型使用自定义编解码器。
+```kotlin
+import org.apache.fory.json.annotation.JsonProperty.Include
+import org.apache.fory.json.kotlin.ForyJsonKotlin
+
+data class Response(
+    val id: Int,
+    val name: String? = null,
+    val items: List<String>? = null,
+)
+
+val json = ForyJsonKotlin.builder().defaultPropertyInclusion(Include.NON_EMPTY).build()
+val text = json.toJson(Response(1, items = emptyList())) // {"id":1}
+```
+
+包含策略只影响写入。读取示例输出时,`items` 使用声明的默认值 null,因此不会保留原来的空列表。
+缺失的构造函数参数使用声明的默认值;如果没有默认值则读取失败。缺失的类体属性保留初始化值。
+显式 null 与字段缺失不同,非空属性仍会拒绝显式 null。如果需要精确往返,应选择能保留所需值的包含策略。
+
+序列化时不会比较 Kotlin 默认值,也不会执行初始化器。无论默认值为 null、`emptyList()` 还是非空列表,
+`NON_EMPTY` 都会省略空列表。非空值类不会因为底层字符串或集合为空而被当作空属性。
+对于本身实现 `CharSequence`、`Collection` 或 `Map` 的未装箱值类,不支持显式的 `NON_EMPTY`;
+这类模型应使用包含它的对象的自定义编解码器。
 
 ## 可空性 {#nullability}
 
 Kotlin 类型使用位置的可空性在根值、属性、容器元素、Map 值和泛型子类型上均会被检查:
 
-| 声明 | 成员缺失 | 显式 JSON `null` |
-| --------------------------------- | --------------------- | ---------- |
-| `val value: String` | 失败 | 失败 |
-| `val value: String?` | 失败 | 传入 null |
-| `val value: String = expression` | 求值默认值 | 失败 |
-| `val value: String? = expression` | 求值默认值 | 传入 null |
+| 声明                              | 成员缺失   | 显式 JSON `null` |
+| --------------------------------- | ---------- | ---------------- |
+| `val value: String`               | 失败       | 失败             |
+| `val value: String?`              | 失败       | 传入 null        |
+| `val value: String = expression`  | 求值默认值 | 失败             |
+| `val value: String? = expression` | 求值默认值 | 传入 null        |
 
 `List<String?>` 接受 null 元素,`List<String>` 拒绝 null 元素。Map 键必须非空。自动构造 Kotlin 模型时,不会猜测平台类型或未知的可空性。
 
@@ -217,56 +236,56 @@ Fory 执行经过验证的编译器构造操作,因此值类初始化检查仍
 
 从 Kotlin 使用 Java/JDK 标量、时间类型、Optional、原子类型、数组、集合、Map、枚举和 JSON 树类型时,它们保持常规 Fory JSON 表示:
 
-| 核心类型类别 | Kotlin 中的行为 |
-| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `Any` / `Any?` | 自然 JSON Boolean、数字、String、数组、对象或 null;写入时按运行时类型动态分派 |
-| 有符号标量及装箱类型 | `Boolean`、`Byte`、`Short`、`Int`、`Long`、`Float`、`Double`、`Char` 和 `Number` 使用核心标量编解码器;非有限浮点值使用核心的带引号表示 |
-| 文本 | `String`、精确 `CharSequence`、`StringBuilder` 和 `StringBuffer` 使用字符串表示 |
-| 任意精度/低精度数值 | `BigInteger`、`BigDecimal`、Fory `Float16` 和 `BFloat16` 使用核心数值表示与限制 |
-| 枚举 | 带引号的枚举常量名 |
-| Java/Kotlin 数组 | 除 `ByteArray` 默认使用 Base64 字符串外,均为普通 JSON 数组;`@field:JsonByteArray(JsonByteArray.Format.ARRAY)` 可选择数字数组;无符号语义数组见下文 |
-| Optional 与原子类 | `Optional<T>`、基本类型 Optional、原子标量/引用和原子数组保持核心透明表示,并受上述可空性规则约束 |
-| 带引号的 JDK 值 | `Currency`、`File`、`URI`、`Path`、`Pattern`、`UUID`、`Locale`、`Charset` 和 `TimeZone` 保持核心字符串表示 |
-| 旧版日期/时间 | `Date`、`Calendar` 及可用的 `java.sql.Date`、`Time` 和 `Timestamp` 保持自 Unix 纪元起的毫秒数表示 |
-| Java 时间类型 | `LocalDate`、`LocalTime`、`LocalDateTime`、`Instant`、`java.time.Duration`、`ZoneOffset`、`ZoneId`、`ZonedDateTime`、`Year`、`YearMonth`、`MonthDay`、`Period`、`OffsetTime`、`OffsetDateTime` 和受支持的历法日期保持核心精确文本语法 |
-| 其他核心值 | `BitSet`、`ByteBuffer`、`JsonArray` 和 `JsonObject` 保持常规核心表示 |
-| 集合/Map | 受支持的 Java/Kotlin `Collection`、`Map` 接口和实现使用核心数组/对象表示;受支持的 Guava 不可变载体仍为可选依赖 |
-| Map 键 | String、枚举、有符号 `Byte`/`Short`/`Int`/`Long`,以及下文补充的 Kotlin 无符号类型/值类;Boolean、浮点、可空和任意对象键需要显式键编解码器或完整 Map 编解码器 |
-| 固定拒绝的类型 | 仍拒绝 `Class`、URL/网络/socket/地址类型、不支持的 JDK 内部集合实现,以及未注册的 `Number`/`CharSequence` 子类;应用可在常规类型和安全检查允许的范围内显式定义自有表示 |
+| 核心类型类别         | Kotlin 中的行为                                                                                                                                                                                                                       |
+| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Any` / `Any?`       | 自然 JSON Boolean、数字、String、数组、对象或 null;写入时按运行时类型动态分派                                                                                                                                                        |
+| 有符号标量及装箱类型 | `Boolean`、`Byte`、`Short`、`Int`、`Long`、`Float`、`Double`、`Char` 和 `Number` 使用核心标量编解码器;非有限浮点值使用核心的带引号表示                                                                                               |
+| 文本                 | `String`、精确 `CharSequence`、`StringBuilder` 和 `StringBuffer` 使用字符串表示                                                                                                                                                       |
+| 任意精度/低精度数值  | `BigInteger`、`BigDecimal`、Fory `Float16` 和 `BFloat16` 使用核心数值表示与限制                                                                                                                                                       |
+| 枚举                 | 带引号的枚举常量名                                                                                                                                                                                                                    |
+| Java/Kotlin 数组     | 除 `ByteArray` 默认使用 Base64 字符串外,均为普通 JSON 数组;`@field:JsonByteArray(JsonByteArray.Format.ARRAY)` 可选择数字数组;无符号语义数组见下文                                                                                  |
+| Optional 与原子类    | `Optional<T>`、基本类型 Optional、原子标量/引用和原子数组保持核心透明表示,并受上述可空性规则约束                                                                                                                                     |
+| 带引号的 JDK 值      | `Currency`、`File`、`URI`、`Path`、`Pattern`、`UUID`、`Locale`、`Charset` 和 `TimeZone` 保持核心字符串表示                                                                                                                            |
+| 旧版日期/时间        | `Date`、`Calendar` 及可用的 `java.sql.Date`、`Time` 和 `Timestamp` 保持自 Unix 纪元起的毫秒数表示                                                                                                                                     |
+| Java 时间类型        | `LocalDate`、`LocalTime`、`LocalDateTime`、`Instant`、`java.time.Duration`、`ZoneOffset`、`ZoneId`、`ZonedDateTime`、`Year`、`YearMonth`、`MonthDay`、`Period`、`OffsetTime`、`OffsetDateTime` 和受支持的历法日期保持核心精确文本语法 |
+| 其他核心值           | `BitSet`、`ByteBuffer`、`JsonArray` 和 `JsonObject` 保持常规核心表示                                                                                                                                                                  |
+| 集合/Map             | 受支持的 Java/Kotlin `Collection`、`Map` 接口和实现使用核心数组/对象表示;受支持的 Guava 不可变载体仍为可选依赖                                                                                                                       |
+| Map 键               | String、枚举、有符号 `Byte`/`Short`/`Int`/`Long`,以及下文补充的 Kotlin 无符号类型/值类;Boolean、浮点、可空和任意对象键需要显式键编解码器或完整 Map 编解码器                                                                         |
+| 固定拒绝的类型       | 仍拒绝 `Class`、URL/网络/socket/地址类型、不支持的 JDK 内部集合实现,以及未注册的 `Number`/`CharSequence` 子类;应用可在常规类型和安全检查允许的范围内显式定义自有表示                                                                |
 
 核心表示详情见[对象映射](object-mapping.md#supported-java-types)。Kotlin 特有行为如下:
 
-| 类型类别 | 自动 JSON 表示或处理方式 |
-| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
-| 普通类、data class 和嵌套类 | 具有命名属性的 JSON 对象 |
-| `inner` 类、普通抽象类/接口 | 仅支持封闭的 `JsonSubTypes` 或精确自定义编解码器 |
-| sealed 类/接口 | 推导或显式声明的封闭 `JsonSubTypes` 表 |
-| 枚举 | 带引号的枚举名 |
-| 无状态 `object`、`data object`、`Unit` | 严格的 `{}` |
-| 有状态对象、伴生对象 | 仅支持精确自定义编解码器 |
-| 值类 | 透明的底层值;需要精确绑定 |
-| `Nothing?` / `Nothing` | 仅允许 null / 拒绝 |
-| `Pair`、`Triple` | 具有 `first`、`second` 和 `third` 命名属性的对象 |
-| `Result`、`Lazy`、Kotlin 标准属性委托 | 仅支持精确自定义编解码器 |
-| 有符号基本类型、基本类型数组、`Array<T>` | 常规核心数字/Boolean/字符与数组表示 |
-| `UByte`、`UShort`、`UInt`、`ULong` 及其数组 | 无符号十进制数字和数组 |
-| 只读与可变集合/Map、Kotlin `ArrayDeque` | 常规核心数组/Map |
-| `Map.Entry`、私有集合载体、`Iterable`、`Sequence`、迭代器、`EnumEntries` | 自动映射时拒绝 |
-| `CharRange`、有符号/无符号整数区间 | `{"start":...,"endInclusive":...}` |
-| 对应的步进序列 | `{"first":...,"last":...,"step":...}` |
-| `ClosedRange`、`OpenEndRange`、抽象/开放/浮点区间 | 自动映射时拒绝 |
-| `kotlin.time.Duration` | 带引号的规范 Kotlin ISO 时长 |
-| `kotlin.time.Instant` | 带引号的规范 Kotlin ISO 时刻 |
-| `TimedValue<T>` | `{"value":...,"duration":...}` |
-| `DurationUnit`、`RegexOption` | 带引号的枚举名 |
-| 时钟、时间源/时间标记、Regex/匹配状态、Random | 仅支持精确自定义编解码器 |
-| `kotlin.uuid.Uuid` | 带引号的规范连字符 UUID |
-| 完整泛型类 / 声明处型变 | 精确替换后的 Schema |
-| `out X` / `in X` / 星投影 | 仅允许精确 final 或封闭的 `X` / 拒绝 / 拒绝 |
-| 递归泛型 | 仅允许相同的精确递归绑定;正在处理时展开到另一绑定会被拒绝 |
-| 类型别名 | 完全展开后的类型 |
-| 函数/挂起函数、反射类型、协程/flow/channel 状态 | 拒绝 |
-| 符合条件的第三方不可变 Kotlin 模型 | 在 JVM 上自动映射;应用注解覆盖时需注册精确 Mixin |
+| 类型类别                                                                 | 自动 JSON 表示或处理方式                                   |
+| ------------------------------------------------------------------------ | ---------------------------------------------------------- |
+| 普通类、data class 和嵌套类                                              | 具有命名属性的 JSON 对象                                   |
+| `inner` 类、普通抽象类/接口                                              | 仅支持封闭的 `JsonSubTypes` 或精确自定义编解码器           |
+| sealed 类/接口                                                           | 推导或显式声明的封闭 `JsonSubTypes` 表                     |
+| 枚举                                                                     | 带引号的枚举名                                             |
+| 无状态 `object`、`data object`、`Unit`                                   | 严格的 `{}`                                                |
+| 有状态对象、伴生对象                                                     | 仅支持精确自定义编解码器                                   |
+| 值类                                                                     | 透明的底层值;需要精确绑定                                 |
+| `Nothing?` / `Nothing`                                                   | 仅允许 null / 拒绝                                         |
+| `Pair`、`Triple`                                                         | 具有 `first`、`second` 和 `third` 命名属性的对象           |
+| `Result`、`Lazy`、Kotlin 标准属性委托                                    | 仅支持精确自定义编解码器                                   |
+| 有符号基本类型、基本类型数组、`Array<T>`                                 | 常规核心数字/Boolean/字符与数组表示                        |
+| `UByte`、`UShort`、`UInt`、`ULong` 及其数组                              | 无符号十进制数字和数组                                     |
+| 只读与可变集合/Map、Kotlin `ArrayDeque`                                  | 常规核心数组/Map                                           |
+| `Map.Entry`、私有集合载体、`Iterable`、`Sequence`、迭代器、`EnumEntries` | 自动映射时拒绝                                             |
+| `CharRange`、有符号/无符号整数区间                                       | `{"start":...,"endInclusive":...}`                         |
+| 对应的步进序列                                                           | `{"first":...,"last":...,"step":...}`                      |
+| `ClosedRange`、`OpenEndRange`、抽象/开放/浮点区间                        | 自动映射时拒绝                                             |
+| `kotlin.time.Duration`                                                   | 带引号的规范 Kotlin ISO 时长                               |
+| `kotlin.time.Instant`                                                    | 带引号的规范 Kotlin ISO 时刻                               |
+| `TimedValue<T>`                                                          | `{"value":...,"duration":...}`                             |
+| `DurationUnit`、`RegexOption`                                            | 带引号的枚举名                                             |
+| 时钟、时间源/时间标记、Regex/匹配状态、Random                            | 仅支持精确自定义编解码器                                   |
+| `kotlin.uuid.Uuid`                                                       | 带引号的规范连字符 UUID                                    |
+| 完整泛型类 / 声明处型变                                                  | 精确替换后的 Schema                                        |
+| `out X` / `in X` / 星投影                                                | 仅允许精确 final 或封闭的 `X` / 拒绝 / 拒绝                |
+| 递归泛型                                                                 | 仅允许相同的精确递归绑定;正在处理时展开到另一绑定会被拒绝 |
+| 类型别名                                                                 | 完全展开后的类型                                           |
+| 函数/挂起函数、反射类型、协程/flow/channel 状态                          | 拒绝                                                       |
+| 符合条件的第三方不可变 Kotlin 模型                                       | 在 JVM 上自动映射;应用注解覆盖时需注册精确 Mixin          |
 
 时间和 UUID API 的 Kotlin 实验性 opt-in 要求仍适用于应用源码。Fory 制品支持的编译器和元数据范围,并不意味着实验性 Kotlin API 获得跨 Kotlin 版本的兼容保证。
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/scala.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/scala.md
index b85e3046301..ec1c0438516 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/scala.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/json/scala.md
@@ -24,7 +24,7 @@ Fory JSON 通过可选的 `fory-json-scala` 制品支持 Scala 2.13 和 Scala 3
 ## 设置 {#setup}
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.3"
 ```
 
 `ForyJsonScala.builder()` 安装 Scala 模块并返回标准 Fory JSON builder:
@@ -73,25 +73,25 @@ case class Media(
 
 ## 支持的 Scala 类型 {#supported-scala-types}
 
-| Scala 类型 | JSON 表示形式 |
-| ----------------------------------------------------------- | ----------------------------------------------- |
-| `Unit` | `null` |
-| case class | 对象 |
-| 单例对象 | 空对象 |
-| 值类 | 底层值 |
-| `Option[A]`、`Some[A]`、`None` | 所含值或 `null` |
-| `Either[L, R]` | 恰好包含一个 `l` 或 `r` 成员的对象 |
-| `List`、`Seq`、`Vector`、`Queue`、`ArraySeq`、buffer、set | 数组 |
-| Scala Map、`IntMap`、`LongMap` | 对象 |
-| 不可变与可变 `BitSet` | 升序整数数组 |
-| `Tuple1` 至 `Tuple22` | 定长数组 |
-| Scala 3 `EmptyTuple` | 空数组 |
-| `BigInt`、`BigDecimal` | JSON 数字 |
-| Scala `StringBuilder` | string |
-| `Range`、受支持的 `NumericRange` | 已求值的值数组 |
-| `FiniteDuration`、`Duration` | 固定的 `length`/`unit` 或 `special` 对象 |
-| 无参数的 Scala 3 枚举 | 字符串形式的枚举分支名 |
-| Scala 2 `Enumeration` | 通过绑定所属枚举的编解码器表示为字符串 |
+| Scala 类型                                                | JSON 表示形式                            |
+| --------------------------------------------------------- | ---------------------------------------- |
+| `Unit`                                                    | `null`                                   |
+| case class                                                | 对象                                     |
+| 单例对象                                                  | 空对象                                   |
+| 值类                                                      | 底层值                                   |
+| `Option[A]`、`Some[A]`、`None`                            | 所含值或 `null`                          |
+| `Either[L, R]`                                            | 恰好包含一个 `l` 或 `r` 成员的对象       |
+| `List`、`Seq`、`Vector`、`Queue`、`ArraySeq`、buffer、set | 数组                                     |
+| Scala Map、`IntMap`、`LongMap`                            | 对象                                     |
+| 不可变与可变 `BitSet`                                     | 升序整数数组                             |
+| `Tuple1` 至 `Tuple22`                                     | 定长数组                                 |
+| Scala 3 `EmptyTuple`                                      | 空数组                                   |
+| `BigInt`、`BigDecimal`                                    | JSON 数字                                |
+| Scala `StringBuilder`                                     | string                                   |
+| `Range`、受支持的 `NumericRange`                          | 已求值的值数组                           |
+| `FiniteDuration`、`Duration`                              | 固定的 `length`/`unit` 或 `special` 对象 |
+| 无参数的 Scala 3 枚举                                     | 字符串形式的枚举分支名                   |
+| Scala 2 `Enumeration`                                     | 通过绑定所属枚举的编解码器表示为字符串   |
 
 严格求值的标准库集合通过标准 Scala builder 重建。`Either` 写入紧凑的 `l` 和 `r` 成员名,读取器也接受旧的 `left` 和 `right` 名称。Fory 不增加 Scala 专用集合大小限制;编解码器使用与 Fory JSON 核心相同的输入长度、深度、对象图内存和读取进度限制。如果稀疏 `BitSet` 的最高索引要求分配与可用 JSON 输入不成比例的底层存储,则会被拒绝。
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/cpp/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/cpp/index.md
index 57bdb65d34e..e184535818c 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/cpp/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/cpp/index.md
@@ -60,7 +60,7 @@ include(FetchContent)
 FetchContent_Declare(
     fory
     GIT_REPOSITORY https://github.com/apache/fory.git
-    GIT_TAG        v1.7.2
+    GIT_TAG        v1.7.3
     SOURCE_SUBDIR  cpp
 )
 FetchContent_MakeAvailable(fory)
@@ -90,11 +90,11 @@ module(
 
 bazel_dep(name = "rules_cc", version = "0.1.1")
 
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git",
-    commit = "v1.7.2",  # Or use a specific commit hash for reproducibility
+    commit = "v1.7.3",  # Or use a specific commit hash for reproducibility
 )
 ```
 
@@ -125,7 +125,7 @@ bazel run //:my_app
 本地开发时,可以改用 `local_path_override`:
 
 ```bazel
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 local_path_override(
     module_name = "fory",
     path = "/path/to/fory",
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/csharp/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/csharp/index.md
index 2c44e528ff9..d2f7ccf3a74 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/csharp/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/csharp/index.md
@@ -44,7 +44,7 @@ Apache Fory™ C# 是面向 .NET 的高性能跨语言序列化库。它支持
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
 </ItemGroup>
 ```
 
@@ -87,7 +87,7 @@ User decoded = fory.Deserialize<User>(payload);
 | 主题                                    | 说明                                  |
 | --------------------------------------- | ------------------------------------- |
 | [配置](configuration.md)                | 构建器选项和模式设置                  |
-| [基本序列化](basic-serialization.md)               | 类型化和动态序列化 API                |
+| [基本序列化](basic-serialization.md)    | 类型化和动态序列化 API                |
 | [Schema 元数据](schema-metadata.md)     | `[ForyField]` ID 和 Schema 类型描述符 |
 | [类型注册](type-registration.md)        | 注册用户类型和自定义序列化器          |
 | [外部类型](external-types.md)           | 第三方类型的序列化器                  |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/dart/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/dart/index.md
index e6fa87ed29b..2f607856ca5 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/dart/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/dart/index.md
@@ -44,7 +44,7 @@ Apache Fory™ Dart 可以将 Dart 对象序列化为字节并反序列化,也
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
@@ -132,7 +132,7 @@ dart run build_runner build
 | 主题                                    | 说明                                           |
 | --------------------------------------- | ---------------------------------------------- |
 | [配置](configuration.md)                | Fory 选项、兼容模式和安全限制                  |
-| [基本序列化](basic-serialization.md)               | `serialize`、`deserialize`、生成注册和根对象图 |
+| [基本序列化](basic-serialization.md)    | `serialize`、`deserialize`、生成注册和根对象图 |
 | [代码生成](code-generation.md)          | `@ForyStruct`、build runner 和生成模块         |
 | [Struct 继承](inheritance.md)           | 父类、mixin、私有字段和构造函数                |
 | [外部类型序列化](external-types.md)     | 为其他包拥有的类生成序列化器                   |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/java/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/java/index.md
index e61c49f8e92..111bf3829de 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/java/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/java/index.md
@@ -51,7 +51,7 @@ Fory core 支持 Java 8 及更高版本。Java Record 序列化需要 Java 17 
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -59,7 +59,7 @@ Fory core 支持 Java 8 及更高版本。Java Record 序列化需要 Java 17 
 
 ```kotlin
 // Binary object serialization
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 #### JDK 25 及更高版本
@@ -235,7 +235,7 @@ Fory JSON 具有独立的 [Android](../../json/android.md) 和 [GraalVM 原生
 
 | 分组          | 页面                                                                                                                                                                                                                  |
 | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 序列化模式    | [基础序列化](basic-serialization.md)、[原生序列化](native.md)                                                                                                                                                                    |
+| 序列化模式    | [基础序列化](basic-serialization.md)、[原生序列化](native.md)                                                                                                                                                         |
 | 通用          | [配置](configuration.md)、[类型注册](type-registration.md)、[Schema 演进](schema-evolution.md)、[Schema 元数据](schema-metadata.md)、[自定义序列化器](custom-serializers.md)                                          |
 | Java 专用功能 | [高级功能](advanced-features.md)、[压缩](compression.md)、[对象复制](object-copy.md)、[JDK 自定义序列化](jdk-serialization.md)、[静态生成的序列化器](static-generated-serializers.md)、[虚拟线程](virtual-threads.md) |
 | 平台与运维    | [Android](android.md)、[GraalVM 原生镜像](graalvm.md)、[故障排除](troubleshooting.md)                                                                                                                                 |
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/kotlin/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/kotlin/index.md
index 15abfe82fae..57c2f0e0c15 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/kotlin/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/kotlin/index.md
@@ -53,14 +53,14 @@ Fory Kotlin 继承了 Fory Java 的全部功能,并增加了 Kotlin 特有优
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-kotlin</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 ### Gradle
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.7.2")
+implementation("org.apache.fory:fory-kotlin:1.7.3")
 ```
 
 ### JDK25+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/basic-serialization.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/basic-serialization.md
index c7a6469003d..3736d8c3e4a 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/basic-serialization.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/basic-serialization.md
@@ -145,7 +145,7 @@ Rust 启用 `chrono::NaiveDate`、`chrono::NaiveDateTime` 和 `chrono::Duration`
 
 ```toml
 [dependencies]
-fory = { version = "1.7.2", features = ["chrono"] }
+fory = { version = "1.7.3", features = ["chrono"] }
 ```
 
 ### 自定义类型
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/index.md
index d03162b61a5..2696cc72bba 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/rust/index.md
@@ -36,9 +36,9 @@ Rust 实现通过自动内存管理和编译期类型安全提供灵活的高性
 
 | Crate                                                                       | 说明                               | 版本                                          |
 | --------------------------------------------------------------------------- | ---------------------------------- | --------------------------------------------- |
-| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | 面向用户的 API、运行时类型和派生宏 | [1.7.2](https://crates.io/crates/fory)        |
-| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | 用于高级集成的底层运行时 crate     | [1.7.2](https://crates.io/crates/fory-core)   |
-| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | 供直接使用运行时的底层过程宏 crate | [1.7.2](https://crates.io/crates/fory-derive) |
+| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | 面向用户的 API、运行时类型和派生宏 | [1.7.3](https://crates.io/crates/fory)        |
+| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | 用于高级集成的底层运行时 crate     | [1.7.3](https://crates.io/crates/fory-core)   |
+| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | 供直接使用运行时的底层过程宏 crate | [1.7.3](https://crates.io/crates/fory-derive) |
 
 大多数应用程序只需依赖 `fory`。它重新导出生成代码所需的派生宏和公共运行时类型。只有明确要基于底层运行时 crate 构建时,才直接使用 `fory-core` 或 `fory-derive`。
 
@@ -48,7 +48,7 @@ Rust 实现通过自动内存管理和编译期类型安全提供灵活的高性
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ### 基本示例
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/scala/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/scala/index.md
index 995fe7d6586..035a4c3fc8e 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/scala/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/object-serialization/scala/index.md
@@ -49,7 +49,7 @@ Fory Scala 继承了 Fory Java 的全部功能,并增加了 Scala 特有优化
 使用 sbt 添加依赖:
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 ### JDK25+
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/go.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/go.md
new file mode 100644
index 00000000000..f31734d504b
--- /dev/null
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/go.md
@@ -0,0 +1,202 @@
+---
+title: Go Standard Row Format
+sidebar_position: 7
+id: go
+license: |
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+---
+
+`github.com/apache/fory/go/fory/row` 实现与 Java、C++、Python 和 Rust 共享的 Standard Row Format,
+提供结构体编码、字段随机访问和跨语言 Schema 编码。
+
+Row Format 适用于可信的内存数据,例如选择性字段读取、内存映射数据和跨语言分析数据管道。
+只读取可信来源、由 Fory Row writer 按相同 Schema 生成的数据;该格式不提供对象序列化针对不可信输入的防护。
+
+## 基本用法 {#basic-usage}
+
+```go
+package main
+
+import (
+    "fmt"
+
+    "github.com/apache/fory/go/fory/row"
+)
+
+type UserProfile struct {
+    Id       int64
+    Username string
+    Email    *string
+    Scores   []int32
+}
+
+func main() {
+    encoder, err := row.NewEncoder[UserProfile]()
+    if err != nil {
+        panic(err)
+    }
+    email := "alice@example.com"
+    profile := UserProfile{
+        Id: 12345, Username: "alice", Email: &email, Scores: []int32{95, 87},
+    }
+    data, err := encoder.ToRow(&profile)
+    if err != nil {
+        panic(err)
+    }
+    schema := encoder.Schema()
+    view := row.NewRow(schema, data)
+    fmt.Println(view.String(schema.FieldIndex("username"))) // alice
+    fmt.Println(view.Array(schema.FieldIndex("scores")).Int32(1)) // 87
+    fmt.Println(view.IsNullAt(schema.FieldIndex("email"))) // false
+
+    decoded, err := encoder.FromRow(data)
+    if err != nil {
+        panic(err)
+    }
+    fmt.Println(decoded.Username) // alice
+}
+```
+
+创建 encoder 的成本高于复用实例。每种结构体类型应创建一次并复用,但不要在多个 goroutine 中
+无保护地共享同一个 encoder。
+
+## 裸 Row 与带帧消息 {#rows-and-framed-messages}
+
+`ToRow` 和 `FromRow` 处理裸 Row 字节,与其他语言的 `toRow` 和 `BinaryRow.pointTo` 对应。
+`Encode` 和 `Decode` 额外使用 Java、Python Row encoder 的帧格式:八字节小端 Schema hash,随后是 Row。
+
+```go
+framed, err := encoder.Encode(&profile)
+decoded, err := encoder.Decode(framed)
+```
+
+hash 只包含递归字段类型 ID。它可以检测字段类型变化,但不能检测字段重命名、可空性变化或相同类型字段
+的重排。如果双方需要完整校验 Schema,应交换 Schema 字节。
+
+`Decode` 和 `FromRow` 对截断或不一致的数据返回错误。解码后的值不引用输入字节,因此之后可以复用输入缓冲区。
+
+## 零拷贝读取 {#zero-copy-reading}
+
+`row.NewRow(schema, data)` 创建 Row 视图。`Struct`、`Array` 和 `Map` 返回嵌套字节视图,
+`Binary` 返回输入的子切片。这些视图只在底层字节有效且不被修改时有效。
+`String` 会复制数据,避免 Go 字符串随输入缓冲区变化。
+
+固定宽度 getter 对 null 返回零值,需要区分 null 和零时使用 `IsNullAt`。
+变长 getter 对 null 返回 `nil` 或空字符串。越界索引和格式错误的数据可能导致原始视图访问 panic;
+需要错误返回时使用 encoder 的解码方法。
+
+## 可空性 {#nullability}
+
+指针字段可空:`nil` 写入 null 位,并在解码时恢复为 `nil`。切片、Map 和 `[]byte` 同样可空,
+并且区分 nil 与空容器。
+
+字符串、嵌套值结构体、`fory.Date`、`time.Time` 和 `time.Duration` 在 Schema 中可空,
+但对应的 Go 值不能持有 nil,因此解码 null 会返回错误。需要保留 null 时,使用 `*string`、
+`*time.Time` 或 `*Inner` 等指针类型。
+
+Map 值可空,键不可空。`[]*int32` 元素和 `map[string]*int32` 值可以承载 null,
+`[]int32` 和 `map[string]int32` 不可以。
+
+## 字段顺序与名称 {#field-order-and-names}
+
+字段按 lowerCamel 名称排序,并以 snake_case 命名,例如 `UserName` 对应 `user_name`。
+该规则与 Java 的 Schema 推导一致。不导出的字段会被跳过。
+`fory:"-"`、`fory:"ignore"` 和 `fory:"ignore=true"` 会跳过字段;其他 tag 选项被接受但不影响 Row Format。
+更改字段名或类型时,必须协调所有读写方的 Schema。
+
+## 支持的类型 {#supported-types}
+
+| Go 类型                                   | Standard Row 编码     | 可空 |
+| ----------------------------------------- | --------------------- | ---- |
+| `bool`、`int8`、`int16`、`int32`、`int64` | 固定宽度标量          | 否   |
+| `int`                                     | int64                 | 否   |
+| `float32`、`float64`                      | IEEE 754 浮点数       | 否   |
+| `fory.Date`                               | 自纪元起的天数 date32 | 是   |
+| `time.Time`                               | 自纪元起的微秒数      | 是   |
+| `time.Duration`                           | 微秒数                | 是   |
+| `string`                                  | UTF-8 字节            | 是   |
+| `[]byte`                                  | int8 Standard array   | 是   |
+| 受支持元素类型的 `[]T`                    | Standard array        | 是   |
+| `map[K]V`                                 | Standard map          | 是   |
+| 嵌套结构体                                | 嵌套 Standard Row     | 是   |
+| 受支持的非切片、非 Map 类型的 `*T`        | 与 `T` 相同           | 是   |
+
+`[]byte` 与 Java `byte[]` 一样按 int8 列表编码。binary 类型仅可通过手动构建的 Schema、
+`RowWriter.WriteBytes` 和 `Row.Binary` 使用。
+
+字符串必须是有效 UTF-8。时间戳微秒数必须能由 int64 表示。
+Map 键可以是标量、字符串或由这些类型递归组成的值结构体。
+`time.Time`、`time.Duration` 和指针不能用作键,也不能出现在键结构体的有效字段中。
+Duration 编码截断到微秒;如果应用需要以时间为键,请使用单位明确的 int64。
+
+不支持无符号整数、固定长度数组、嵌套指针、切片或 Map 的指针、接口、channel、函数、递归类型、
+`float16` 和 `decimal`。
+
+## Schema 交换 {#schema-exchange}
+
+`SchemaToBytes` 和 `SchemaFromBytes` 使用与 Java `SchemaEncoder`、Python
+`Schema.to_bytes` 和 `from_bytes` 一致的编码。`ComputeSchemaHash` 计算 `Encode` 使用的类型结构 hash。
+
+```go
+schemaBytes, err := row.SchemaToBytes(encoder.Schema())
+schema, err := row.SchemaFromBytes(schemaBytes)
+fmt.Println(schema.Equal(encoder.Schema())) // true
+```
+
+Java bean 与 Go 结构体需要对应字段和一致的可空性。与 Java 装箱类型对应时使用 Go 指针,
+与 Java 基本类型对应时使用 Go 值。
+
+## 手动写入 Row {#writing-rows-by-hand}
+
+使用 `RowWriter`、`ArrayWriter` 和 `MapWriter` 可以按手动构建的 Schema 写入,不需要 Go 结构体。
+嵌套值写入共享缓冲区后,通过 `SetOffsetAndSize` 关联到父字段。
+
+```go
+schema := row.NewSchema([]row.Field{
+    row.NewField("id", row.Int64Type{}, false),
+    row.NewField("tags", row.List(row.StringType{}), true),
+})
+writer := row.NewRowWriter(schema)
+writer.Reset()
+writer.WriteInt64(0, 7)
+tags := row.NewArrayWriter(row.List(row.StringType{}).Elem, writer.Buffer())
+start := writer.Buffer().WriterIndex()
+if err := tags.Reset(2); err != nil {
+    panic(err)
+}
+if err := tags.WriteString(0, "go"); err != nil {
+    panic(err)
+}
+tags.SetNullAt(1)
+if err := writer.SetOffsetAndSize(1, start, writer.Buffer().WriterIndex()-start); err != nil {
+    panic(err)
+}
+data := writer.ToBytes()
+```
+
+每次写 Row 前调用 `Reset`;为新的顶层 Row 复用 writer 时,先将缓冲区的写位置设为零。
+`ToBytes` 返回的字节只在下一次修改缓冲区之前有效。
+
+## 线程安全 {#thread-safety}
+
+encoder 和 writer 不支持无保护的并发调用。每个 goroutine 使用独立实例,或用互斥锁保护。
+Row、数组和 Map 视图可以被多个 goroutine 同时读取,前提是底层字节不被修改。
+
+## 相关文档 {#related-topics}
+
+- [基础序列化](../object-serialization/go/basic-serialization.md)
+- [Standard Row Format](index.md#standard-row)
+- [Row Format 规范](../specification/row_format_spec.md)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/index.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/index.md
index 54d400a135b..d87a0c212e7 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/index.md
@@ -28,20 +28,20 @@ Row Format 仅用于可信的分析数据,包括内存映射数据、选择性
 
 ## 选择布局
 
-| 布局         | 语言支持                | 兼容性                      |
-| ------------ | ----------------------- | --------------------------- |
-| Standard Row | Java、Python、C++、Rust | 共享的 Standard Row 布局    |
-| Compact Row  | Java                    | 仅 Java、面向空间优化的布局 |
+| 布局         | 语言支持                    | 兼容性                      |
+| ------------ | --------------------------- | --------------------------- |
+| Standard Row | Java、Python、C++、Rust、Go | 共享的 Standard Row 布局    |
+| Compact Row  | Java                        | 仅 Java、面向空间优化的布局 |
 
 ## Standard Row
 
-Standard Row 是 Java、Python、C++ 和 Rust 之间可互操作的布局。
+Standard Row 是 Java、Python、C++、Rust 和 Go 之间可互操作的布局。
 
 ### 功能特性
 
 - **零拷贝随机访问**:直接从编码数据中读取选定字段。
 - **部分反序列化**:只重建应用所需的值。
-- **跨语言兼容**:在 Java、Python、C++ 和 Rust 之间共享 Standard Row 字节。
+- **跨语言兼容**:在 Java、Python、C++、Rust 和 Go 之间共享 Standard Row 字节。
 - **Apache Arrow 集成**:在 Java 和 Python 中将 Row 转换为 Arrow 数据。
 
 ### 布局
@@ -58,6 +58,7 @@ Schema 解析字段位置和元素类型。规范性的字节布局、对齐规
 | Python | 兼容                | [Python](python.md) | PyArrow Schema 和 table 转换   |
 | C++    | 兼容                | [C++](cpp.md)       | 原生 Row 读取器和写入器        |
 | Rust   | 兼容                | [Rust](rust.md)     | 借用式结构体、数组和 Map 视图  |
+| Go     | 兼容                | [Go](go.md)         | 结构体编码器和零拷贝 Row 视图  |
 
 安装、Schema 构建、编码、随机访问、部分读取和特定语言集成请参阅各语言指南。
 
@@ -89,7 +90,7 @@ MyBean decoded = encoder.fromRow(row);
 - 固定大小的嵌套 struct 可以内联存储。
 
 仅当所有 reader 都使用 Java,且节省的空间足以抵消 Java 特有布局的限制时,才应选择
-Compact Row。Java、Python、C++ 和 Rust 互操作请使用 Standard Row。
+Compact Row。Java、Python、C++、Rust 和 Go 互操作请使用 Standard Row。
 
 精确的 Standard 和 Compact 二进制布局请参阅
 [Row Format 规范](../specification/row_format_spec.md)。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/java.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/java.md
index 2696203fcb3..0df3fa8d21a 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/java.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/java.md
@@ -41,14 +41,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-format</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-format:1.7.2")
+implementation("org.apache.fory:fory-format:1.7.3")
 ```
 
 ## 基本用法
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/troubleshooting.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/troubleshooting.md
index 109fbf7bc2a..5be05b54777 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/troubleshooting.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/row-format/troubleshooting.md
@@ -21,7 +21,7 @@ license: |
 
 ## Standard Row 对端无法读取 Compact Row 字节
 
-Compact Row 是仅支持 Java 的 Row 系列。需要在 Java、Python、C++ 和 Rust 之间共享字节时,
+Compact Row 是仅支持 Java 的 Row 系列。需要在 Java、Python、C++、Rust 和 Go 之间共享字节时,
 请使用 Standard Row。
 
 ## 字段查找失败
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/specification/row_format_spec.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/specification/row_format_spec.md
index 9ff5aea80aa..f3ef291c834 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/specification/row_format_spec.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/specification/row_format_spec.md
@@ -26,14 +26,14 @@ Apache Fory 行格式是一种缓存友好的随机访问二进制格式,专
 - **随机字段访问**:无需反序列化整行即可读取单个字段
 - **零拷贝操作**:无需转换数据即可直接访问内存
 - **缓存友好布局**:通过优化内存布局提高 CPU 缓存效率
-- **跨语言支持**:Java、C++、Python 和 Rust 使用一致的二进制格式
+- **跨语言支持**:Java、C++、Python、Rust 和 Go 使用一致的二进制格式
 
 Fory 提供两种行格式:
 
-| 格式     | 语言                    | 使用场景                 |
-| -------- | ----------------------- | ------------------------ |
-| 标准格式 | Java、C++、Python、Rust | 跨语言兼容               |
-| 紧凑格式 | 仅 Java                 | 提高空间效率,减小行大小 |
+| 格式     | 语言                        | 使用场景                 |
+| -------- | --------------------------- | ------------------------ |
+| 标准格式 | Java、C++、Python、Rust、Go | 跨语言兼容               |
+| 紧凑格式 | 仅 Java                     | 提高空间效率,减小行大小 |
 
 ## 格式对比
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/cpp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/cpp.md
index b64be7925a2..eaf1881fc57 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/cpp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/cpp.md
@@ -42,7 +42,7 @@ include(FetchContent)
 FetchContent_Declare(
   fory
   GIT_REPOSITORY https://github.com/apache/fory.git
-  GIT_TAG v1.7.2
+  GIT_TAG v1.7.3
   SOURCE_SUBDIR cpp
 )
 FetchContent_MakeAvailable(fory)
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/csharp.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/csharp.md
index 0e084dfe1c5..65d47a3f894 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/csharp.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/csharp.md
@@ -34,7 +34,7 @@ dotnet --version
 ```bash
 dotnet new console -n ForyExample
 cd ForyExample
-dotnet add package Apache.Fory --version 1.7.2
+dotnet add package Apache.Fory --version 1.7.3
 ```
 
 将 `Program.cs` 替换为:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/dart.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/dart.md
index d71f3479e5d..0c4af43826c 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/dart.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/dart.md
@@ -34,7 +34,7 @@ dart pub --help
 
 ```yaml
 dependencies:
-  fory: 1.7.2
+  fory: 1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/go.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/go.md
index 7a693d9b87b..957a6694c55 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/go.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/go.md
@@ -36,7 +36,7 @@ go env GOPROXY
 mkdir fory-example
 cd fory-example
 go mod init example.com/fory-example
-go get github.com/apache/fory/go/fory@v1.7.2
+go get github.com/apache/fory/go/fory@v1.7.3
 ```
 
 如果 Go proxy 尚未收录新的 submodule tag,请稍后重试,或者暂时使用 `GOPROXY=direct`。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/java.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/java.md
index c46f5e3ab11..d515e7e42b9 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/java.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/java.md
@@ -39,14 +39,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 运行下面完整的 xlang 往返示例:
@@ -85,7 +85,7 @@ public final class ForyExample {
 Fory JSON 将 Java 对象映射为标准 JSON 文本和 UTF-8 字节。如果应用只需要 JSON,请添加 `fory-json`,无需添加 `fory-core`:
 
 ```kotlin
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 在 `ForyExample.java` 中添加 import:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/javascript.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/javascript.md
index 02cdb2b366e..22f3a489609 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/javascript.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/javascript.md
@@ -33,7 +33,7 @@ npm --version
 安装 core 软件包:
 
 ```bash
-npm install @apache-fory/core@1.7.2
+npm install @apache-fory/core@1.7.3
 ```
 
 定义 Schema 并运行 xlang 往返示例:
@@ -65,7 +65,7 @@ JavaScript 使用 xlang 模式。接下来可阅读 [JavaScript/TypeScript 对
 若要使用可选的 Node.js 字符串快速路径,请安装版本匹配的软件包:
 
 ```bash
-npm install @apache-fory/core@1.7.2 @apache-fory/hps@1.7.2
+npm install @apache-fory/core@1.7.3 @apache-fory/hps@1.7.3
 ```
 
 ## 其他能力
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/kotlin.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/kotlin.md
index 3a301e2aa10..94cb9ff4972 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/kotlin.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/kotlin.md
@@ -42,7 +42,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-kotlin:1.7.3")
 }
 ```
 
@@ -81,7 +81,7 @@ Fory JSON 是独立于二进制对象序列化的文本格式。与普通 JSON A
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/python.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/python.md
index 2e0fff219ab..a8d02cefce3 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/python.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/python.md
@@ -33,7 +33,7 @@ python -m pip --version
 安装已发布的软件包:
 
 ```bash
-python -m pip install pyfory==1.7.2
+python -m pip install pyfory==1.7.3
 ```
 
 运行 xlang 往返示例:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/rust.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/rust.md
index d3d4ac72f86..2c04545c263 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/rust.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/rust.md
@@ -34,7 +34,7 @@ cargo --version
 
 ```toml title="Cargo.toml"
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ```rust
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/scala.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/scala.md
index e09df97c0f9..c5c566e76fd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/scala.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/scala.md
@@ -35,7 +35,7 @@ sbt --version
 
 ```sbt
 ThisBuild / scalaVersion := "3.3.1"
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 创建 `src/main/scala/ScalaExample.scala`:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/swift.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/swift.md
index 263349b85ab..22eabbf59cd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/swift.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-1.7.0/start/swift.md
@@ -39,7 +39,7 @@ swift package init --type executable --name ForyExample
 
 ```swift title="Package.swift"
 dependencies: [
-    .package(url: "https://github.com/apache/fory.git", exact: "1.7.2")
+    .package(url: "https://github.com/apache/fory.git", exact: "1.7.3")
 ],
 targets: [
     .executableTarget(
diff --git a/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md b/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md
index c1e6e551002..08bfead90fd 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-pages/download/index.md
@@ -9,11 +9,11 @@ Apache Fory™ 的官方发布以源码制品形式提供。
 
 ## 最新版本
 
-当前最新源码版本为 1.7.2:
+当前最新源码版本为 1.7.3:
 
 | 版本  | 日期       | 源码                                                                                                                                                                                                                                                                          | 发布说明                                                            |
 | ----- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
-| 1.7.2 | 2026-09-11 | [source](https://www.apache.org/dyn/closer.lua/fory/1.7.2/apache-fory-1.7.2-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/1.7.2/apache-fory-1.7.2-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/1.7.2/apache-fory-1.7.2-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v1.7.2) |
+| 1.7.3 | 2026-09-16 | [source](https://www.apache.org/dyn/closer.lua/fory/1.7.3/apache-fory-1.7.3-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/1.7.3/apache-fory-1.7.3-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/1.7.3/apache-fory-1.7.3-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v1.7.3) |
 
 ## 所有归档版本
 
@@ -31,13 +31,13 @@ Fory 为下载站点上的所有文件提供 SHA 摘要和 PGP 签名文件。
 要验证 SHA 摘要,你需要 `.tar.gz` 文件及其对应的 `.tar.gz.sha512` 文件。示例命令如下:
 
 ```bash
-sha512sum --check apache-fory-1.7.2-src.tar.gz.sha512
+sha512sum --check apache-fory-1.7.3-src.tar.gz.sha512
 ```
 
 输出类似下面这样即表示校验通过:
 
 ```bash
-apache-fory-1.7.2-src.tar.gz: OK
+apache-fory-1.7.3-src.tar.gz: OK
 ```
 
 ### 校验签名
@@ -53,13 +53,13 @@ gpg --import KEYS
 之后可以校验签名:
 
 ```bash
-gpg --verify apache-fory-1.7.2-src.tar.gz.asc apache-fory-1.7.2-src.tar.gz
+gpg --verify apache-fory-1.7.3-src.tar.gz.asc apache-fory-1.7.3-src.tar.gz
 ```
 
 如果出现如下输出,即表示签名正确:
 
 ```bash
-gpg: Signature made Tue Sep 08 12:33:54 2026 CST
+gpg: Signature made Sun Sep 13 00:59:21 2026 CST
 gpg:                using RSA key 1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
 gpg: Good signature from "chaokunyang (CODE SIGNING KEY) <ch...@apache.org>" [unknown]
 ```
diff --git a/src/components/home/HomepageLanding.tsx b/src/components/home/HomepageLanding.tsx
index 86f997a23bf..4f923f50f63 100644
--- a/src/components/home/HomepageLanding.tsx
+++ b/src/components/home/HomepageLanding.tsx
@@ -138,11 +138,12 @@ const runtimeExamples: RuntimeExample[] = [
     install: `<dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>`,
     codeLanguage: "java",
     guide: "/docs/object-serialization/java/",
-    summary: "Java supports xlang and native modes, JIT serializers, schema evolution, and Java-native object graph features.",
+    summary:
+      "Java supports xlang and native modes, JIT serializers, schema evolution, and Java-native object graph features.",
     code: `import org.apache.fory.Fory;
 
 public record Person(String name, int age) {}
@@ -159,10 +160,11 @@ Person out = (Person) fory.deserialize(bytes);`,
     id: "python",
     label: "Python",
     installLanguage: "bash",
-    install: `pip install pyfory==1.7.2`,
+    install: `pip install pyfory==1.7.3`,
     codeLanguage: "python",
     guide: "/docs/object-serialization/python/",
-    summary: "pyfory supports xlang, Python native mode, dataclasses, row format, and out-of-band buffers.",
+    summary:
+      "pyfory supports xlang, Python native mode, dataclasses, row format, and out-of-band buffers.",
     code: `from dataclasses import dataclass
 import pyfory
 
@@ -181,10 +183,11 @@ out = fory.deserialize(data)`,
     id: "rust",
     label: "Rust",
     installLanguage: "bash",
-    install: `cargo add fory@1.7.2`,
+    install: `cargo add fory@1.7.3`,
     codeLanguage: "rust",
     guide: "/docs/object-serialization/rust/",
-    summary: "Rust uses derive macros for type-safe structs and supports both xlang and native payloads.",
+    summary:
+      "Rust uses derive macros for type-safe structs and supports both xlang and native payloads.",
     code: `use fory::{Error, Fory, ForyStruct};
 
 #[derive(ForyStruct, Debug, PartialEq)]
@@ -206,10 +209,11 @@ fn main() -> Result<(), Error> {
     id: "go",
     label: "Go",
     installLanguage: "bash",
-    install: `go get github.com/apache/fory/go/fory@v1.7.2`,
+    install: `go get github.com/apache/fory/go/fory@v1.7.3`,
     codeLanguage: "go",
     guide: "/docs/object-serialization/go/",
-    summary: "Go supports xlang and native modes with exported structs, circular references, and schema-aware serializers.",
+    summary:
+      "Go supports xlang and native modes with exported structs, circular references, and schema-aware serializers.",
     code: `type Person struct {
     Name string
     Age  int32
@@ -230,13 +234,14 @@ _ = f.Deserialize(payload, &out)`,
 FetchContent_Declare(
   fory
   GIT_REPOSITORY https://github.com/apache/fory.git
-  GIT_TAG v1.7.2
+  GIT_TAG v1.7.3
   SOURCE_SUBDIR cpp
 )
 FetchContent_MakeAvailable(fory)`,
     codeLanguage: "cpp",
     guide: "/docs/object-serialization/cpp/",
-    summary: "C++17 support covers xlang/native payloads, macro-based type registration, and row-format APIs.",
+    summary:
+      "C++17 support covers xlang/native payloads, macro-based type registration, and row-format APIs.",
     code: `struct Person {
   std::string name;
   int32_t age;
@@ -257,10 +262,11 @@ auto out = fory.deserialize<Person>(bytes).value();`,
     id: "javascript",
     label: "JavaScript",
     installLanguage: "bash",
-    install: `npm install @apache-fory/core@1.7.2 @apache-fory/hps@1.7.2`,
+    install: `npm install @apache-fory/core@1.7.3 @apache-fory/hps@1.7.3`,
     codeLanguage: "typescript",
     guide: "/docs/object-serialization/javascript/",
-    summary: "JavaScript/TypeScript is xlang-only, schema-driven, and runs in Node.js or browsers.",
+    summary:
+      "JavaScript/TypeScript is xlang-only, schema-driven, and runs in Node.js or browsers.",
     code: `import Fory, { Type } from "@apache-fory/core";
 
 const personType = Type.struct(
@@ -278,10 +284,11 @@ const out = deserialize(payload);`,
     id: "csharp",
     label: "C#",
     installLanguage: "bash",
-    install: `dotnet add package Apache.Fory --version 1.7.2`,
+    install: `dotnet add package Apache.Fory --version 1.7.3`,
     codeLanguage: "csharp",
     guide: "/docs/object-serialization/csharp/",
-    summary: ".NET support uses source-generated serializers for Fory structs, enums, and unions.",
+    summary:
+      ".NET support uses source-generated serializers for Fory structs, enums, and unions.",
     code: `using Apache.Fory;
 
 [ForyStruct]
@@ -301,10 +308,11 @@ Person out = fory.Deserialize<Person>(payload);`,
     id: "swift",
     label: "Swift",
     installLanguage: "swift",
-    install: `.package(url: "https://github.com/apache/fory.git", exact: "1.7.2")`,
+    install: `.package(url: "https://github.com/apache/fory.git", exact: "1.7.3")`,
     codeLanguage: "swift",
     guide: "/docs/object-serialization/swift/",
-    summary: "Swift uses @ForyStruct, @ForyEnum, and @ForyUnion macros for xlang-compatible models.",
+    summary:
+      "Swift uses @ForyStruct, @ForyEnum, and @ForyUnion macros for xlang-compatible models.",
     code: `import Fory
 
 @ForyStruct
@@ -324,13 +332,14 @@ let out: Person = try fory.deserialize(payload)`,
     label: "Dart",
     installLanguage: "yaml",
     install: `dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.13`,
     codeLanguage: "dart",
     guide: "/docs/object-serialization/dart/",
-    summary: "Dart uses generated serializers across Dart VM, Flutter, AOT, and web targets.",
+    summary:
+      "Dart uses generated serializers across Dart VM, Flutter, AOT, and web targets.",
     code: `import 'package:fory/fory.dart';
 
 part 'person.fory.dart';
@@ -359,10 +368,11 @@ final out = fory.deserialize<Person>(payload);`,
     id: "scala",
     label: "Scala",
     installLanguage: "sbt",
-    install: `libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"`,
+    install: `libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"`,
     codeLanguage: "scala",
     guide: "/docs/object-serialization/scala/",
-    summary: "Scala builds on Fory Java with optimized serializers for case classes, collections, tuples, and Option.",
+    summary:
+      "Scala builds on Fory Java with optimized serializers for case classes, collections, tuples, and Option.",
     code: `import org.apache.fory.scala.ForyScala
 
 case class Person(name: String, age: Int)
@@ -379,11 +389,12 @@ val out = fory.deserialize(payload).asInstanceOf[Person]`,
     id: "kotlin",
     label: "Kotlin",
     installLanguage: "kotlin",
-    install: `implementation("org.apache.fory:fory-kotlin:1.7.2")
-ksp("org.apache.fory:fory-kotlin-ksp:1.7.2")`,
+    install: `implementation("org.apache.fory:fory-kotlin:1.7.3")
+ksp("org.apache.fory:fory-kotlin-ksp:1.7.3")`,
     codeLanguage: "kotlin",
     guide: "/docs/object-serialization/kotlin/",
-    summary: "Kotlin adds data-class support, Android guidance, and KSP static serializers for xlang/schema mode.",
+    summary:
+      "Kotlin adds data-class support, Android guidance, and KSP static serializers for xlang/schema mode.",
     code: `import org.apache.fory.kotlin.ForyKotlin
 
 data class Person(val name: String, val age: Int)
@@ -406,7 +417,8 @@ const capabilities = [
     label: "XLANG",
     description:
       "Serialize in one supported runtime and deserialize in another with the xlang wire format.",
-    zhDescription: "通过 xlang 线格式,在一个受支持运行时序列化,在另一个运行时反序列化。",
+    zhDescription:
+      "通过 xlang 线格式,在一个受支持运行时序列化,在另一个运行时反序列化。",
     link: "/docs/object-serialization/xlang/",
   },
   {
@@ -415,7 +427,8 @@ const capabilities = [
     label: "OBJECTS",
     description:
       "Work with Java classes, Python dataclasses, Go structs, Rust/C++ structs, and generated or annotated models.",
-    zhDescription: "直接使用 Java 类、Python dataclass、Go struct、Rust/C++ struct,以及生成或注解模型。",
+    zhDescription:
+      "直接使用 Java 类、Python dataclass、Go struct、Rust/C++ struct,以及生成或注解模型。",
     link: "/docs/start/",
   },
   {
@@ -424,7 +437,8 @@ const capabilities = [
     label: "IDL",
     description:
       "Define schemas once with optional fields, refs, IDs, unions, and services, then generate native code.",
-    zhDescription: "一次定义 optional、ref、ID、union 和 service 等 schema,再生成各语言原生代码。",
+    zhDescription:
+      "一次定义 optional、ref、ID、union 和 service 等 schema,再生成各语言原生代码。",
     link: "/docs/compiler/",
   },
   {
@@ -433,7 +447,8 @@ const capabilities = [
     label: "ROW",
     description:
       "Read fields, arrays, and nested values without deserializing the whole object; integrate with Arrow where supported.",
-    zhDescription: "无需反序列化完整对象即可读取字段、数组和嵌套值,并在支持语言中对接 Arrow。",
+    zhDescription:
+      "无需反序列化完整对象即可读取字段、数组和嵌套值,并在支持语言中对接 Arrow。",
     link: "/docs/row-format/",
   },
   {
@@ -446,7 +461,9 @@ const capabilities = [
       <>
         {"使用 "}
         <span className={styles.noWrap}>Java/JavaScript</span>
-        {" JIT serializer、Rust/C++/Swift macro、C# source generator、Kotlin KSP 和 Dart build_runner 输出。"}
+        {
+          " JIT serializer、Rust/C++/Swift macro、C# source generator、Kotlin KSP 和 Dart build_runner 输出。"
+        }
       </>
     ),
     link: "/docs/object-serialization/java/",
@@ -512,13 +529,15 @@ const schemaExamples = [
     title: "Message Type",
     zhTitle: "Message 类型",
     text: "Define structured data types with typed fields, field IDs, and explicit optional fields.",
-    zhText: "用 typed fields、字段 ID 和明确的 optional 字段定义结构化数据类型。",
+    zhText:
+      "用 typed fields、字段 ID 和明确的 optional 字段定义结构化数据类型。",
   },
   {
     title: "Union Type",
     zhTitle: "Union 类型",
     text: "Map one-of-several cases to tagged unions, and to native union or sum types where supported.",
-    zhText: "把 one-of-several case 映射为 tagged union;在支持的语言中生成原生 union 或 sum type。",
+    zhText:
+      "把 one-of-several case 映射为 tagged union;在支持的语言中生成原生 union 或 sum type。",
     code: `message Dog {
     string name = 1;
     int32 bark_volume = 2;
@@ -548,7 +567,7 @@ union Animal {
 ];
 
 const schemaPreviewCode = `package example;\n\n${schemaExamples
-  .flatMap((item) => item.code ? [item.code] : [])
+  .flatMap((item) => (item.code ? [item.code] : []))
   .join("\n\n")}`;
 
 const schemaLinks = [
@@ -574,7 +593,8 @@ const performanceCards = [
     value: "Optimized Serializers",
     zhValue: "优化 Serializer",
     text: "Use JIT serializers, source generators, macros, KSP, and build_runner where each runtime supports them.",
-    zhText: "在各运行时使用 JIT serializer、source generator、macro、KSP 和 build_runner。",
+    zhText:
+      "在各运行时使用 JIT serializer、source generator、macro、KSP 和 build_runner。",
   },
   {
     value: "Efficient Encoding",
@@ -595,7 +615,8 @@ const useCases = [
     title: "Runtime boundary",
     zhTitle: "运行时边界",
     text: "Use native mode when objects stay inside one runtime and object graph fidelity matters.",
-    zhText: "当对象只在同一运行时内流转,且对象图语义重要时,使用 native mode。",
+    zhText:
+      "当对象只在同一运行时内流转,且对象图语义重要时,使用 native mode。",
   },
   {
     title: "Read boundary",
@@ -611,7 +632,8 @@ const adoptionPaths = [
     title: "Choose the wire mode",
     zhTitle: "选择 wire mode",
     text: "Use xlang for portable payloads shared across languages; use native mode for same-runtime traffic that needs broader runtime-specific object models.",
-    zhText: "跨语言共享 payload 时使用 xlang;同运行时流量需要更完整的语言对象模型时使用 native mode。",
+    zhText:
+      "跨语言共享 payload 时使用 xlang;同运行时流量需要更完整的语言对象模型时使用 native mode。",
     cta: "Usage guide",
     zhCta: "使用指南",
     action: "Usage guide",
@@ -623,7 +645,8 @@ const adoptionPaths = [
     title: "Promote shared contracts",
     zhTitle: "沉淀共享契约",
     text: "Define Fory IDL once, generate type-safe native models across languages, and use optional fields, refs, unions, or services when contracts evolve.",
-    zhText: "用 Fory IDL 定义一次模型,生成多语言类型安全代码;契约演进时使用 optional、ref、union 或 service。",
+    zhText:
+      "用 Fory IDL 定义一次模型,生成多语言类型安全代码;契约演进时使用 optional、ref、union 或 service。",
     cta: "Schema IDL guide",
     zhCta: "Schema IDL",
     action: "Schema IDL guide",
@@ -635,7 +658,8 @@ const adoptionPaths = [
     title: "Benchmark the rollout path",
     zhTitle: "验证上线路径",
     text: "Compare serialization throughput, deserialization throughput, payload size, and reproduction steps for the runtime you plan to ship.",
-    zhText: "按计划上线的运行时对比序列化/反序列化吞吐、payload 大小和复现实验步骤。",
+    zhText:
+      "按计划上线的运行时对比序列化/反序列化吞吐、payload 大小和复现实验步骤。",
     cta: "Benchmark charts",
     zhCta: "Benchmark",
     action: "Benchmark charts",
@@ -657,7 +681,9 @@ function HomepageLanding(): JSX.Element {
   const [selectedRuntime, setSelectedRuntime] = useState<RuntimeId>("java");
 
   const selected = useMemo(
-    () => runtimeExamples.find((item) => item.id === selectedRuntime) ?? runtimeExamples[0],
+    () =>
+      runtimeExamples.find((item) => item.id === selectedRuntime) ??
+      runtimeExamples[0],
     [selectedRuntime],
   );
 
@@ -674,17 +700,29 @@ function HomepageLanding(): JSX.Element {
             <Link className={styles.secondaryButton} to="/docs/introduction/">
               {copy.heroSecondary}
             </Link>
-            <Link className={styles.ghostButton} to="https://github.com/apache/fory">
+            <Link
+              className={styles.ghostButton}
+              to="https://github.com/apache/fory"
+            >
               {copy.heroGithub}
             </Link>
           </div>
         </div>
 
-        <div className={styles.surfacePanel} aria-label={isZh ? "Fory 文档入口" : "Fory documentation paths"}>
+        <div
+          className={styles.surfacePanel}
+          aria-label={isZh ? "Fory 文档入口" : "Fory documentation paths"}
+        >
           <div className={styles.surfaceOptions}>
             {heroSurfaces.map((item) => (
-              <Link className={styles.surfaceOption} key={item.title} to={item.link}>
-                <span className={styles.surfaceOptionBadge}>{isZh ? item.zhLabel : item.label}</span>
+              <Link
+                className={styles.surfaceOption}
+                key={item.title}
+                to={item.link}
+              >
+                <span className={styles.surfaceOptionBadge}>
+                  {isZh ? item.zhLabel : item.label}
+                </span>
                 <span className={styles.surfaceOptionBody}>
                   <strong>{isZh ? item.zhTitle : item.title}</strong>
                   <small>{isZh ? item.zhText : item.text}</small>
@@ -703,7 +741,11 @@ function HomepageLanding(): JSX.Element {
         </div>
         <div className={styles.capabilityGrid}>
           {capabilities.map((item) => (
-            <Link className={styles.capabilityCard} key={item.title} to={item.link}>
+            <Link
+              className={styles.capabilityCard}
+              key={item.title}
+              to={item.link}
+            >
               <span>{item.label}</span>
               <h3>{isZh ? item.zhTitle : item.title}</h3>
               <p>{isZh ? item.zhDescription : item.description}</p>
@@ -720,11 +762,19 @@ function HomepageLanding(): JSX.Element {
         </div>
 
         <div className={styles.runtimeShell}>
-          <div className={styles.runtimeTabs} role="tablist" aria-label="Runtime examples">
+          <div
+            className={styles.runtimeTabs}
+            role="tablist"
+            aria-label="Runtime examples"
+          >
             {runtimeExamples.map((runtime) => (
               <button
                 aria-selected={runtime.id === selectedRuntime}
-                className={runtime.id === selectedRuntime ? styles.runtimeTabActive : styles.runtimeTab}
+                className={
+                  runtime.id === selectedRuntime
+                    ? styles.runtimeTabActive
+                    : styles.runtimeTab
+                }
                 key={runtime.id}
                 onClick={() => setSelectedRuntime(runtime.id)}
                 role="tab"
@@ -746,13 +796,17 @@ function HomepageLanding(): JSX.Element {
               <p>{selected.summary}</p>
               <div className={styles.installBlock}>
                 <div className={styles.blockLabel}>{copy.installLabel}</div>
-                <CodeBlock language={selected.installLanguage}>{selected.install}</CodeBlock>
+                <CodeBlock language={selected.installLanguage}>
+                  {selected.install}
+                </CodeBlock>
               </div>
             </div>
 
             <div className={styles.codeBlock}>
               <div className={styles.blockLabel}>{copy.codeLabel}</div>
-              <CodeBlock language={selected.codeLanguage}>{selected.code}</CodeBlock>
+              <CodeBlock language={selected.codeLanguage}>
+                {selected.code}
+              </CodeBlock>
             </div>
           </div>
         </div>
@@ -777,7 +831,11 @@ function HomepageLanding(): JSX.Element {
             </div>
             <div className={styles.schemaActions}>
               {schemaLinks.map((item) => (
-                <Link className={styles.schemaActionButton} key={item.link} to={item.link}>
+                <Link
+                  className={styles.schemaActionButton}
+                  key={item.link}
+                  to={item.link}
+                >
                   {isZh ? item.zhLabel : item.label}
                 </Link>
               ))}
@@ -830,7 +888,9 @@ function HomepageLanding(): JSX.Element {
 
       <section className={styles.ecosystem}>
         <div className={styles.ecosystemHeader}>
-          <span className={styles.eyebrow}>{isZh ? "采用路径" : "Adoption path"}</span>
+          <span className={styles.eyebrow}>
+            {isZh ? "采用路径" : "Adoption path"}
+          </span>
           <h2>{copy.ecosystemTitle}</h2>
           <p>{copy.ecosystemSubtitle}</p>
         </div>
diff --git a/src/pages/download/index.md b/src/pages/download/index.md
index e143f3d2f91..c1078d22b1c 100644
--- a/src/pages/download/index.md
+++ b/src/pages/download/index.md
@@ -9,11 +9,11 @@ For binary install, please see the Apache Fory™ [getting started](/docs/start/
 
 ## The latest release
 
-The latest source release is 1.7.2:
+The latest source release is 1.7.3:
 
 | Version | Date       | Source                                                                                                                                                                                                                                                                        | Release Notes                                                       |
 | ------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
-| 1.7.2   | 2026-09-11 | [source](https://www.apache.org/dyn/closer.lua/fory/1.7.2/apache-fory-1.7.2-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/1.7.2/apache-fory-1.7.2-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/1.7.2/apache-fory-1.7.2-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v1.7.2) |
+| 1.7.3   | 2026-09-16 | [source](https://www.apache.org/dyn/closer.lua/fory/1.7.3/apache-fory-1.7.3-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/1.7.3/apache-fory-1.7.3-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/1.7.3/apache-fory-1.7.3-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v1.7.3) |
 
 ## All archived releases
 
@@ -31,13 +31,13 @@ These files are named after the files they relate to but have `.sha512/.asc` ext
 To verify the SHA digests, you need the `.tar.gz` file and its associated `.tar.gz.sha512` file. An example command:
 
 ```bash
-sha512sum --check apache-fory-1.7.2-src.tar.gz.sha512
+sha512sum --check apache-fory-1.7.3-src.tar.gz.sha512
 ```
 
 It should output something like:
 
 ```bash
-apache-fory-1.7.2-src.tar.gz: OK
+apache-fory-1.7.3-src.tar.gz: OK
 ```
 
 ### Verifying Signatures
@@ -54,13 +54,13 @@ gpg --import KEYS
 Then you can verify signature:
 
 ```bash
-gpg --verify apache-fory-1.7.2-src.tar.gz.asc apache-fory-1.7.2-src.tar.gz
+gpg --verify apache-fory-1.7.3-src.tar.gz.asc apache-fory-1.7.3-src.tar.gz
 ```
 
 If something like the following appears, it means the signature is correct:
 
 ```bash
-gpg: Signature made Tue Sep 08 12:33:54 2026 CST
+gpg: Signature made Sun Sep 13 00:59:21 2026 CST
 gpg:                using RSA key 1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
 gpg: Good signature from "chaokunyang (CODE SIGNING KEY) <ch...@apache.org>" [unknown]
 ```
diff --git a/versioned_docs/version-1.7.0/compiler/build-integration.md b/versioned_docs/version-1.7.0/compiler/build-integration.md
index c41b169668f..0cb05604c6f 100644
--- a/versioned_docs/version-1.7.0/compiler/build-integration.md
+++ b/versioned_docs/version-1.7.0/compiler/build-integration.md
@@ -211,7 +211,7 @@ Add the Fory dependency to `pubspec.yaml`:
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/versioned_docs/version-1.7.0/compiler/cli.md b/versioned_docs/version-1.7.0/compiler/cli.md
index 7ecda8b0450..804c89034f4 100644
--- a/versioned_docs/version-1.7.0/compiler/cli.md
+++ b/versioned_docs/version-1.7.0/compiler/cli.md
@@ -689,5 +689,5 @@ fory = "x.y.z"
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 ```
diff --git a/versioned_docs/version-1.7.0/grpc/csharp.md b/versioned_docs/version-1.7.0/grpc/csharp.md
index b4a2497067d..fbd4f4095f7 100644
--- a/versioned_docs/version-1.7.0/grpc/csharp.md
+++ b/versioned_docs/version-1.7.0/grpc/csharp.md
@@ -39,7 +39,7 @@ Server project:
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
 </ItemGroup>
 ```
@@ -48,7 +48,7 @@ Client project:
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
   <PackageReference Include="Grpc.Core.Api" Version="2.71.0" />
   <PackageReference Include="Grpc.Net.Client" Version="2.71.0" />
 </ItemGroup>
diff --git a/versioned_docs/version-1.7.0/grpc/dart.md b/versioned_docs/version-1.7.0/grpc/dart.md
index c472aa2c152..669c9d94279 100644
--- a/versioned_docs/version-1.7.0/grpc/dart.md
+++ b/versioned_docs/version-1.7.0/grpc/dart.md
@@ -38,7 +38,7 @@ application that compiles or runs generated service companions:
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
   grpc: ^4.0.0
 
 dev_dependencies:
diff --git a/versioned_docs/version-1.7.0/grpc/rust.md b/versioned_docs/version-1.7.0/grpc/rust.md
index ade917e72f7..fccfac10365 100644
--- a/versioned_docs/version-1.7.0/grpc/rust.md
+++ b/versioned_docs/version-1.7.0/grpc/rust.md
@@ -37,7 +37,7 @@ to build streaming responses or request streams.
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 bytes = "1"
 tonic = { version = "0.14", features = ["transport"] }
 tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
diff --git a/versioned_docs/version-1.7.0/json/annotations.md b/versioned_docs/version-1.7.0/json/annotations.md
index 0e307c2b87e..3d086b04014 100644
--- a/versioned_docs/version-1.7.0/json/annotations.md
+++ b/versioned_docs/version-1.7.0/json/annotations.md
@@ -178,8 +178,10 @@ present Optional containing an empty list remain included. Root values, collecti
 entries, and Any entries are not filtered by property inclusion. Raw JSON String properties are
 checked as strings without parsing their text.
 
-Language-specific reconstruction rules still apply; see
-[Kotlin inclusion](kotlin.md#immutable-classes-and-compiler-defaults).
+Kotlin properties follow the configured inclusion even when omission changes the value restored by
+a default or causes a missing-property read failure; see
+[Kotlin inclusion](kotlin.md#immutable-classes-and-compiler-defaults). Scala retains its
+[required-constructor-property rules](scala.md#case-classes-and-annotations).
 
 Inclusion affects writing only. A non-default inclusion is invalid for a creator-only property with
 no write source. Repeating the same declaration is allowed; conflicting explicit names, indexes, or
diff --git a/versioned_docs/version-1.7.0/json/getting-started.md b/versioned_docs/version-1.7.0/json/getting-started.md
index 30712492246..362173d52c5 100644
--- a/versioned_docs/version-1.7.0/json/getting-started.md
+++ b/versioned_docs/version-1.7.0/json/getting-started.md
@@ -43,7 +43,7 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-json</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -57,7 +57,7 @@ repositories {
   mavenCentral()
 }
 
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 ### Kotlin
@@ -66,7 +66,7 @@ Kotlin/JVM applications add the optional Kotlin JSON runtime and use its single
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
diff --git a/versioned_docs/version-1.7.0/json/kotlin.md b/versioned_docs/version-1.7.0/json/kotlin.md
index ff94b6eec89..5b00969d2ea 100644
--- a/versioned_docs/version-1.7.0/json/kotlin.md
+++ b/versioned_docs/version-1.7.0/json/kotlin.md
@@ -41,7 +41,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
@@ -54,7 +54,7 @@ plugins {
 }
 
 dependencies {
-  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.2")
+  ksp("org.apache.fory:fory-json-kotlin-ksp:1.7.3")
 }
 ```
 
@@ -146,20 +146,37 @@ after construction, followed by validators; input member order does not choose a
 order. Kotlin class instances are always constructed normally, so primary-constructor initialization and
 validation are not bypassed.
 
-Fory must be able to read its own output under the same configuration. Consequently, nullable
-constructor parameters and nullable deferred properties are emitted explicitly when null, even
-when the builder's general Java default is to omit null fields. An explicit
-`JsonProperty.Include.NON_NULL` on such a property is rejected if omission could fail or invoke a
-different compiler default.
-
-The same rule applies to `NON_EMPTY`. A global
-`defaultPropertyInclusion(JsonProperty.Include.NON_EMPTY)` preserves empty Kotlin constructor and
-deferred properties, including those declared with `emptyList()` defaults. Fory does not compare
-values with compiler defaults or evaluate initializers to decide whether to omit them. An explicit
-`NON_EMPTY` annotation is rejected on a reconstructible property whose logical type can be empty,
-or whose nullable value would otherwise be omitted. Non-null value classes remain present even
-when their underlying string or collection is empty. Use a custom codec for a containing model
-that needs a different omission and reconstruction contract.
+Kotlin properties follow the configured [property inclusion](annotations.md#jsonproperty),
+including constructor parameters and body properties. The default `NON_NULL` omits null values;
+`NON_EMPTY` also omits empty strings, arrays, collections, and maps, and absent JDK Optional values.
+A property's `@JsonProperty(include = ...)` overrides the builder default. Use `ALWAYS` or
+`writeNullFields(true)` to retain null values.
+
+```kotlin
+import org.apache.fory.json.annotation.JsonProperty.Include
+import org.apache.fory.json.kotlin.ForyJsonKotlin
+
+data class Response(
+    val id: Int,
+    val name: String? = null,
+    val items: List<String>? = null,
+)
+
+val json = ForyJsonKotlin.builder().defaultPropertyInclusion(Include.NON_EMPTY).build()
+val text = json.toJson(Response(1, items = emptyList())) // {"id":1}
+```
+
+Inclusion affects writing only. Reading the example's output uses the declared `items` default
+of null, so the original empty list is not preserved. A missing constructor parameter uses its
+declared default, or fails if it has no default; a missing body property keeps its initializer.
+Explicit null remains distinct from a missing field and is rejected for a non-nullable property.
+Choose an inclusion rule that retains values when exact round trips are required.
+
+Fory does not compare values with Kotlin defaults or evaluate initializers during serialization.
+An empty list is omitted by `NON_EMPTY` regardless of whether its default is null, `emptyList()`, or
+a non-empty list. Empty underlying string or collection carriers do not make non-null value-class
+properties empty. An explicit `NON_EMPTY` is unsupported when an unboxed value class itself
+implements `CharSequence`, `Collection`, or `Map`; use a containing custom codec for that shape.
 
 ## Nullability
 
diff --git a/versioned_docs/version-1.7.0/json/scala.md b/versioned_docs/version-1.7.0/json/scala.md
index 0a972afc9a5..f3a9b8c48b7 100644
--- a/versioned_docs/version-1.7.0/json/scala.md
+++ b/versioned_docs/version-1.7.0/json/scala.md
@@ -25,7 +25,7 @@ module works on the ordinary JVM and GraalVM Native Image. Android is not suppor
 ## Setup
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-json-scala" % "1.7.3"
 ```
 
 `ForyJsonScala.builder()` installs the Scala module and returns the standard Fory JSON builder:
@@ -106,7 +106,6 @@ a required parameter whose type can be empty; add a constructor default to allow
 | parameterless Scala 3 enum                                  | string case name                                |
 | Scala 2 `Enumeration`                                       | string through an owner-bound codec             |
 
-Strict standard-library collections are reconstructed through their standard Scala builders.
 `Either` writes compact `l` and `r` member names. Readers also accept the legacy `left` and
 `right` member names.
 Fory does not add a Scala-specific collection-size limit; the codecs use the same input-length,
diff --git a/versioned_docs/version-1.7.0/object-serialization/cpp/index.md b/versioned_docs/version-1.7.0/object-serialization/cpp/index.md
index 4b3b9c743a1..cc2f7630058 100644
--- a/versioned_docs/version-1.7.0/object-serialization/cpp/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/cpp/index.md
@@ -62,7 +62,7 @@ include(FetchContent)
 FetchContent_Declare(
     fory
     GIT_REPOSITORY https://github.com/apache/fory.git
-    GIT_TAG        v1.7.2
+    GIT_TAG        v1.7.3
     SOURCE_SUBDIR  cpp
 )
 FetchContent_MakeAvailable(fory)
@@ -92,11 +92,11 @@ module(
 
 bazel_dep(name = "rules_cc", version = "0.1.1")
 
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git",
-    commit = "v1.7.2",  # Or use a specific commit hash for reproducibility
+    commit = "v1.7.3",  # Or use a specific commit hash for reproducibility
 )
 ```
 
@@ -128,7 +128,7 @@ bazel run //:my_app
 For local development, you can use `local_path_override` instead:
 
 ```bazel
-bazel_dep(name = "fory", version = "1.7.2")
+bazel_dep(name = "fory", version = "1.7.3")
 local_path_override(
     module_name = "fory",
     path = "/path/to/fory",
diff --git a/versioned_docs/version-1.7.0/object-serialization/csharp/index.md b/versioned_docs/version-1.7.0/object-serialization/csharp/index.md
index fe032bef75a..957a2dabfd9 100644
--- a/versioned_docs/version-1.7.0/object-serialization/csharp/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/csharp/index.md
@@ -46,7 +46,7 @@ Reference the single `Apache.Fory` package. It includes the Fory library and the
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.7.2" />
+  <PackageReference Include="Apache.Fory" Version="1.7.3" />
 </ItemGroup>
 ```
 
diff --git a/versioned_docs/version-1.7.0/object-serialization/dart/index.md b/versioned_docs/version-1.7.0/object-serialization/dart/index.md
index 100860c66fc..a08544d4dc2 100644
--- a/versioned_docs/version-1.7.0/object-serialization/dart/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/dart/index.md
@@ -47,7 +47,7 @@ Add the dependency to your `pubspec.yaml`:
 
 ```yaml
 dependencies:
-  fory: ^1.7.2
+  fory: ^1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/versioned_docs/version-1.7.0/object-serialization/java/index.md b/versioned_docs/version-1.7.0/object-serialization/java/index.md
index 39579241fb0..6fbdd473af3 100644
--- a/versioned_docs/version-1.7.0/object-serialization/java/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/java/index.md
@@ -63,7 +63,7 @@ or later.
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
@@ -71,7 +71,7 @@ or later.
 
 ```kotlin
 // Binary object serialization
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 #### JDK 25 and Later
diff --git a/versioned_docs/version-1.7.0/object-serialization/kotlin/index.md b/versioned_docs/version-1.7.0/object-serialization/kotlin/index.md
index eb986567ea1..60115989466 100644
--- a/versioned_docs/version-1.7.0/object-serialization/kotlin/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/kotlin/index.md
@@ -53,14 +53,14 @@ See [Java Features](../java/index.md#features) for complete feature list.
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-kotlin</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 ### Gradle
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.7.2")
+implementation("org.apache.fory:fory-kotlin:1.7.3")
 ```
 
 ### JDK25+
diff --git a/versioned_docs/version-1.7.0/object-serialization/rust/basic-serialization.md b/versioned_docs/version-1.7.0/object-serialization/rust/basic-serialization.md
index 19fbbdda07c..d9b0e178274 100644
--- a/versioned_docs/version-1.7.0/object-serialization/rust/basic-serialization.md
+++ b/versioned_docs/version-1.7.0/object-serialization/rust/basic-serialization.md
@@ -147,7 +147,7 @@ let later = timestamp.checked_add_duration(duration)?;
 
 ```toml
 [dependencies]
-fory = { version = "1.7.2", features = ["chrono"] }
+fory = { version = "1.7.3", features = ["chrono"] }
 ```
 
 ### Custom Types
diff --git a/versioned_docs/version-1.7.0/object-serialization/rust/index.md b/versioned_docs/version-1.7.0/object-serialization/rust/index.md
index 710635e126b..19f7b236e4f 100644
--- a/versioned_docs/version-1.7.0/object-serialization/rust/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/rust/index.md
@@ -37,9 +37,9 @@ The Rust implementation provides versatile and high-performance serialization wi
 
 | Crate                                                                       | Description                                           | Version                                       |
 | --------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------------------------- |
-| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | User-facing API, public Fory types, and derive macros | [1.7.2](https://crates.io/crates/fory)        |
-| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | Lower-level core crate for advanced integrations      | [1.7.2](https://crates.io/crates/fory-core)   |
-| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | Procedural macro crate for direct derive-macro use    | [1.7.2](https://crates.io/crates/fory-derive) |
+| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                | User-facing API, public Fory types, and derive macros | [1.7.3](https://crates.io/crates/fory)        |
+| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     | Lower-level core crate for advanced integrations      | [1.7.3](https://crates.io/crates/fory-core)   |
+| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) | Procedural macro crate for direct derive-macro use    | [1.7.3](https://crates.io/crates/fory-derive) |
 
 Most applications should depend on `fory` only. It re-exports the derive
 macros and the public Fory types needed by generated code. Use `fory-core`
@@ -52,7 +52,7 @@ Add Apache Fory™ to your `Cargo.toml`:
 
 ```toml
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ### Basic Example
diff --git a/versioned_docs/version-1.7.0/object-serialization/scala/index.md b/versioned_docs/version-1.7.0/object-serialization/scala/index.md
index 2f57254f63b..d9908b1cfe6 100644
--- a/versioned_docs/version-1.7.0/object-serialization/scala/index.md
+++ b/versioned_docs/version-1.7.0/object-serialization/scala/index.md
@@ -49,7 +49,7 @@ See [Java Features](../java/index.md#features) for complete feature list.
 Add the dependency with sbt:
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 ### JDK25+
diff --git a/versioned_docs/version-1.7.0/row-format/go.md b/versioned_docs/version-1.7.0/row-format/go.md
new file mode 100644
index 00000000000..5ef96b1ade6
--- /dev/null
+++ b/versioned_docs/version-1.7.0/row-format/go.md
@@ -0,0 +1,261 @@
+---
+title: Go Standard Row Format
+sidebar_position: 7
+id: go
+license: |
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+---
+
+Apache Fory™ Go implements the Standard Row Format used by Java, C++, Python, and Rust in the
+`github.com/apache/fory/go/fory/row` package. It provides a reflection-based struct encoder,
+zero-copy readers for random field access, and the cross-language schema encoding.
+
+## Overview
+
+Use Row Format when readers need selected fields or collection elements rather than a fully
+reconstructed value. Readers are views over the encoded bytes: reading one field costs a bitmap
+test and a slot lookup, and other fields are never touched.
+
+Row Format is a trusted in-memory format. Decode only bytes produced by a Fory row writer for the
+same schema, from a source you trust. Malformed bytes surface as errors from the encoder's decode
+methods, but the format does not defend against hostile input the way object serialization does.
+
+## When to Use Row Format
+
+- Analytics workloads with selective field access
+- Large datasets where only a subset of fields is needed
+- Memory-mapped or shared data read by several languages
+- High-throughput pipelines that exchange Standard Row bytes with Java, C++, Python, or Rust
+
+## Basic Usage
+
+```go
+package main
+
+import (
+    "fmt"
+
+    "github.com/apache/fory/go/fory/row"
+)
+
+type UserProfile struct {
+    Id          int64
+    Username    string
+    Email       *string
+    Scores      []int32
+    Preferences map[string]string
+    IsActive    bool
+}
+
+func main() {
+    encoder, err := row.NewEncoder[UserProfile]()
+    if err != nil {
+        panic(err)
+    }
+
+    email := "alice@example.com"
+    profile := UserProfile{
+        Id:          12345,
+        Username:    "alice",
+        Email:       &email,
+        Scores:      []int32{95, 87, 92, 88},
+        Preferences: map[string]string{"theme": "dark", "language": "en"},
+        IsActive:    true,
+    }
+
+    rowBytes, err := encoder.ToRow(&profile)
+    if err != nil {
+        panic(err)
+    }
+
+    // Random access without decoding the whole struct.
+    schema := encoder.Schema()
+    r := row.NewRow(schema, rowBytes)
+    fmt.Println(r.String(schema.FieldIndex("username"))) // alice
+    fmt.Println(r.Array(schema.FieldIndex("scores")).Int32(1)) // 87
+    fmt.Println(r.IsNullAt(schema.FieldIndex("email")))        // false
+
+    // Full decode when the whole value is needed.
+    decoded, err := encoder.FromRow(rowBytes)
+    if err != nil {
+        panic(err)
+    }
+    fmt.Println(decoded.Preferences["theme"]) // dark
+}
+```
+
+`NewEncoder[T]` infers the schema from the struct type once and compiles the conversion for it.
+Creating an encoder is comparatively expensive; create one per struct type and reuse it.
+
+## Rows and Framed Messages
+
+`ToRow` and `FromRow` work with bare row bytes, which is what the other languages' `toRow` and
+`BinaryRow.pointTo` exchange. `Encode` and `Decode` add the framing used by the Java and Python
+row encoders: an 8-byte little-endian schema hash followed by the row.
+
+```go
+framed, err := encoder.Encode(&profile)   // hash + row
+decoded, err := encoder.Decode(framed)    // verifies the hash, then decodes
+```
+
+The hash is a type-shape fingerprint: it folds the recursive field type ids and nothing else, so
+`Decode` rejects a writer whose field types differ but cannot detect renamed fields, changed
+nullability, or reordered fields of the same type. Share the schema bytes (see
+[Schema Exchange](#schema-exchange)) when peers must agree on more than the type shape.
+
+`Decode` and `FromRow` return errors for truncated or inconsistent bytes; they never panic. Decoded
+values never alias the input, so the input buffer can be reused immediately.
+
+## Zero-Copy Reading
+
+`row.NewRow(schema, bytes)` creates a view over a row. `Struct`, `Array`, and `Map` return views
+over the nested bytes, and `Binary` returns a sub-slice of the input. These views stay valid only
+while the underlying bytes are alive and unmodified. `String` copies, because a Go string must not
+observe later changes to the buffer.
+
+```go
+r := row.NewRow(schema, rowBytes)
+tags := r.Array(schema.FieldIndex("tags"))
+for i := 0; i < tags.NumElements(); i++ {
+    if !tags.IsNullAt(i) {
+        fmt.Println(tags.String(i))
+    }
+}
+attrs := r.Map(schema.FieldIndex("attrs"))
+fmt.Println(attrs.Keys().String(0), attrs.Values().Int32(0))
+```
+
+Fixed-width getters return the zero value for null fields; use `IsNullAt` to distinguish null from
+zero. Variable-width getters return `nil` (or `""`) for null. Out-of-range indexes panic, as does
+malformed data read through a raw view; use the encoder's decode methods when an error is needed.
+
+## Nullability
+
+A Go pointer field is a nullable field: `nil` writes the null bit and decodes back to `nil`.
+Slices, maps, and `[]byte` are nullable as well and distinguish `nil` from empty.
+
+Strings, nested value structs, `fory.Date`, `time.Time`, and `time.Duration` are also nullable in
+the schema because their Java carriers are objects, but the Go value cannot hold `nil`. Decoding a
+null into one of these fields is an error. Use a pointer carrier (`*string`, `*time.Time`, `*Inner`)
+when nulls must round-trip, for example when reading rows written by Java with `null` values.
+
+Map values are always nullable and map keys never are, matching the other languages. A `[]*int32`
+element or `map[string]*int32` value carries a null element; `[]int32` and `map[string]int32` do
+not.
+
+## Field Order and Names
+
+Fields are sorted by their lowerCamel name and named by its snake_case form (`UserName` becomes
+`user_name`), matching Java's schema inference so both languages derive the same schema from
+equivalent struct definitions. Unexported fields are skipped. The `fory` struct tag uses the same
+grammar as object serialization: `fory:"-"`, `fory:"ignore"`, and `fory:"ignore=true"` skip a
+field; other keys are accepted and ignored by Row Format.
+
+Changing a field name or type changes the schema. Coordinate such changes across all producers and
+consumers.
+
+## Supported Types
+
+| Go type                                       | Standard Row Format encoding     | Nullable |
+| --------------------------------------------- | -------------------------------- | -------- |
+| `bool`, `int8`, `int16`, `int32`, `int64`     | Fixed-width scalar               | No       |
+| `int`                                         | Fixed-width int64                | No       |
+| `float32`, `float64`                          | Fixed-width IEEE 754 scalar      | No       |
+| `fory.Date`                                   | Fixed-width date32 in epoch days | Yes      |
+| `time.Time`                                   | Fixed-width epoch microseconds   | Yes      |
+| `time.Duration`                               | Fixed-width microseconds         | Yes      |
+| `string`                                      | Variable-width UTF-8             | Yes      |
+| `[]byte`                                      | Standard array of int8           | Yes      |
+| `[]T` for supported element types             | Standard array                   | Yes      |
+| `map[K]V`                                     | Standard map                     | Yes      |
+| Nested struct                                 | Nested Standard Row              | Yes      |
+| `*T` for any supported non-slice, non-map `T` | Same encoding as `T`             | Yes      |
+
+`[]byte` matches Java's `byte[]`, which Java also infers as a list of int8. The row format's
+binary type is available only to hand-built schemas through `RowWriter.WriteBytes` and
+`Row.Binary`.
+
+Strings must be valid UTF-8. Timestamps must fit in an int64 number of microseconds. Map keys must
+be scalars, strings, or value structs whose exported, non-ignored fields consist of such types, so
+that the encoded key determines Go equality. `time.Time`, `time.Duration`, and pointers are not
+valid keys, including inside struct keys. Duration encoding truncates to microseconds, so distinct
+nanosecond keys could otherwise collapse into one entry. Use an explicit `int64` key in the unit
+your application requires.
+
+Unsupported: unsigned integers, fixed-size arrays, nested pointers, pointers to slices or maps,
+interfaces, channels, functions, recursive types, `float16`, and `decimal`.
+
+## Schema Exchange
+
+`SchemaToBytes` and `SchemaFromBytes` implement the cross-language schema encoding shared with
+Java's `SchemaEncoder` and Python's `Schema.to_bytes`/`from_bytes`. `ComputeSchemaHash` computes
+the same type-shape hash used by `Encode`.
+
+```go
+schemaBytes, err := row.SchemaToBytes(encoder.Schema())
+schema, err := row.SchemaFromBytes(schemaBytes)
+fmt.Println(schema.Equal(encoder.Schema())) // true
+```
+
+A Java bean and a Go struct with equivalent fields produce identical schema bytes when their
+nullability matches: use pointer fields for Java boxed types (`Integer`, `String` in lists) and
+value fields for Java primitives.
+
+## Writing Rows by Hand
+
+`RowWriter`, `ArrayWriter`, and `MapWriter` write rows for a schema you construct yourself, without
+a Go struct. They share one `fory.ByteBuffer`; a nested value is written at the buffer's current
+position and then attached to its parent slot with `SetOffsetAndSize`.
+
+```go
+schema := row.NewSchema([]row.Field{
+    row.NewField("id", row.Int64Type{}, false),
+    row.NewField("tags", row.List(row.StringType{}), true),
+})
+w := row.NewRowWriter(schema)
+w.Reset()
+w.WriteInt64(0, 7)
+
+tags := row.NewArrayWriter(row.List(row.StringType{}).Elem, w.Buffer())
+start := w.Buffer().WriterIndex()
+if err := tags.Reset(2); err != nil {
+    panic(err)
+}
+if err := tags.WriteString(0, "go"); err != nil {
+    panic(err)
+}
+tags.SetNullAt(1)
+if err := w.SetOffsetAndSize(1, start, w.Buffer().WriterIndex()-start); err != nil {
+    panic(err)
+}
+rowBytes := w.ToBytes() // valid until the buffer is written to again
+```
+
+Call `Reset` before each row; to reuse a writer for a new top-level row, set the buffer's writer
+index back to zero first.
+
+## Thread Safety
+
+An `Encoder` owns a reusable write buffer and is not safe for concurrent use; create one encoder
+per goroutine or guard it with a mutex. Writers share the same rule. `Row`, `ArrayData`, and
+`MapData` views only read, so one view can be shared by concurrent readers as long as the
+underlying bytes are not modified.
+
+## Related Topics
+
+- [Basic Serialization](../object-serialization/go/basic-serialization.md) - Object graph serialization
+- [Standard Row Format](index.md#standard-row) - Shared layout for Java, Python, C++, Rust, and Go
+- [Row Format Specification](../specification/row_format_spec.md) - Protocol details
diff --git a/versioned_docs/version-1.7.0/row-format/index.md b/versioned_docs/version-1.7.0/row-format/index.md
index 33751951664..ac41122a90e 100644
--- a/versioned_docs/version-1.7.0/row-format/index.md
+++ b/versioned_docs/version-1.7.0/row-format/index.md
@@ -30,20 +30,20 @@ reconstruction as its primary access pattern.
 
 ## Choose a Layout
 
-| Layout       | Language support        | Compatibility                    |
-| ------------ | ----------------------- | -------------------------------- |
-| Standard Row | Java, Python, C++, Rust | Shared Standard Row layout       |
-| Compact Row  | Java                    | Java-only, space-oriented layout |
+| Layout       | Language support            | Compatibility                    |
+| ------------ | --------------------------- | -------------------------------- |
+| Standard Row | Java, Python, C++, Rust, Go | Shared Standard Row layout       |
+| Compact Row  | Java                        | Java-only, space-oriented layout |
 
 ## Standard Row
 
-Standard Row is the interoperable layout for Java, Python, C++, and Rust.
+Standard Row is the interoperable layout for Java, Python, C++, Rust, and Go.
 
 ### Features
 
 - **Zero-copy random access**: Read selected fields directly from encoded data.
 - **Partial deserialization**: Reconstruct only the values an application needs.
-- **Cross-language compatibility**: Share Standard Row bytes between Java, Python, C++, and Rust.
+- **Cross-language compatibility**: Share Standard Row bytes between Java, Python, C++, Rust, and Go.
 - **Apache Arrow integration**: Convert rows to Arrow data in Java and Python.
 
 ### Layout
@@ -61,6 +61,7 @@ layout, alignment rules, type table, and endianness are defined by the
 | Python   | Compatible                 | [Python](python.md) | PyArrow schema and table conversion                    |
 | C++      | Compatible                 | [C++](cpp.md)       | Native row readers and writers                         |
 | Rust     | Compatible                 | [Rust](rust.md)     | Borrowed struct, array, and map views                  |
+| Go       | Compatible                 | [Go](go.md)         | Reflection struct encoder; zero-copy row views         |
 
 Use the language guides for installation, schema construction, encoding, random access, partial
 reads, and language-specific integrations.
@@ -93,7 +94,7 @@ Reuse the encoder within one thread. Create separate encoders for concurrent thr
 - Fixed-size nested structs can be stored inline.
 
 Choose Compact Row only when every reader is Java and the space reduction justifies the
-Java-specific layout. Use Standard Row for Java, Python, C++, and Rust interchange.
+Java-specific layout. Use Standard Row for Java, Python, C++, Rust, and Go interchange.
 
 See the [Row Format specification](../specification/row_format_spec.md) for the exact Standard and
 Compact binary layouts.
diff --git a/versioned_docs/version-1.7.0/row-format/java.md b/versioned_docs/version-1.7.0/row-format/java.md
index 849662907fe..0349bc95e9b 100644
--- a/versioned_docs/version-1.7.0/row-format/java.md
+++ b/versioned_docs/version-1.7.0/row-format/java.md
@@ -43,14 +43,14 @@ For Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-format</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 For Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-format:1.7.2")
+implementation("org.apache.fory:fory-format:1.7.3")
 ```
 
 ## Basic Usage
diff --git a/versioned_docs/version-1.7.0/row-format/troubleshooting.md b/versioned_docs/version-1.7.0/row-format/troubleshooting.md
index c5fe6330d39..34f51d1c6d5 100644
--- a/versioned_docs/version-1.7.0/row-format/troubleshooting.md
+++ b/versioned_docs/version-1.7.0/row-format/troubleshooting.md
@@ -21,7 +21,7 @@ license: |
 
 ## A Standard Row peer cannot read Compact Row bytes
 
-Compact Row is a Java-only row family. Use Standard Row on Java, Python, C++, and Rust for shared
+Compact Row is a Java-only row family. Use Standard Row on Java, Python, C++, Rust, and Go for shared
 bytes.
 
 ## A field lookup fails
diff --git a/versioned_docs/version-1.7.0/specification/row_format_spec.md b/versioned_docs/version-1.7.0/specification/row_format_spec.md
index e0056346013..a192e35f1ec 100644
--- a/versioned_docs/version-1.7.0/specification/row_format_spec.md
+++ b/versioned_docs/version-1.7.0/specification/row_format_spec.md
@@ -26,14 +26,14 @@ Apache Fory Row Format is a cache-friendly, random-access binary format designed
 - **Random Field Access**: Read individual fields without deserializing the entire row
 - **Zero-Copy Operations**: Direct memory access without data transformation
 - **Cache-Friendly Layout**: Optimized memory layout for CPU cache efficiency
-- **Cross-Language Support**: Consistent binary format across Java, C++, Python, and Rust
+- **Cross-Language Support**: Consistent binary format across Java, C++, Python, Rust, and Go
 
 Fory provides two row format variants:
 
-| Format          | Languages               | Use Case                       |
-| --------------- | ----------------------- | ------------------------------ |
-| Standard Format | Java, C++, Python, Rust | Cross-language compatibility   |
-| Compact Format  | Java only               | Space efficiency, smaller rows |
+| Format          | Languages                   | Use Case                       |
+| --------------- | --------------------------- | ------------------------------ |
+| Standard Format | Java, C++, Python, Rust, Go | Cross-language compatibility   |
+| Compact Format  | Java only                   | Space efficiency, smaller rows |
 
 ## Format Comparison
 
diff --git a/versioned_docs/version-1.7.0/start/cpp.md b/versioned_docs/version-1.7.0/start/cpp.md
index 2c9fe8aae63..aeeff27abf3 100644
--- a/versioned_docs/version-1.7.0/start/cpp.md
+++ b/versioned_docs/version-1.7.0/start/cpp.md
@@ -45,7 +45,7 @@ include(FetchContent)
 FetchContent_Declare(
   fory
   GIT_REPOSITORY https://github.com/apache/fory.git
-  GIT_TAG v1.7.2
+  GIT_TAG v1.7.3
   SOURCE_SUBDIR cpp
 )
 FetchContent_MakeAvailable(fory)
diff --git a/versioned_docs/version-1.7.0/start/csharp.md b/versioned_docs/version-1.7.0/start/csharp.md
index bc99bedd216..94df569c9e4 100644
--- a/versioned_docs/version-1.7.0/start/csharp.md
+++ b/versioned_docs/version-1.7.0/start/csharp.md
@@ -36,7 +36,7 @@ Create a console project and add the released package:
 ```bash
 dotnet new console -n ForyExample
 cd ForyExample
-dotnet add package Apache.Fory --version 1.7.2
+dotnet add package Apache.Fory --version 1.7.3
 ```
 
 Replace `Program.cs` with:
diff --git a/versioned_docs/version-1.7.0/start/dart.md b/versioned_docs/version-1.7.0/start/dart.md
index 6df3fe4c092..01b1335c4de 100644
--- a/versioned_docs/version-1.7.0/start/dart.md
+++ b/versioned_docs/version-1.7.0/start/dart.md
@@ -36,7 +36,7 @@ Add Fory and the generator to `pubspec.yaml`:
 
 ```yaml
 dependencies:
-  fory: 1.7.2
+  fory: 1.7.3
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/versioned_docs/version-1.7.0/start/go.md b/versioned_docs/version-1.7.0/start/go.md
index cc145649577..3dbe1df99b8 100644
--- a/versioned_docs/version-1.7.0/start/go.md
+++ b/versioned_docs/version-1.7.0/start/go.md
@@ -38,7 +38,7 @@ Create a module and install the released Fory module:
 mkdir fory-example
 cd fory-example
 go mod init example.com/fory-example
-go get github.com/apache/fory/go/fory@v1.7.2
+go get github.com/apache/fory/go/fory@v1.7.3
 ```
 
 If a Go proxy has not picked up a new submodule tag yet, retry later or use
diff --git a/versioned_docs/version-1.7.0/start/java.md b/versioned_docs/version-1.7.0/start/java.md
index 62405c6696c..907631e9eb0 100644
--- a/versioned_docs/version-1.7.0/start/java.md
+++ b/versioned_docs/version-1.7.0/start/java.md
@@ -44,14 +44,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.7.2</version>
+  <version>1.7.3</version>
 </dependency>
 ```
 
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-core:1.7.2")
+implementation("org.apache.fory:fory-core:1.7.3")
 ```
 
 Run this complete xlang round trip:
@@ -97,7 +97,7 @@ Fory JSON maps Java objects to standard JSON text and UTF-8 bytes. Add
 `fory-json` instead of `fory-core` when the application only needs JSON:
 
 ```kotlin
-implementation("org.apache.fory:fory-json:1.7.2")
+implementation("org.apache.fory:fory-json:1.7.3")
 ```
 
 Add the import to `ForyExample.java`:
diff --git a/versioned_docs/version-1.7.0/start/javascript.md b/versioned_docs/version-1.7.0/start/javascript.md
index f1094e9d0bc..1fee9709c59 100644
--- a/versioned_docs/version-1.7.0/start/javascript.md
+++ b/versioned_docs/version-1.7.0/start/javascript.md
@@ -36,7 +36,7 @@ npm --version
 Install the core package:
 
 ```bash
-npm install @apache-fory/core@1.7.2
+npm install @apache-fory/core@1.7.3
 ```
 
 Define a schema and run an xlang round trip:
@@ -72,7 +72,7 @@ JavaScript uses xlang mode. Continue with
 For the optional Node.js string fast path, install the matching package version:
 
 ```bash
-npm install @apache-fory/core@1.7.2 @apache-fory/hps@1.7.2
+npm install @apache-fory/core@1.7.3 @apache-fory/hps@1.7.3
 ```
 
 ## Other Capabilities
diff --git a/versioned_docs/version-1.7.0/start/kotlin.md b/versioned_docs/version-1.7.0/start/kotlin.md
index d20547a85de..9775d65b8ef 100644
--- a/versioned_docs/version-1.7.0/start/kotlin.md
+++ b/versioned_docs/version-1.7.0/start/kotlin.md
@@ -44,7 +44,7 @@ repositories {
 }
 
 dependencies {
-  implementation("org.apache.fory:fory-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-kotlin:1.7.3")
 }
 ```
 
@@ -88,7 +88,7 @@ module when interoperating with ordinary JSON APIs, browsers, logs, or other JSO
 
 ```kotlin title="build.gradle.kts"
 dependencies {
-  implementation("org.apache.fory:fory-json-kotlin:1.7.2")
+  implementation("org.apache.fory:fory-json-kotlin:1.7.3")
 }
 ```
 
diff --git a/versioned_docs/version-1.7.0/start/python.md b/versioned_docs/version-1.7.0/start/python.md
index 95c4788e4f4..b4ec2096206 100644
--- a/versioned_docs/version-1.7.0/start/python.md
+++ b/versioned_docs/version-1.7.0/start/python.md
@@ -35,7 +35,7 @@ python -m pip --version
 Install the released package:
 
 ```bash
-python -m pip install pyfory==1.7.2
+python -m pip install pyfory==1.7.3
 ```
 
 Run an xlang round trip:
diff --git a/versioned_docs/version-1.7.0/start/rust.md b/versioned_docs/version-1.7.0/start/rust.md
index 7f5c3c6a97b..07077d77abd 100644
--- a/versioned_docs/version-1.7.0/start/rust.md
+++ b/versioned_docs/version-1.7.0/start/rust.md
@@ -36,7 +36,7 @@ Add the public crate:
 
 ```toml title="Cargo.toml"
 [dependencies]
-fory = "1.7.2"
+fory = "1.7.3"
 ```
 
 ```rust
diff --git a/versioned_docs/version-1.7.0/start/scala.md b/versioned_docs/version-1.7.0/start/scala.md
index 811fff0ad97..c57d548cdfe 100644
--- a/versioned_docs/version-1.7.0/start/scala.md
+++ b/versioned_docs/version-1.7.0/start/scala.md
@@ -37,7 +37,7 @@ Add the Fory Scala library to `build.sbt`:
 
 ```sbt
 ThisBuild / scalaVersion := "3.3.1"
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.2"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.7.3"
 ```
 
 Create `src/main/scala/ScalaExample.scala`:
diff --git a/versioned_docs/version-1.7.0/start/swift.md b/versioned_docs/version-1.7.0/start/swift.md
index 25462e9abe4..eed11e9d477 100644
--- a/versioned_docs/version-1.7.0/start/swift.md
+++ b/versioned_docs/version-1.7.0/start/swift.md
@@ -42,7 +42,7 @@ Add the released package and depend on its `Fory` library in the generated `Pack
 
 ```swift title="Package.swift"
 dependencies: [
-    .package(url: "https://github.com/apache/fory.git", exact: "1.7.2")
+    .package(url: "https://github.com/apache/fory.git", exact: "1.7.3")
 ],
 targets: [
     .executableTarget(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fory.apache.org
For additional commands, e-mail: commits-help@fory.apache.org