Releases: apache/fury
v0.9.0
Highlight
- Optimized serializers for Fury kotlin support
- Highly-optimized UTF-8 string encoding implementation for Java(2x faster than JDK utf8 encoding)
- Reduce metastring hashcode payload for small string(<=16 bytes)
- Support building C++ libs on windows platform
How to use Fury kotlin
Install:
<dependency>
<groupId>org.apache.fury</groupId>
<artifactId>fury-kotlin</artifactId>
<version>0.9.0</version>
</dependency>
Usage:
import org.apache.fury.Fury
import org.apache.fury.ThreadSafeFury
import org.apache.fury.serializer.kotlin.KotlinSerializers
data class Person(val name: String, val id: Long, val github: String)
data class Point(val x : Int, val y : Int, val z : Int)
fun main(args: Array<String>) {
// Note: following fury init code should be executed only once in a global scope instead
// of initializing it everytime when serialization.
val fury: ThreadSafeFury = Fury.builder().requireClassRegistration(true).buildThreadSafeFury()
KotlinSerializers.registerSerializers(fury)
fury.register(Person::class.java)
fury.register(Point::class.java)
val p = Person("Shawn Yang", 1, "https://github.com/chaokunyang")
println(fury.deserialize(fury.serialize(p)))
println(fury.deserialize(fury.serialize(Point(1, 2, 3))))
}
Features
- feat(kotlin): Introduce kotlin package with stdlib collections and tests by @wywen in #1877
- feat(kotlin): Add Unsigned Primitive Support by @wywen in #1886
- feat(kotlin): Add unsigned array support and tests for arrays and strings by @wywen in #1891
- feat(java): Refactor String serialization and deserialization by @HuangXingBo in #1890
- feat(java): support thread safe register callback for scala kotlin by @chaokunyang in #1895
- feat(scala): add scala range serializer by @chaokunyang in #1899
- feat(java): add option to treat enum as string by @orisgarno in #1892
- feat(kotlin): Add tests and support for built-in types from the kotlin stdlib by @wywen in #1901
- feat(java): reduce metastring hashcode payload for small string(<=16 bytes) by @chaokunyang in #1909
- feat(javascript): Added serialization and serialization for Type Meta Layer by @Forchapeatl in #1825
- feat(bazel): support building C++ libs on windows platform by @An-DJ in #1873
- feat(scala): support scala native image build by @chaokunyang in #1922
- perf(python): Add python benchmark test by @penguin-wwy in #1916
Bug Fix
- fix(scala): ban these sbt commands by @pjfanning in #1862
- fix(java): fix async compilation switch for non-public nested class by @chaokunyang in #1883
- fix(java): fix add fury thread safety issue by @chaokunyang in #1889
- fix(other): fix feature request template by @chaokunyang in #1898
- fix(java): NonExistentEnum on mode serializeEnumByName by @orisgarno in #1904
- fix(java): ThreadLocalFury and ThreadPoolFury prioritize using the user classloader by @Aliothmoon in #1907
- fix(java): child container deep copy by @zhaommmmomo in #1911
- fix(java): Fix incorrect results of utf16 to utf8 conversion for latin1 but not ascii characters in #1914
- fix(python): Eliminate PytestCollectionWarning when running pytest by @penguin-wwy in #1917
Other Improvements
- chore(py314): Replace deprecated pkgutil.find_loader by @effigies in #1888
- docs(guide): Fix package typo by @mandrean in #1906
- build(kotlin): Add spotless ktfmt and enable explicit api mode for library code. by @wywen in #1912
- build(deps): upgrade scala (2.13.15/3.3.4) by @pjfanning in #1861
- feat(rust): add rust-analyzer to toolchain by @caicancai in #1865
- chore(scala): add scala build script by @chaokunyang in #1920
- chore(kotlin): add parent pom for fury kotlin by @chaokunyang in #1921
- feat(java): Improve error message on architecture not using little-endian format by @apupier in #1918
New Contributors
- @An-DJ made their first contribution in #1873
- @wywen made their first contribution in #1877
- @effigies made their first contribution in #1888
- @HuangXingBo made their first contribution in #1890
- @orisgarno made their first contribution in #1892
- @mandrean made their first contribution in #1906
- @Aliothmoon made their first contribution in #1907
- @penguin-wwy made their first contribution in #1916
- @apupier made their first contribution in #1918
Full Changelog: v0.8.0...v0.9.0
v0.9.0-rc2
Highlight
- Optimized serializers for Fury kotlin support
- Highly-optimized UTF-8 string encoding implementation for Java(2x faster than JDK utf8 encoding)
- Reduce metastring hashcode payload for small string(<=16 bytes)
- Support building C++ libs on windows platform
Features
- feat(kotlin): Introduce kotlin package with stdlib collections and tests by @wywen in #1877
- feat(kotlin): Add Unsigned Primitive Support by @wywen in #1886
- feat(kotlin): Add unsigned array support and tests for arrays and strings by @wywen in #1891
- feat(java): Refactor String serialization and deserialization by @HuangXingBo in #1890
- feat(java): support thread safe register callback for scala kotlin by @chaokunyang in #1895
- feat(scala): add scala range serializer by @chaokunyang in #1899
- feat(java): add option to treat enum as string by @orisgarno in #1892
- feat(kotlin): Add tests and support for built-in types from the kotlin stdlib by @wywen in #1901
- feat(java): reduce metastring hashcode payload for small string(<=16 bytes) by @chaokunyang in #1909
- feat(javascript): Added serialization and serialization for Type Meta Layer by @Forchapeatl in #1825
- feat(bazel): support building C++ libs on windows platform by @An-DJ in #1873
- feat(scala): support scala native image build by @chaokunyang in #1922
- perf(python): Add python benchmark test by @penguin-wwy in #1916
Bug Fix
- fix(scala): ban these sbt commands by @pjfanning in #1862
- fix(java): fix async compilation switch for non-public nested class by @chaokunyang in #1883
- fix(java): fix add fury thread safety issue by @chaokunyang in #1889
- fix(other): fix feature request template by @chaokunyang in #1898
- fix(java): NonExistentEnum on mode serializeEnumByName by @orisgarno in #1904
- fix(java): ThreadLocalFury and ThreadPoolFury prioritize using the user classloader by @Aliothmoon in #1907
- fix(java): child container deep copy by @zhaommmmomo in #1911
- fix(java): Fix incorrect results of utf16 to utf8 conversion for latin1 but not ascii characters in #1914
- fix(python): Eliminate PytestCollectionWarning when running pytest by @penguin-wwy in #1917
Other Improvements
- chore(py314): Replace deprecated pkgutil.find_loader by @effigies in #1888
- docs(guide): Fix package typo by @mandrean in #1906
- build(kotlin): Add spotless ktfmt and enable explicit api mode for library code. by @wywen in #1912
- build(deps): upgrade scala (2.13.15/3.3.4) by @pjfanning in #1861
- feat(rust): add rust-analyzer to toolchain by @caicancai in #1865
- chore(scala): add scala build script by @chaokunyang in #1920
- chore(kotlin): add parent pom for fury kotlin by @chaokunyang in #1921
- feat(java): Improve error message on architecture not using little-endian format by @apupier in #1918
New Contributors
- @An-DJ made their first contribution in #1873
- @wywen made their first contribution in #1877
- @effigies made their first contribution in #1888
- @HuangXingBo made their first contribution in #1890
- @orisgarno made their first contribution in #1892
- @mandrean made their first contribution in #1906
- @Aliothmoon made their first contribution in #1907
- @penguin-wwy made their first contribution in #1916
- @apupier made their first contribution in #1918
Full Changelog: v0.8.0...v0.9.0-rc2
v0.9.0-rc1
Highlight
- Optimized serializers for Fury kotlin support
- Highly-optimized UTF-8 string encoding implementation for Java(2x faster than JDK utf8 encoding)
- Reduce metastring hashcode payload for small string(<=16 bytes)
- Support building C++ libs on windows platform
Features
- feat(kotlin): Introduce kotlin package with stdlib collections and tests by @wywen in #1877
- feat(kotlin): Add Unsigned Primitive Support by @wywen in #1886
- feat(kotlin): Add unsigned array support and tests for arrays and strings by @wywen in #1891
- feat(java): Refactor String serialization and deserialization by @HuangXingBo in #1890
- feat(java): support thread safe register callback for scala kotlin by @chaokunyang in #1895
- feat(scala): add scala range serializer by @chaokunyang in #1899
- feat(java): add option to treat enum as string by @orisgarno in #1892
- feat(kotlin): Add tests and support for built-in types from the kotlin stdlib by @wywen in #1901
- feat(java): reduce metastring hashcode payload for small string(<=16 bytes) by @chaokunyang in #1909
- feat(javascript): Added serialization and serialization for Type Meta Layer by @Forchapeatl in #1825
- feat(bazel): support building C++ libs on windows platform by @An-DJ in #1873
Bug Fix
- fix(scala): ban these sbt commands by @pjfanning in #1862
- fix(java): fix async compilation switch for non-public nested class by @chaokunyang in #1883
- fix(java): fix add fury thread safety issue by @chaokunyang in #1889
- fix(other): fix feature request template by @chaokunyang in #1898
- fix(java): NonExistentEnum on mode serializeEnumByName by @orisgarno in #1904
- fix(java): ThreadLocalFury and ThreadPoolFury prioritize using the user classloader by @Aliothmoon in #1907
- fix(java): child container deep copy by @zhaommmmomo in #1911
- fix(java): Fix incorrect results of utf16 to utf8 conversion for latin1 but not ascii characters in #1914
Other Improvements
- chore(py314): Replace deprecated pkgutil.find_loader by @effigies in #1888
- docs(guide): Fix package typo by @mandrean in #1906
- build(kotlin): Add spotless ktfmt and enable explicit api mode for library code. by @wywen in #1912
- build(deps): upgrade scala (2.13.15/3.3.4) by @pjfanning in #1861
- feat(rust): add rust-analyzer to toolchain by @caicancai in #1865
New Contributors
- @An-DJ made their first contribution in #1873
- @wywen made their first contribution in #1877
- @effigies made their first contribution in #1888
- @HuangXingBo made their first contribution in #1890
- @orisgarno made their first contribution in #1892
- @mandrean made their first contribution in #1906
- @Aliothmoon made their first contribution in #1907
Full Changelog: v0.8.0...v0.9.0-rc1
v0.8.0
HighLights
- Support graalvm 17/21/22 native image
- Release fury optimized serializers for scala
Features
-
refactor(rust): simplify error handle by @jiacai2050 in #1823
-
feat(java): support graalvm 17/21/22 by @chaokunyang in #1845
-
perf(java): inline same element invoke in jit by @chaokunyang in #1851
-
perf(java): optimize read classdef perf by @chaokunyang in #1852
-
feat(scala): optimize scala class serialization by @chaokunyang in #1853
-
feat(java): implement sublist serializers by @chaokunyang in #1856
-
feat(java): use SubListViewSerializer only when tracking ref by @chaokunyang in #1858
Bug Fix
- fix(java): DeserializationException#getMessage call by @yoohaemin in #1830
- fix(java): fix collection view serialization by @chaokunyang in #1833
- fix(java): fix long type name meta string encoding by @chaokunyang in #1837
- fix(java): fix serializer factory getSerializerClass by @chaokunyang in #1836
- fix(rust): replace
(value << 8) | (value >> 8)
withvalue.rotate_right(8)
by @chaokunyang in #1841 - fix(java): Fix for maximum size of java arrays by @fink-arthur in #1843
- fix(java): Fix max Java array size for reader by @fink-arthur in #1844
- fix(java): fix jdk proxy serialization when proxy writeReplace method by @chaokunyang in #1857
Other Improvements
- chore(java): fix default value doc for metaShareEnabled/scopedMetaShareEnabled by @chaokunyang in #1826
- chore(doc): fix 'how to upgrade fury' link in README by @sh-cho in #1846
- build(deps): bump com.google.protobuf:protobuf-java from 3.16.3 to 3.25.5 in /java/benchmark by @dependabot in #1847
- chore(java): simplify generated codec name by @chaokunyang in #1850
- ci: only run sync job if the repo is apache/fury by @pjfanning in #1860
- feat(scala): upgrade sbt and sbt-apache-sonatype by @pjfanning in #1859
New Contributors
- @yoohaemin made their first contribution in #1830
- @fink-arthur made their first contribution in #1843
- @sh-cho made their first contribution in #1846
Full Changelog: v0.7.1...v0.8.0
v0.8.0-rc1
Features
-
refactor(rust): simplify error handle by @jiacai2050 in #1823
-
feat(java): support graalvm 17/21/22 by @chaokunyang in #1845
-
perf(java): inline same element invoke in jit by @chaokunyang in #1851
-
perf(java): optimize read classdef perf by @chaokunyang in #1852
-
feat(scala): optimize scala class serialization by @chaokunyang in #1853
-
feat(java): implement sublist serializers by @chaokunyang in #1856
-
feat(java): use SubListViewSerializer only when tracking ref by @chaokunyang in #1858
Bug Fix
- fix(java): DeserializationException#getMessage call by @yoohaemin in #1830
- fix(java): fix collection view serialization by @chaokunyang in #1833
- fix(java): fix long type name meta string encoding by @chaokunyang in #1837
- fix(java): fix serializer factory getSerializerClass by @chaokunyang in #1836
- fix(rust): replace
(value << 8) | (value >> 8)
withvalue.rotate_right(8)
by @chaokunyang in #1841 - fix(java): Fix for maximum size of java arrays by @fink-arthur in #1843
- fix(java): Fix max Java array size for reader by @fink-arthur in #1844
- fix(java): fix jdk proxy serialization when proxy writeReplace method by @chaokunyang in #1857
Other Improvements
- chore(java): fix default value doc for metaShareEnabled/scopedMetaShareEnabled by @chaokunyang in #1826
- chore(doc): fix 'how to upgrade fury' link in README by @sh-cho in #1846
- build(deps): bump com.google.protobuf:protobuf-java from 3.16.3 to 3.25.5 in /java/benchmark by @dependabot in #1847
- chore(java): simplify generated codec name by @chaokunyang in #1850
- ci: only run sync job if the repo is apache/fury by @pjfanning in #1860
- feat(scala): upgrade sbt and sbt-apache-sonatype by @pjfanning in #1859
New Contributors
- @yoohaemin made their first contribution in #1830
- @fink-arthur made their first contribution in #1843
- @sh-cho made their first contribution in #1846
Full Changelog: v0.7.1...v0.8.0-rc1
v0.7.1
Features
- feat(javascript): Added MetaString Class for Unicode Encoding/Decoding in Type.Object Code Generation by @Forchapeatl in #1774
- feat(Rust): Refine Code Structure & Prepare for Future Compatibility Features by @theweipeng in #1787
- feat(java): ThreadSafeFury add getClassResolver method by @funky-eyes in #1780
- feat(Rust): Implement TypeMeta part of the compatibility features by @theweipeng in #1789
- feat(Rust): Support polymorphism by @theweipeng in #1795
- feat(java): Support copy capabilities for some classes without no-argument constructors by @zhaommmmomo in #1794
- feat(java): support jdk9+ java.util.ImmutableCollections copy by @zhaommmmomo in #1800
- feat(rust): support enum serialization by @jiacai2050 in #1817
- refine fury website and add chinese documents by @yuluo-yx and @LofiSu
Bug Fix
- ci: fix rust ci failed by @LiangliangSui in #1783
- fix(java): fix classloader get npe by @chaokunyang in #1792
- fix(scala): fix nested type serialization in scala object type by @chaokunyang in #1809
- fix(java): Fix replace resolver serializaiton by @chaokunyang in #1812
- fix(java): fix reserved keyword conflict by @chaokunyang in #1819
- fix(java): fix nested map field value serialization by private map serializer by @chaokunyang in #1820
- fix(rust): use iter to avoid reallocate by @jiacai2050 in #1821
Other Improvements
- chore(java): Disallow writing meta classdef when obj is null by @LiangliangSui in #1686
- chore(infra): optimize github tmpl & update actions/checkout version to 4.1.7 by @yuluo-yx in #1807
- chore(infra): remove redundant bug reporting options by @yuluo-yx in #1810
- docs: add check lint ci & fix md lint by @yuluo-yx in #1811
New Contributors
- @Forchapeatl made their first contribution in #1774
- @funky-eyes made their first contribution in #1780
- @yuluo-yx made their first contribution in #1807
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Experimental
Implement fast object deep copy framework for java:
Fury fury = Fury.builder().withRefCopy(true).build();
fury.register(SomeClass.class);
SomeClass a = xxx;
SomeClass copied = fury.copy(a);
Benchmark result:
Benchmark | objectType | Score | Error | Units |
---|---|---|---|---|
fury_copy | MEDIA_CONTENT | 1243297.690 | ± 451828.452 | ops/s |
fury_copy | SAMPLE | 2670545.816 | ± 1378536.021 | ops/s |
fury_copy | STRUCT | 2673356.422 | ± 202288.322 | ops/s |
fury_copy | STRUCT2 | 1943587.774 | ± 392513.707 | ops/s |
fury_copy_int_map | int map | 1470264.733 | ± 1021875.257 | ops/s |
fury_copy_list | List | 3556892.276 | ± 127410.724 | ops/s |
fury_copy_object_array | array | 4430589.112 | ± 25366.893 | ops/s |
fury_copy_string_map | string map | 1736145.327 | ± 377806.877 | ops/s |
kryo_copy | MEDIA_CONTENT | 804208.092 | ± 27429.069 | ops/s |
kryo_copy | SAMPLE | 717669.608 | ± 71093.370 | ops/s |
kryo_copy | STRUCT | 1076048.642 | ± 223194.146 | ops/s |
kryo_copy | STRUCT2 | 141374.767 | ± 14150.535 | ops/s |
kryo_copy_int_map | int map | 546203.187 | ± 54669.173 | ops/s |
kryo_copy_list | List | 843643.496 | ± 312306.921 | ops/s |
kryo_copy_object_array | object array | 1593267.344 | ± 1721824.436 | ops/s |
kryo_copy_string_map | string map | 574809.875 | ± 47316.340 | ops/s |
Features
- feat(Rust): add meta string encoding algorithm in Rust by @urlyy in #1712
- feat(Rust): Implement utf16 to utf8 conversion algorithm by @urlyy in #1730
- perf(java): add struct benchmark with pb by @chaokunyang in #1736
- feat(java): fast object copy framework in fury java by @zhaommmmomo in #1701
- perf(java): optimize pojo copy performance by @chaokunyang in #1739
- feat(java): support jdk17+ record copy by @chaokunyang in #1741
- feat(RUST): String detection is performed using SIMD techniques by @kitty-eu-org in #1752
- feat(java): Add 'Expose' annotation to support "only de/serialize annotated fields" by @urlyy in #1751
- feat(java): support Ignore inconsistent types deserialize by @weijiang157152688 in #1737
- perf(java): optimize map copy perf by @chaokunyang in #1767
- perf(java): optimize list copy perf by @chaokunyang in #1769
- perf(java): optimize object array copy perf by @chaokunyang in #1770
- feat(java): support deep ref copy by @chaokunyang in #1771
Bug Fix
- fix(java): fix janino commons classes issue by @chaokunyang in #1753
- fix(scala): fix scala release version by @chaokunyang in #1756
- fix(java): fix streaming classdef read by @chaokunyang in #1758
- fix(java): fix big buffer streaming MetaShared read offset by @chaokunyang in #1760
- fix(java): fix fury logger npe by @chaokunyang in #1762
- fix(java): fix enum abstract field serialization by @chaokunyang in #1765
- fix(java): Fix memory leak in
StructSerializer.xread()
caused by re-pushing instead of poppingGenericType
. by @komamitsu in #1768
Other Improvements
- chore: Update case in DISCLAIMER by @pjfanning in #1746
- chore: bump dev version to 0.7.0 by @chaokunyang in #1755
- chore(java): rename copyTrackingRef to copyRef by @chaokunyang in #1748
- chore(java): add fury deep copy documentation by @chaokunyang in #1773
New Contributors
- @urlyy made their first contribution in #1712
- @zhaommmmomo made their first contribution in #1701
- @kitty-eu-org made their first contribution in #1752
- @komamitsu made their first contribution in #1768
Full Changelog: v0.6.0...v0.7.0
v0.7.0-rc1
What's Changed
- feat(Rust): add meta string encoding algorithm in Rust by @urlyy in #1712
- feat(Rust): Implement utf16 to utf8 conversion algorithm by @urlyy in #1730
- perf(java): add struct benchmark with pb by @chaokunyang in #1736
- feat(java): fast object copy framework in fury java by @zhaommmmomo in #1701
- perf(java): optimize pojo copy performance by @chaokunyang in #1739
- feat(java): support jdk17+ record copy by @chaokunyang in #1741
- chore: Update case in DISCLAIMER by @pjfanning in #1746
- feat(RUST): String detection is performed using SIMD techniques by @kitty-eu-org in #1752
- feat(java): Add 'Expose' annotation to support "only de/serialize annotated fields" by @urlyy in #1751
- fix(java): fix janino commons classes issue by @chaokunyang in #1753
- chore: bump dev version to 0.7.0 by @chaokunyang in #1755
- fix(scala): fix scala release version by @chaokunyang in #1756
- feat(java): support Ignore inconsistent types deserialize by @weijiang157152688 in #1737
- fix(java): fix streaming classdef read by @chaokunyang in #1758
- chore(java): rename copyTrackingRef to copyRef by @chaokunyang in #1748
- fix(java): fix big buffer streaming MetaShared read offset by @chaokunyang in #1760
- fix(java): fix fury logger npe by @chaokunyang in #1762
- fix(java): fix enum abstract field serialization by @chaokunyang in #1765
- perf(java): optimize map copy perf by @chaokunyang in #1767
- fix(java): Fix memory leak in
StructSerializer.xread()
caused by re-pushing instead of poppingGenericType
. by @komamitsu in #1768 - perf(java): optimize list copy perf by @chaokunyang in #1769
- perf(java): optimize object array copy perf by @chaokunyang in #1770
- feat(java): support deep ref copy by @chaokunyang in #1771
- chore(java): add fury deep copy documentation by @chaokunyang in #1773
New Contributors
- @urlyy made their first contribution in #1712
- @zhaommmmomo made their first contribution in #1701
- @kitty-eu-org made their first contribution in #1752
- @komamitsu made their first contribution in #1768
Full Changelog: v0.6.0...v0.7.0-rc1
v0.6.0
The Apache Fury team is pleased to announce the 0.6.0 release. This is a major release that includes 35 PR from 12 distinct contributors. See the Install Page to learn how to get the libraries for your platform.
High light
In this release, we introduced a scoped meta share mode for schema evolution in java and enabled it by default when CompatibleMode
is set to Compatible
. This mode is 50% faster than previous KV compatible mode, and only 1/6 size of serialized payload than before.
Feature
- feat(java): support nonexistent class deserialization in meta share mode by @chaokunyang in #1646
- feat(java): scoped meta share mode for type forward/backward compaibility by @chaokunyang in #1660
- feat(java): support meta compression by Deflater by @chaokunyang in #1663
- perf(java): Add ClassInfo ClassBytes generation conditions. by @LiangliangSui in #1667
- feat(javascript): use TextDecoder to decode buffer by @bytemain in #1699
- feat(Python): meta string encoding algorithm in Python by @pandalee99 in #1702
- feat(C++): String detection is performed using SIMD techniques by @pandalee99 in #1720
- feat(C++): The use of SIMD accelerated to implement and optimize utf16 utf8 by @pandalee99 in #1732
- feat(java): enable scoped meta share for compatible mode by default by @chaokunyang in #1733
- perf(java): optimize scoped meta share mode perf by @chaokunyang in #1734
Bug Fix
- chore(doc): fix example by @wangjie-fourth in #1657
- fix(java): fix scala object type codegen by @chaokunyang in #1659
- fix(java): Fix header offset issue in MetaStringBytes hashcode by @LiangliangSui in #1668
- fix(java): return fury to pooled which get from by @MrChang0 in #1697
- fix(doc): codestyle version in python by @pandalee99 in #1706
- fix(java): fix nested map serialization codegen by @chaokunyang in #1713
- fix(java): fix fastjson object serialization by @chaokunyang in #1717
Others
- chore: Add IssueNavigationLink and icon for IDEA by @lvshaokang in #1665
- chore(rust): resolve deprecate warnings by @waynexia in #1662
- chore(doc): fix doc example code by @wangjie-fourth in #1666
- chore(rust): Setup rustfmt and toolchain for rust by @Xuanwo in #1677
- chore(rust): Make rust clippy happy by @Xuanwo in #1678
- chore(doc): add incubating DISCLAIMER by @chaokunyang in #1681
- chore(java): Update github URL in IntelliJ vcs.xml by @pjfanning in #1689
- ci: fix ci error by @LiangliangSui in #1691
- docs: fix badge x by @vesense in #1694
- chore(doc): fix compiler error by @wangjie-fourth in #1698
- refactor(java): move latin language checker method from string serializer to string util by @anagh07 in #1708
- chore(doc): the more complete readme is in python by @pandalee99 in #1709
- build: update scala build by @pjfanning in #1725
- build: publish jars for fury-scala by @pjfanning in #1729
- chore(java): merge reflect.Types into TypeRef by @chaokunyang in #1731
New Contributors
- @wangjie-fourth made their first contribution in #1657
- @lvshaokang made their first contribution in #1665
- @waynexia made their first contribution in #1662
- @Xuanwo made their first contribution in #1677
- @anagh07 made their first contribution in #1708
Full Changelog: v0.5.1...v0.6.0
v0.6.0-rc1
What's Changed
- feat(java): support nonexistent class deserialization in meta share mode by @chaokunyang in #1646
- chore: bump release version to 0.5.1 by @chaokunyang in #1652
- chore(doc): fix example by @wangjie-fourth in #1657
- fix(java): fix scala object type codegen by @chaokunyang in #1659
- feat(java): scoped meta share mode for type forward/backward compaibility by @chaokunyang in #1660
- chore: Add IssueNavigationLink and icon for IDEA by @lvshaokang in #1665
- chore(rust): resolve deprecate warnings by @waynexia in #1662
- chore(doc): fix doc example code by @wangjie-fourth in #1666
- feat(java): support meta compression by Deflater by @chaokunyang in #1663
- fix(java): Fix header offset issue in MetaStringBytes hashcode by @LiangliangSui in #1668
- perf(java): Add ClassInfo ClassBytes generation conditions. by @LiangliangSui in #1667
- chore(rust): Setup rustfmt and toolchain for rust by @Xuanwo in #1677
- chore(rust): Make rust clippy happy by @Xuanwo in #1678
- chore(doc): add incubating DISCLAIMER by @chaokunyang in #1681
- fix(java): fix snapshot jar upload by @chaokunyang in #1688
- chore(java): Update github URL in IntelliJ vcs.xml by @pjfanning in #1689
- ci: fix ci error by @LiangliangSui in #1691
- docs: fix badge x by @vesense in #1694
- fix(java): return fury to pooled which get from by @MrChang0 in #1697
- chore(doc): fix compiler error by @wangjie-fourth in #1698
- fix(doc): codestyle version in python by @pandalee99 in #1706
- refactor(java): move latin language checker method from string serializer to string util by @anagh07 in #1708
- chore(doc): the more complete readme is in python by @pandalee99 in #1709
- fix(java): fix nested map serialization codegen by @chaokunyang in #1713
- fix(java): fix fastjson object serialization by @chaokunyang in #1717
- feat: use TextDecoder to decode buffer by @bytemain in #1699
- feat(Python): meta string encoding algorithm in Python by @pandalee99 in #1702
- build: update scala build by @pjfanning in #1725
- build: publish jars for fury-scala by @pjfanning in #1729
- chore(java): merge reflect.Types into TypeRef by @chaokunyang in #1731
- feat(C++): String detection is performed using SIMD techniques by @pandalee99 in #1720
- feat(C++): The use of SIMD accelerated to implement and optimize utf16 utf8 by @pandalee99 in #1732
- feat(java): enable scoped meta share for compatible mode by default by @chaokunyang in #1733
- perf(java): optimize scoped meta share mode perf by @chaokunyang in #1734
New Contributors
- @wangjie-fourth made their first contribution in #1657
- @lvshaokang made their first contribution in #1665
- @waynexia made their first contribution in #1662
- @Xuanwo made their first contribution in #1677
- @anagh07 made their first contribution in #1708
Full Changelog: v0.5.1...v0.6.0-rc1