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/fury.git
The following commit(s) were added to refs/heads/main by this push:
new a02b0d68 chore(doc): bump release version to 0.8.0 (#1869)
a02b0d68 is described below
commit a02b0d689cce596831d165911de341c4a0bfc227
Author: Shawn Yang <[email protected]>
AuthorDate: Sat Oct 5 00:33:55 2024 -0600
chore(doc): bump release version to 0.8.0 (#1869)
## What does this PR do?
bump release version to 0.8.0
## Related issues
<!--
Is there any related issue? Please attach here.
- #xxxx0
- #xxxx1
- #xxxx2
-->
## Does this PR introduce any user-facing change?
<!--
If any user-facing interface changes, please [open an
issue](https://github.com/apache/fury/issues/new/choose) describing the
need to do so and update the document if necessary.
-->
- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?
## Benchmark
<!--
When the PR has an impact on performance (if you don't know whether the
PR will have an impact on performance, you can submit the PR first, and
if it will have impact on performance, the code reviewer will explain
it), be sure to attach a benchmark data here.
-->
---
README.md | 14 +++++++--
ci/release.py | 4 +--
docs/guide/scala_guide.md | 36 +++++++++++++++--------
integration_tests/graalvm_tests/pom.xml | 2 +-
integration_tests/jdk_compatibility_tests/pom.xml | 2 +-
integration_tests/jpms_tests/pom.xml | 2 +-
integration_tests/latest_jdk_tests/pom.xml | 2 +-
java/benchmark/pom.xml | 2 +-
java/fury-core/pom.xml | 2 +-
java/fury-format/pom.xml | 2 +-
java/fury-test-core/pom.xml | 2 +-
java/fury-testsuite/pom.xml | 2 +-
java/pom.xml | 2 +-
javascript/packages/fury/package.json | 2 +-
javascript/packages/hps/package.json | 2 +-
python/pyfury/__init__.py | 2 +-
rust/Cargo.toml | 2 +-
17 files changed, 50 insertions(+), 32 deletions(-)
diff --git a/README.md b/README.md
index ebed7352..6dd7149a 100644
--- a/README.md
+++ b/README.md
@@ -124,20 +124,28 @@ Release version:
<dependency>
<groupId>org.apache.fury</groupId>
<artifactId>fury-core</artifactId>
- <version>0.7.1</version>
+ <version>0.8.0</version>
</dependency>
<!-- row/arrow format support -->
<!-- <dependency>
<groupId>org.apache.fury</groupId>
<artifactId>fury-format</artifactId>
- <version>0.7.1</version>
+ <version>0.8.0</version>
</dependency> -->
```
### Scala
+Scala2:
+
+```sbt
+libraryDependencies += "org.apache.fury" % "fury-scala_2.13" % "0.8.0"
+```
+
+Scala3:
+
```sbt
-libraryDependencies += "org.apache.fury" % "fury-core" % "0.7.1"
+libraryDependencies += "org.apache.fury" % "fury-scala_3" % "0.8.0"
```
### Python
diff --git a/ci/release.py b/ci/release.py
index be2c8a4a..0f110461 100644
--- a/ci/release.py
+++ b/ci/release.py
@@ -223,11 +223,11 @@ def _update_rust_version(lines, v):
def _update_python_version(lines, v: str):
for index, line in enumerate(lines):
- if "version = " in line:
+ if "__version__ = " in line:
v = v.replace("-alpha", "a")
v = v.replace("-beta", "b")
v = v.replace("-rc", "rc")
- lines[index] = f'version = "{v}"\n'
+ lines[index] = f'__version__ = "{v}"\n'
break
diff --git a/docs/guide/scala_guide.md b/docs/guide/scala_guide.md
index 2f78afd6..83efd1b4 100644
--- a/docs/guide/scala_guide.md
+++ b/docs/guide/scala_guide.md
@@ -16,8 +16,16 @@ Scala 2 and 3 are both supported.
## Install
+To add a dependency on Fury scala for scala 2 with sbt, use the following:
+
```sbt
-libraryDependencies += "org.apache.fury" % "fury-core" % "0.7.1"
+libraryDependencies += "org.apache.fury" % "fury-scala_2.13" % "0.8.0"
+```
+
+To add a dependency on Fury scala for scala 3 with sbt, use the following:
+
+```sbt
+libraryDependencies += "org.apache.fury" % "fury-scala_3" % "0.8.0"
```
## Fury creation
@@ -25,11 +33,25 @@ libraryDependencies += "org.apache.fury" % "fury-core" %
"0.7.1"
When using fury for scala serialization, you should create fury at least with
following options:
```scala
+import org.apache.fury.Fury
+import org.apache.fury.serializer.scala.ScalaSerializers
+import
org.apache.fury.serializer.collection.CollectionSerializers.DefaultJavaCollectionSerializer
+
val fury = Fury.builder()
.withScalaOptimizationEnabled(true)
.requireClassRegistration(true)
.withRefTracking(true)
.build()
+
+// Register optimized fury serializers for scala
+ScalaSerializers.registerSerializers(fury)
+// serialize range as (start, step, end) instead of collection
+// this will be handled in next version automatically.
+fury.registerSerializer(classOf[Range.Inclusive],
classOf[DefaultJavaCollectionSerializer])
+fury.registerSerializer(classOf[Range.Exclusive],
classOf[DefaultJavaCollectionSerializer])
+fury.registerSerializer(classOf[NumericRange],
classOf[DefaultJavaCollectionSerializer])
+fury.registerSerializer(classOf[NumericRange.Inclusive],
classOf[DefaultJavaCollectionSerializer])
+fury.registerSerializer(classOf[NumericRange.Exclusive],
classOf[DefaultJavaCollectionSerializer])
```
Depending on the object types you serialize, you may need to register some
scala internal types:
@@ -123,15 +145,3 @@ println(fury.deserialize(fury.serialize(opt)))
val opt1: Option[Long] = None
println(fury.deserialize(fury.serialize(opt1)))
```
-
-## Performance
-
-Scala `pojo/bean/case/object` are supported by fury jit well, the performance
is as good as fury java.
-
-Scala collections and generics doesn't follow java collection framework, and
is not fully integrated with Fury JIT in current release version. The
performance won't be as good as fury collections serialization for java.
-
-The execution for scala collections will invoke Java serialization API
`writeObject/readObject/writeReplace/readResolve/readObjectNoData/Externalizable`
with fury `ObjectStream` implementation. Although
`org.apache.fury.serializer.ObjectStreamSerializer` is much faster than JDK
`ObjectOutputStream/ObjectInputStream`, but it still doesn't know how use scala
collection generics.
-
-In future we plan to provide more optimization for scala types, see
https://github.com/apache/fury/issues/682, stay tuned!
-
-Scala collections serialization is finished in
https://github.com/apache/fury/pull/1073, if you want better performance,
please use fury snapshot version.
diff --git a/integration_tests/graalvm_tests/pom.xml
b/integration_tests/graalvm_tests/pom.xml
index 5a2083d6..f0680425 100644
--- a/integration_tests/graalvm_tests/pom.xml
+++ b/integration_tests/graalvm_tests/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
<relativePath>../../java</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/jdk_compatibility_tests/pom.xml
b/integration_tests/jdk_compatibility_tests/pom.xml
index cd970438..9ee31e81 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.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.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 fec837f8..1b11d462 100644
--- a/integration_tests/jpms_tests/pom.xml
+++ b/integration_tests/jpms_tests/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
<relativePath>../../java</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/latest_jdk_tests/pom.xml
b/integration_tests/latest_jdk_tests/pom.xml
index 06e01567..548a0c1e 100644
--- a/integration_tests/latest_jdk_tests/pom.xml
+++ b/integration_tests/latest_jdk_tests/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
<relativePath>../../java</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/java/benchmark/pom.xml b/java/benchmark/pom.xml
index 090d6da0..ea348048 100644
--- a/java/benchmark/pom.xml
+++ b/java/benchmark/pom.xml
@@ -26,7 +26,7 @@
<parent>
<artifactId>fury-parent</artifactId>
<groupId>org.apache.fury</groupId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
</parent>
<artifactId>benchmark</artifactId>
diff --git a/java/fury-core/pom.xml b/java/fury-core/pom.xml
index ed91406d..ad984f8e 100644
--- a/java/fury-core/pom.xml
+++ b/java/fury-core/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/java/fury-format/pom.xml b/java/fury-format/pom.xml
index fc0f26d2..ff2489f3 100644
--- a/java/fury-format/pom.xml
+++ b/java/fury-format/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/java/fury-test-core/pom.xml b/java/fury-test-core/pom.xml
index 0920c4a6..002f381b 100644
--- a/java/fury-test-core/pom.xml
+++ b/java/fury-test-core/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>fury-parent</artifactId>
<groupId>org.apache.fury</groupId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/java/fury-testsuite/pom.xml b/java/fury-testsuite/pom.xml
index c1cfe1bc..29309663 100644
--- a/java/fury-testsuite/pom.xml
+++ b/java/fury-testsuite/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>fury-parent</artifactId>
<groupId>org.apache.fury</groupId>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/java/pom.xml b/java/pom.xml
index 23652e77..7384eeb8 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -33,7 +33,7 @@
<groupId>org.apache.fury</groupId>
<artifactId>fury-parent</artifactId>
<packaging>pom</packaging>
- <version>0.8.0-SNAPSHOT</version>
+ <version>0.9.0-SNAPSHOT</version>
<name>Fury Project Parent POM</name>
<description>
Apache Fury™ is a blazingly fast multi-language serialization framework
powered by jit and zero-copy.
diff --git a/javascript/packages/fury/package.json
b/javascript/packages/fury/package.json
index 599dbd9d..1960f3f2 100644
--- a/javascript/packages/fury/package.json
+++ b/javascript/packages/fury/package.json
@@ -1,6 +1,6 @@
{
"name": "@furyjs/fury",
- "version": "0.8.0.dev",
+ "version": "0.9.0.dev",
"description": "Apache Fury™(incubating) 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 dd62cea7..ba5c9f88 100644
--- a/javascript/packages/hps/package.json
+++ b/javascript/packages/hps/package.json
@@ -1,6 +1,6 @@
{
"name": "@furyjs/hps",
- "version": "0.8.0.dev",
+ "version": "0.9.0.dev",
"description": "Apache Fury™(incubating) nodejs high-performance suite",
"main": "dist/index.js",
"files": [
diff --git a/python/pyfury/__init__.py b/python/pyfury/__init__.py
index ec94d4f5..71480da0 100644
--- a/python/pyfury/__init__.py
+++ b/python/pyfury/__init__.py
@@ -71,4 +71,4 @@ try:
except (AttributeError, ImportError):
pass
-__version__ = "0.6.0.dev"
+__version__ = "0.9.0.dev"
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 51e4155d..fe8d4da0 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -30,7 +30,7 @@ exclude = [
resolver = "2"
[workspace.package]
-version = "0.8.0"
+version = "0.9.0"
rust-version = "1.70"
license = "Apache-2.0"
readme = "README.md"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]