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 486985d18 chore: fix bump version and add rust/comiler auto release 
(#3257)
486985d18 is described below

commit 486985d18d610a56ee29c4c952c41f365f3fa2b1
Author: Shawn Yang <[email protected]>
AuthorDate: Wed Feb 4 13:06:18 2026 +0800

    chore: fix bump version and add rust/comiler auto release (#3257)
    
    ## Why?
    
    - Current version bumping does not cover all languages and does not
    normalize prerelease formats consistently.
    - Compiler and Rust releases are not automated on tag pushes.
    
    ## What does this PR do?
    
    - Adds release workflows for the compiler (PyPI/TestPyPI) and Rust
    crates on tag pushes.
    - Expands `ci/release.py` to bump versions for cpp/go/dart/compiler and
    normalize version strings per ecosystem.
    - Aligns versions in benchmarks and IDL test packages; enables
    compatibility mode in the Rust benchmark serializer.
    
    ## Related issues
    
    
    
    ## 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
---
 .github/workflows/release-compiler.yaml           |  73 ++++++
 .github/workflows/release-rust.yaml               |  76 ++++++
 benchmarks/cpp_benchmark/CMakeLists.txt           |   2 +-
 benchmarks/go_benchmark/go.mod                    |   2 +-
 benchmarks/rust_benchmark/Cargo.toml              |   2 +-
 benchmarks/rust_benchmark/src/serializers/fory.rs |   2 +-
 ci/release.py                                     | 300 ++++++++++++++++++++--
 compiler/fory_compiler/__init__.py                |   2 +-
 compiler/pyproject.toml                           |   2 +-
 dart/packages/fory-test/pubspec.yaml              |   4 +-
 dart/packages/fory/pubspec.yaml                   |   2 +-
 dart/pubspec.yaml                                 |   4 +-
 integration_tests/idl_tests/cpp/CMakeLists.txt    |   2 +-
 integration_tests/idl_tests/go/go.mod             |   2 +-
 integration_tests/idl_tests/python/pyproject.toml |   2 +-
 integration_tests/idl_tests/rust/Cargo.toml       |   2 +-
 javascript/packages/fory/package.json             |   2 +-
 javascript/packages/hps/package.json              |   2 +-
 python/pyfory/__init__.py                         |   2 +-
 rust/Cargo.toml                                   |   6 +-
 20 files changed, 454 insertions(+), 37 deletions(-)

diff --git a/.github/workflows/release-compiler.yaml 
b/.github/workflows/release-compiler.yaml
new file mode 100644
index 000000000..c9832ea86
--- /dev/null
+++ b/.github/workflows/release-compiler.yaml
@@ -0,0 +1,73 @@
+# 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.
+
+name: Publish Compiler
+run-name: "Compiler Release: ${{ github.ref_name }}"
+
+on:
+  push:
+    tags: ['v*']
+
+permissions:
+  contents: read
+  id-token: write
+
+jobs:
+  publish-compiler:
+    runs-on: ubuntu-latest
+    if: github.repository == 'apache/fory'
+    steps:
+      - uses: actions/checkout@v5
+
+      - uses: actions/setup-python@v5
+        with:
+          python-version: '3.11'
+          cache: 'pip'
+
+      - name: Bump compiler version
+        shell: bash
+        run: |
+          set -euo pipefail
+          VERSION="${{ github.ref_name }}"
+          VERSION="${VERSION#v}"
+          python ci/release.py bump_version -l compiler -version "$VERSION"
+
+      - name: Build compiler package
+        shell: bash
+        run: |
+          set -euo pipefail
+          python -m pip install --upgrade pip build
+          cd compiler
+          python -m build --sdist --wheel
+
+      - name: Publish to TestPyPI
+        uses: pypa/gh-action-pypi-publish@release/v1
+        if: ${{ contains(github.ref_name, '-') }}
+        with:
+          repository-url: https://test.pypi.org/legacy/
+          skip-existing: true
+          verbose: true
+          verify-metadata: false
+          packages-dir: compiler/dist
+
+      - name: Publish to PyPI
+        uses: pypa/gh-action-pypi-publish@release/v1
+        if: ${{ !contains(github.ref_name, '-') }}
+        with:
+          skip-existing: true
+          verify-metadata: false
+          packages-dir: compiler/dist
diff --git a/.github/workflows/release-rust.yaml 
b/.github/workflows/release-rust.yaml
new file mode 100644
index 000000000..3d332f176
--- /dev/null
+++ b/.github/workflows/release-rust.yaml
@@ -0,0 +1,76 @@
+# 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.
+
+name: Publish Rust
+run-name: "Rust Release: ${{ github.ref_name }}"
+
+on:
+  push:
+    tags: ['v*']
+
+permissions:
+  contents: read
+  id-token: write
+
+jobs:
+  publish-rust:
+    runs-on: ubuntu-latest
+    if: github.repository == 'apache/fory'
+    steps:
+      - uses: actions/checkout@v5
+
+      - uses: dtolnay/rust-toolchain@stable
+
+      - name: Bump rust version
+        shell: bash
+        run: |
+          set -euo pipefail
+          VERSION="${{ github.ref_name }}"
+          VERSION="${VERSION#v}"
+          python ci/release.py bump_version -l rust -version "$VERSION"
+
+      - name: Authenticate to crates.io
+        id: crates-io-auth
+        uses: 
rust-lang/crates-io-auth-action@b7e9a28eded4986ec6b1fa40eeee8f8f165559ec
+
+      - name: Export crates.io token
+        shell: bash
+        run: |
+          set -euo pipefail
+          set +x
+          echo "CARGO_REGISTRY_TOKEN=${{ steps.crates-io-auth.outputs.token 
}}" >> "$GITHUB_ENV"
+
+      - name: Publish fory-core
+        shell: bash
+        run: |
+          set -euo pipefail
+          cd rust
+          cargo publish -p fory-core --allow-dirty
+
+      - name: Publish fory-derive
+        shell: bash
+        run: |
+          set -euo pipefail
+          cd rust
+          cargo publish -p fory-derive --allow-dirty
+
+      - name: Publish fory
+        shell: bash
+        run: |
+          set -euo pipefail
+          cd rust
+          cargo publish -p fory --allow-dirty
diff --git a/benchmarks/cpp_benchmark/CMakeLists.txt 
b/benchmarks/cpp_benchmark/CMakeLists.txt
index aa34b66e9..0e53d2ee8 100644
--- a/benchmarks/cpp_benchmark/CMakeLists.txt
+++ b/benchmarks/cpp_benchmark/CMakeLists.txt
@@ -18,7 +18,7 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(fory_cpp_benchmark
-    VERSION 1.0.0
+    VERSION 0.15.0
     DESCRIPTION "C++ Benchmark comparing Fory and Protobuf serialization"
     LANGUAGES CXX
 )
