Releases: apache/fury
Releases · apache/fury
v0.3.1
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 #1066
- [Doc] Update scala_guide.md by @chaokunyang in #1067
- [Doc] Add scala 2/3 support doc by @chaokunyang in #1068
- [Java] Refactor collection serialization framework to support writeReplace JIT by @chaokunyang in #1062
- [Java] Refine collection package by @chaokunyang in #1070
- [Java] merge map/collection into collection package by @chaokunyang in #1072
- [Scala] integrate scala collection with fury java collection framework by @chaokunyang in #1073
- remove unused part of build.sbt by @pjfanning in #1074
- [Scala] get build to work with Scala 3 by @pjfanning in #1075
- [Scala] support scala collection jit serialization by @chaokunyang in #1077
- [Doc] add apache license section to readme by @caicancai in #1080
- [Java] add option to disable class check warnings by @chaokunyang in #1084
- [Java] Fix collection serialization NPE when all elements are null by @chaokunyang in #1086
- [Java] FuryPooledObjectFactory getFury refactor, remove redundant recursive call by @mof-dev-3 in #1088
- [Rust] add rust-version by @wangweipeng2 in #1091
- [DOC] add javascript sample by @wangweipeng2 in #1095
- Make sure the c++ standard is set to 17 by @PragmaTwice in #1093
- Fix undefined behavior due to use of uninitialized field in Buffer by @PragmaTwice in #1092
- [Rust] merge derive and make it sample by @wangweipeng2 in #1098
- [DOC] add rust sample by @wangweipeng2 in #1100
- Simplify endian utility functions and
IsOneOf
by @PragmaTwice in #1096 - [Java] throw error if nested fury serialize happen in serialization by @chaokunyang in #1103
- [C++] remove useless FromXXXEndian by @chaokunyang in #1105
- [Rust ] Remove the magic numbers by @wangweipeng2 in #1107
- [Rust] chore: add rust doc by @wangweipeng2 in #1109
- [JavaScript] Fill in readme by @wangweipeng2 in #1110
- chore: check xlang flag by @wangweipeng2 in #1112
- [Java] Remove guava part1 by @chaokunyang in #1114
- [Rust] Correct language flag by @wangweipeng2 in #1120
- [Java] DateTimeUtils minor refactor, reuse floorDiv to calculate floorMod by @mof-dev-3 in #1122
- [Python] Support python3.11/12 by @chaokunyang in #1064
- [java] support shim dispatcher to resolve compatibility problems for common used classes by @xiguashu in #1123
New Contributors
- @pjfanning made their first contribution in #1074
- @mof-dev-3 made their first contribution in #1088
- @PragmaTwice made their first contribution in #1093
- @xiguashu made their first contribution in #1123
Full Changelog: v0.3.0...v0.3.1
v0.3.0
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 apache/dubbo-spi-extensions#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 #1011
- [Java] rename wrong ascii naming to latin by @chaokunyang in #1013
- [Doc] Update go install doc by @chaokunyang in #1015
- fix(grammatical): correct typos and improve grammar by @iamahens in #1018
- [Improve][Doc] Improve README by @caicancai in #1020
- [Improve][Doc] add environment requirement by @caicancai in #1022
- chore(docs): fixed typos by @Smoothieewastaken in #1023
- bugfix: read buffer error when object contain binary field by @wangweipeng2 in #1026
- [Doc] Optimize class registration doc by @chaokunyang in #1027
- [Java] fix jdk compatible serialization for inheritance by @chaokunyang in #1030
- [Doc] add scala user doc by @chaokunyang in #1028
- [Doc] refine scala doc by @chaokunyang in #1031
- Update README.md - fix grammatrical errors in README. by @ayushrakesh in #1037
- [Java] Support local static class jit by @chaokunyang in #1036
- [Java] support bytes string serialization for jdk8 by @chaokunyang in #1039
- [Java] set timeout to JITContextTest by @chaokunyang in #1040
- [Java] fix string builder serialization for jdk8 with jdk17 runtime by @chaokunyang in #1042
- [Doc] add auto code reviewers by @chaokunyang in #1043
- [Java] Allow for
InputStream
not reading entire length by @knutwannheden in #1034 - [Java] Use
ReflectionUtils.getCtrHandle()
inExternalizableSerializer
by @knutwannheden in #1044 - [Improve] make maven-spotless-plugin version as a parameter by @caicancai in #1046
- Update README.md by @Shivam250702 in #1047
- [Java] support writeReplace/readResolve for Externalizable by @chaokunyang in #1048
- Update README.md by @Spyrosigma in #1051
- Grammatical error in CODE_OF_CONDUCT.md by @HimanshuMahto in #1050
- Update scala link title README.md by @chaokunyang in #1052
- [Doc] add scala readme and refine document by @chaokunyang in #1041
- [Java] populate StackOverflowError with enable ref tracking message by @chaokunyang in #1049
- [Scala] Setup scala project by @chaokunyang in #1054
- [Scala] add scala singleton object serializer by @chaokunyang in #1053
- Updated README.md by @vidhijain27 in #1056
- [Scala] add scala tuple serialization tests by @chaokunyang in #1059
- Empty ListExpression#genCode will throw npe by @farmerworking in #1063
New Contributors
- @iamahens made their first contribution in #1018
- @Smoothieewastaken made their first contribution in #1023
- @ayushrakesh made their first contribution in #1037
- @knutwannheden made their first contribution in #1034
- @Shivam250702 made their first contribution in #1047
- @Spyrosigma made their first contribution in #1051
- @HimanshuMahto made their first contribution in #1050
- @vidhijain27 made their first contribution in #1056
- @farmerworking made their first contribution in #1063
Full Changelog: v0.2.1...v0.3.0
v0.2.1
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 #992
- [Go] Make compilation support tinygo by @springrain in #991
- [Doc] fix config class imports by @chaokunyang in #993
- [go] fixed typo in readme import path by @voldyman in #995
- [Java] fix jit error for register private serializers by @chaokunyang in #999
- [Java] Refine reflection contructor by MethodHandle by @chaokunyang in #1000
- [Java] Fix private record JIT by @chaokunyang in #1004
- [Java] Upgrade janino version to fix package name conflict with classname by @chaokunyang in #1006
- [Java] fix janino deps for fury-benchmark by @chaokunyang in #1007
- [Doc] Improve README by @caicancai in #1009
New Contributors
- @springrain made their first contribution in #991
- @voldyman made their first contribution in #995
- @caicancai made their first contribution in #1009
Full Changelog: v0.2.0...v0.2.1
v0.2.0
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
- [JavaScript] enhancement performance and bugfix by @wangweipeng2 in #811
- [JavaScript] support polymorphism by @wangweipeng2 in #814
- Create SECURITY.md by @chaokunyang in #817
- [JavaScript] fix bug #703 by @wangweipeng2 in #819
- [Java] fix isSecure check for xlang in java by @chaokunyang in #822
- [Doc] add protocol wire format wip by @chaokunyang in #823
- [JavaScript] write tag hash by @wangweipeng2 in #825
- [JavaScript] support browser by @wangweipeng2 in #830
- [Java] register empty object by default by @chaokunyang in #829
- [Java] upgrade guava for CVE-2023-2976 by @chaokunyang in #831
- [JavaScript] detect platform wrong by @wangweipeng2 in #832
- [JavaScript] add test by @wangweipeng2 in #836
- [Java] Add compatible ci for JDK8/11/13/15/17 by @chaokunyang in #835
- [Java] use java.lang.ClassValue to cache Lookup by @chaokunyang in #844
- [Java] Refactor integration tests by @chaokunyang in #845
- [Java] suppress maven download logs by --no-transfer-progress by @chaokunyang in #846
- [Java] add missing jdk primitive function by @chaokunyang in #848
- [Java] make getter lambda functions by @chaokunyang in #849
- [Java] add record utils by @chaokunyang in #850
- [Java] Support access record field value by @chaokunyang in #851
- [Java] interpreter mode support for record serialization by @chaokunyang in #852
- [CI] Fix checkstyle by @chaokunyang in #853
- [Java] Support jdk record forward/backward interpreter serialization by @chaokunyang in #854
- [Java] Support jdk record metashare mode by @chaokunyang in #855
- [Java] move record utils to record pkg by @chaokunyang in #856
- [Java] move inner functions outside by @chaokunyang in #857
- [Python] Support pyarrow6 bazel build by @chaokunyang in #859
- [Python] add missing shared lib for python by @chaokunyang in #862
- [Python] fix python deploy by @chaokunyang in #863
- [Java] Jdk record compatible jit by @chaokunyang in #864
- [Java] JIT serialization for JDK record by @chaokunyang in #866
- [Java] support private record jit by @chaokunyang in #869
- [Java] optimize buffer copy by @chaokunyang in #870
- [Doc] Fix row format doc by @chaokunyang in #873
- [Java] Support compress int long independently by @chaokunyang in #875
- [Java] fix ofHashMap by @chaokunyang in #877
- [Java] add jdk tools.jar for tests by @chaokunyang in #881
- [Java] register common exception by @chaokunyang in #879
- [Java] Fix lazy bean serializer by @chaokunyang in #883
- [Java] print exception for fury creation by @chaokunyang in #885
- [Java] remove getCurrentFury API by @chaokunyang in #887
- [Java] Add fury map iterator api by @chaokunyang in #889
- [Java] Add class checker API by @chaokunyang in #890
- [Python] Fix python linux deploy missing shared library files by @chaokunyang in #892
- [Java] refine AllowListChecker by @chaokunyang in #893
- Update README.md by @chaokunyang in #894
- [Java] support immutable collection/map jit and generics optimization by @chaokunyang in #895
- [Java] cache generated guava constructor by @chaokunyang in #897
- [Java] Optimize jdk9+ immutable collection serialization by @chaokunyang in #900
- [Java] add jdk20 tests by @chaokunyang in #901
- [Java] optimize duplicate fields utils by @chaokunyang in #905
- [Java] fix jit error for package-level field with private type by @chaokunyang in #907
- [Java] update blacklist by @chaokunyang in #913
- [Python] Use cloudpickle for local function serialization by @chaokunyang in #914
- [Python] fix row format getter by @chaokunyang in #915
- [Java] disable class check by default by @chaokunyang in #917
- [Java] refine java docs by @chaokunyang in #918
- Update blacklist.txt by @chaokunyang in #920
- [Java] Skip
toString
in annotation invocation handlerreadObject
by @chaokunyang in #922 - Optimize StringBuilder/StringBuffer serialization by @pandalee99 in #908
- Bump release versin to 0.1.2 by @chaokunyang in #924
- [Doc] add basic type java format doc by @chaokunyang in #928
- [Java] speed test codegen speed by avoid duplicate codegen by @chaokunyang in #929
- [Java] Optimize collection serialization protocol by homogenization by @chaokunyang in #923
- Bump org.apache.avro:avro from 1.11.1 to 1.11.3 in /java/fury-benchmark by @dependabot in #931
- [Java] Rename classinfocache to classinfoholder by @chaokunyang in #933
- [Java] put together all primitive serializers by @chaokunyang in #934
- [Java] Fix jvm crash caused by varint out-of-bound writing by @chaokunyang in #937
- [Java] enable int compression by default by @chaokunyang in #935
- [Java] put together all fury related config classes into
config
package by @chaokunyang in #940 - [Java] Add SLI(small long as int) long encoding algorithm by @chaokunyang in #942
- [Java] use raw type serializer for getSerialzier in jit by @chaokunyang in #943
- [Java] use varint for class id encoding to reduce space cost by @chaokunyang in #945
- [Java] Fix Collection/Map jit/interpreter protocol inconsisitency for generics instantiated subclass by @chaokunyang in #947
- [Go] add fury go util and ci tests by @chaokunyang in #950
- [Go] add fury go buffer implementation by @chaokunyang in #952
- [Go] add fury go serialization framework by @chaokunyang in #954
- [Go] add serializers for common go types by @chaokunyang in #956
- [Java] fix varint writeindex grow for jit by @chaokunyang in #957
- [Go] add fury go map serializer by @chaokunyang in #959
- [Go] add slice serializer for fury go by @chaokunyang in #961
- [Go] add set serializer for fury go by @chaokunyang in #963
- [Go] Add struct serializer for fury go by @chaokunyang in #965
- [Go] add ref tracking tests by @chaokunyang in #967
- [Go] add fury type dispatch tests by @chaokunyang in #969
- [Go] add fury serialization tests by @chaokunyang in #971
- [Go] Add fu...
v0.2.0.alpha1
What's Changed
- [JavaScript] enhancement performance and bugfix by @wangweipeng2 in #811
- [JavaScript] support polymorphism by @wangweipeng2 in #814
- [Doc] Create SECURITY.md by @chaokunyang in #817 and #818
- [JavaScript] fix bug #703 by @wangweipeng2 in #819
- [Java] fix isSecure check for xlang in java by @chaokunyang in #822
- [Doc] add protocol wire format wip by @chaokunyang in #823
- [Doc] Update README.md by @chaokunyang in #824
- [JavaScript] write tag hash by @wangweipeng2 in #825
- [JavaScript] support browser by @wangweipeng2 in #830
- [Java] register empty object by default by @chaokunyang in #829
- [Java] upgrade guava for CVE-2023-2976 by @chaokunyang in #831
- [JavaScript] detect platform wrong by @wangweipeng2 in #832
- [JavaScript] add test by @wangweipeng2 in #836
- [Java] Add compatible ci for JDK8/11/13/15/17 by @chaokunyang in #835
- [Java] use java.lang.ClassValue to cache Lookup by @chaokunyang in #844
- [Java] Refactor integration tests by @chaokunyang in #845
- [Java] suppress maven download logs by --no-transfer-progress by @chaokunyang in #846
- [Java] add missing jdk primitive function by @chaokunyang in #848
- [Java] make getter lambda functions by @chaokunyang in #849
- [Java] add record utils by @chaokunyang in #850
- [Java] Support access record field value by @chaokunyang in #851
- [Java] interpreter mode support for record serialization by @chaokunyang in #852
- [CI] Fix checkstyle by @chaokunyang in #853
- [Java] Support jdk record forward/backward interpreter serialization by @chaokunyang in #854
- [Java] Support jdk record metashare mode by @chaokunyang in #855
- [Java] move record utils to record pkg by @chaokunyang in #856
- [Java] move inner functions outside by @chaokunyang in #857
- [Python] Support pyarrow6 bazel build by @chaokunyang in #859
- [Python] add missing shared lib for python by @chaokunyang in #862
- [Python] fix python deploy by @chaokunyang in #863
- [Java] Jdk record compatible jit by @chaokunyang in #864
- [Java] JIT serialization for JDK record by @chaokunyang in #866
- [Java] support private record jit by @chaokunyang in #869
- [Java] optimize buffer copy by @chaokunyang in #870
- [Doc] Fix row format doc by @chaokunyang in #873
- [Java] Support compress int long independently by @chaokunyang in #875
- [Java] fix ofHashMap by @chaokunyang in #877
- [Java] add jdk tools.jar for tests by @chaokunyang in #881
- [Java] register common exception by @chaokunyang in #879
- [Java] Fix lazy bean serializer by @chaokunyang in #883
- [Java] print exception for fury creation by @chaokunyang in #885
- [Java] remove getCurrentFury API by @chaokunyang in #887
- [Java] Add fury map iterator api by @chaokunyang in #889
- [Java] Add class checker API by @chaokunyang in #890
- [Python] Fix python linux deploy missing shared library files by @chaokunyang in #892
- [Java] refine AllowListChecker by @chaokunyang in #893
- Update README.md by @chaokunyang in #894
- [Java] support immutable collection/map jit and generics optimization by @chaokunyang in #895
- [Java] cache generated guava constructor by @chaokunyang in #897
- [Java] Optimize jdk9+ immutable collection serialization by @chaokunyang in #900
- [Java] add jdk20 tests by @chaokunyang in #901
- [Java] optimize duplicate fields utils by @chaokunyang in #905
- [Java] fix jit error for package-level field with private type by @chaokunyang in #907
- [Java] update blacklist by @chaokunyang in #913
- [Python] Use cloudpickle for local function serialization by @chaokunyang in #914
- [Python] fix row format getter by @chaokunyang in #915
- [Java] disable class check by default by @chaokunyang in #917
- [Java] refine java docs by @chaokunyang in #918
- Update blacklist.txt by @chaokunyang in #920
- [Java] Skip
toString
in annotation invocation handlerreadObject
by @chaokunyang in #922 - Optimize StringBuilder/StringBuffer serialization by @pandalee99 in #908
- Bump release versin to 0.1.2 by @chaokunyang in #924
- [Doc] add basic type java format doc by @chaokunyang in #928
- [Java] speed test codegen speed by avoid duplicate codegen by @chaokunyang in #929
- [Java] Optimize collection serialization protocol by homogenization by @chaokunyang in #923
- Bump org.apache.avro:avro from 1.11.1 to 1.11.3 in /java/fury-benchmark by @dependabot in #931
- [Java] Rename classinfocache to classinfoholder by @chaokunyang in #933
- [Java] put together all primitive serializers by @chaokunyang in #934
- [Java] Fix jvm crash caused by varint out-of-bound writing by @chaokunyang in #937
- [Java] enable int compression by default by @chaokunyang in #935
- [Java] put together all fury related config classes into
config
package by @chaokunyang in #940 - [Java] Add SLI(small long as int) long encoding algorithm by @chaokunyang in #942
- [Java] use raw type serializer for getSerialzier in jit by @chaokunyang in #943
- [Java] use varint for class id encoding to reduce space cost by @chaokunyang in #945
- [Java] Fix Collection/Map jit/interpreter protocol inconsisitency for generics instantiated subclass by @chaokunyang in #947
- [Go] add fury go util and ci tests by @chaokunyang in #950
- [Go] add fury go buffer implementation by @chaokunyang in #952
- [Go] add fury go serialization framework by @chaokunyang in #954
- [Go] add serializers for common go types by @chaokunyang in #956
- [Java] fix varint writeindex grow for jit by @chaokunyang in #957
- [Go] add fury go map serializer by @chaokunyang in #959
- [Go] add slice serializer for fury go by @chaokunyang in #961
- [Go] add set serializer for fury go by @chaokunyang in #963
- [Go] Add struct serializer for fury go by @chaokunyang in #965
- [Go] add ref tracking tests by @chaokunyang in #967
- [Go] add fury type dispatch tests by @chaokunyang in #969
- [Go] add fury serialization tests by @chaokunyang in #971
- [Go] Add fury xlang tests by @chaokunyang in #973
- [Go] rename Reference to Ref by @chaokunyang in #975
- [Java] add jdk 21 tests by @chaokunyang in #977
- [Java] add jdk 21 tests ci by @chaokunyang in #978
- [Java] Optimize sli long read/write by @chaokunyang in #981
New Contributors
- @pandalee99 made their first contribution in #908
- @ilxqx made their first contribution in fury-project/dubbo-serialization-fury#1
Full Changelog: https://github.com/alipay/fury/commits/v0.2.0.alpha1
v0.1.2
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
Highlights
- Java
- Dubbo fury integration: https://github.com/fury-project/dubbo-serialization-fury
- Add class checker API to customize security check behaviour(#890)
- Python
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
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
- Create pull_request_template.md by @chaokunyang in #2
- add apache licence file by @chaokunyang in #3
- [Java] add java code structure by @chaokunyang in #4
- [Java] add java code formatter by @chaokunyang in #5
- [Java] Add licence to file header by @chaokunyang in #6
- [Docs] add fury debug doc by @chaokunyang in #8
- [Docs] refine readme by fix syntax error by @chaokunyang in #10
- [Community] add getting involved document by @chaokunyang in #12
- [Java] add java ci by @chaokunyang in #14
- [Java] fix license format conflict with checkstyle by @chaokunyang in #16
- [Java] Add unsafe memory util by @chaokunyang in #18
- [Java] add tuple2/tuple3 utils by @chaokunyang in #20
- [Java] add LoggerFactory for disable logging more easily by @chaokunyang in #22
- [Java] add string utils by @chaokunyang in #24
- [Java] add memory read/write utils by @chaokunyang in #26
- [Community] update slack invite link by @chaokunyang in #27
- [Java] add cross-language type id by @chaokunyang in #35
- [Java] Add api annotation to mark api stability by @chaokunyang in #37
- [Java] add int array to avoid box cost by @chaokunyang in #39
- [Java] add auto-growing object array by @chaokunyang in #41
- [Java] Add optimized map for faster lookup by @chaokunyang in #43
- [Java] add basic type inference support by @chaokunyang in #45
- [Java] Add long map support by @chaokunyang in #47
- [Java] add fury exceptions by @chaokunyang in #48
- [Java] add MurmurHash3 support by @chaokunyang in #50
- [Java] add Reflection support by @chaokunyang in #52
- add FieldAccessor and fields compare by @chaokunyang in #54
- [Java] implement basic compiler backend based on janino by @chaokunyang in #56
- [Java] Add extensible classloaders by @chaokunyang in #58
- [Java] Support multi key weak map by @chaokunyang in #60
- [Java] codegen framework for fury java jit by @chaokunyang in #61
- [Java] add utility for lambda functions by @chaokunyang in #63
- [Java] add common expression ir for programing construct by @chaokunyang in #64
- [Java] fix if expression with return child node by @chaokunyang in #66
- [Java] add expression tree traverser and updater by @chaokunyang in #68
- [Java] add missing author java odc by @chaokunyang in #69
- [Java] add enum string resolver support by @chaokunyang in #72
- [Java] add reference tracking support by @chaokunyang in #74
- [Java] add java serializer interface by @chaokunyang in #76
- [Java] add test utils by @chaokunyang in #77
- [Java] add generics hierarchy resolving support by @chaokunyang in #79
- [Java] add serialization context to relate serializing different objects by @chaokunyang in #82
- [Java] add class info util by @chaokunyang in #83
- [Java] add buffer callback by @chaokunyang in #87
- [Java] implement basic java serialization framework by @chaokunyang in #88
- [Java] Add string serializer by @chaokunyang in #90
- [Java] add string builder/buffer serializers by @chaokunyang in #93
- [Java] add missing uint serializers tests by @chaokunyang in #95
- [Java] Implement enum serialization for java by @chaokunyang in #97
- [Java] Implement bigint/decimal serialization for java by @chaokunyang in #101
- [Community] add zhihu link by @chaokunyang in #103
- [Community] fix zhihu link by @chaokunyang in #104
- [Community] update slack desc by @chaokunyang in #105
- [Java] Add object array serializer by @chaokunyang in #107
- [Java] Implement primitive array serializers by @chaokunyang in #109
- [Java] support serializing byte buffer by @chaokunyang in #113
- [Java] support serializing java.util.concurrent.atomics by @chaokunyang in #115
- [Java] move string array serializers by @chaokunyang in #116
- [Java] support Currency serialization by @chaokunyang in #118
- [Java] support charset serialization by @chaokunyang in #120
- [Java] support URI serialization by @chaokunyang in #122
- [Java] add support for regex serialization by @chaokunyang in #124
- [Java] support uuid serialization by @chaokunyang in #126
- [Java] add class serialization test by @chaokunyang in #127
- [Java] add Locale Serializer support by @chaokunyang in #129
- [Java] fix LocaleSerializer cache thread safety by @chaokunyang in #132
- [Java] serialization support for java.util.OptionalXXX by @chaokunyang in #134
- [Java] Add time serializers by @chaokunyang in #137
- [Java] add ObjectInput/Output based on fury by @chaokunyang in #139
- [Java] add JavaSerializer based on ObjectInputStream/ObjectOutputStream by @chaokunyang in #141
- [Java] implement jdk proxy serialization by @chaokunyang in #143
- [Java] implement Externalizable serialization by @chaokunyang in #145
- [Java] implement Collection serialization by @chaokunyang in #147
- [Java] add sortedset serializer by @chaokunyang in #149
- [Java] add empty collection serializer by @chaokunyang in #151
- [Java] add single collection serializers by @chaokunyang in #153
- [Java] add ConcurrentSkipListSet serializer by @chaokunyang in #155
- [Java] add java.util.Vector serializer by @chaokunyang in #157
- [Java] add java.util.ArrayDeque serializer by @chaokunyang in #159
- [Java] add java.util.EnumSet serializer by @chaokunyang in #161
- [Java] implement java.util.BitSet serializer by @chaokunyang in #163
- [Java] implement java.util.PriorityQueue serialization by @chaokunyang in #165
- [Java] implement map serialization framework by @chaokunyang in #167
- [Java] support java.util.SortedMap serialization by @chaokunyang in https://github.com/...