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]