diff --git a/benchmarks/go_benchmark/go.mod b/benchmarks/go_benchmark/go.mod
index f039c4f66..6094fd861 100644
--- a/benchmarks/go_benchmark/go.mod
+++ b/benchmarks/go_benchmark/go.mod
@@ -20,7 +20,7 @@ module github.com/apache/fory/benchmarks/go_benchmark
 go 1.24.0
 
 require (
-       github.com/apache/fory/go/fory v0.0.0
+       github.com/apache/fory/go/fory v0.15.0-alpha.0
        github.com/vmihailenco/msgpack/v5 v5.4.1
        google.golang.org/protobuf v1.36.0
 )
diff --git a/benchmarks/rust_benchmark/Cargo.toml 
b/benchmarks/rust_benchmark/Cargo.toml
index 3c66f933a..8dce9dc7e 100644
--- a/benchmarks/rust_benchmark/Cargo.toml
+++ b/benchmarks/rust_benchmark/Cargo.toml
@@ -17,7 +17,7 @@
 
 [package]
 name = "fory-benchmarks"
-version = "0.1.0"
+version = "0.15.0-alpha.0"
 edition = "2021"
 
 [[bin]]
diff --git a/benchmarks/rust_benchmark/src/serializers/fory.rs 
b/benchmarks/rust_benchmark/src/serializers/fory.rs
index f451f64f0..8038d6548 100644
--- a/benchmarks/rust_benchmark/src/serializers/fory.rs
+++ b/benchmarks/rust_benchmark/src/serializers/fory.rs
@@ -29,7 +29,7 @@ pub struct ForySerializer {
 
 impl ForySerializer {
     pub fn new() -> Self {
-        let mut fory = Fory::default();
+        let mut fory = Fory::default().compatible(true);
 
         // Register simple types
         fory.register::<SimpleStruct>(100).unwrap();
diff --git a/ci/release.py b/ci/release.py
index a19bffe79..6667cf326 100644
--- a/ci/release.py
+++ b/ci/release.py
@@ -138,35 +138,62 @@ def bump_version(**kwargs):
     new_version = kwargs["version"]
     langs = kwargs["l"]
     if langs == "all":
-        langs = ["java", "python", "javascript", "scala", "rust", "kotlin"]
+        langs = [
+            "java",
+            "python",
+            "javascript",
+            "scala",
+            "rust",
+            "kotlin",
+            "cpp",
+            "go",
+            "dart",
+            "compiler",
+        ]
     else:
         langs = langs.split(",")
     for lang in langs:
         if lang == "java":
-            bump_java_version(new_version)
+            bump_java_version(_normalize_java_version(new_version))
         elif lang == "scala":
-            _bump_version("scala", "build.sbt", new_version, 
_update_scala_version)
+            _bump_version(
+                "scala",
+                "build.sbt",
+                _normalize_java_version(new_version),
+                _update_scala_version,
+            )
         elif lang == "kotlin":
-            _bump_version("kotlin", "pom.xml", new_version, 
_update_kotlin_version)
-        elif lang == "rust":
-            _bump_version("rust", "Cargo.toml", new_version, 
_update_rust_version)
-        elif lang == "python":
             _bump_version(
-                "python/pyfory", "__init__.py", new_version, 
_update_python_version
+                "kotlin",
+                "pom.xml",
+                _normalize_java_version(new_version),
+                _update_kotlin_version,
             )
+        elif lang == "rust":
+            bump_rust_version(new_version)
+        elif lang == "python":
+            bump_python_version(new_version)
         elif lang == "javascript":
             _bump_version(
                 "javascript/packages/fory",
                 "package.json",
-                new_version,
+                _normalize_js_version(new_version),
                 _update_js_version,
             )
             _bump_version(
                 "javascript/packages/hps",
                 "package.json",
-                new_version,
+                _normalize_js_version(new_version),
                 _update_js_version,
             )
+        elif lang == "cpp":
+            bump_cpp_version(new_version)
+        elif lang == "go":
+            bump_go_version(new_version)
+        elif lang == "dart":
+            bump_dart_version(new_version)
+        elif lang == "compiler":
+            bump_compiler_version(new_version)
         else:
             raise NotImplementedError(f"Unsupported {lang}")
 
@@ -182,15 +209,18 @@ def _bump_version(path, file, new_version, func):
 
 
 def bump_java_version(new_version):
+    new_version = _normalize_java_version(new_version)
     for p in [
         "integration_tests/graalvm_tests",
         "integration_tests/jdk_compatibility_tests",
         "integration_tests/jpms_tests",
+        "integration_tests/idl_tests/java",
         "benchmarks/java_benchmark",
         "java/fory-core",
         "java/fory-format",
         "java/fory-simd",
         "java/fory-extensions",
+        "java/fory-graalvm-feature",
         "java/fory-test-core",
         "java/fory-testsuite",
         "java/fory-latest-jdk-tests",
@@ -206,6 +236,69 @@ def bump_java_version(new_version):
     _bump_version("java", "pom.xml", new_version, _update_parent_pom_version)
 
 
+def bump_python_version(new_version):
+    _bump_version("python/pyfory", "__init__.py", new_version, 
_update_python_version)
+    _bump_version(
+        "integration_tests/idl_tests/python",
+        "pyproject.toml",
+        new_version,
+        _update_pyproject_version,
+    )
+
+
+def bump_rust_version(new_version):
+    rust_version = _normalize_rust_version(new_version)
+    _bump_version("rust", "Cargo.toml", rust_version, _update_rust_version)
+    _bump_version(
+        "benchmarks/rust_benchmark",
+        "Cargo.toml",
+        rust_version,
+        _update_cargo_package_version,
+    )
+    _bump_version(
+        "integration_tests/idl_tests/rust",
+        "Cargo.toml",
+        rust_version,
+        _update_cargo_package_version,
+    )
+
+
+def bump_cpp_version(new_version):
+    for p in [
+        "cpp",
+        "benchmarks/cpp_benchmark",
+        "integration_tests/idl_tests/cpp",
+    ]:
+        _bump_version(p, "CMakeLists.txt", new_version, 
_update_cmake_project_version)
+
+
+def bump_go_version(new_version):
+    for p in [
+        "benchmarks/go_benchmark",
+        "integration_tests/idl_tests/go",
+    ]:
+        _bump_version(p, "go.mod", new_version, _update_go_mod_version)
+
+
+def bump_dart_version(new_version):
+    for p in [
+        "dart",
+        "dart/packages/fory",
+        "dart/packages/fory-test",
+    ]:
+        _bump_version(p, "pubspec.yaml", new_version, _update_pubspec_version)
+
+
+def bump_compiler_version(new_version):
+    _bump_version("compiler", "pyproject.toml", new_version, 
_update_pyproject_version)
+    _bump_version(
+        "compiler/fory_compiler",
+        "__init__.py",
+        new_version,
+        _update_python_version,
+    )
+
+
 def _update_pom_parent_version(lines, new_version):
     start_index, end_index = -1, -1
     for i, line in enumerate(lines):
@@ -226,6 +319,7 @@ def _update_pom_parent_version(lines, new_version):
 
 
 def _update_scala_version(lines, v):
+    v = _normalize_java_version(v)
     for index, line in enumerate(lines):
         if "foryVersion = " in line:
             lines[index] = f'val foryVersion = "{v}"\n'
@@ -234,6 +328,7 @@ def _update_scala_version(lines, v):
 
 
 def _update_kotlin_version(lines, v):
+    v = _normalize_java_version(v)
     return _update_pom_version(lines, v, 
"<artifactId>fory-kotlin</artifactId>")
 
 
@@ -258,25 +353,167 @@ def _update_pom_version(lines, v, prev):
 
 
 def _update_rust_version(lines, v):
+    in_workspace_package = False
+    in_workspace_dependencies = False
     for index, line in enumerate(lines):
-        if "version = " in line:
+        stripped = line.strip()
+        if stripped == "[workspace.package]":
+            in_workspace_package = True
+            in_workspace_dependencies = False
+            continue
+        if stripped == "[workspace.dependencies]":
+            in_workspace_dependencies = True
+            in_workspace_package = False
+            continue
+        if stripped.startswith("[") and stripped.endswith("]"):
+            in_workspace_package = False
+            in_workspace_dependencies = False
+        if in_workspace_package and stripped.startswith("version = "):
             lines[index] = f'version = "{v}"\n'
-            break
+            continue
+        if in_workspace_dependencies and 
re.match(r"\s*fory(-core|-derive)?\s*=", line):
+            lines[index] = re.sub(
+                r'(version\s*=\s*")([^"]+)(")',
+                r"\g<1>" + v + r"\3",
+                line,
+            )
     return lines
 
 
 def _update_python_version(lines, v: str):
+    v = _normalize_python_version(v)
     for index, line in enumerate(lines):
         if "__version__ = " in line:
-            v = v.replace("-alpha", "a")
-            v = v.replace("-beta", "b")
-            v = v.replace("-rc", "rc")
-            v = v.replace("-", "")
             lines[index] = f'__version__ = "{v}"\n'
             break
 
 
+def _update_pyproject_version(lines, v: str):
+    v = _normalize_python_version(v)
+    in_project = False
+    for index, line in enumerate(lines):
+        stripped = line.strip()
+        if stripped == "[project]":
+            in_project = True
+            continue
+        if in_project and stripped.startswith("[") and stripped.endswith("]"):
+            in_project = False
+        if in_project and stripped.startswith("version ="):
+            lines[index] = f'version = "{v}"\n'
+            break
+    return lines
+
+
+def _update_cargo_package_version(lines, v: str):
+    in_package = False
+    for index, line in enumerate(lines):
+        stripped = line.strip()
+        if stripped == "[package]":
+            in_package = True
+            continue
+        if in_package and stripped.startswith("[") and stripped.endswith("]"):
+            in_package = False
+        if in_package and stripped.startswith("version ="):
+            lines[index] = f'version = "{v}"\n'
+            break
+    return lines
+
+
+def _update_cmake_project_version(lines, v: str):
+    cmake_version = _normalize_cmake_version(v)
+    in_project = False
+    for index, line in enumerate(lines):
+        if re.search(r"^\s*project\(", line):
+            in_project = True
+        if in_project and "VERSION" in line:
+            lines[index] = re.sub(
+                r"(VERSION\s+)([0-9]+(?:\.[0-9]+){1,2})",
+                r"\g<1>" + cmake_version,
+                line,
+            )
+        if in_project and ")" in line:
+            in_project = False
+    return lines
+
+
+def _update_go_mod_version(lines, v: str):
+    go_version = _normalize_go_version(v)
+    for index, line in enumerate(lines):
+        if "github.com/apache/fory/go/fory" not in line:
+            continue
+        lines[index] = re.sub(
+            r"(github.com/apache/fory/go/fory\s+)(v[^\s]+)",
+            r"\g<1>" + go_version,
+            line,
+        )
+    return lines
+
+
+def _update_pubspec_version(lines, v: str):
+    for index, line in enumerate(lines):
+        if re.match(r"^version\s*:", line):
+            lines[index] = f"version: {v}\n"
+            continue
+        if re.match(r"^\s*fory\s*:", line):
+            prefix = re.match(r"^(\s*fory\s*:)\s*.*", line)
+            if prefix:
+                lines[index] = f"{prefix.group(1)} {v}\n"
+    return lines
+
+
+def _normalize_python_version(v: str) -> str:
+    v = v.strip()
+    v = re.sub(r"(?i)-?snapshot$", ".dev0", v)
+    v = re.sub(r"(?i)-dev(\d+)$", r".dev\1", v)
+    v = re.sub(r"(?i)-dev$", ".dev0", v)
+    v = v.replace("-alpha", "a")
+    v = v.replace("-beta", "b")
+    v = v.replace("-rc", "rc")
+    v = v.replace("-", "")
+    return v
+
+
+def _normalize_java_version(v: str) -> str:
+    v = v.strip()
+    if re.search(r"(?i)-snapshot$", v):
+        return re.sub(r"(?i)-snapshot$", "-SNAPSHOT", v)
+    if re.search(r"(?i)(\.dev\d*|-dev\d*)$", v):
+        base = re.sub(r"(?i)(\.dev\d*|-dev\d*)$", "", v)
+        return f"{base}-SNAPSHOT"
+    return v
+
+
+def _normalize_go_version(v: str) -> str:
+    v = v.strip()
+    if v.startswith("v"):
+        v = v[1:]
+    v = re.sub(r"-(alpha|beta|rc)(\d+)$", r"-\1.\2", v)
+    if re.search(r"(?i)-(alpha|beta)\.0$", v):
+        return f"v{v}"
+    if re.search(r"(?i)-(alpha|beta|rc)\.\d+$", v):
+        return f"v{v}"
+    if re.search(r"(?i)-pre$", v):
+        return f"v{v}"
+    dev_match = re.search(r"(?i)(?:-dev|\.dev)(\d+)$", v)
+    if dev_match:
+        base = re.sub(r"(?i)(?:-dev|\.dev)\d+$", "", v)
+        return f"v{base}-alpha.{dev_match.group(1)}"
+    if re.search(r"(?i)(-snapshot|\.dev|-dev)$", v):
+        base = re.sub(r"(?i)(-snapshot|\.dev|-dev)$", "", v)
+        return f"v{base}-alpha.0"
+    return f"v{v}"
+
+
+def _normalize_cmake_version(v: str) -> str:
+    v = v.strip()
+    if v.startswith("v"):
+        v = v[1:]
+    v = re.split(r"[-+]", v, maxsplit=1)[0]
+    return v
+
+
 def _update_js_version(lines, v: str):
+    v = _normalize_js_version(v)
     for index, line in enumerate(lines):
         if "version" in line:
             # "version": "0.5.9-beta"
@@ -287,6 +524,37 @@ def _update_js_version(lines, v: str):
             break
 
 
+def _normalize_js_version(v: str) -> str:
+    v = v.strip()
+    v = re.sub(r"-(alpha|beta|rc)(\d+)$", r"-\1.\2", v)
+    dev_match = re.search(r"(?i)(?:-dev|\\.dev)(\\d+)$", v)
+    if dev_match:
+        v = re.sub(r"(?i)(?:-dev|\\.dev)\\d+$", 
f"-alpha.{dev_match.group(1)}", v)
+        return v
+    if re.search(r"(?i)(-snapshot|\\.dev|-dev)$", v):
+        v = re.sub(r"(?i)(-snapshot|\\.dev|-dev)$", "-alpha.0", v)
+    return v
+
+
+def _normalize_rust_version(v: str) -> str:
+    v = v.strip()
+    v = re.sub(r"-(alpha|beta|rc)(\d+)$", r"-\1.\2", v)
+    if re.search(r"(?i)-(alpha|beta)\.0$", v):
+        return v
+    if re.search(r"(?i)-(alpha|beta|rc)\.\d+$", v):
+        return v
+    if re.search(r"(?i)-pre$", v):
+        return v
+    dev_match = re.search(r"(?i)(?:-dev|\\.dev)(\\d+)$", v)
+    if dev_match:
+        base = re.sub(r"(?i)(?:-dev|\\.dev)\\d+$", "", v)
+        return f"{base}-alpha.{dev_match.group(1)}"
+    if re.search(r"(?i)(-snapshot|\\.dev|-dev)$", v):
+        base = re.sub(r"(?i)(-snapshot|\\.dev|-dev)$", "", v)
+        return f"{base}-alpha.0"
+    return v
+
+
 def _parse_args():
     parser = argparse.ArgumentParser(
         formatter_class=argparse.ArgumentDefaultsHelpFormatter
diff --git a/compiler/fory_compiler/__init__.py 
b/compiler/fory_compiler/__init__.py
index 918159e3a..15c3cfadd 100644
--- a/compiler/fory_compiler/__init__.py
+++ b/compiler/fory_compiler/__init__.py
@@ -17,7 +17,7 @@
 
 """Fory IDL compiler for Apache Fory."""
 
-__version__ = "0.1.0"
+__version__ = "0.15.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 28c6b074b..4bbf97986 100644
--- a/compiler/pyproject.toml
+++ b/compiler/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "fory-compiler"
-version = "0.1.0"
+version = "0.15.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/dart/packages/fory-test/pubspec.yaml 
b/dart/packages/fory-test/pubspec.yaml
index cccf5b06b..f2b121648 100644
--- a/dart/packages/fory-test/pubspec.yaml
+++ b/dart/packages/fory-test/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory_test
 description: test for fory dart
-version: 1.0.0
+version: 0.15.0-dev
 
 environment:
   sdk: ^3.6.1
@@ -25,7 +25,7 @@ environment:
 resolution: workspace
 
 dependencies:
-  fory: 1.0.0
+  fory: 0.15.0-dev
   checks: ^0.3.0
   path: ^1.9.1
   yaml: ^3.1.3
diff --git a/dart/packages/fory/pubspec.yaml b/dart/packages/fory/pubspec.yaml
index 9a931c152..33e40e5b0 100644
--- a/dart/packages/fory/pubspec.yaml
+++ b/dart/packages/fory/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory
 description: apache fory dart support
-version: 1.0.0
+version: 0.15.0-dev
 
 resolution: workspace
 
diff --git a/dart/pubspec.yaml b/dart/pubspec.yaml
index 47f6f87c7..c9b60639d 100644
--- a/dart/pubspec.yaml
+++ b/dart/pubspec.yaml
@@ -17,7 +17,7 @@
 
 name: fory_dart
 description: apache fory dart support
-version: 1.0.0
+version: 0.15.0-dev
 # repository: https://github.com/my_org/my_repo
 
 environment:
@@ -25,7 +25,7 @@ environment:
 
 # Add regular dependencies here.
 dependencies:
-  fory: 1.0.0
+  fory: 0.15.0-dev
   build_runner: ^2.4.13
 dev_dependencies:
   lints: ^5.0.0
diff --git a/integration_tests/idl_tests/cpp/CMakeLists.txt 
b/integration_tests/idl_tests/cpp/CMakeLists.txt
index cc62c14fc..49ee11121 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.0.0
+    VERSION 0.15.0
     DESCRIPTION "Fory IDL compiler integration tests"
     LANGUAGES CXX
 )
diff --git a/integration_tests/idl_tests/go/go.mod 
b/integration_tests/idl_tests/go/go.mod
index f6cde1a73..3485997f7 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.24.0
 
-require github.com/apache/fory/go/fory v0.0.0
+require github.com/apache/fory/go/fory v0.15.0-alpha.0
 
 require github.com/spaolacci/murmur3 v1.1.0 // indirect
 
diff --git a/integration_tests/idl_tests/python/pyproject.toml 
b/integration_tests/idl_tests/python/pyproject.toml
index e7ea05ac1..9e0160772 100644
--- a/integration_tests/idl_tests/python/pyproject.toml
+++ b/integration_tests/idl_tests/python/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name = "fory-idl-tests"
-version = "0.1.0"
+version = "0.15.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.toml 
b/integration_tests/idl_tests/rust/Cargo.toml
index 2c476ccaa..70144ae59 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 = "0.1.0"
+version = "0.15.0-alpha.0"
 edition = "2021"
 license = "Apache-2.0"
 
diff --git a/javascript/packages/fory/package.json 
b/javascript/packages/fory/package.json
index 9aa8a35e1..c7888c6a7 100644
--- a/javascript/packages/fory/package.json
+++ b/javascript/packages/fory/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apache-fory/fory",
-  "version": "0.14.1",
+  "version": "0.15.0-alpha.0",
   "description": "Apache Fory™ is a blazingly fast multi-language 
serialization framework powered by jit and zero-copy",
   "main": "dist/index.js",
   "scripts": {
diff --git a/javascript/packages/hps/package.json 
b/javascript/packages/hps/package.json
index b6d4e34d8..aa283a12d 100644
--- a/javascript/packages/hps/package.json
+++ b/javascript/packages/hps/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apache-fory/hps",
-  "version": "0.14.1",
+  "version": "0.15.0-alpha.0",
   "description": "Apache Fory™ nodejs high-performance suite",
   "main": "dist/index.js",
   "files": [
diff --git a/python/pyfory/__init__.py b/python/pyfory/__init__.py
index 38538981a..7fcbd1b7a 100644
--- a/python/pyfory/__init__.py
+++ b/python/pyfory/__init__.py
@@ -119,7 +119,7 @@ from pyfory.type_util import (  # noqa: F401 # pylint: 
disable=unused-import
 from pyfory.policy import DeserializationPolicy  # noqa: F401 # pylint: 
disable=unused-import
 from pyfory.buffer import Buffer  # noqa: F401 # pylint: disable=unused-import
 
-__version__ = "0.14.1.dev"
+__version__ = "0.15.0.dev0"
 
 __all__ = [
     # Core classes
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 25b4588c3..77f10f4e3 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -30,7 +30,7 @@ exclude = [
 resolver = "2"
 
 [workspace.package]
-version = "0.15.0"
+version = "0.15.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"
@@ -42,5 +42,5 @@ keywords = ["serialization", "serde", "trait-object", 
"zero-copy", "schema-evolu
 categories = ["encoding"]
 
 [workspace.dependencies]
-fory-core = { path = "fory-core", version = "0.15.0" }
-fory-derive = { path = "fory-derive", version = "0.15.0" }
+fory-core = { path = "fory-core", version = "0.15.0-alpha.0" }
+fory-derive = { path = "fory-derive", version = "0.15.0-alpha.0" }


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

Reply via email to