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.git


The following commit(s) were added to refs/heads/main by this push:
     new 791e91990 chore(release): bump versions to 1.3.0 (#3792)
791e91990 is described below

commit 791e91990eef374d9773ac96eeb3f064d1223f62
Author: Shawn Yang <[email protected]>
AuthorDate: Thu Jun 25 18:12:01 2026 +0530

    chore(release): bump versions to 1.3.0 (#3792)
    
    ## Why?
    
    
    
    ## What does this PR do?
    
    
    
    ## Related issues
    
    
    
    ## AI Contribution Checklist
    
    
    
    - [ ] Substantial AI assistance was used in this PR: `yes` / `no`
    - [ ] If `yes`, I included a completed [AI Contribution
    
Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs)
    in this PR description and the required `AI Usage Disclosure`.
    - [ ] If `yes`, my PR description includes the required `ai_review`
    summary and screenshot evidence or equivalent persisted links of the
    final clean AI review results from both fresh reviewers described in
    `AI_POLICY.md`, the Fory-guided reviewer and the independent general
    reviewer, on the current PR diff or current HEAD after the latest code
    changes.
    
    
    
    ## Does this PR introduce any user-facing change?
    
    
    
    - [ ] Does this PR introduce any public API change?
    - [ ] Does this PR introduce any binary protocol compatibility change?
    
    ## Benchmark
---
 MODULE.bazel                                       |   2 +-
 README.md                                          |  26 +-
 benchmarks/cpp/CMakeLists.txt                      |   2 +-
 benchmarks/go/go.mod                               |   2 +-
 benchmarks/java/pom.xml                            |   2 +-
 benchmarks/java25/pom.xml                          |   2 +-
 benchmarks/rust/Cargo.toml                         |   2 +-
 ci/release.py                                      | 275 ++++++++++++++++++++-
 compiler/fory_compiler/__init__.py                 |   2 +-
 compiler/pyproject.toml                            |   2 +-
 cpp/CMakeLists.txt                                 |   2 +-
 csharp/Directory.Build.props                       |   2 +-
 csharp/README.md                                   |   2 +-
 dart/CHANGELOG.md                                  |   8 +-
 dart/packages/fory-test/pubspec.yaml               |   4 +-
 dart/packages/fory/CHANGELOG.md                    |   8 +-
 dart/packages/fory/README.md                       |   2 +-
 dart/packages/fory/pubspec.yaml                    |   2 +-
 dart/pubspec.yaml                                  |   4 +-
 docs/compiler/compiler-guide.md                    |   4 +-
 docs/guide/cpp/index.md                            |   8 +-
 docs/guide/csharp/grpc-support.md                  |   4 +-
 docs/guide/csharp/index.md                         |   2 +-
 docs/guide/dart/grpc-support.md                    |   2 +-
 docs/guide/dart/index.md                           |   2 +-
 docs/guide/java/index.md                           |   4 +-
 docs/guide/kotlin/index.md                         |   4 +-
 docs/guide/rust/basic-serialization.md             |   2 +-
 docs/guide/rust/grpc-support.md                    |   2 +-
 docs/guide/rust/index.md                           |   8 +-
 docs/guide/scala/index.md                          |   2 +-
 docs/guide/xlang/getting-started.md                |  16 +-
 examples/cpp/hello_row/MODULE.bazel.example        |   4 +-
 examples/cpp/hello_row/README.md                   |   2 +-
 examples/cpp/hello_world/MODULE.bazel.example      |   4 +-
 examples/cpp/hello_world/README.md                 |   2 +-
 go/fory/cmd/fory/main.go                           |   2 +-
 integration_tests/android_tests/README.md          |   4 +-
 integration_tests/android_tests/build.gradle       |   4 +-
 integration_tests/graalvm_tests/pom.xml            |   2 +-
 integration_tests/grpc_tests/java/pom.xml          |   2 +-
 integration_tests/grpc_tests/kotlin/pom.xml        |   2 +-
 integration_tests/grpc_tests/python/pyproject.toml |   2 +-
 integration_tests/grpc_tests/rust/Cargo.toml       |   2 +-
 integration_tests/idl_tests/cpp/CMakeLists.txt     |   2 +-
 integration_tests/idl_tests/dart/pubspec.yaml      |   2 +-
 integration_tests/idl_tests/go/go.mod              |   2 +-
 integration_tests/idl_tests/java/pom.xml           |   2 +-
 .../idl_tests/javascript/package.json              |   2 +-
 integration_tests/idl_tests/kotlin/pom.xml         |   2 +-
 integration_tests/idl_tests/python/pyproject.toml  |   2 +-
 integration_tests/idl_tests/rust/Cargo.lock        |   8 +-
 integration_tests/idl_tests/rust/Cargo.toml        |   2 +-
 integration_tests/jdk_compatibility_tests/pom.xml  |   2 +-
 integration_tests/jpms_tests/pom.xml               |   2 +-
 java/README.md                                     |  12 +-
 java/fory-annotation-processor/pom.xml             |   2 +-
 java/fory-core/pom.xml                             |   2 +-
 java/fory-extensions/pom.xml                       |   2 +-
 java/fory-format/pom.xml                           |   2 +-
 java/fory-graalvm-feature/pom.xml                  |   2 +-
 java/fory-json/pom.xml                             |   2 +-
 java/fory-latest-jdk-tests/pom.xml                 |   2 +-
 java/fory-test-core/pom.xml                        |   2 +-
 java/fory-testsuite/pom.xml                        |   2 +-
 java/pom.xml                                       |   2 +-
 javascript/package-lock.json                       |   4 +-
 javascript/packages/core/package.json              |   2 +-
 javascript/packages/hps/package.json               |   2 +-
 kotlin/fory-kotlin-ksp/pom.xml                     |   2 +-
 kotlin/fory-kotlin-tests/pom.xml                   |   2 +-
 kotlin/fory-kotlin/pom.xml                         |   2 +-
 kotlin/pom.xml                                     |   2 +-
 python/pyfory/__init__.py                          |   2 +-
 rust/Cargo.toml                                    |   6 +-
 rust/README.md                                     |  10 +-
 scala/README.md                                    |   2 +-
 scala/build.sbt                                    |   2 +-
 swift/README.md                                    |   2 +-
 79 files changed, 401 insertions(+), 142 deletions(-)

diff --git a/MODULE.bazel b/MODULE.bazel
index 33361eddf..c96da3f5e 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -17,7 +17,7 @@
 
 module(
     name = "fory",
-    version = "1.3.0",
+    version = "1.4.0",
 )
 
 # Platforms (needed for platform-specific build configurations)
diff --git a/README.md b/README.md
index 94a9ee3b0..8dd49baac 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
 [![Slack 
Channel](https://img.shields.io/badge/slack-join-3f0e40?logo=slack&style=for-the-badge)](https://join.slack.com/t/fory-project/shared_invite/zt-36g0qouzm-kcQSvV_dtfbtBKHRwT5gsw)
 
[![X](https://img.shields.io/badge/@ApacheFory-follow-blue?logo=x&style=for-the-badge)](https://x.com/ApacheFory)
 [![Maven 
Version](https://img.shields.io/maven-central/v/org.apache.fory/fory-core?style=for-the-badge)](https://search.maven.org/#search|gav|1|g:"org.apache.fory"%20AND%20a:"fory-core")
-[![Crates.io](https://img.shields.io/badge/crates.io-v1.2.0-blue?logo=rust&style=for-the-badge)](https://crates.io/crates/fory)
+[![Crates.io](https://img.shields.io/badge/crates.io-v1.3.0-blue?logo=rust&style=for-the-badge)](https://crates.io/crates/fory)
 
[![PyPI](https://img.shields.io/pypi/v/pyfory.svg?logo=PyPI&style=for-the-badge)](https://pypi.org/project/pyfory/)
 
[![npm](https://img.shields.io/npm/v/%40apache-fory%2Fcore?logo=npm&style=for-the-badge)](https://www.npmjs.com/package/@apache-fory/core)
 
[![NuGet](https://img.shields.io/nuget/v/Apache.Fory?logo=nuget&style=for-the-badge)](https://www.nuget.org/packages/Apache.Fory)
@@ -132,14 +132,14 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 ```
 
 Gradle:
 
 ```gradle
-implementation "org.apache.fory:fory-core:1.2.0"
+implementation "org.apache.fory:fory-core:1.3.0"
 ```
 
 On JDK25+, open `java.lang.invoke` to Fory. Use `ALL-UNNAMED` when Fory is on
@@ -160,7 +160,7 @@ Use the Fory core module name when Fory is on the module 
path:
 sbt:
 
 ```scala
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.2.0"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.3.0"
 ```
 
 **Kotlin**
@@ -168,7 +168,7 @@ libraryDependencies += "org.apache.fory" %% "fory-scala" % 
"1.2.0"
 Gradle:
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.2.0")
+implementation("org.apache.fory:fory-kotlin:1.3.0")
 ```
 
 Maven:
@@ -177,7 +177,7 @@ Maven:
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-kotlin</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 ```
 
@@ -199,7 +199,7 @@ pip install "pyfory[format]"
 
 ```toml
 [dependencies]
-fory = "1.2.0"
+fory = "1.3.0"
 ```
 
 **C++**
@@ -211,7 +211,7 @@ include(FetchContent)
 FetchContent_Declare(
   fory
   GIT_REPOSITORY https://github.com/apache/fory.git
-  GIT_TAG v1.2.0
+  GIT_TAG v1.3.0
   SOURCE_SUBDIR cpp
 )
 FetchContent_MakeAvailable(fory)
@@ -222,8 +222,8 @@ Bazel:
 
 ```bazel
 # MODULE.bazel
-bazel_dep(name = "fory", version = "1.2.0")
-git_override(module_name = "fory", remote = 
"https://github.com/apache/fory.git";, commit = "v1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
+git_override(module_name = "fory", remote = 
"https://github.com/apache/fory.git";, commit = "v1.3.0")
 
 # BUILD
 deps = ["@fory//cpp/fory/serialization:fory_serialization"]
@@ -256,13 +256,13 @@ npm install @apache-fory/core @apache-fory/hps
 **C#**
 
 ```bash
-dotnet add package Apache.Fory --version 1.2.0
+dotnet add package Apache.Fory --version 1.3.0
 ```
 
 **Dart**
 
 ```bash
-dart pub add fory:^1.2.0
+dart pub add fory:^1.3.0
 dart pub add dev:build_runner
 ```
 
@@ -272,7 +272,7 @@ Add Fory to `Package.swift`:
 
 ```swift
 dependencies: [
-  .package(url: "https://github.com/apache/fory.git";, exact: "1.2.0")
+  .package(url: "https://github.com/apache/fory.git";, exact: "1.3.0")
 ],
 targets: [
   .target(
diff --git a/benchmarks/cpp/CMakeLists.txt b/benchmarks/cpp/CMakeLists.txt
index 6052fceb7..fc4effed0 100644
--- a/benchmarks/cpp/CMakeLists.txt
+++ b/benchmarks/cpp/CMakeLists.txt
@@ -22,7 +22,7 @@ if(POLICY CMP0169)
 endif()
 
 project(fory_cpp_benchmark
-    VERSION 1.3.0
+    VERSION 1.4.0
     DESCRIPTION "C++ Benchmark comparing Fory, Protobuf, and Msgpack 
serialization"
     LANGUAGES CXX
 )
diff --git a/benchmarks/go/go.mod b/benchmarks/go/go.mod
index 4c3964f13..0c2826763 100644
--- a/benchmarks/go/go.mod
+++ b/benchmarks/go/go.mod
@@ -20,7 +20,7 @@ module github.com/apache/fory/benchmarks/go
 go 1.25.0
 
 require (
-       github.com/apache/fory/go/fory v1.3.0-alpha.0
+       github.com/apache/fory/go/fory v1.4.0-alpha.0
        github.com/vmihailenco/msgpack/v5 v5.4.1
        google.golang.org/protobuf v1.36.0
 )
diff --git a/benchmarks/java/pom.xml b/benchmarks/java/pom.xml
index c6e68b611..574a957be 100644
--- a/benchmarks/java/pom.xml
+++ b/benchmarks/java/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>benchmark</artifactId>
diff --git a/benchmarks/java25/pom.xml b/benchmarks/java25/pom.xml
index 1328d224b..3189f8fc6 100644
--- a/benchmarks/java25/pom.xml
+++ b/benchmarks/java25/pom.xml
@@ -26,7 +26,7 @@
 
   <groupId>org.apache.fory.benchmark</groupId>
   <artifactId>java25-memory-access-benchmark</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.4.0-SNAPSHOT</version>
   <packaging>jar</packaging>
 
   <properties>
diff --git a/benchmarks/rust/Cargo.toml b/benchmarks/rust/Cargo.toml
index 2fc89d5bd..572f3ff09 100644
--- a/benchmarks/rust/Cargo.toml
+++ b/benchmarks/rust/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "fory-benchmarks"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 edition = "2021"
 
 [[bin]]
diff --git a/ci/release.py b/ci/release.py
index 279bdcd33..3a7b38523 100644
--- a/ci/release.py
+++ b/ci/release.py
@@ -17,6 +17,7 @@
 
 
 import argparse
+import json
 import logging
 import os
 import re
@@ -46,6 +47,21 @@ SCALA_RELEASE_CMDS = (
     "sbt sonatypePrepare",
     "sbt sonatypeBundleUpload",
 )
+RELEASE_DOC_ROOTS = (
+    "README.md",
+    "java/README.md",
+    "rust/README.md",
+    "scala/README.md",
+    "csharp/README.md",
+    "swift/README.md",
+    "dart/packages/fory/README.md",
+    "docs/compiler",
+    "docs/guide",
+    "examples",
+)
+RELEASE_DOC_EXTS = (".md", ".example")
+VERSION_SUFFIX_PATTERN = 
r"(?i:-snapshot|-dev\d*|\.dev\d+|-(?:alpha|beta|rc)\.\d+)"
+VERSION_PATTERN = rf"\d+\.\d+\.\d+(?:{VERSION_SUFFIX_PATTERN})?"
 
 
 def prepare(v: str):
@@ -407,6 +423,7 @@ def _read_java_version():
 def bump_version(**kwargs):
     new_version = kwargs["version"]
     langs = kwargs["l"]
+    all_langs = langs == "all"
     if langs == "all":
         langs = [
             "java",
@@ -441,24 +458,26 @@ def bump_version(**kwargs):
         elif lang == "python":
             bump_python_version(new_version)
         elif lang == "javascript":
+            js_version = _normalize_js_version(new_version)
             _bump_version(
                 "javascript/packages/core",
                 "package.json",
-                _normalize_js_version(new_version),
+                js_version,
                 _update_js_version,
             )
             _bump_version(
                 "javascript/packages/hps",
                 "package.json",
-                _normalize_js_version(new_version),
+                js_version,
                 _update_js_version,
             )
             _bump_version(
                 "integration_tests/idl_tests/javascript",
                 "package.json",
-                _normalize_js_version(new_version),
+                js_version,
                 _update_js_version,
             )
+            bump_js_lock_version(js_version)
         elif lang == "cpp":
             bump_cpp_version(new_version)
         elif lang == "go":
@@ -473,6 +492,8 @@ def bump_version(**kwargs):
             bump_compiler_version(new_version)
         else:
             raise NotImplementedError(f"Unsupported {lang}")
+    if all_langs:
+        bump_release_doc_versions(new_version, kwargs.get("release_version"))
 
 
 def _bump_version(path, file, new_version, func):
@@ -495,6 +516,7 @@ def bump_java_version(new_version):
         "integration_tests/idl_tests/java",
         "benchmarks/java",
         "java/fory-core",
+        "java/fory-json",
         "java/fory-format",
         "java/fory-extensions",
         "java/fory-graalvm-feature",
@@ -564,6 +586,12 @@ def bump_rust_version(new_version):
         rust_version,
         _update_rust_version,
     )
+    _bump_version(
+        "integration_tests/idl_tests/rust",
+        "Cargo.lock",
+        rust_version,
+        _update_cargo_lock_version,
+    )
 
 
 def bump_kotlin_version(new_version):
@@ -598,6 +626,7 @@ def bump_go_version(new_version):
 
 
 def bump_dart_version(new_version):
+    release_version = _resolve_release_doc_version(new_version)
     for p in [
         "dart",
         "dart/packages/fory",
@@ -608,12 +637,11 @@ def bump_dart_version(new_version):
     _bump_version(
         "dart/packages/fory",
         "README.md",
-        new_version,
+        release_version or new_version,
         _update_dart_readme_dependency_version,
     )
-    if _is_release_version(new_version):
-        for p in ["dart", "dart/packages/fory"]:
-            _bump_version(p, "CHANGELOG.md", new_version, 
_update_dart_changelog)
+    if release_version:
+        bump_dart_changelogs(new_version, release_version)
 
 
 def bump_compiler_version(new_version):
@@ -627,6 +655,7 @@ def bump_compiler_version(new_version):
 
 
 def bump_csharp_version(new_version):
+    release_version = _resolve_release_doc_version(new_version)
     _bump_version(
         "csharp",
         "Directory.Build.props",
@@ -636,26 +665,60 @@ def bump_csharp_version(new_version):
     _bump_version(
         "csharp",
         "README.md",
-        new_version,
+        release_version or new_version,
         _update_csharp_readme_package_version,
     )
     _bump_version(
         "docs/guide/csharp",
         "index.md",
-        new_version,
+        release_version or new_version,
         _update_csharp_readme_package_version,
     )
 
 
 def bump_swift_version(new_version):
+    release_version = _resolve_release_doc_version(new_version)
     _bump_version(
         "swift",
         "README.md",
-        new_version,
+        release_version or new_version,
         _update_swift_readme_dependency_version,
     )
 
 
+def bump_js_lock_version(new_version):
+    package_lock = os.path.join(PROJECT_ROOT_DIR, "javascript", 
"package-lock.json")
+    with open(package_lock, "r") as f:
+        lock = json.load(f)
+    packages = lock.get("packages", {})
+    for package_path in ["packages/core", "packages/hps"]:
+        package = packages.get(package_path)
+        if package is None:
+            raise ValueError(f"No {package_path} entry found in 
package-lock.json")
+        package["version"] = new_version
+    with open(package_lock, "w") as f:
+        json.dump(lock, f, indent=2)
+        f.write("\n")
+
+
+def bump_dart_changelogs(new_version, release_version):
+    dev_version = None if _is_release_version(new_version) else 
new_version.strip()
+    for path, workspace in [
+        ("dart/CHANGELOG.md", True),
+        ("dart/packages/fory/CHANGELOG.md", False),
+    ]:
+        file = os.path.join(PROJECT_ROOT_DIR, path)
+        with open(file, "r") as f:
+            lines = f.readlines()
+        lines = _update_dart_changelog(lines, release_version, workspace)
+        if dev_version:
+            lines = _update_dart_dev_changelog(
+                lines, dev_version, release_version, workspace
+            )
+        with open(file, "w") as f:
+            f.write("".join(lines))
+
+
 def _update_pom_parent_version(lines, new_version):
     start_index, end_index = -1, -1
     for i, line in enumerate(lines):
@@ -794,6 +857,20 @@ def _update_cargo_package_version(lines, v: str):
     return lines
 
 
+def _update_cargo_lock_version(lines, v: str):
+    package_name = None
+    local_packages = {"fory", "fory-core", "fory-derive", "idl_tests"}
+    for index, line in enumerate(lines):
+        name_match = re.match(r'^name = "([^"]+)"$', line.strip())
+        if name_match:
+            package_name = name_match.group(1)
+            continue
+        if package_name in local_packages and line.strip().startswith("version 
= "):
+            lines[index] = f'version = "{v}"\n'
+            package_name = None
+    return lines
+
+
 def _update_cmake_project_version(lines, v: str):
     cmake_version = _normalize_cmake_version(v)
     in_project = False
@@ -873,12 +950,19 @@ def _update_dart_readme_dependency_version(lines, v: str):
     raise ValueError("No Dart README dependency snippet for fory found")
 
 
-def _update_dart_changelog(lines, v: str):
+def _update_dart_changelog(lines, v: str, workspace=False):
     v = v.strip()
     if v.startswith("v"):
         v = v[1:]
     heading = f"## {v}\n"
-    body = ["\n", f"- Release Apache Fory Dart {v}.\n", "\n"]
+    if workspace:
+        body = [
+            "\n",
+            f"- Align the Dart workspace version with the Apache Fory {v} 
release.\n",
+            "\n",
+        ]
+    else:
+        body = ["\n", f"- Release Apache Fory Dart {v}.\n", "\n"]
     heading_pattern = re.compile(rf"^##\s+{re.escape(v)}(?:-[^\s]+)?\s*$")
     start_index = -1
     for index, line in enumerate(lines):
@@ -896,6 +980,37 @@ def _update_dart_changelog(lines, v: str):
     return lines[:start_index] + [heading] + body + lines[end_index:]
 
 
+def _update_dart_dev_changelog(lines, v: str, release_version: str, 
workspace=False):
+    heading = f"## {v}\n"
+    if workspace:
+        body = [
+            "\n",
+            "- Start the next Dart workspace development cycle after the "
+            f"{release_version} release.\n",
+            "\n",
+        ]
+    else:
+        body = [
+            "\n",
+            f"- Start the next development cycle after the {release_version} 
release.\n",
+            "\n",
+        ]
+    start_index = -1
+    for index, line in enumerate(lines):
+        if line == heading:
+            start_index = index
+            break
+    if start_index == -1:
+        return [heading] + body + lines
+
+    end_index = len(lines)
+    for index in range(start_index + 1, len(lines)):
+        if re.match(r"^##\s+", lines[index]):
+            end_index = index
+            break
+    return lines[:start_index] + [heading] + body + lines[end_index:]
+
+
 def _update_csharp_props_version(lines, v: str):
     for index, line in enumerate(lines):
         if "<Version>" not in line:
@@ -935,6 +1050,135 @@ def _update_swift_readme_dependency_version(lines, v: 
str):
     raise ValueError("No Swift Package dependency snippet for apache/fory.git 
found")
 
 
+def bump_release_doc_versions(new_version: str, release_version: str = None):
+    release_version = _resolve_release_doc_version(new_version, 
release_version)
+    if not release_version:
+        logger.info("Skip release documentation version update for %s", 
new_version)
+        return
+    for file in _release_doc_files():
+        _update_release_doc_file(file, release_version)
+
+
+def _resolve_release_doc_version(new_version: str, release_version: str = 
None):
+    if release_version:
+        release_version = _strip_version_prefix(release_version)
+        if not _is_release_version(release_version):
+            raise ValueError(
+                f"Invalid release documentation version: {release_version}"
+            )
+        return release_version
+    new_version = _strip_version_prefix(new_version)
+    if _is_release_version(new_version):
+        return new_version
+    dot_dev_version = _dot_dev_release_version(new_version)
+    if dot_dev_version:
+        return dot_dev_version
+    base_match = re.match(r"^(\d+)\.(\d+)\.(\d+)", new_version)
+    if not base_match:
+        return None
+    major, minor, patch = [int(part) for part in base_match.groups()]
+    if patch > 0:
+        patch -= 1
+    elif minor > 0:
+        minor -= 1
+    else:
+        return None
+    return f"{major}.{minor}.{patch}"
+
+
+def _dot_dev_release_version(v: str):
+    match = re.match(r"^(\d+\.\d+\.(\d+))\.dev\d*$", v, flags=re.IGNORECASE)
+    if match and int(match.group(2)) > 0:
+        return match.group(1)
+    return None
+
+
+def _release_doc_files():
+    for root in RELEASE_DOC_ROOTS:
+        path = os.path.join(PROJECT_ROOT_DIR, root)
+        if os.path.isfile(path):
+            yield path
+            continue
+        if not os.path.isdir(path):
+            continue
+        for dirpath, dirnames, filenames in os.walk(path):
+            dirnames[:] = [
+                name
+                for name in dirnames
+                if name not in {"build", "node_modules", "target"}
+            ]
+            for filename in sorted(filenames):
+                if filename.endswith(RELEASE_DOC_EXTS):
+                    yield os.path.join(dirpath, filename)
+
+
+def _update_release_doc_file(file, release_version):
+    with open(file, "r") as f:
+        lines = f.readlines()
+    updated = _update_release_doc_lines(lines, release_version)
+    if updated == lines:
+        return
+    with open(file, "w") as f:
+        f.write("".join(updated))
+
+
+def _update_release_doc_lines(lines, release_version):
+    updated = []
+    in_dependency_block = False
+    in_fory_dependency = False
+    for line in lines:
+        if "<dependency>" in line:
+            in_dependency_block = True
+            in_fory_dependency = False
+        if in_dependency_block and "org.apache.fory" in line:
+            in_fory_dependency = True
+        if in_fory_dependency and "<version>" in line:
+            line = re.sub(VERSION_PATTERN, release_version, line)
+            in_fory_dependency = False
+        else:
+            line = _update_release_doc_line(line, release_version)
+        if "</dependency>" in line:
+            in_dependency_block = False
+            in_fory_dependency = False
+        updated.append(line)
+    return updated
+
+
+def _update_release_doc_line(line, release_version):
+    if not _is_release_doc_line(line):
+        return line
+    if "crates.io-v" in line:
+        return re.sub(
+            r"(crates\.io-v)" + VERSION_PATTERN + r"(?:-blue)?",
+            r"\g<1>" + release_version + "-blue",
+            line,
+        )
+    return re.sub(VERSION_PATTERN, release_version, line)
+
+
+def _is_release_doc_line(line):
+    return (
+        "crates.io-v" in line
+        or "https://crates.io/crates/fory"; in line
+        or "org.apache.fory" in line
+        or "Apache.Fory" in line
+        or "dart pub add fory" in line
+        or re.search(r"^\s*fory\s*[:=]", line)
+        or "https://github.com/apache/fory.git"; in line
+        or 'bazel_dep(name = "fory"' in line
+        or 'git_override(module_name = "fory"' in line
+        or re.search(r"\bGIT_TAG\s+v" + VERSION_PATTERN, line)
+        or re.search(r'\bcommit\s*=\s*"v' + VERSION_PATTERN, line)
+    )
+
+
+def _strip_version_prefix(v: str) -> str:
+    v = v.strip()
+    if v.startswith("v"):
+        return v[1:]
+    return v
+
+
 def _normalize_python_version(v: str) -> str:
     v = v.strip()
     v = re.sub(r"(?i)-?snapshot$", ".dev0", v)
@@ -1048,6 +1292,13 @@ def _parse_args():
     )
     bump_version_parser.add_argument("-version", type=str, help="new version")
     bump_version_parser.add_argument("-l", type=str, help="language")
+    bump_version_parser.add_argument(
+        "-release-version",
+        dest="release_version",
+        type=str,
+        default=None,
+        help="released version to write in user-facing documentation",
+    )
     bump_version_parser.set_defaults(func=bump_version)
 
     prepare_parser = subparsers.add_parser(
diff --git a/compiler/fory_compiler/__init__.py 
b/compiler/fory_compiler/__init__.py
index c0d0b1cb7..fa03a075d 100644
--- a/compiler/fory_compiler/__init__.py
+++ b/compiler/fory_compiler/__init__.py
@@ -17,7 +17,7 @@
 
 """Fory IDL compiler for Apache Fory."""
 
-__version__ = "1.3.0.dev0"
+__version__ = "1.4.0.dev0"
 
 from fory_compiler.ir.ast import Schema, Message, Enum, Field, EnumValue, 
Import
 from fory_compiler.frontend.fdl import FDLFrontend
diff --git a/compiler/pyproject.toml b/compiler/pyproject.toml
index 74a2916c6..5809bda17 100644
--- a/compiler/pyproject.toml
+++ b/compiler/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "fory-compiler"
-version = "1.3.0.dev0"
+version = "1.4.0.dev0"
 description = "FDL (Fory Definition Language) compiler for Apache Fory 
cross-language serialization"
 readme = "README.md"
 license = {text = "Apache-2.0"}
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index bca7f8858..bd8091c5a 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -18,7 +18,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(fory
-    VERSION 1.3.0
+    VERSION 1.4.0
     DESCRIPTION "Apache Fory - A blazingly fast multi-language serialization 
framework"
     LANGUAGES CXX
 )
diff --git a/csharp/Directory.Build.props b/csharp/Directory.Build.props
index 8891552bd..812f6aeeb 100644
--- a/csharp/Directory.Build.props
+++ b/csharp/Directory.Build.props
@@ -1,6 +1,6 @@
 <Project>
   <PropertyGroup>
-    <Version>1.3.0-dev</Version>
+    <Version>1.4.0-dev</Version>
     <Authors>Apache Software Foundation</Authors>
     <Company>Apache Software Foundation</Company>
     <Description>Apache Fory for .NET provides high-performance cross-language 
serialization with source-generated serializers and schema evolution 
support.</Description>
diff --git a/csharp/README.md b/csharp/README.md
index 31ae77433..bf969ee25 100644
--- a/csharp/README.md
+++ b/csharp/README.md
@@ -31,7 +31,7 @@ From NuGet, reference the single `Apache.Fory` package. It 
includes the Fory lib
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.2.0" />
+  <PackageReference Include="Apache.Fory" Version="1.3.0" />
 </ItemGroup>
 ```
 
diff --git a/dart/CHANGELOG.md b/dart/CHANGELOG.md
index 3e82e3a25..ac449a6d8 100644
--- a/dart/CHANGELOG.md
+++ b/dart/CHANGELOG.md
@@ -1,6 +1,10 @@
-## 1.3.0-dev
+## 1.4.0-dev
 
-- Start the next Dart workspace development cycle after the 1.2.0 release.
+- Start the next Dart workspace development cycle after the 1.3.0 release.
+
+## 1.3.0
+
+- Align the Dart workspace version with the Apache Fory 1.3.0 release.
 
 ## 1.2.0
 
diff --git a/dart/packages/fory-test/pubspec.yaml 
b/dart/packages/fory-test/pubspec.yaml
index 9e44aed63..bf9bace99 100644
--- a/dart/packages/fory-test/pubspec.yaml
+++ b/dart/packages/fory-test/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory_test
 description: Apache Fory Dart consumer and integration tests
-version: 1.3.0-dev
+version: 1.4.0-dev
 
 resolution: workspace
 
@@ -25,7 +25,7 @@ environment:
   sdk: ^3.7.0
 
 dependencies:
-  fory: 1.3.0-dev
+  fory: 1.4.0-dev
 
 dev_dependencies:
   build_runner: '>=2.7.0 <3.0.0'
diff --git a/dart/packages/fory/CHANGELOG.md b/dart/packages/fory/CHANGELOG.md
index 88e57863e..ba07142fc 100644
--- a/dart/packages/fory/CHANGELOG.md
+++ b/dart/packages/fory/CHANGELOG.md
@@ -1,6 +1,10 @@
-## 1.3.0-dev
+## 1.4.0-dev
 
-- Start the next development cycle after the 1.2.0 release.
+- Start the next development cycle after the 1.3.0 release.
+
+## 1.3.0
+
+- Release Apache Fory Dart 1.3.0.
 
 ## 1.2.0
 
diff --git a/dart/packages/fory/README.md b/dart/packages/fory/README.md
index 86c505766..ecca2ef79 100644
--- a/dart/packages/fory/README.md
+++ b/dart/packages/fory/README.md
@@ -23,7 +23,7 @@ Add `fory` to your package dependencies.
 
 ```yaml
 dependencies:
-  fory: ^1.2.0
+  fory: ^1.3.0
 
 dev_dependencies:
   build_runner: ^2.4.13
diff --git a/dart/packages/fory/pubspec.yaml b/dart/packages/fory/pubspec.yaml
index ff53ef40d..3b182a0d8 100644
--- a/dart/packages/fory/pubspec.yaml
+++ b/dart/packages/fory/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory
 description: Cross-language Apache Fory runtime for Dart with generated 
serializers, schema evolution, and custom type support.
-version: 1.3.0-dev
+version: 1.4.0-dev
 homepage: https://github.com/apache/fory
 repository: https://github.com/apache/fory/tree/main/dart/packages/fory
 issue_tracker: https://github.com/apache/fory/issues
diff --git a/dart/pubspec.yaml b/dart/pubspec.yaml
index 5c8c3e473..95848fd28 100644
--- a/dart/pubspec.yaml
+++ b/dart/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory_dart
 description: Apache Fory Dart workspace for the runtime package, generated 
serializers, and integration tests.
-version: 1.3.0-dev
+version: 1.4.0-dev
 # repository: https://github.com/my_org/my_repo
 
 environment:
@@ -25,7 +25,7 @@ environment:
 
 # Add regular dependencies here.
 dependencies:
-  fory: 1.3.0-dev
+  fory: 1.4.0-dev
   build_runner: '>=2.7.0 <3.0.0'
 dev_dependencies:
   lints: ^6.1.0
diff --git a/docs/compiler/compiler-guide.md b/docs/compiler/compiler-guide.md
index 89a2427b6..184b48cc4 100644
--- a/docs/compiler/compiler-guide.md
+++ b/docs/compiler/compiler-guide.md
@@ -719,7 +719,7 @@ Add the Fory dependency to `pubspec.yaml`:
 
 ```yaml
 dependencies:
-  fory: ^1.2.0
+  fory: ^1.3.0
 
 dev_dependencies:
   build_runner: ^2.4.0
@@ -911,5 +911,5 @@ fory = "x.y.z"
 
 ```yaml
 dependencies:
-  fory: ^1.2.0
+  fory: ^1.3.0
 ```
diff --git a/docs/guide/cpp/index.md b/docs/guide/cpp/index.md
index bc55650bb..5f73481b6 100644
--- a/docs/guide/cpp/index.md
+++ b/docs/guide/cpp/index.md
@@ -63,7 +63,7 @@ include(FetchContent)
 FetchContent_Declare(
     fory
     GIT_REPOSITORY https://github.com/apache/fory.git
-    GIT_TAG        v1.2.0
+    GIT_TAG        v1.3.0
     SOURCE_SUBDIR  cpp
 )
 FetchContent_MakeAvailable(fory)
@@ -93,11 +93,11 @@ module(
 
 bazel_dep(name = "rules_cc", version = "0.1.1")
 
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git";,
-    commit = "v1.2.0",  # Or use a specific commit hash for reproducibility
+    commit = "v1.3.0",  # Or use a specific commit hash for reproducibility
 )
 ```
 
@@ -129,7 +129,7 @@ bazel run //:my_app
 For local development, you can use `local_path_override` instead:
 
 ```bazel
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 local_path_override(
     module_name = "fory",
     path = "/path/to/fory",
diff --git a/docs/guide/csharp/grpc-support.md 
b/docs/guide/csharp/grpc-support.md
index e017664c4..daf2c4fe6 100644
--- a/docs/guide/csharp/grpc-support.md
+++ b/docs/guide/csharp/grpc-support.md
@@ -39,7 +39,7 @@ Server project:
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.2.0" />
+  <PackageReference Include="Apache.Fory" Version="1.3.0" />
   <PackageReference Include="Grpc.AspNetCore" Version="2.71.0" />
 </ItemGroup>
 ```
@@ -48,7 +48,7 @@ Client project:
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.2.0" />
+  <PackageReference Include="Apache.Fory" Version="1.3.0" />
   <PackageReference Include="Grpc.Core.Api" Version="2.71.0" />
   <PackageReference Include="Grpc.Net.Client" Version="2.71.0" />
 </ItemGroup>
diff --git a/docs/guide/csharp/index.md b/docs/guide/csharp/index.md
index 7e5869275..e808d7bf1 100644
--- a/docs/guide/csharp/index.md
+++ b/docs/guide/csharp/index.md
@@ -44,7 +44,7 @@ Reference the single `Apache.Fory` package. It includes the 
Fory library and the
 
 ```xml
 <ItemGroup>
-  <PackageReference Include="Apache.Fory" Version="1.2.0" />
+  <PackageReference Include="Apache.Fory" Version="1.3.0" />
 </ItemGroup>
 ```
 
diff --git a/docs/guide/dart/grpc-support.md b/docs/guide/dart/grpc-support.md
index cda566adc..c8eb6a3b4 100644
--- a/docs/guide/dart/grpc-support.md
+++ b/docs/guide/dart/grpc-support.md
@@ -38,7 +38,7 @@ application that compiles or runs generated service 
companions:
 
 ```yaml
 dependencies:
-  fory: ^1.1.0
+  fory: ^1.3.0
   grpc: ^4.0.0
 
 dev_dependencies:
diff --git a/docs/guide/dart/index.md b/docs/guide/dart/index.md
index d779afc99..19bd363d1 100644
--- a/docs/guide/dart/index.md
+++ b/docs/guide/dart/index.md
@@ -46,7 +46,7 @@ Add the dependency to your `pubspec.yaml`:
 
 ```yaml
 dependencies:
-  fory: ^1.2.0
+  fory: ^1.3.0
 
 dev_dependencies:
   build_runner: ^2.4.0
diff --git a/docs/guide/java/index.md b/docs/guide/java/index.md
index 3e18de872..bf09b4e86 100644
--- a/docs/guide/java/index.md
+++ b/docs/guide/java/index.md
@@ -58,14 +58,14 @@ Apache Fory™ provides blazingly fast Java object 
serialization with JIT compil
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 ```
 
 ### Gradle
 
 ```kotlin
-implementation("org.apache.fory:fory-core:1.2.0")
+implementation("org.apache.fory:fory-core:1.3.0")
 ```
 
 ### JDK25+
diff --git a/docs/guide/kotlin/index.md b/docs/guide/kotlin/index.md
index 7c8a36be0..8eff5555e 100644
--- a/docs/guide/kotlin/index.md
+++ b/docs/guide/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.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 ```
 
 ### Gradle
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.2.0")
+implementation("org.apache.fory:fory-kotlin:1.3.0")
 ```
 
 ### JDK25+
diff --git a/docs/guide/rust/basic-serialization.md 
b/docs/guide/rust/basic-serialization.md
index 4f55cb586..8c2c22620 100644
--- a/docs/guide/rust/basic-serialization.md
+++ b/docs/guide/rust/basic-serialization.md
@@ -147,7 +147,7 @@ let later = timestamp.checked_add_duration(duration)?;
 
 ```toml
 [dependencies]
-fory = { version = "1.2.0", features = ["chrono"] }
+fory = { version = "1.3.0", features = ["chrono"] }
 ```
 
 ### Custom Types
diff --git a/docs/guide/rust/grpc-support.md b/docs/guide/rust/grpc-support.md
index d60989f87..f2b3ea814 100644
--- a/docs/guide/rust/grpc-support.md
+++ b/docs/guide/rust/grpc-support.md
@@ -37,7 +37,7 @@ to build streaming responses or request streams.
 
 ```toml
 [dependencies]
-fory = "1.2.0"
+fory = "1.3.0"
 bytes = "1"
 tonic = { version = "0.14", features = ["transport"] }
 tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
diff --git a/docs/guide/rust/index.md b/docs/guide/rust/index.md
index bf5a405af..7129c6a67 100644
--- a/docs/guide/rust/index.md
+++ b/docs/guide/rust/index.md
@@ -38,9 +38,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, runtime types, and derive macros         | 
[1.2.0](https://crates.io/crates/fory)        |
-| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     
| Lower-level runtime crate for advanced integrations       | 
[1.2.0](https://crates.io/crates/fory-core)   |
-| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) 
| Lower-level procedural macro crate for direct runtime use | 
[1.2.0](https://crates.io/crates/fory-derive) |
+| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                
| User-facing API, runtime types, and derive macros         | 
[1.3.0](https://crates.io/crates/fory)        |
+| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     
| Lower-level runtime crate for advanced integrations       | 
[1.3.0](https://crates.io/crates/fory-core)   |
+| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) 
| Lower-level procedural macro crate for direct runtime use | 
[1.3.0](https://crates.io/crates/fory-derive) |
 
 Most applications should depend on `fory` only. It re-exports the derive
 macros and the public runtime types needed by generated code. Use `fory-core`
@@ -53,7 +53,7 @@ Add Apache Fory™ to your `Cargo.toml`:
 
 ```toml
 [dependencies]
-fory = "1.2.0"
+fory = "1.3.0"
 ```
 
 ### Basic Example
diff --git a/docs/guide/scala/index.md b/docs/guide/scala/index.md
index 3d69867c2..94b000da6 100644
--- a/docs/guide/scala/index.md
+++ b/docs/guide/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.2.0"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.3.0"
 ```
 
 ### JDK25+
diff --git a/docs/guide/xlang/getting-started.md 
b/docs/guide/xlang/getting-started.md
index c8d2a234a..ed7cd7da9 100644
--- a/docs/guide/xlang/getting-started.md
+++ b/docs/guide/xlang/getting-started.md
@@ -31,14 +31,14 @@ This guide covers installation and basic setup for 
cross-language serialization
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 ```
 
 **Gradle:**
 
 ```gradle
-implementation 'org.apache.fory:fory-core:1.2.0'
+implementation 'org.apache.fory:fory-core:1.3.0'
 ```
 
 ### Python
@@ -57,7 +57,7 @@ go get github.com/apache/fory/go/fory
 
 ```toml
 [dependencies]
-fory = "1.2.0"
+fory = "1.3.0"
 ```
 
 ### JavaScript/TypeScript
@@ -75,13 +75,13 @@ npm install @apache-fory/core @apache-fory/hps
 ### C\#
 
 ```bash
-dotnet add package Apache.Fory --version 1.2.0
+dotnet add package Apache.Fory --version 1.3.0
 ```
 
 ### Dart
 
 ```bash
-dart pub add fory:^1.2.0
+dart pub add fory:^1.3.0
 dart pub add dev:build_runner
 ```
 
@@ -91,20 +91,20 @@ Add Fory to `Package.swift`:
 
 ```swift
 dependencies: [
-  .package(url: "https://github.com/apache/fory.git";, exact: "1.2.0")
+  .package(url: "https://github.com/apache/fory.git";, exact: "1.3.0")
 ]
 ```
 
 ### Scala
 
 ```scala
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.2.0"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.3.0"
 ```
 
 ### Kotlin
 
 ```kotlin
-implementation("org.apache.fory:fory-kotlin:1.2.0")
+implementation("org.apache.fory:fory-kotlin:1.3.0")
 ```
 
 ### C++
diff --git a/examples/cpp/hello_row/MODULE.bazel.example 
b/examples/cpp/hello_row/MODULE.bazel.example
index b752f63da..578eb114d 100644
--- a/examples/cpp/hello_row/MODULE.bazel.example
+++ b/examples/cpp/hello_row/MODULE.bazel.example
@@ -28,7 +28,7 @@ bazel_dep(name = "rules_cc", version = "0.1.1")
 
 # Fory dependency
 # Option 1: Use git_override to fetch from GitHub (recommended for external 
projects)
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git";,
@@ -36,7 +36,7 @@ git_override(
 )
 
 # Option 2: Use local_path_override for local development
-# bazel_dep(name = "fory", version = "1.2.0")
+# bazel_dep(name = "fory", version = "1.3.0")
 # local_path_override(
 #     module_name = "fory",
 #     path = "/path/to/fory",
diff --git a/examples/cpp/hello_row/README.md b/examples/cpp/hello_row/README.md
index 8684cffdd..a20b554ef 100644
--- a/examples/cpp/hello_row/README.md
+++ b/examples/cpp/hello_row/README.md
@@ -77,7 +77,7 @@ For your own project using Fory as a dependency:
 
 ```bazel
 # In your MODULE.bazel
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git";,
diff --git a/examples/cpp/hello_world/MODULE.bazel.example 
b/examples/cpp/hello_world/MODULE.bazel.example
index b752f63da..578eb114d 100644
--- a/examples/cpp/hello_world/MODULE.bazel.example
+++ b/examples/cpp/hello_world/MODULE.bazel.example
@@ -28,7 +28,7 @@ bazel_dep(name = "rules_cc", version = "0.1.1")
 
 # Fory dependency
 # Option 1: Use git_override to fetch from GitHub (recommended for external 
projects)
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git";,
@@ -36,7 +36,7 @@ git_override(
 )
 
 # Option 2: Use local_path_override for local development
-# bazel_dep(name = "fory", version = "1.2.0")
+# bazel_dep(name = "fory", version = "1.3.0")
 # local_path_override(
 #     module_name = "fory",
 #     path = "/path/to/fory",
diff --git a/examples/cpp/hello_world/README.md 
b/examples/cpp/hello_world/README.md
index 434d8fa92..f2d62d33c 100644
--- a/examples/cpp/hello_world/README.md
+++ b/examples/cpp/hello_world/README.md
@@ -70,7 +70,7 @@ For your own project using Fory as a dependency:
 
 ```bazel
 # In your MODULE.bazel
-bazel_dep(name = "fory", version = "1.2.0")
+bazel_dep(name = "fory", version = "1.3.0")
 git_override(
     module_name = "fory",
     remote = "https://github.com/apache/fory.git";,
diff --git a/go/fory/cmd/fory/main.go b/go/fory/cmd/fory/main.go
index 8e675b89b..b3bb5a1f6 100644
--- a/go/fory/cmd/fory/main.go
+++ b/go/fory/cmd/fory/main.go
@@ -36,7 +36,7 @@ var (
        versionFlag = flag.Bool("version", false, "show version information")
 )
 
-const version = "1.3.0-dev"
+const version = "1.4.0-dev"
 
 func main() {
        flag.Parse()
diff --git a/integration_tests/android_tests/README.md 
b/integration_tests/android_tests/README.md
index 2503f1fb1..17a4e8711 100644
--- a/integration_tests/android_tests/README.md
+++ b/integration_tests/android_tests/README.md
@@ -4,8 +4,8 @@ This project runs Android API 26+ instrumented tests for Java 
`fory-core`. The
 instrumented tests run against the release build type so R8/minification covers
 the static generated serializer path.
 
-The tests consume `org.apache.fory:fory-core:1.3.0-SNAPSHOT` and
-`org.apache.fory:fory-annotation-processor:1.3.0-SNAPSHOT` from the local Maven
+The tests consume `org.apache.fory:fory-core:1.4.0-SNAPSHOT` and
+`org.apache.fory:fory-annotation-processor:1.4.0-SNAPSHOT` from the local Maven
 repository, so install the Java artifacts before running Gradle:
 
 ```bash
diff --git a/integration_tests/android_tests/build.gradle 
b/integration_tests/android_tests/build.gradle
index 4ac5dfd1f..e797ae54d 100644
--- a/integration_tests/android_tests/build.gradle
+++ b/integration_tests/android_tests/build.gradle
@@ -82,11 +82,11 @@ android {
 }
 
 dependencies {
-    implementation('org.apache.fory:fory-core:1.3.0-SNAPSHOT') {
+    implementation('org.apache.fory:fory-core:1.4.0-SNAPSHOT') {
         exclude group: 'com.google.guava', module: 'guava'
         exclude group: 'org.codehaus.janino', module: 'janino'
     }
-    annotationProcessor 
'org.apache.fory:fory-annotation-processor:1.3.0-SNAPSHOT'
+    annotationProcessor 
'org.apache.fory:fory-annotation-processor:1.4.0-SNAPSHOT'
     implementation 'com.google.guava:guava:32.1.2-android'
     implementation 'org.slf4j:slf4j-api:2.0.12'
 
diff --git a/integration_tests/graalvm_tests/pom.xml 
b/integration_tests/graalvm_tests/pom.xml
index 71b78157a..716ae5776 100644
--- a/integration_tests/graalvm_tests/pom.xml
+++ b/integration_tests/graalvm_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/grpc_tests/java/pom.xml 
b/integration_tests/grpc_tests/java/pom.xml
index ae7548a88..375cbd821 100644
--- a/integration_tests/grpc_tests/java/pom.xml
+++ b/integration_tests/grpc_tests/java/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/grpc_tests/kotlin/pom.xml 
b/integration_tests/grpc_tests/kotlin/pom.xml
index 5809e77a6..d62e2238b 100644
--- a/integration_tests/grpc_tests/kotlin/pom.xml
+++ b/integration_tests/grpc_tests/kotlin/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.fory</groupId>
         <artifactId>fory-kotlin-parent</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../kotlin/pom.xml</relativePath>
     </parent>
 
diff --git a/integration_tests/grpc_tests/python/pyproject.toml 
b/integration_tests/grpc_tests/python/pyproject.toml
index de8858ea9..dc2b9baa0 100644
--- a/integration_tests/grpc_tests/python/pyproject.toml
+++ b/integration_tests/grpc_tests/python/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "fory-grpc-tests"
-version = "1.3.0.dev0"
+version = "1.4.0.dev0"
 description = "gRPC compiler integration tests for Apache Fory"
 requires-python = ">=3.8"
 license = {text = "Apache-2.0"}
diff --git a/integration_tests/grpc_tests/rust/Cargo.toml 
b/integration_tests/grpc_tests/rust/Cargo.toml
index 6d13f6f13..876d9ba68 100644
--- a/integration_tests/grpc_tests/rust/Cargo.toml
+++ b/integration_tests/grpc_tests/rust/Cargo.toml
@@ -23,7 +23,7 @@ members = [
 resolver = "2"
 
 [workspace.package]
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 edition = "2021"
 license = "Apache-2.0"
 
diff --git a/integration_tests/idl_tests/cpp/CMakeLists.txt 
b/integration_tests/idl_tests/cpp/CMakeLists.txt
index da438ac62..315be71a0 100644
--- a/integration_tests/idl_tests/cpp/CMakeLists.txt
+++ b/integration_tests/idl_tests/cpp/CMakeLists.txt
@@ -18,7 +18,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(fory_idl_tests
-    VERSION 1.3.0
+    VERSION 1.4.0
     DESCRIPTION "Fory IDL compiler integration tests"
     LANGUAGES CXX
 )
diff --git a/integration_tests/idl_tests/dart/pubspec.yaml 
b/integration_tests/idl_tests/dart/pubspec.yaml
index fe2b0381c..b49f738f8 100644
--- a/integration_tests/idl_tests/dart/pubspec.yaml
+++ b/integration_tests/idl_tests/dart/pubspec.yaml
@@ -1,5 +1,5 @@
 name: idl_dart_tests
-version: 1.3.0-dev
+version: 1.4.0-dev
 publish_to: none
 
 environment:
diff --git a/integration_tests/idl_tests/go/go.mod 
b/integration_tests/idl_tests/go/go.mod
index 95ded36a1..0ae2fa52c 100644
--- a/integration_tests/idl_tests/go/go.mod
+++ b/integration_tests/idl_tests/go/go.mod
@@ -19,7 +19,7 @@ module github.com/apache/fory/integration_tests/idl_tests/go
 
 go 1.25.0
 
-require github.com/apache/fory/go/fory v1.3.0-alpha.0
+require github.com/apache/fory/go/fory v1.4.0-alpha.0
 
 require github.com/spaolacci/murmur3 v1.1.0 // indirect
 
diff --git a/integration_tests/idl_tests/java/pom.xml 
b/integration_tests/idl_tests/java/pom.xml
index 4278bfd17..f0a277b26 100644
--- a/integration_tests/idl_tests/java/pom.xml
+++ b/integration_tests/idl_tests/java/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/idl_tests/javascript/package.json 
b/integration_tests/idl_tests/javascript/package.json
index af55a8ec8..edd5142a5 100644
--- a/integration_tests/idl_tests/javascript/package.json
+++ b/integration_tests/idl_tests/javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "fory-idl-tests",
-  "version": "1.3.0-alpha.0",
+  "version": "1.4.0-alpha.0",
   "description": "Fory IDL integration tests for JavaScript",
   "main": "index.js",
   "scripts": {
diff --git a/integration_tests/idl_tests/kotlin/pom.xml 
b/integration_tests/idl_tests/kotlin/pom.xml
index 10679a52f..6e6d58a27 100644
--- a/integration_tests/idl_tests/kotlin/pom.xml
+++ b/integration_tests/idl_tests/kotlin/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.fory</groupId>
         <artifactId>fory-kotlin-parent</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
         <relativePath>../../../kotlin/pom.xml</relativePath>
     </parent>
 
diff --git a/integration_tests/idl_tests/python/pyproject.toml 
b/integration_tests/idl_tests/python/pyproject.toml
index 2817ab6c0..aab3d7491 100644
--- a/integration_tests/idl_tests/python/pyproject.toml
+++ b/integration_tests/idl_tests/python/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "fory-idl-tests"
-version = "1.3.0.dev0"
+version = "1.4.0.dev0"
 description = "IDL compiler integration tests for Apache Fory"
 readme = "README.md"
 requires-python = ">=3.8"
diff --git a/integration_tests/idl_tests/rust/Cargo.lock 
b/integration_tests/idl_tests/rust/Cargo.lock
index c9329fe2b..01f0f0367 100644
--- a/integration_tests/idl_tests/rust/Cargo.lock
+++ b/integration_tests/idl_tests/rust/Cargo.lock
@@ -78,7 +78,7 @@ checksum = 
"8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db"
 
 [[package]]
 name = "fory"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 dependencies = [
  "fory-core",
  "fory-derive",
@@ -86,7 +86,7 @@ dependencies = [
 
 [[package]]
 name = "fory-core"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 dependencies = [
  "byteorder",
  "chrono",
@@ -99,7 +99,7 @@ dependencies = [
 
 [[package]]
 name = "fory-derive"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 dependencies = [
  "fory-core",
  "proc-macro-crate",
@@ -140,7 +140,7 @@ dependencies = [
 
 [[package]]
 name = "idl_tests"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 dependencies = [
  "chrono",
  "fory",
diff --git a/integration_tests/idl_tests/rust/Cargo.toml 
b/integration_tests/idl_tests/rust/Cargo.toml
index 845654d8d..2c2ea7ada 100644
--- a/integration_tests/idl_tests/rust/Cargo.toml
+++ b/integration_tests/idl_tests/rust/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "idl_tests"
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 edition = "2021"
 license = "Apache-2.0"
 
diff --git a/integration_tests/jdk_compatibility_tests/pom.xml 
b/integration_tests/jdk_compatibility_tests/pom.xml
index cd3210a12..a4456c017 100644
--- a/integration_tests/jdk_compatibility_tests/pom.xml
+++ b/integration_tests/jdk_compatibility_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/jpms_tests/pom.xml 
b/integration_tests/jpms_tests/pom.xml
index 4341f7ccf..2d504c163 100644
--- a/integration_tests/jpms_tests/pom.xml
+++ b/integration_tests/jpms_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/java/README.md b/java/README.md
index a0f81a64c..7947780c5 100644
--- a/java/README.md
+++ b/java/README.md
@@ -60,21 +60,21 @@ Apache Fory™ Java provides blazingly-fast serialization for 
the Java ecosystem
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-core</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 
 <!-- Optional: Row format support -->
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-format</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 
 <!-- Optional: Serializers for Protobuf data -->
 <dependency>
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-extensions</artifactId>
-  <version>1.2.0</version>
+  <version>1.3.0</version>
 </dependency>
 
 ```
@@ -83,10 +83,10 @@ Apache Fory™ Java provides blazingly-fast serialization for 
the Java ecosystem
 
 ```gradle
 dependencies {
-    implementation 'org.apache.fory:fory-core:1.2.0'
+    implementation 'org.apache.fory:fory-core:1.3.0'
     // Optional modules
-    implementation 'org.apache.fory:fory-format:1.2.0'
-    implementation 'org.apache.fory:fory-extensions:1.2.0'
+    implementation 'org.apache.fory:fory-format:1.3.0'
+    implementation 'org.apache.fory:fory-extensions:1.3.0'
 }
 ```
 
diff --git a/java/fory-annotation-processor/pom.xml 
b/java/fory-annotation-processor/pom.xml
index ecdbe4320..137f2b3a5 100644
--- a/java/fory-annotation-processor/pom.xml
+++ b/java/fory-annotation-processor/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-core/pom.xml b/java/fory-core/pom.xml
index 735affa28..bcac6e668 100644
--- a/java/fory-core/pom.xml
+++ b/java/fory-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-extensions/pom.xml b/java/fory-extensions/pom.xml
index b1d3a69b4..b6ea580c0 100644
--- a/java/fory-extensions/pom.xml
+++ b/java/fory-extensions/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-format/pom.xml b/java/fory-format/pom.xml
index f70ecc23a..34886797d 100644
--- a/java/fory-format/pom.xml
+++ b/java/fory-format/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-graalvm-feature/pom.xml 
b/java/fory-graalvm-feature/pom.xml
index 8059865d5..9e875b4a9 100644
--- a/java/fory-graalvm-feature/pom.xml
+++ b/java/fory-graalvm-feature/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/java/fory-json/pom.xml b/java/fory-json/pom.xml
index 1425c3e3f..bfaca0bda 100644
--- a/java/fory-json/pom.xml
+++ b/java/fory-json/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-latest-jdk-tests/pom.xml 
b/java/fory-latest-jdk-tests/pom.xml
index dea85ee00..08a1e9baa 100644
--- a/java/fory-latest-jdk-tests/pom.xml
+++ b/java/fory-latest-jdk-tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>fory-latest-jdk-tests</artifactId>
diff --git a/java/fory-test-core/pom.xml b/java/fory-test-core/pom.xml
index 5c51cd383..461f9bbce 100644
--- a/java/fory-test-core/pom.xml
+++ b/java/fory-test-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-testsuite/pom.xml b/java/fory-testsuite/pom.xml
index 5d4d9e46b..0a8bb1c4d 100644
--- a/java/fory-testsuite/pom.xml
+++ b/java/fory-testsuite/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/pom.xml b/java/pom.xml
index 1be1d25b6..b14222728 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -33,7 +33,7 @@
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-parent</artifactId>
   <packaging>pom</packaging>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.4.0-SNAPSHOT</version>
   <name>Fory Project Parent POM</name>
   <description>
     Apache Fory™ is a blazingly fast multi-language serialization framework 
powered by jit and zero-copy.
diff --git a/javascript/package-lock.json b/javascript/package-lock.json
index d582e3812..d89c865a4 100644
--- a/javascript/package-lock.json
+++ b/javascript/package-lock.json
@@ -6922,7 +6922,7 @@
     },
     "packages/core": {
       "name": "@apache-fory/core",
-      "version": "1.3.0-alpha.0",
+      "version": "1.4.0-alpha.0",
       "license": "Apache-2.0",
       "workspaces": [
         "packages/hps"
@@ -6959,7 +6959,7 @@
     },
     "packages/hps": {
       "name": "@apache-fory/hps",
-      "version": "1.3.0-alpha.0",
+      "version": "1.4.0-alpha.0",
       "hasInstallScript": true,
       "license": "Apache-2.0",
       "dependencies": {
diff --git a/javascript/packages/core/package.json 
b/javascript/packages/core/package.json
index 49b28b3d6..ea7fabda1 100644
--- a/javascript/packages/core/package.json
+++ b/javascript/packages/core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apache-fory/core",
-  "version": "1.3.0-alpha.0",
+  "version": "1.4.0-alpha.0",
   "description": "Apache Fory™ is a blazingly fast multi-language 
serialization framework powered by jit and zero-copy",
   "homepage": "https://fory.apache.org/docs/guide/javascript";,
   "main": "dist/index.js",
diff --git a/javascript/packages/hps/package.json 
b/javascript/packages/hps/package.json
index f76e09945..7590e53fa 100644
--- a/javascript/packages/hps/package.json
+++ b/javascript/packages/hps/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apache-fory/hps",
-  "version": "1.3.0-alpha.0",
+  "version": "1.4.0-alpha.0",
   "description": "Apache Fory™ nodejs high-performance suite",
   "homepage": "https://fory.apache.org/docs/guide/javascript";,
   "main": "dist/index.js",
diff --git a/kotlin/fory-kotlin-ksp/pom.xml b/kotlin/fory-kotlin-ksp/pom.xml
index 3518c31e0..b0dd455ae 100644
--- a/kotlin/fory-kotlin-ksp/pom.xml
+++ b/kotlin/fory-kotlin-ksp/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.fory</groupId>
         <artifactId>fory-kotlin-parent</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/kotlin/fory-kotlin-tests/pom.xml b/kotlin/fory-kotlin-tests/pom.xml
index 538f8b4bf..71f371754 100644
--- a/kotlin/fory-kotlin-tests/pom.xml
+++ b/kotlin/fory-kotlin-tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.fory</groupId>
         <artifactId>fory-kotlin-parent</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/kotlin/fory-kotlin/pom.xml b/kotlin/fory-kotlin/pom.xml
index bad5cf461..bfcb2a173 100644
--- a/kotlin/fory-kotlin/pom.xml
+++ b/kotlin/fory-kotlin/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.fory</groupId>
         <artifactId>fory-kotlin-parent</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.4.0-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/kotlin/pom.xml b/kotlin/pom.xml
index 0807429f3..2ea96be8a 100644
--- a/kotlin/pom.xml
+++ b/kotlin/pom.xml
@@ -31,7 +31,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-kotlin-parent</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <version>1.4.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/python/pyfory/__init__.py b/python/pyfory/__init__.py
index f99a06835..b1f5b62d9 100644
--- a/python/pyfory/__init__.py
+++ b/python/pyfory/__init__.py
@@ -135,7 +135,7 @@ from pyfory.type_util import (  # noqa: F401 # pylint: 
disable=unused-import
 )
 from pyfory.policy import DeserializationPolicy  # noqa: F401 # pylint: 
disable=unused-import
 
-__version__ = "1.3.0.dev0"
+__version__ = "1.4.0.dev0"
 
 __all__ = [
     # Core classes
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index c2fd0463c..69d70a027 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -32,7 +32,7 @@ exclude = [
 resolver = "2"
 
 [workspace.package]
-version = "1.3.0-alpha.0"
+version = "1.4.0-alpha.0"
 rust-version = "1.70"
 description = "Apache Fory: Blazingly fast multi-language serialization 
framework with trait objects and reference support."
 license = "Apache-2.0"
@@ -44,5 +44,5 @@ keywords = ["serialization", "serde", "trait-object", 
"zero-copy", "schema-evolu
 categories = ["encoding"]
 
 [workspace.dependencies]
-fory-core = { path = "fory-core", version = "1.3.0-alpha.0" }
-fory-derive = { path = "fory-derive", version = "1.3.0-alpha.0" }
+fory-core = { path = "fory-core", version = "1.4.0-alpha.0" }
+fory-derive = { path = "fory-derive", version = "1.4.0-alpha.0" }
diff --git a/rust/README.md b/rust/README.md
index 293958971..d453f64e0 100644
--- a/rust/README.md
+++ b/rust/README.md
@@ -1,6 +1,6 @@
 # Apache Fory™ Rust
 
-[![Crates.io](https://img.shields.io/badge/crates.io-v1.2.0-blue?logo=rust)](https://crates.io/crates/fory)
+[![Crates.io](https://img.shields.io/badge/crates.io-v1.3.0-blue?logo=rust)](https://crates.io/crates/fory)
 [![Documentation](https://docs.rs/fory/badge.svg)](https://docs.rs/fory)
 
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/apache/fory/blob/main/LICENSE)
 
@@ -23,9 +23,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, runtime types, and derive macros         | 
[1.2.0](https://crates.io/crates/fory)        |
-| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     
| Lower-level runtime crate for advanced integrations       | 
[1.2.0](https://crates.io/crates/fory-core)   |
-| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) 
| Lower-level procedural macro crate for direct runtime use | 
[1.2.0](https://crates.io/crates/fory-derive) |
+| [`fory`](https://github.com/apache/fory/blob/main/rust/fory)                
| User-facing API, runtime types, and derive macros         | 
[1.3.0](https://crates.io/crates/fory)        |
+| [`fory-core`](https://github.com/apache/fory/blob/main/rust/fory-core/)     
| Lower-level runtime crate for advanced integrations       | 
[1.3.0](https://crates.io/crates/fory-core)   |
+| [`fory-derive`](https://github.com/apache/fory/blob/main/rust/fory-derive/) 
| Lower-level procedural macro crate for direct runtime use | 
[1.3.0](https://crates.io/crates/fory-derive) |
 
 Most applications should depend on `fory` only. It re-exports the derive
 macros and the public runtime types needed by generated code. Use `fory-core`
@@ -38,7 +38,7 @@ Add Apache Fory™ to your `Cargo.toml`:
 
 ```toml
 [dependencies]
-fory = "1.2.0"
+fory = "1.3.0"
 ```
 
 ### Basic Example
diff --git a/scala/README.md b/scala/README.md
index a8940e812..a1149ccf6 100644
--- a/scala/README.md
+++ b/scala/README.md
@@ -163,7 +163,7 @@ val fory = ForyScala.builder().withXlang(false)
 Add the dependency with sbt:
 
 ```sbt
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.2.0"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.3.0"
 ```
 
 ## Building
diff --git a/scala/build.sbt b/scala/build.sbt
index c98d80ede..391f58349 100644
--- a/scala/build.sbt
+++ b/scala/build.sbt
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-val foryVersion = "1.3.0-SNAPSHOT"
+val foryVersion = "1.4.0-SNAPSHOT"
 val scala213Version = "2.13.15"
 ThisBuild / apacheSonatypeProjectProfile := "fory"
 version := foryVersion
diff --git a/swift/README.md b/swift/README.md
index f503a8cb8..67fed18ee 100644
--- a/swift/README.md
+++ b/swift/README.md
@@ -33,7 +33,7 @@ The Swift implementation provides high-performance object 
graph serialization wi
 
 ```swift
 dependencies: [
-    .package(url: "https://github.com/apache/fory.git";, from: "1.2.0")
+    .package(url: "https://github.com/apache/fory.git";, from: "1.3.0")
 ],
 targets: [
     .target(


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

Reply via email to