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 #169
- [Java] support empty map serialization by @chaokunyang in #171
- [Java] implement singleton map serialization by @chaokunyang in #173
- [Java] support concurrent map serialization by @chaokunyang in #175
- [Java] implement enum map serialization by @chaokunyang in #177
- [Java] group and sort descriptors for cache and consistency by @chaokunyang in #179
- [Java] Implement object serialization by @chaokunyang in #181
- [Java] fury native lambda serialization for java by @chaokunyang in #183
- Update feature_request.md by @chaokunyang in #184
- Update bug_report.md by @chaokunyang in #185
- Update bug_report.md by @chaokunyang in #186
- [Java] Optimize Collections.synchronized serialization performance by @chaokunyang in #188
- [Java] optimize unmodifiable serialization by @chaokunyang in #191
- [Java] add native readResolve/writeReplace serialization support by @chaokunyang in #193
- [Java] [1/N] support type forward/backward compatibility by @chaokunyang in #196
- [Java] Add struct util to create test struct class dynamically by @chaokunyang in #199
- Revert "[Java] Add struct util to create test struct class dynamically" by @chaokunyang in #200
- [Java] Add struct util to create test struct class dynamically by @chaokunyang in #201
- [Java][2/N] support type forward/backward compatibility by @chaokunyang in #195
- [Java] Optimize subclass container serialization by @chaokunyang in #205
- [Java] remove generated classes automatically by @chaokunyang in #207
- [Java] implement collection serialization field by field by @chaokunyang in #209
- [Java] implement java map serialization field by field by @chaokunyang in #210
- [Java] optimize jdk compatible collection serializer by @chaokunyang in #212
- [Java] support compatible map serialization by @chaokunyang in #213
- [JavaScript] javascript of fury by @wangweipeng2 in #215
- [JavaScript]Replace Nodejs lib by standard lib by @wangweipeng2 in #217
- [JavaScript]Add test by @wangweipeng2 in #219
- [JavaScript] Change package.json entry file by @wangweipeng2 in #221
- Update feature_request.md by @chaokunyang in #223
- [Java] implement fury-native jdk compatible object serialization by @chaokunyang in #222
- [Java] Add class def for meta sharing by @chaokunyang in #226
- [Java] Support meta shared serialization by @chaokunyang in #225
- [Java] add missing license to ObjectStreamSerializer by @chaokunyang in #228
- [Java] move loadClass to ClassUtils by @chaokunyang in #229
- [javascript] add javascript ci by @chaokunyang in #230
- Fix CI by @chaokunyang in #232
- [Java] forbid classes serialization by blacklist by @chaokunyang in #234
- [Java] generate field accessor on the flight by @chaokunyang in #240
- [Java] expression optimizer for method split by @chaokunyang in #241
- [JavaScript]Fix ci by @wangweipeng2 in #242
- [Java] add codec builder base class by @chaokunyang in #244
- [Java] add jdk serializable check by @chaokunyang in #248
- [Java] add base object serializer builder by @chaokunyang in #249
- [Java] Implement jit serialization for object by @chaokunyang in #250
- [Java] Fix meta shared serializer when jit enabled by @chaokunyang in #252
- Update bug_report.md by @chaokunyang in #253
- [Java] type forward/backward compatible jit serializer by @chaokunyang in #254
- [Java] Meta shared object jit serializer by @chaokunyang in #255
- [Java] jit context for manage compilation by @chaokunyang in #259
- [Java] fix javaFury thread safety by @chaokunyang in #261
- [Java] set rootdir for maven multi-module project by @chaokunyang in #263
- [Java] add guava immutable list serializer by @chaokunyang in #264
- [Java] add guava immutable map serializer by @chaokunyang in #266
- [Java] Async compilation for jit serializers by @chaokunyang in #268
- [Java] add url serializer by @chaokunyang in #269
- [Java] optimize java serialization by @chaokunyang in #271
- [Java] bind fury with classloader by @chaokunyang in #274
- [Java] add forward serializer by @chaokunyang in #276
- [Java] add thread-safe fury serializer by @chaokunyang in #278
- [Java] Add guava/sublist todo serializer by @chaokunyang in #282
- [Java] add zero-copy tests by @chaokunyang in #284
- [Java] Profiling fury init by @chaokunyang in #286
- [Java] add complex cyclic tests by @chaokunyang in #288
- [Java] enable testArrayStructZeroCopy by @chaokunyang in #290
- [Java] add complex collection struct tests by @chaokunyang in #292
- [Java] add complex map struct tests by @chaokunyang in #294
- [Java] misc serializer tests by @chaokunyang in #295
- [Java] optimize time reference by @chaokunyang in #297
- [Java] add unsafe accessor test for duplicate fields by @chaokunyang in #299
- [Java] add serializer factory test by @chaokunyang in #301
- [Java] add duplicate fields tests by @chaokunyang in #303
- [Java] add protocol interoperability tests by @chaokunyang in #305
- [Java] Lazy map support by @chaokunyang in #307
- [Java] Support deserialize unexisted classes by @chaokunyang in #309
- [Java] fix OutOfBandTest pkg by @chaokunyang in #310
- javascript latin1 string performance improvement by @wangweipeng2 in #312
- [Java] Add row format interface by @chaokunyang in #316
- [Java] add Default arrow type visitor by @chaokunyang in #318
- [Java] add decimal util by @chaokunyang in #320
- [Java] add pyarrow style data types API in java by @chaokunyang in #322
- [Java] add fury InputStream/OutputStream by @chaokunyang in #324
- [Java] Infer arrow schema for java bean by @chaokunyang in #326
- [Java] add bitmap utils by @chaokunyang in #328
- [Java] binary row format data structure by @chaokunyang in #330
- [Java] binary row format writer by @chaokunyang in #333
- [Java] add arrow visitor for value accessor by @chaokunyang in #335
- [Java] add row format tests by @chaokunyang in #337
- [Java] add row format encoder interface by @chaokunyang in #339
- [Java] Base builder for building jit encoder by @chaokunyang in #341
- [Java] add jit-based row encoder implementation by @chaokunyang in #343
- [Java] format code by @chaokunyang in #344
- [Java] add missing license by @chaokunyang in #345
- [Java] Add fury channel by @chaokunyang in #346
- [Java] Mock io for count bytes by @chaokunyang in #349
- [Java] Arrow record batch zero-copy serializers by @chaokunyang in #351
- [Java] Add missing license by @chaokunyang in #352
- [Java] optimize decimal encoding performance by @chaokunyang in #354
- [Java] optimize schema creation perf by @chaokunyang in #356
- [Java] update row javadoc by @chaokunyang in #357
- [Java] Support convert row to arrow format by @chaokunyang in #359
- [Java] add arrow serializers tests by @chaokunyang in #361
- [Java] fix arrow tests by @chaokunyang in #362
- [Java] add serialize to buffer tests by @chaokunyang in #364
- [Java] add basic cross-langauge serialization tests by @chaokunyang in #366
- [Java] add serializeBeanTest by @chaokunyang in #367
- [Java] add registerTest by @chaokunyang in #368
- [Java] add testTreeMap by @chaokunyang in #369
- [Java] add offheap tests by @chaokunyang in #371
- [Java] refine classresovler tests by @chaokunyang in #373
- [Java] add private bean tests by @chaokunyang in #375
- [Java] add blocking queue test by @chaokunyang in #377
- [Java] add duplicate fields test by @chaokunyang in #378
- [Java] add guava tests by @chaokunyang in #381
- [Java] add test for jdk serializable check by @chaokunyang in #383
- [Java] add secure mode test by @chaokunyang in #385
- [Java] ensure fury doesn't introduce class leak by @chaokunyang in #387
- [Java] add tests for ignoring fields by @chaokunyang in #389
- [Java] add thread to blacklist by @chaokunyang in #391
- [Java] Add complex testsuite by @chaokunyang in #393
- [Java] add benchmark framework by @chaokunyang in #399
- [Java] add plotting tool by @chaokunyang in #400
- [Java] add usertype benchmarks by @chaokunyang in #401
- [Java] Add string benchmarks by @chaokunyang in #403
- [Java] add array benchmark by @chaokunyang in #405
- [Java] add map benchmark by @chaokunyang in #409
- [Java] add memory benchmark by @chaokunyang in #410
- [Java] add row format benchmark by @chaokunyang in #411
- [Java] add zero copy benchmark by @chaokunyang in #413
- [Java] Add flatbufffer/protobuffer benchmarks by @chaokunyang in #415
- [Java] update integration_tests readme by @chaokunyang in #416
- [C++] generate arrow bazel depdencies from pyarrow bundled shared library by @chaokunyang in #418
- [C++] Add bazel C++ build support by @chaokunyang in #420
- [C++] add c++ logging util by @chaokunyang in #423
- [C++] add cpp status util by @chaokunyang in #425
- [C++] basic util for bytes operations by @chaokunyang in #427
- Update bug_report.md by @chaokunyang in #430
- [Java] register class check duplciate id by @chaokunyang in #432
- [Java] move ExpressionOptimizer into codegen package by @chaokunyang in #433
- Format/container encoder by @rainsonGain in #429
- [Java] Thread-safe fury implementation by pooling by @leeco-cloud in #436
- [C++] Add c++ buffer util by @chaokunyang in #438
- [CI] fix CI by @chaokunyang in #439
- [C++] Binary row format for c++ by @chaokunyang in #441
- [C++] C++ row format to arrow by @chaokunyang in #442
- [C++] Add c++ ci by @chaokunyang in #444
- [CI] Add code lint ci job by @chaokunyang in #446
- [Doc] Add c++ debugging doc by @chaokunyang in #448
- [Python] [1/n] Fury python binding by @chaokunyang in #450
- [python] Type infer for python by @chaokunyang in #458
- [Java] skip checkstyle in java test by @chaokunyang in #459
- [Python] Fix python ci by @chaokunyang in #461
- [Python] Python row format by @chaokunyang in #463
- [Python] Python encoder for row format by @chaokunyang in #466
- [Python] Row and arrow format converter by @chaokunyang in #467
- [C++] cpp murmurhash by @chaokunyang in #469
- [Python] Python murmur hash binding by @chaokunyang in #472
- [Python] add weak key identity map by @chaokunyang in #474
- [Python] add reference resolver by @chaokunyang in #476
- [Python] Implement python serialization framework by @chaokunyang in #478
- [Python] add common python serializers by @chaokunyang in #480
- [Python] struct serialization support by @chaokunyang in #482
- [Java] Fix get super type exception by @chaokunyang in #484
- [Java] fix map final value type serializer in jit compatible mode by @chaokunyang in #485
- [Docs] add fury logo by @chaokunyang in #487
- [Docs] add square fury logo by @chaokunyang in #488
- [python] add cpp reference resolver based on abseil map by @chaokunyang in #493
- [python] add cpp class resolver by @chaokunyang in #494
- [Python] cython serialization framework by @chaokunyang in #496
- [Python] cython basic serializers by @chaokunyang in #501
- [Python] cython container serializers by @chaokunyang in #502
- [Pyhton] cython array serializers by @chaokunyang in #503
- [Python] cython struct serializer by @chaokunyang in #505
- [Python] cython misc serializers by @chaokunyang in #506
- [Python] Unify cython python serializer by @chaokunyang in #507
- [Python] Codegen serialization support by @chaokunyang in #509
- [Python] Support arrow serialization in objgraph by @chaokunyang in #515
- [Python] Add common pytests by @chaokunyang in #517
- [C++] pin bazel to 4.2.0 by @chaokunyang in #519
- [Community] Update contacts about wechat/dingding by @chaokunyang in #521
- [Java] support struct cross language serialization by @chaokunyang in #523
- [Java] add java/python cross language row format tests by @chaokunyang in #525
- feat: fix qrcode size in readme by @wangweipeng2 in #526
- [Java] replace io.furyx with org.furyio by @chaokunyang in #527
- [Java] Add missing map license by @chaokunyang in #529
- [Java] reduce string serializer caller stack by jit by @chaokunyang in #531
- [Java] fix nested map generics by @chaokunyang in #533
- [Java] fix jdk11 string jit serialization by @chaokunyang in #535
- [JavaScript] improve write performance by @wangweipeng2 in #538
- [Java] refine java benchmarks by @chaokunyang in #536
- [Java] fix fury java kryo/fst benchmark classloading by @chaokunyang in #542
- [Java] Unsafe method invoke optimization by @chaokunyang in #543
- [Java] Optimize string serialization mem ops by @chaokunyang in #545
- [Java] Optimze jit generated code by @chaokunyang in #548
- [Java] Optimize primitive fields jit read/write by @chaokunyang in #550
- [Java] Fix benchmark plot by @chaokunyang in #554
- [Java] Upload benchmark data by @chaokunyang in #555
- [Docs] Update benchmarks by @chaokunyang in #560
- [Docs] use a smaller size for benchmark plots by @chaokunyang in #561
- [Docs] update docs by @chaokunyang in #565
- [Doc] update docs by @chaokunyang in #566
- [Docs] update readme by @chaokunyang in #567
- [JavaScript] Import js write performance by @wangweipeng2 in #569
- [Docs ] fix benchmarks figures align by @chaokunyang in #571
- [Docs] fix python typehint comment by @chaokunyang in #572
- [Docs] add row format to arrow conversion java example by @chaokunyang in #573
- [JavaScript] update benchmark by @wangweipeng2 in #574
- [JavaScript] easy type description by @wangweipeng2 in #576
- [JavaScript] add generic constraints to the serializer by @wangweipeng2 in #577
- [Docs] Refine benchmark plots by @chaokunyang in #578
- [Docs] fix java header by @chaokunyang in #582
- [Python] support secure mode for python by @chaokunyang in #584
- [Docs] update readme speedup by @chaokunyang in #585
- [Docs] remove
Binary Serialization
from header by @chaokunyang in #586 - [Docs] add Serialization to header by @chaokunyang in #587
- [Docs] fix invalid image links in cpp debug doc by @chaokunyang in #589
- Bump protobuf-java from 3.11.0 to 3.16.3 in /java/fury-benchmark by @dependabot in #590
- Bump testng from 7.3.0 to 7.5.1 in /java by @dependabot in #591
- Bump checkstyle from 8.19 to 8.29 in /java by @dependabot in #592
- Bump guava from 30.0-jre to 32.0.0-jre in /java by @dependabot in #593
- Bump protobuf-java from 3.15.0 to 3.16.3 in /integration_tests by @dependabot in #594
- [Java] replace log4j by log4j2 for test modules by @chaokunyang in #595
- [JavaScript] update benchmark by @wangweipeng2 in #597
- [Java] rename reference to ref by @chaokunyang in #599
- [Java] fix checkstyle failure by @chaokunyang in #602
- [Java] fix missing reference renaming by @chaokunyang in #603
- [Java] Rename requireClassRegistration by @chaokunyang in #604
- [JavaScript]: remove dependency on v8 by @wangweipeng2 in #606
- [Rust] Add readme for fury rust by @chaokunyang in #607
- [Java] add missing license for java code by @chaokunyang in #608
- [Java] update java benchmarks by @chaokunyang in #609
- [Docs] update java benchmarks chart size by @chaokunyang in #610
- [Docs] use same color for fury best performance by @chaokunyang in #611
- [Java] add MetaContext tests by @chaokunyang in #613
- [Java] Add java misc tests by @chaokunyang in #614
- [Java] Add codegen class loading/gc tests by @chaokunyang in #616
- [Java] add warn logs when requireClassRegistration disabled by @chaokunyang in #618
- [Docs] Add java adcanced user guide doc by @chaokunyang in #621
- [Docs] Update java advanced doc by @chaokunyang in #625
- [JavaScript] Eliminate polymorphism in JS code by @wangweipeng2 in #627
- [Python] rename reference to ref for python by @chaokunyang in #629
- [Java/Python] Rename crosslanguage to x by @chaokunyang in #631
- [JavaScript] reduce generated code size by @wangweipeng2 in #633
- [Java] update java snapshot url by @chaokunyang in #635
- [CI] Enable Fury CI by @chaokunyang in #636
- [Docs] add benchmark data by @chaokunyang in #639
- [Doc] use camel naming for benchmark class doc by @chaokunyang in #640
- [Docs] Update security doc by @chaokunyang in #642
- [Java] update license for Generics by @chaokunyang in #644
- [Java] fix generics license length by @chaokunyang in #645
- [Java] update java security doc by @chaokunyang in #646
- [Go] update golang readme by @chaokunyang in #648
- [Doc] replace Fury.Language by Language by @chaokunyang in #650
- [Java] update java row readme by @chaokunyang in #651
- [Java] register guava serializers ahead by @chaokunyang in #654
- [Docs] split user guide doc into 3 parts to sync with website by @chaokunyang in #665
- [Docs] move guide docs to guide by @chaokunyang in #667
- [Doc] sync files to home site by @wangweipeng2 in #666
- [Java] Fix IndexOutOfBoundsException when new fury deserialize from InputStream by @chaokunyang in #671
- [Doc] support front matter by @wangweipeng2 in #672
- [Doc] rename inner fury to f when creating ThreadSafeFury by @chaokunyang in #676
- [Java] Support string zerocopy for jdk14+ by @chaokunyang in #677
- [CI] Add deploy script by @chaokunyang in #688
- [Java] Support maven release by @chaokunyang in #691
- [Doc] add java release jar for v0.1.0-alpha.1 by @chaokunyang in #693
- [Doc] Fix release jar doc by @chaokunyang in #694
- [Doc] Refine readme for more readability by @chaokunyang in #695
- [Java] Add detailed lambda error by @chaokunyang in #698
- [Doc] Fix threadsafe example by @chaokunyang in #699
- [Docs] fix threadsafe fury in java guide by @chaokunyang in #700
- [Docs] remove bracket from classLoader by @chaokunyang in #701
- [Java] add maven source plugin by @chaokunyang in #702
- [Java] Jdk serialization binary check by @chaokunyang in #714
- [Java] add jdk migration doc by @chaokunyang in #715
- [Java] Support jit for non public classes by @chaokunyang in #719
- [Rust] rust lang initial version by @wangweipeng2 in #718
- [Java] add type tag registration check by @chaokunyang in #722
- [Doc] highlight warmup by @chaokunyang in #723
- [Rust ] calculate the reserved space on compile time by @wangweipeng2 in #725
- [Java/Python] disable reference tracking by default by @chaokunyang in #727
- [Java] debug log code stats by @chaokunyang in #728
- [Java] upgrade java install to 0.1.0-alpha.2 by @chaokunyang in #731
- [Doc] use fury png logo by @chaokunyang in #733
- [Doc] remove margin fury png logo by @chaokunyang in #734
- [Doc] Refine logo and icon by @chaokunyang in #735
- [ Rust ] Make the protocols of rust and js consistent by @wangweipeng2 in #738
- [JavaScript] Make the protocols of rust and js consistent by @wangweipeng2 in #739
- [Java] Remove guava from userdoc by @chaokunyang in #740
- [Java] rename writeNonRefT to writeNonRef by @chaokunyang in #743
- [Java] Optimize object array serialization by @chaokunyang in #741
- [Java] avoid reflection in resolve/replace by @chaokunyang in #744
- [Java] avoid reflection in writeObject/readOject/readObjectNoData by @chaokunyang in #747
- [Java] optimize guava list serialization by @chaokunyang in #748
- [Java] add MakeJDKFunction lambda factory by @chaokunyang in #752
- [Java] Optimize guava List/Map/Set serialization by @chaokunyang in #750
- [Doc] Add contributing guide doc by @chaokunyang in #759
- [Doc] Create CODE_OF_CONDUCT.md by @chaokunyang in #761
- [Doc] Fix broken link in README by @tisonkun in #762
- [Rust] Several Rust idioms by @tisonkun in #763
- [Java] fix write replace class failure by @chaokunyang in #767
- [Java] replace withSecureMode by requireClassRegistration API by @chaokunyang in #768
- [Doc] Update README.md by @chaokunyang in #770
- [Doc] add javadoc for FuryBuilder by @chaokunyang in #775
- [Doc] add doc for fury creation reuse by @chaokunyang in #777
- [Java][Python] auto deploy java/python packages by @chaokunyang in #781
- [Java] refine FuryBuilder API by @chaokunyang in #784
- [CI] skip release tests by @chaokunyang in #785
- Corrected grammar and paraphrasing to make the README easier to read by @hieu-ht in #786
- Don't let CI run when the changed files are not the code by @hieu-ht in #787
- [Java] use lambda for SynchronizedSerializers factory by @chaokunyang in #789
- [Java] use lambda for unmodifiable serializers factory by @chaokunyang in #790
- [Python] replace alpha/beta to a/b for python by @chaokunyang in #792
- [Python] fix python bump version by @chaokunyang in #793
- [CI] Fix bump version by @chaokunyang in #795
- [CI] Fix py release by @chaokunyang in #796
- [Doc] update python and java install by @chaokunyang in #797
- Update README.md by @chaokunyang in #800
- [Doc] Update java install version to 0.1.0-alpah.5 by @chaokunyang in #801
- [CI] Fix pypi upload by @chaokunyang in #803
- [Java] Add core java developer to maven pom by @chaokunyang in #802
- [Java] add core java developer to maven modules pom by @chaokunyang in #804
- [Java] support decode utf8 for java string serialization by @chaokunyang in #806
- Update Java Deserialization Blacklist by @s31k31 in #782
- chore: apply license format by @tisonkun in #783
- [Java] use soft reference to avoid duplicate codegen by @chaokunyang in #809
New Contributors
- @wangweipeng2 made their first contribution in #215
- @rainsonGain made their first contribution in #429
- @leeco-cloud made their first contribution in #436
- @dependabot made their first contribution in #590
- @tisonkun made their first contribution in #762
- @hieu-ht made their first contribution in #786
- @s31k31 made their first contribution in #782
Full Changelog: https://github.com/alipay/fury/commits/v0.1.0