Skip to content

Releases: apache/fory

v0.2.1

Choose a tag to compare

@chaokunyang chaokunyang released this 18 Oct 11:57

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

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@chaokunyang chaokunyang released this 08 Oct 06:53

Release Highlights

Java

  • Support JDK17+ record JIT/Interpreter serialization
  • Support JDK17+ record JIT/Interpreter serialization backward/forward compatibility
  • Support jdk9+ Immutable Collections JIT/Interpreter mode serialization, much faster compared to other frameworks
  • New collection serialization protocol by homogenization, 1.5x speed up, 2X space saving.
  • Desgined and implemented a new long compression algorithm, with performance cost less than 10% but give 50% compresstion ratio
  • Support configuring compress int/long independently, enable int/long compression by default
  • Add class checker API and Whitelist/Blacklist based implementation to enhance security

Python

  • Support pyarrow6 bazel build
  • Support python 3.10

JavaScript

  • [JavaScript] support fury for browser
  • [JavaScript] support polymorphism
  • [JavaScript] enhancement performance

Golang

  • Implement Golang serialization framework, which support reference, pointer, data serialization
  • Implement serializers for string/numbers/slice/map/slice/struct/pointer

What's Changed

Read more

v0.2.0.alpha1

v0.2.0.alpha1 Pre-release
Pre-release

Choose a tag to compare

@chaokunyang chaokunyang released this 07 Oct 09:33

What's Changed

New Contributors

Full Changelog: https://github.com/alipay/fury/commits/v0.2.0.alpha1

v0.1.2

Choose a tag to compare

@chaokunyang chaokunyang released this 27 Sep 08:35

Highlights

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: v0.1.0...v0.1.1

v0.1.1

Choose a tag to compare

@chaokunyang chaokunyang released this 01 Sep 10:49

Highlights

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: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@chaokunyang chaokunyang released this 31 Jul 12:52

I'm excited to release Fury v0.1.0 . 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:
    • Highly optimized Java serialization primives
    • Runtime codegen framework
    • Interpreter mode java serialization
    • JIT accelerated serializer for java serialization
    • Support async and multi-thread JIT
    • Support type forward-backward compatibility.
    • Support meta sharing to send class meta only once.
    • Support JDK custom serialization on fury natively.
    • Out-of-band zero-copy serialization for java
  • Cross language Serialization
    • Support basic types cross-language between java/python/javascript/rust
    • Support struct cross-language automatically, no need for IDL definition
    • Supports shared and circular reference object serialization between java/python/javascript.
    • Support object polymorphism between java/python/javascript.
    • Out-of-band zero-copy serialization between java/python
  • Row format
    • Support row format between java/python/c++.
    • Support lazy/partial deserialization.
    • Support convert to arrow format automatically.

With this release, we take big strides towards our goal of making serialization fast, cross-language, unified and open.
For details, please refer to the following commit messages.

Note that javascript/rust support is still experimental, please let us know if you have any issues.

What's Changed

Read more