The Apache Fury team is pleased to announce the 0.10.0 release. This is a major release that includes 27 PR from 16 distinct contributors. See the Install Page to learn how to get the libraries for your platform.
Highlight
- Chunk based map serialization
- Highly optimized JavaScript string serialization
Features
- feat(java): ReplaceResolveSerializer deep copy by @zhaommmmomo in https://github.com/apache/fury/pull/1925
- feat(java): use varint for jdk compatible serializers by @chaokunyang in https://github.com/apache/fury/pull/1960
- feat(java): configurable buffer size limit by @theigl in https://github.com/apache/fury/pull/1963
- feat(java): make 4 bytes utf16 size header optional for utf8 encoding by @chaokunyang in https://github.com/apache/fury/pull/2010
- feat(ci): support building python on windows by @An-DJ in https://github.com/apache/fury/pull/1885
- feat(java): Chunk by chunk predictive map serialization protocol by @Hen1ng in https://github.com/apache/fury/pull/1722
- feat(java): support streaming encode/decode to/from buffer for row format by @chaokunyang in https://github.com/apache/fury/pull/2024
- feat(java): new implementation and protocol refine for chunk based map serialization by @chaokunyang in https://github.com/apache/fury/pull/2025
- feat(java): jit support for chunk based map serialization by @chaokunyang in https://github.com/apache/fury/pull/2027
- feat(java): Add basicMultiConfigFury dataprovider and add basic map unit test use the dataProvider by @Hen1ng in https://github.com/apache/fury/pull/2032
- feat(java): deserialize one pojo into another type by @orisgarno in https://github.com/apache/fury/pull/2012
- feat(python): chunk based map serialization for python by @chaokunyang in https://github.com/apache/fury/pull/2038
- feat(java): zstd meta compressor by @orisgarno in https://github.com/apache/fury/pull/2042
- feat(python): automatic release pyfury on macos and windows by @chaokunyang in https://github.com/apache/fury/pull/2045
- feat(javascript): optimize string serializer by @theweipeng in https://github.com/apache/fury/pull/2043
- feat(python): add macos pyfury ci by @chaokunyang in https://github.com/apache/fury/pull/2041
Bug Fix
- fix(java): Move schema caching to unsafe trait to avoid issues when using non-inferred schema. by @wywen in https://github.com/apache/fury/pull/1944
- fix(java): ClassLoaderFuryPooled#setFactoryCallback cannot effect old Fury by @MrChang0 in https://github.com/apache/fury/pull/1946
- fix(java): fix find constructor error in generated serializer class caused by duplicated class classloading for Fury by @chaokunyang in https://github.com/apache/fury/pull/1948
- fix(c++): fix bazel install by @chaokunyang in https://github.com/apache/fury/pull/1979
- fix(java): Fix flakiness in ExpressionVisitorTest#testTraverseExpression by @AmitPr in https://github.com/apache/fury/pull/1968
- fix(java): Fix the issue caused by not using readCompressedBytesString during deserialization when string compression is enabled. by @Aliothmoon in https://github.com/apache/fury/pull/1991
- fix(java): Compatible mode on de/serialize api failed to deserialize by @orisgarno in https://github.com/apache/fury/pull/1996
- fix(java): chunk map serialize an error by @Hen1ng in https://github.com/apache/fury/pull/2030
- fix(python): Fix missing parameters and old API names by @pandalee99 in https://github.com/apache/fury/pull/2049
- fix(doc): set compressString default value to false by @chaokunyang in https://github.com/apache/fury/pull/1913
- fix(java): Remove duplicate maven dependency by @Hen1ng in https://github.com/apache/fury/pull/2044
- fix(java): fix duplicate entry write at max chunk size bound by @chaokunyang in https://github.com/apache/fury/pull/2040
Other Improvements
- chore(ci): Migrate the ci from macOS 12 to macOS 13 by @penguin-wwy in https://github.com/apache/fury/pull/1927
- chore(Rust): fix lint problems by @theweipeng in https://github.com/apache/fury/pull/1962
- docs(java): add object mapping example and tests by @chaokunyang in https://github.com/apache/fury/pull/1974
- chore(python): drop py3.7 support by @chaokunyang in https://github.com/apache/fury/pull/1981
- fix(java): only print warn message if scopedMetaShareEnabled is true … by @zhfeng in https://github.com/apache/fury/pull/1985
- docs: update copyright date in NOTICE by @caicancai in https://github.com/apache/fury/pull/2029
- docs(java): update java serialization schema compatibility doc by @chaokunyang in https://github.com/apache/fury/pull/2047
New Contributors
- @theigl made their first contribution in https://github.com/apache/fury/pull/1963
- @AmitPr made their first contribution in https://github.com/apache/fury/pull/1968
- @zhfeng made their first contribution in https://github.com/apache/fury/pull/1985
- @Hen1ng made their first contribution in https://github.com/apache/fury/pull/1722
Full Changelog: https://github.com/apache/fury/compare/v0.9.0...v0.10.0