Apache Fury (incubating) is a multi-language serialization framework powered by JIT dynamic compilation and zero copy. It implements multi-language SDKs: Java, Python, Golang, JavaScript, Rust, C++. It provides automatic multi-language objects serialization features, and 170x speedup compared to JDK serialization.
Fury 0.4.1 Released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format. Please try it out and share your feedbacks with us.
Author: chaokunyang
I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format too.
Highlight
- [Rust] Support row format
- [C++] Support iterable types for RowEncoder
- [JavaScript] Support partial record
- [Java] Fix JIT error in corner case, now Fury can generate serializer for every class
What's Changed
- [Doc] Refine issue template by a yaml form by @chaokunyang in https://github.com/alipay/fury/pull/1185
- [C++] Fix ownership problem for children writers by visitor by @PragmaTwice in https://github.com/alipay/fury/pull/1193
- [C++] Remove useless fields and macro in logging by @PragmaTwice in https://github.com/alipay/fury/pull/1195
- [Doc] add docs for java FuryBuilder #1188 by @mof-dev-3 in https://github.com/alipay/fury/pull/1192
- [Rust] support row format by @wangweipeng2 in https://github.com/alipay/fury/pull/1196
- [C++] Add RowEncoder wrapper to RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1200
- [Rust] Row support more types by @wangweipeng2 in https://github.com/alipay/fury/pull/1202
- [Rust] Support row map by @wangweipeng2 in https://github.com/alipay/fury/pull/1206
- [C++] update bazel version from 4.2 to 6.3.2 by @chaokunyang in https://github.com/alipay/fury/pull/1204
- [JavaScript] Support partial record by @wangweipeng2 in https://github.com/alipay/fury/pull/1208
- [Java] fix package access level class accessor jit by @chaokunyang in https://github.com/alipay/fury/pull/1210
- [JavaScript] Fix register a description twice will get undefined serializer by @bytemain in https://github.com/alipay/fury/pull/1211
- [C++] Support iterable types in RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1212
- [C++] Support iterable types for RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1215
- [Python] Refine py register class method by @chaokunyang in https://github.com/alipay/fury/pull/1218
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed in https://github.com/alipay/fury/pull/1221
New Contributors
- @bytemain made their first contribution in https://github.com/alipay/fury/pull/1211
Full Changelog: https://github.com/alipay/fury/compare/v0.4.0...v0.4.1
Fury 0.4.0 Released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.4.0 release of the Fury. With this release, GraalVM native image and C++ row format automatic encoder based on compile-time reflection are supported. Please try it out and share your feedbacks with us.
Author: chaokunyang
I'm pleased to announce the 0.4.0 release of the Fury. With this release, GraalVM native image and C++ row format automatic encoder based on compile-time reflection are supported. Please try it out and share your feedbacks with us.
Highlight
- [Java] Support Graalvm native image. The implementation will generate all serialization code at image build time, the runtime will be extremely fast, see fury graalvm usage doc
- [Java] Fury vs JDK benchmark on Graalvm native image
- [Scala] Serialization support for package scoped object
- [C++] Reflection support by macro/template programing
- [C++] Automatic row format encoder
What's Changed
- [Python] fix python release by @chaokunyang in https://github.com/alipay/fury/pull/1125
- [Java] make unsafe offset compatible with graalvm by @chaokunyang in https://github.com/alipay/fury/pull/1117
- [Scala] Fix scala package object JIT error by @chaokunyang in https://github.com/alipay/fury/pull/1130
- [Java] Refine maven pom config by @chaokunyang in https://github.com/alipay/fury/pull/1126
- [Rust] add rust building by @caicancai in https://github.com/alipay/fury/pull/1129
- [C++] Remove useless overload of Writer::WriteString by @PragmaTwice in https://github.com/alipay/fury/pull/1136
- [Rust] fix typo by @caicancai in https://github.com/alipay/fury/pull/1133
- [Rust] add mesaage about rust ci by @caicancai in https://github.com/alipay/fury/pull/1131
- [C++] Add move ctor/assign op to Status by @PragmaTwice in https://github.com/alipay/fury/pull/1134
- [Rust] fix cargo test error by @wangweipeng2 in https://github.com/alipay/fury/pull/1135
- [Rust] improve rust ci by @caicancai in https://github.com/alipay/fury/pull/1138
- [Scala] Fix scala collection serialization nested in pojo by @chaokunyang in https://github.com/alipay/fury/pull/1140
- [Java] make sting builder serializer codegen eager by @chaokunyang in https://github.com/alipay/fury/pull/1141
- [Rust] fix rust ci bug by @caicancai in https://github.com/alipay/fury/pull/1139
- [Java] support add static fields in fury codegen by @chaokunyang in https://github.com/alipay/fury/pull/1147
- [C++] Add the basic row format serializer for C++ class types via reflection by @PragmaTwice in https://github.com/alipay/fury/pull/1144
- [C++] Add duplicated fields detection in
FURY_FIELD_INFO
macro by @PragmaTwice in https://github.com/alipay/fury/pull/1151 - [Java] support create serializer when register class by @chaokunyang in https://github.com/alipay/fury/pull/1154
- [Java] Support graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1143
- [C++] Support string type in RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1158
- [Scala] add graalvm support for scala singleton by @chaokunyang in https://github.com/alipay/fury/pull/1159
- [Scala] Fix scala singleton map/collection serialization in struct by @chaokunyang in https://github.com/alipay/fury/pull/1160
- [Java] add read resolve circular test suite by @chaokunyang in https://github.com/alipay/fury/pull/1161
- [Java] Remove load arrow serializers by default by @chaokunyang in https://github.com/alipay/fury/pull/1163
- [Java] Support thread safe fury for graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1164
- [Scala] Fix package object serialization in scala App by @chaokunyang in https://github.com/alipay/fury/pull/1166
- [Java] add graalvm usage doc by @chaokunyang in https://github.com/alipay/fury/pull/1168
- [C++] Split util.h to bit_util.h and time_util.h by @PragmaTwice in https://github.com/alipay/fury/pull/1171
- [C++] Support cv-qualified types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1172
- [C++] Add support for nested class types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1173
- [Java] Add graalvm benchmark by @chaokunyang in https://github.com/alipay/fury/pull/1178
- [Java] Fix string key serializer ref tracking by @chaokunyang in https://github.com/alipay/fury/pull/1174
- [Java] Add graalvm benchmark test results by @chaokunyang in https://github.com/alipay/fury/pull/1180
- [Scala] fix package object inaccessible from source code by @chaokunyang in https://github.com/alipay/fury/pull/1181
Full Changelog: https://github.com/alipay/fury/compare/v0.3.1...v0.4.0
Fury v0.3.1 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.3.1 release of the Fury. With this release, fury supports python 3.11&3.12, droped python 3.6 support. Multiple scala serialization JIT optimization are included, and java serialization compatibility is improved too.
Author: chaokunyang
I'm pleased to announce the 0.3.1 release of the Fury. With this release, fury supports python 3.11&3.12, droped python 3.6 support. Multiple scala serialization JIT optimization are included, and java serialization compatibility is improved too.
Highlight
- Support python 3.11 and 3.12, drop python 3.6 support
- Refactor collection serialization framework to support writeReplace JIT
- Integrate scala collection with fury java collection framework
- Support scala collection jit serialization
- Support shim dispatcher to resolve compatibility problems for common used classes
- Use lastest arrow 14 version for row format in Java and Python
What's Changed
- [Doc] add scala sbt install doc by @chaokunyang in https://github.com/alipay/fury/pull/1066
- [Doc] Update scala_guide.md by @chaokunyang in https://github.com/alipay/fury/pull/1067
- [Doc] Add scala 2/3 support doc by @chaokunyang in https://github.com/alipay/fury/pull/1068
- [Java] Refactor collection serialization framework to support writeReplace JIT by @chaokunyang in https://github.com/alipay/fury/pull/1062
- [Java] Refine collection package by @chaokunyang in https://github.com/alipay/fury/pull/1070
- [Java] merge map/collection into collection package by @chaokunyang in https://github.com/alipay/fury/pull/1072
- [Scala] integrate scala collection with fury java collection framework by @chaokunyang in https://github.com/alipay/fury/pull/1073
- remove unused part of build.sbt by @pjfanning in https://github.com/alipay/fury/pull/1074
- [Scala] get build to work with Scala 3 by @pjfanning in https://github.com/alipay/fury/pull/1075
- [Scala] support scala collection jit serialization by @chaokunyang in https://github.com/alipay/fury/pull/1077
- [Doc] add apache license section to readme by @caicancai in https://github.com/alipay/fury/pull/1080
- [Java] add option to disable class check warnings by @chaokunyang in https://github.com/alipay/fury/pull/1084
- [Java] Fix collection serialization NPE when all elements are null by @chaokunyang in https://github.com/alipay/fury/pull/1086
- [Java] FuryPooledObjectFactory getFury refactor, remove redundant recursive call by @mof-dev-3 in https://github.com/alipay/fury/pull/1088
- [Rust] add rust-version by @wangweipeng2 in https://github.com/alipay/fury/pull/1091
- [DOC] add javascript sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1095
- Make sure the c++ standard is set to 17 by @PragmaTwice in https://github.com/alipay/fury/pull/1093
- Fix undefined behavior due to use of uninitialized field in Buffer by @PragmaTwice in https://github.com/alipay/fury/pull/1092
- [Rust] merge derive and make it sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1098
- [DOC] add rust sample by @wangweipeng2 in https://github.com/alipay/fury/pull/1100
- Simplify endian utility functions and
IsOneOf
by @PragmaTwice in https://github.com/alipay/fury/pull/1096 - [Java] throw error if nested fury serialize happen in serialization by @chaokunyang in https://github.com/alipay/fury/pull/1103
- [C++] remove useless FromXXXEndian by @chaokunyang in https://github.com/alipay/fury/pull/1105
- [Rust ] Remove the magic numbers by @wangweipeng2 in https://github.com/alipay/fury/pull/1107
- [Rust] chore: add rust doc by @wangweipeng2 in https://github.com/alipay/fury/pull/1109
- [JavaScript] Fill in readme by @wangweipeng2 in https://github.com/alipay/fury/pull/1110
- chore: check xlang flag by @wangweipeng2 in https://github.com/alipay/fury/pull/1112
- [Java] Remove guava part1 by @chaokunyang in https://github.com/alipay/fury/pull/1114
- [Rust] Correct language flag by @wangweipeng2 in https://github.com/alipay/fury/pull/1120
- [Java] DateTimeUtils minor refactor, reuse floorDiv to calculate floorMod by @mof-dev-3 in https://github.com/alipay/fury/pull/1122
- [Python] Support python3.11/12 by @chaokunyang in https://github.com/alipay/fury/pull/1064
- [java] support shim dispatcher to resolve compatibility problems for common used classes by @xiguashu in https://github.com/alipay/fury/pull/1123
New Contributors
- @pjfanning made their first contribution in https://github.com/alipay/fury/pull/1074
- @mof-dev-3 made their first contribution in https://github.com/alipay/fury/pull/1088
- @PragmaTwice made their first contribution in https://github.com/alipay/fury/pull/1093
- @xiguashu made their first contribution in https://github.com/alipay/fury/pull/1123
Full Changelog: https://github.com/alipay/fury/compare/v0.3.0...v0.3.1
Fury v0.3.0 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.3.0 release of the Fury. With this release, fury supports all scala 2/3 objects serializaiton now, including: case/pojo/object/option/tuple/collecton/enum and other types. case/pojo/object are tightly integrated with fury JIT. Fury will generate highly-optimized serializer by generate serialize code at runtime to speed up serializaiton. The serialization for those objects will be extremely fast.
Author: chaokunyang
I'm pleased to announce the 0.3.0 release of the Fury. With this release, fury supports all scala 2/3 objects serializaiton now, including: case/pojo/object/option/tuple/collecton/enum and other types. case/pojo/object are tightly integrated with fury JIT. Fury will generate highly-optimized serializer by generate serialize code at runtime to speed up serializaiton. The serialization for those objects will be extremely fast.
For a long time, scala serialization is always tricky, only reliable way is JDK serialization. But it’s too slow, and the serialized size is too large. Although we have frameworks such as chill, but the support for scala types are limited, and the performance is limited too.Now with fury scala, you can serialize any scala objects you want and get extremly fast performance. Please try it out and let us know if you have any issues.
Scala Serialization Guide
Install dependecy:
libraryDependencies += "org.furyio" % "fury-core" % "0.3.0"
Creating fury:
val fury = Fury.builder()
.withScalaOptimizationEnabled(true)
.requireClassRegistration(false)
.withRefTracking(true)
.build()
Serialize case objects:
case class Person(github: String, age: Int, id: Long)
val p = Person("https://github.com/chaokunyang", 18, 1)
println(fury.deserialize(fury.serialize(p)))
println(fury.deserializeJavaObject(fury.serializeJavaObject(p)))
Serialize singleton objects:
object singleton {
}
val o1 = fury.deserialize(fury.serialize(singleton))
val o2 = fury.deserialize(fury.serialize(singleton))
println(o1 == o2)
Serialize collection objects:
val seq = Seq(1,2)
val list = List("a", "b") val map = Map("a" -> 1, "b" -> 2)
println(fury.deserialize(fury.serialize(seq)))
println(fury.deserialize(fury.serialize(list)))
println(fury.deserialize(fury.serialize(map)))
Serialize enum:
enum Color { case Red, Green, Blue }
println(fury.deserialize(fury.serialize(Color.Green)))
Highlight
- [Scala] Support scala serialization:
case/object/tuple/string/collection/enum/basic
all supported - [Scala] Add scala user documentation
- [Scala] add optimized scala singleton object serializer
- [Java] Make
java.io.Externalizable
compatible with JavawriteReplace/readResolve
API - [Java] Integrate fury with dubbo https://github.com/apache/dubbo-spi-extensions/pull/226
- [Java] support bytes string serialization for jdk8 with JDK17 runtime
BugFix
- [Java] Allow for
InputStream
not reading entire length - [Java] Use
ReflectionUtils.getCtrHandle()
for non-public constructor inExternalizableSerializer
- [Java] fix jdk compatible serialization for inheritance
What's Changed
- [Impove]-[Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1011
- [Java] rename wrong ascii naming to latin by @chaokunyang in https://github.com/alipay/fury/pull/1013
- [Doc] Update go install doc by @chaokunyang in https://github.com/alipay/fury/pull/1015
- fix(grammatical): correct typos and improve grammar by @iamahens in https://github.com/alipay/fury/pull/1018
- [Improve]-[Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1020
- [Improve]-[Doc] add environment requirement by @caicancai in https://github.com/alipay/fury/pull/1022
- chore(docs): fixed typos by @Smoothieewastaken in https://github.com/alipay/fury/pull/1023
- bugfix: read buffer error when object contain binary field by @wangweipeng2 in https://github.com/alipay/fury/pull/1026
- [Doc] Optimize class registration doc by @chaokunyang in https://github.com/alipay/fury/pull/1027
- [Java] fix jdk compatible serialization for inheritance by @chaokunyang in https://github.com/alipay/fury/pull/1030
- [Doc] add scala user doc by @chaokunyang in https://github.com/alipay/fury/pull/1028
- [Doc] refine scala doc by @chaokunyang in https://github.com/alipay/fury/pull/1031
- Update README.md - fix grammatrical errors in README. by @ayushrakesh in https://github.com/alipay/fury/pull/1037
- [Java] Support local static class jit by @chaokunyang in https://github.com/alipay/fury/pull/1036
- [Java] support bytes string serialization for jdk8 by @chaokunyang in https://github.com/alipay/fury/pull/1039
- [Java] set timeout to JITContextTest by @chaokunyang in https://github.com/alipay/fury/pull/1040
- [Java] fix string builder serialization for jdk8 with jdk17 runtime by @chaokunyang in https://github.com/alipay/fury/pull/1042
- [Doc] add auto code reviewers by @chaokunyang in https://github.com/alipay/fury/pull/1043
- [Java] Allow for
InputStream
not reading entire length by @knutwannheden in https://github.com/alipay/fury/pull/1034 - [Java] Use
ReflectionUtils.getCtrHandle()
inExternalizableSerializer
by @knutwannheden in https://github.com/alipay/fury/pull/1044 - [Improve] make maven-spotless-plugin version as a parameter by @caicancai in https://github.com/alipay/fury/pull/1046
- Update README.md by @Shivam250702 in https://github.com/alipay/fury/pull/1047
- [Java] support writeReplace/readResolve for Externalizable by @chaokunyang in https://github.com/alipay/fury/pull/1048
- Update README.md by @Spyrosigma in https://github.com/alipay/fury/pull/1051
- Grammatical error in CODE_OF_CONDUCT.md by @HimanshuMahto in https://github.com/alipay/fury/pull/1050
- Update scala link title README.md by @chaokunyang in https://github.com/alipay/fury/pull/1052
- [Doc] add scala readme and refine document by @chaokunyang in https://github.com/alipay/fury/pull/1041
- [Java] populate StackOverflowError with enable ref tracking message by @chaokunyang in https://github.com/alipay/fury/pull/1049
- [Scala] Setup scala project by @chaokunyang in https://github.com/alipay/fury/pull/1054
- [Scala] add scala singleton object serializer by @chaokunyang in https://github.com/alipay/fury/pull/1053
- Updated README.md by @vidhijain27 in https://github.com/alipay/fury/pull/1056
- [Scala] add scala tuple serialization tests by @chaokunyang in https://github.com/alipay/fury/pull/1059
- Empty ListExpression#genCode will throw npe by @farmerworking in https://github.com/alipay/fury/pull/1063
New Contributors
- @iamahens made their first contribution in https://github.com/alipay/fury/pull/1018
- @Smoothieewastaken made their first contribution in https://github.com/alipay/fury/pull/1023
- @ayushrakesh made their first contribution in https://github.com/alipay/fury/pull/1037
- @knutwannheden made their first contribution in https://github.com/alipay/fury/pull/1034
- @Shivam250702 made their first contribution in https://github.com/alipay/fury/pull/1047
- @Spyrosigma made their first contribution in https://github.com/alipay/fury/pull/1051
- @HimanshuMahto made their first contribution in https://github.com/alipay/fury/pull/1050
- @vidhijain27 made their first contribution in https://github.com/alipay/fury/pull/1056
- @farmerworking made their first contribution in https://github.com/alipay/fury/pull/1063
Full Changelog: https://github.com/alipay/fury/compare/v0.2.1...v0.3.0
Fury v0.2.1 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.2.1 release of the Fury. This version provides beter jdk17+ record support and bettern jit for private classes.
Author: chaokunyang
I'm pleased to announce the 0.2.1 release of the Fury. This version provides beter jdk17+ record support and bettern jit for private classes. Feel free to try it out and let me know if you have any issues.
Highlight
- [Go] Support tiny go compilation
- [Java] Support private JDK17+ record class JIT serialization
Bug fix
- Fix jit error for register private serializers
- Upgrade janino version to fix package name conflict with classname
What's Changed
- [Doc] Update JDK support doc by @chaokunyang in https://github.com/alipay/fury/pull/992
- [Go] Make compilation support tinygo by @springrain in https://github.com/alipay/fury/pull/991
- [Doc] fix config class imports by @chaokunyang in https://github.com/alipay/fury/pull/993
- [go] fixed typo in readme import path by @voldyman in https://github.com/alipay/fury/pull/995
- [Java] fix jit error for register private serializers by @chaokunyang in https://github.com/alipay/fury/pull/999
- [Java] Refine reflection contructor by MethodHandle by @chaokunyang in https://github.com/alipay/fury/pull/1000
- [Java] Fix private record JIT by @chaokunyang in https://github.com/alipay/fury/pull/1004
- [Java] Upgrade janino version to fix package name conflict with classname by @chaokunyang in https://github.com/alipay/fury/pull/1006
- [Java] fix janino deps for fury-benchmark by @chaokunyang in https://github.com/alipay/fury/pull/1007
- [Doc] Improve README by @caicancai in https://github.com/alipay/fury/pull/1009
New Contributors
- @springrain made their first contribution in https://github.com/alipay/fury/pull/991
- @voldyman made their first contribution in https://github.com/alipay/fury/pull/995
- @caicancai made their first contribution in https://github.com/alipay/fury/pull/1009
Full Changelog: https://github.com/alipay/fury/compare/v0.2.0...v0.2.1
Fury v0.2.0 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm so excited to announce the 0.2.0 release of the Fury. This a very exciting version of fury. With this version, we have 1X speedup, 30%~50%
smaller serialized size. And now we are the fastest serialization framework in the JVM-Serializers. At the same time, fury has fully support for JDK17/21, I supported JDK17+ record JIT serialization, JDK9+ ImmutableList JIT serialization. The serialization is blazing fast, please try it out. And we also open sourced Fury GO, the first golang serialization framework which supports circular reference and interface polymorphismm, feel free to try it out and let me know if you have any issues.
Fury v0.1.2 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
Author: chaokunyang
I'm pleased to announce the 0.1.2
release of Fury. This release is a enhanced verson based on fury 0.1.1
. It keeps binary compatibility with 0.1.0
/0.1.1
.
What's Changed
- [Java] Skip toString in annotation invocation handler readObject (#746)
- [Python] Use cloudpickle for local function serialization (#914)
- [Python] fix row format getter (#915)
Full Changelog: https://github.com/alipay/fury/compare/v0.1.0...v0.1.1
Fury v0.1.1 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
Author: chaokunyang
I'm pleased to announce the 0.1.1
release of Fury. This release is a enhanced verson based on fury 0.1.0
. It keeps binary compatibility with 0.1.0
.
Highlights
- Java
- Dubbo fury integration: https://github.com/fury-project/dubbo-serialization-fury
- Add class checker API to customize security check behaviour(#890)
- Python
- Support pyarrow6 bazel build (#859 #862)
- Support python 3.10 (#859 #862)
What's Changed
- [Java] Dubbo fury integration: https://github.com/fury-project/dubbo-serialization-fury
- [Java] fix isSecure check for xlang in java (#822)
- [Java] register empty object by default (#829)
- [Java] upgrade guava for(#831)
- [Python] Support pyarrow6 bazel build (#859)
- [Python] add missing shared lib for python (#862)
- [Java] optimize buffer copy (#870)
- [Doc] Fix row format doc (#873)
- [Java] fix ofHashMap (#877)
- [Java] add jdk tools.jar for tests (#881)
- [Java] Fix lazy bean serializer (#883)
- [Java] print exception for fury creation (#885)
- [Java] remove getCurrentFury API (#887)
- [Java] Add fury map iterator api (#889)
- [Java] Add class checker API (#890)
- [Python] Fix python linux deploy missing shared library files (#892)
- [[Java] refine AllowListChecker (#893)
Full Changelog: https://github.com/alipay/fury/compare/v0.1.0...v0.1.1
Fury v0.1.0 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.1.0 release of the Fury. Fury 0.1.0 is our first release since we started the development in github in 2023.04.28, and open sourced in 2023.07.15. This release includes many features: production-ready Java serialization, cross language serialization for Java/Python/JavaScript/Rust, row format support and so on.