Releases: apache/fury
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
v0.5.1
The Apache Fury team is pleased to announce the 0.5.1 release. This is a minor release that includes 36 PR from 7 distinct contributors. See the Install Page to learn how to get the libraries for your platform.
Feature
- feat(spec): remove list/map header from type meta spec by @chaokunyang in #1590
- perf(java): Reduce performance regression caused by deleteCharAt by @LiangliangSui in #1591
- feat(java): type meta encoding for java by @chaokunyang in #1556 and #1601
- feat(sepc): update type meta field info spec by @chaokunyang in #1603
- feat(javascript): add data to description util by @bytemain in #1609
- feat(java): Support CopyOnWriteArrayListSerializer by @MrChang0 in #1613
- feat(java): add blocked stream utils by @chaokunyang in #1617
- feat(go/java): Add ASCII check before meta string encoding by @jasonmokk in #1620
- feat(java): register old version guava collect by @MrChang0 in #1622
- feat(java): support deserialization ignoreEnumDeserializeError by @157152688 in #1623
- feat(java): add set serializer for concurrent set by @MrChang0 in #1616
- feat(java): add custom serializer register in case of special serializer ctr by @MrChang0 in #1625
- feat(java): remove soft/weak ref values from thread safe fury by @chaokunyang in #1639
- refactor(java): Remove Guava's Collection usages by @Munoon in #1611 and #1614
- refactor(java): replace Guava's string utility methods with own implementation by @Munoon in #1624
Bug Fix
- fix(java): compatible low version guava by @MrChang0 in #1593 and #1594
- fix(java): fix getClassDef thead safety by @chaokunyang in #1597
- fix(java): remove maven groupId change by @chaokunyang in #1602
- fix(java): make slf4j provided by @chaokunyang in #1605
- fix(java): clear serializer for collection/map by @chaokunyang in #1606
- fix(java): fix TypeRef getSubType by @chaokunyang in #1608
- fix(java): fix fastutil Object2ObjectOpenHashMap serialization by @chaokunyang in #1618
- fix(java): subclass without fields will encode superclass by @MrChang0 in #1626
- fix(java): fix wildcard capturer capture NullPointerException by @chaokunyang in #1637
- fix(java): fix abstract collection elems same type serialization by @chaokunyang in #1641
- fix(java): ThreadPoolFury#factoryCallback don't work when create new classLoaderFuryPooled by @MrChang0 in #1628
- fix(go/java): Enhance ASCII check in meta string encoding by @jasonmokk in #1631
Misc
- chore(java): move tests to meta/reflect pkg by @chaokunyang in #1592
- chore(java): make enum serializer as an upper level class by @chaokunyang in #1598
- chore: bump dev version to 0.6.0 by @chaokunyang in #1599
- chore: Fury header add language field by @LiangliangSui in #1612
- chore(java): rename deserializeUnexistentEnumValueAsNull to deserializeNonexistentAsNull by @chaokunyang in #1634
- chore(java): remove gpg pinentry-mode by @chaokunyang in #1636
New Contributors
- @MrChang0 made their first contribution in #1594
- @jasonmokk made their first contribution in #1620
- @157152688 made their first contribution in #1623
Full Changelog: v0.5.0...v0.5.1
v0.5.1-rc2
What's Changed
- feat(spec): remove list/map header from type meta spec by @chaokunyang in #1590
- chore(java): move tests to meta/reflect pkg by @chaokunyang in #1592
- fix(java): compatible low version guava(#1593) by @MrChang0 in #1594
- perf(java): Reduce performance regression caused by deleteCharAt by @LiangliangSui in #1591
- feat(java): type meta encoding for java by @chaokunyang in #1556
- fix(java): fix getClassDef thead safety by @chaokunyang in #1597
- fix(java): skip register unexisted skip class by @chaokunyang in #1601
- chore(java): make enum serializer as an upper level class by @chaokunyang in #1598
- fix(java): make slf4j provided by @chaokunyang in #1605
- fix(java): clear serializer for collection/map by @chaokunyang in #1606
- feat(sepc): update type meta field info spec by @chaokunyang in #1603
- fix(java): fix TypeRef getSubType by @chaokunyang in #1608
- feat(javascript): add data to description util by @bytemain in #1609
- refactor(java): Remove Guava's Collection usages by @Munoon in #1611
- feat(java): Support CopyOnWriteArrayListSerializer by @MrChang0 in #1613
- chore: Fury header add language field by @LiangliangSui in #1612
- refactor(java): Remove Guava's Concurrency utils usages by @Munoon in #1614
- fix(java): fix fastutil Object2ObjectOpenHashMap serialization by @chaokunyang in #1618
- feat(java): add blocked stream utils by @chaokunyang in #1617
- feat(go/java): Add ASCII check before meta string encoding by @jasonmokk in #1620
- feat(java): register old version guava collect by @MrChang0 in #1622
- feat(java): support deserialization ignoreEnumDeserializeError by @157152688 in #1623
- feat(java): add set serializer for concurrent set by @MrChang0 in #1616
- feat(java): add custom serializer register in case of special serializer ctr by @MrChang0 in #1625
- fix(java): subclass without fields will encode superclass by @MrChang0 in #1626
- refactor(java): replace Guava's string utility methods with own implementation by @Munoon in #1624
- fix(java): ThreadPoolFury#factoryCallback don't work when create new classLoaderFuryPooled by @MrChang0 in #1628
- fix(go/java): Enhance ASCII check in meta string encoding by @jasonmokk in #1631
- chore(java): rename deserializeUnexistentEnumValueAsNull to deserializeNonexistentAsNull by @chaokunyang in #1634
- chore(java): remove gpg pinentry-mode by @chaokunyang in #1636
- fix(java): fix wildcard capturer capture NullPointerException by @chaokunyang in #1637
- fix(java): fix abstract collection elems same type serialization by @chaokunyang in #1641
- feat(java): remove soft/weak ref values from thread safe fury by @chaokunyang in #1639
New Contributors
- @MrChang0 made their first contribution in #1594
- @jasonmokk made their first contribution in #1620
- @157152688 made their first contribution in #1623
Full Changelog: v0.5.0...v0.5.1-rc2
v0.5.1-rc1
What's Changed
- feat(spec): remove list/map header from type meta spec by @chaokunyang in #1590
- chore(java): move tests to meta/reflect pkg by @chaokunyang in #1592
- fix(java): compatible low version guava(#1593) by @MrChang0 in #1594
- perf(java): Reduce performance regression caused by deleteCharAt by @LiangliangSui in #1591
- feat(java): type meta encoding for java by @chaokunyang in #1556
- fix(java): fix getClassDef thead safety by @chaokunyang in #1597
- fix(java): skip register unexisted skip class by @chaokunyang in #1601
- chore(java): make enum serializer as an upper level class by @chaokunyang in #1598
- chore: bump dev version to 0.6.0 by @chaokunyang in #1599
- fix(java): remove maven groupId change by @chaokunyang in #1602
- fix(java): make slf4j provided by @chaokunyang in #1605
- fix(java): clear serializer for collection/map by @chaokunyang in #1606
- feat(sepc): update type meta field info spec by @chaokunyang in #1603
- fix(java): fix TypeRef getSubType by @chaokunyang in #1608
- feat(javascript): add data to description util by @bytemain in #1609
- refactor(java): Remove Guava's Collection usages by @Munoon in #1611
- feat(java): Support CopyOnWriteArrayListSerializer by @MrChang0 in #1613
- chore: Fury header add language field by @LiangliangSui in #1612
- refactor(java): Remove Guava's Concurrency utils usages by @Munoon in #1614
- fix(java): fix fastutil Object2ObjectOpenHashMap serialization by @chaokunyang in #1618
- feat(java): add blocked stream utils by @chaokunyang in #1617
- feat(go/java): Add ASCII check before meta string encoding by @jasonmokk in #1620
- feat(java): register old version guava collect by @MrChang0 in #1622
- feat(java): support deserialization ignoreEnumDeserializeError by @157152688 in #1623
- feat(java): add set serializer for concurrent set by @MrChang0 in #1616
New Contributors
- @MrChang0 made their first contribution in #1594
- @jasonmokk made their first contribution in #1620
- @157152688 made their first contribution in #1623
Full Changelog: v0.5.0...v0.5.1-rc1
v0.5.0
We're excited to announce the release of Fury v0.5.0. This release incorporates a myriad of improvements, bug fixes, and new features across multiple languages including Java, Golang, Python and JavaScript. It further refines Fury's performance, compatibility, and developer experience.
New Features
Specification
- Introduced fury cross-language serialization specification (#1413, #1508)
- Introduced xlang type mapping (#1468)
- Introduced fury java specification (#1240)
- Introduced meta string encoding specification (#1565, #1513, #1517)
Java
- Support for compatible mode with GraalVM (#1586, #1587).
- Support unexisted array/enum classes and enabled deserializeUnexistedClass by default (#1569, #1575).
- meta string encoding algorithm in java (#1514, #1568, #1516, #1565)
- Support meta string encoding for classname and package name (#1527)
- native streaming mode deserialization (#1451, #1551)
- native channel stream reader (#1483)
- Support registration in thread safe fury (#1280)
- Implement fury logger and remove slf4j library (#1485, #1494, #1506, #1492)
- Support adjust logger level dynamically (#1557)
- Support jdk proxy serialization for graalvm (#1379)
- Specify JPMS module names (#1343)
- Align string array to collection protocol v2 (#1228)
JavaScript
- Align implementation to new Xlang protocol (#1487)
- Implement Xlang map (#1549)
- Implemented xlang map code generator (#1571)
- Added magic number feature for better serialization control (#1550).
- Support oneof (#1348)
- create zero-copy buffer when convert (#1386)
- Implement the collection protocol (#1337)
- Implement Enum (#1321)
- compress numbers (#1290)
C++
- Support optional fields/elements in RowEncoder (#1223)
- Support mapping types for RowEncodeTrait (#1247)
Golang
Enhancements
Java
- Improved buffer growth strategy to support larger data sizes for serialization (#1582).
- Performance optimizations for MetaStringDecoder and various serialization processes (#1568, #1511, #1493).
- concat write classname flag with package name (#1523)
- concat meta string len with flags (#1517)
- fastpath for read/write small varint in range
[0,127]
(#1503) - optimize read float/double for jvm jit inline (#1472)
- replace Guava's TypeToken with self-made (#1553)
- Remove basic guava API usage (#1244)
- optimize fury creation speed (#1511)
- optimize string serialization by concat coder and length (#1486)
- carry read objects when deserialization fail for better trouble shooting (#1420)
- implement define_class insteadof using javaassist (#1422)
- avoid recompilation when gc happens for memory pressure (#1411, #1585)
- Fix immutable collection ref tracking (#1403)
- reduce fury caller stack (#1496)
- Extract BaseFury interface (#1382)
- refine collection builder util (#1334)
- disable async compilation for graalvm (#1222)
- refine endian check code size in buffer (#1501)
- generate list fori loop instead of iterator loop for list serialization (#1493)
- Reduce unsafeWritePositiveVarLong bytecode size. (#1491)
- Reduce unsafePutPositiveVarInt bytecode size. (#1490, #1489)
- optimize read char/short jvm jit inline (#1471)
- reduce code size of read long to optimize jvm jit inline (#1470)
- reduce readInt/readVarInt code size for for jvm jit inline (#1469)
- refactor readVarUint32 algorithm (#1462)
- rewrite readVarUint64 algorithm (#1463)
JavaScript
- Make PlatformBuffer available if has Buffer polyfill (#1373)
- enhance performance 64bits number (#1320)
- Refactor & Compress Long (#1313)
- Improve tag write performance (#1241)
- Add more methods for BinaryReader (#1231)
- Implements tuple serializer (#1216)
Python
- concat meta string len with flags (#1517)
Bug Fix
Java
- Fix bytebuffer no such method error (#1580)
- Prevent exception in ObjectArray.clearObjectArray() (#1573)
- Fix slf4j on graalvm (#1432)
- Fix illegal classname caused by negative hash (#1436)
- Fix BigDecimal serializer (#1431)
- Fix BigInteger serialization (#1479)
- Fix type conflict in method split (#1371)
- Fix CodeGen Name conflicts when omitting java.lang prefix #1363 (#1366)
- Fix ClassLoader npe in loadOrGenCodecClass (#1346)
- Fix big buffer trunc (#1402)
- Make Blacklist detection is also performed when the Class is registered. (#1398)
- avoid big object graph cause buffer take up too much memory (#1397)
- Fix get static field by unsafe (#1380)
- Fix javax package for accessor codegen (#1388)
- Fix nested collection cast for scala/java (#1333)
- Fix References within InvocationHandler (#1365)
- Allow partial read of serialized size from
InputStream
(#1391) - add potential missing bean class-loader (#1381)
- Fix polymorphic array serialization (#1324)
- Fix nested collection num elements (#1306)
- Fix collection init size typo (#1342)
- Clear extRegistry.getClassCtx if generate serializer class failed (#1221)
Rust
Miscellaneous
- Numerous code cleanups, refactorings, and internal improvements across all supported languages to enhance code quality
and maintainability. - Moved various utilities into more appropriate packages to improve code organization and readability (#1584, #1583,
#1578). - rename MemoryBuffer read/write/put/getType with read/write/put/getTypeNumber (#1480, #1464, #1505, #1500)
- extract public Fury methods to BaseFury (#1467)
- Optimize Class ID allocation. (#1406)
- refine Collection util data structure (#1287) (#1288)
- Improve Status by using unique_ptr (#1234)
- Improve FormatTimePoint by removing sstream (#1233)
- Drop optional chaining expression (#1338)
New Contributors
- @nandakumar131 made their first contribution in #1244
- @vesense made their first contribution in #1260
- @LiangliangSui made their first contribution in #1294
- @liuxiaocs7 made their first contribution in #1312
- @mtf90 made their first contribution in #1343
- @bowin made their first contribution in #1353
- @cn-at-osmit made their first contribution in #1366
- @Maurice-Betzel made their first contribution in #1381
- @phogh made their first contribution in #1391
- @laglangyue made their first contribution in #1415
- @Munoon made their first contribution in #1467
- @pixeeai made their first contribution in #1559
- @huisman6 made their first contribution in #1572
- @tommyettinger made their first contribution in #1573
- @qingoba made their first contribution in #1566
Acknowledgements
Thanks @chaokunyang @theweipeng @PragmaTwice @LiangliangSui @nandakumar131 @Munoon @qingoba @vesense @liuxiaocs7 @mtf90 @bowin @cn-at-osmit @Maurice-Betzel @phogh @laglangyue @tommyettinger @huisman6 @pixeeai
A big thank you to all our contributors who have worked hard on this release. Your contributions, whether through code,
documentation, or issue reporting, are really appreciated.
Full Changelog: v0.4.1...v0.5.0
v0.5.0-rc4
What's Changed
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed by @chaokunyang in #1221
- [C++] Support optional fields/elements in RowEncoder by @PragmaTwice in #1223
- [JavaScript] Implements tuple serializer by @bytemain in #1216
- [Rust] Remove unnecessary abstraction by @theweipeng in #1225
- [Java] disable async compilation for graalvm by @chaokunyang in #1222
- [Java] Align string array to collection protocol v2 by @chaokunyang in #1228
- [Improve] add rust doc by @caicancai in #1226
- [JavaScript] Add more methods for BinaryReader by @bytemain in #1231
- [C++] Improve FormatTimePoint by removing sstream by @PragmaTwice in #1233
- [C++] Improve Status by using unique_ptr by @PragmaTwice in #1234
- [JavaScript] Add lint tools by @bytemain in #1232
- [Doc][Spec] fury java serialization spec by @chaokunyang in #1238
- [Doc] bump release version to 0.4.1 by @chaokunyang in #1242
- [Java] Remove guava part 2. by @nandakumar131 in #1244
- [C++] Support mapping types for RowEncodeTrait by @PragmaTwice in #1247
- Update apache license by @chaokunyang in #1246
- Rename to Apache Fury in README by @PragmaTwice in #1249
- [Java][Doc] enable requireClassRegistration in example by default by @chaokunyang in #1250
- chore: setup apache repo by @tisonkun in #1251
- chore: clear alipay refs by @tisonkun in #1252
- chore: add NOTICE and DISCLAIMER by @tisonkun in #1253
- Delete CODE_OF_CONDUCT.md by @pjfanning in #1255
- docs: polish CONTRIBUTING doc by @tisonkun in #1257
- Add collaborators to workaround unfinished apache ID procedure by @PragmaTwice in #1256
- chore: relocate Maven GAV and Java package by @tisonkun in #1259
- Add maven badge by @vesense in #1260
- Add slack channel to README by @PragmaTwice in #1261
- chore: reflect PPMC members set up by @tisonkun in #1262
- ci: Release Fury Java Snapshot by @tisonkun in #1264
- [DOC] doc sync stay consistent with the site by @theweipeng in #1266
- [Java] Format integration tests code by @chaokunyang in #1263
- [JavaScript] Improve tag write performance by @bytemain in #1241
- update fury java install by @chaokunyang in #1268
- [Java][Doc] Switch Option and Description column for better readability by @chaokunyang in #1267
- Update twitter id in README.md to ApacheFury by @chaokunyang in #1270
- [Java] Clean-up of tmp files created in CrossLanguageTest by @nandakumar131 in #1277
- [CODE HEADER] Remove all fury author tag by @chaokunyang in #1282
- [Java] Support registration in thread safe fury by @chaokunyang in #1280
- [JAVA] add guava license header by @pjfanning in #1283
- [JAVA] remove license header from MurmurHash3 by @pjfanning in #1284
- Update NOTICE to mention all the licenses for source files where code is borrowed from different project. by @nandakumar131 in #1285
- [Java] refine Collection util data structure (#1287) by @mof-dev-3 in #1288
- Update copyright date in NOTICE by @PragmaTwice in #1289
- [JavaScript] Implement the standard protocol by @theweipeng in #1286
- [Java] Fix fury benchmark jmh GPLV2 license conflict by @chaokunyang in #1272
- [JavaScript] compress numbers by @theweipeng in #1290
- chore: tidy text and improve branding by @tisonkun in #1292
- [Java] remove vague desc in drop-in replacement jdk serialization libs by @chaokunyang in #1291
- [CI] Add macos C++ build to ci.yml by @PragmaTwice in #1295
- [C++] Windows build support by @LiangliangSui in #1294
- [C++] Use python3 instead of python in bazel build by @PragmaTwice in #1297
- [C++] Remove unused function by @LiangliangSui in #1298
- Refine words and remove other org links in README by @PragmaTwice in #1307
- [Java] fix nested collection num elements by @chaokunyang in #1306
- Keep head metadata as is in docs by @PragmaTwice in #1311
- [MINOR] Update CODEOWNERS by @liuxiaocs7 in #1312
- Refine English writing about benchmark in README by @PragmaTwice in #1314
- [DOC] Refine build steps and wording in DEVELOPMENT by @PragmaTwice in #1315
- ci: add PR title lint following the conventional commits by @PragmaTwice in #1317
- chore: Update CODEOWNERS by @chaokunyang in #1316
- feat(javascript): Refactor & Compress Long by @theweipeng in #1313
- docs: Remove extra symbols by @caicancai in #1310
- perf(java): merge perftests into benchmark by @chaokunyang in #1318
- perf(java): rename fury-benchmark to benchmark by @chaokunyang in #1319
- feat(JavaScript): Implement Enum by @theweipeng in #1321
- chore(C++): Remove unused bazel rulers by @LiangliangSui in #1322
- feat(JavaScript): enhance performance 64bits number by @theweipeng in #1320
- ci(c++): Implement C++ CI scripts using python by @LiangliangSui in #1303
- fix(java): fix polymorphic array serialization by @chaokunyang in #1324
- chore(git): update .gitignore by @LiangliangSui in #1331
- feat(java): refine collection builder util by @chaokunyang in #1334
- chore(cpp): rename src to cpp by @chaokunyang in #1329
- chore(JavaScript): Drop optional chaining expression by @bytemain in #1338
- feat(java): refine collection builder util (#1334), fix collection init size typo by @mof-dev-3 in #1342
- fix(java): fix nested collection cast for scala/java by @chaokunyang in #1333
- feat(java): Specify JPMS module names by @mtf90 in #1343
- feat(JavaScript): Implement the collection protocol by @theweipeng in #1337
- fix(Rust): incorrect cast by @theweipeng in #1345
- feat(ci): Rust ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1332
- fix(java): fix ClassLoader npe in loadOrGenCodecClass by @chaokunyang in #1346
- chore(java): Remove redundant code by @LiangliangSui in #1349
- fix(go): fix comment error, should be 1-5 byte by @bowin in #1353
- chore(JavaScript): Fix JavaScript test CI by @theweipeng in #1355
- chore(JavaScript): fix test ci on early Node by @theweipeng in #1356
- chore(JavaScript): Fix using npm run build error by @LiangliangSui in #1357
- ci(JavaScript): JavaScript ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1358
- feat(JavaScript): Support oneof by @theweipeng in htt...
0.5.0-rc3
What's Changed
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed by @chaokunyang in #1221
- [C++] Support optional fields/elements in RowEncoder by @PragmaTwice in #1223
- [JavaScript] Implements tuple serializer by @bytemain in #1216
- [Rust] Remove unnecessary abstraction by @theweipeng in #1225
- [Java] disable async compilation for graalvm by @chaokunyang in #1222
- [Java] Align string array to collection protocol v2 by @chaokunyang in #1228
- [Improve] add rust doc by @caicancai in #1226
- [JavaScript] Add more methods for BinaryReader by @bytemain in #1231
- [C++] Improve FormatTimePoint by removing sstream by @PragmaTwice in #1233
- [C++] Improve Status by using unique_ptr by @PragmaTwice in #1234
- [JavaScript] Add lint tools by @bytemain in #1232
- [Doc][Spec] fury java serialization spec by @chaokunyang in #1238
- [Doc] bump release version to 0.4.1 by @chaokunyang in #1242
- [Java] Remove guava part 2. by @nandakumar131 in #1244
- [C++] Support mapping types for RowEncodeTrait by @PragmaTwice in #1247
- Update apache license by @chaokunyang in #1246
- Rename to Apache Fury in README by @PragmaTwice in #1249
- [Java][Doc] enable requireClassRegistration in example by default by @chaokunyang in #1250
- chore: setup apache repo by @tisonkun in #1251
- chore: clear alipay refs by @tisonkun in #1252
- chore: add NOTICE and DISCLAIMER by @tisonkun in #1253
- Delete CODE_OF_CONDUCT.md by @pjfanning in #1255
- docs: polish CONTRIBUTING doc by @tisonkun in #1257
- Add collaborators to workaround unfinished apache ID procedure by @PragmaTwice in #1256
- chore: relocate Maven GAV and Java package by @tisonkun in #1259
- Add maven badge by @vesense in #1260
- Add slack channel to README by @PragmaTwice in #1261
- chore: reflect PPMC members set up by @tisonkun in #1262
- ci: Release Fury Java Snapshot by @tisonkun in #1264
- [DOC] doc sync stay consistent with the site by @theweipeng in #1266
- [Java] Format integration tests code by @chaokunyang in #1263
- [JavaScript] Improve tag write performance by @bytemain in #1241
- update fury java install by @chaokunyang in #1268
- [Java][Doc] Switch Option and Description column for better readability by @chaokunyang in #1267
- Update twitter id in README.md to ApacheFury by @chaokunyang in #1270
- [Java] Clean-up of tmp files created in CrossLanguageTest by @nandakumar131 in #1277
- [CODE HEADER] Remove all fury author tag by @chaokunyang in #1282
- [Java] Support registration in thread safe fury by @chaokunyang in #1280
- [JAVA] add guava license header by @pjfanning in #1283
- [JAVA] remove license header from MurmurHash3 by @pjfanning in #1284
- Update NOTICE to mention all the licenses for source files where code is borrowed from different project. by @nandakumar131 in #1285
- [Java] refine Collection util data structure (#1287) by @mof-dev-3 in #1288
- Update copyright date in NOTICE by @PragmaTwice in #1289
- [JavaScript] Implement the standard protocol by @theweipeng in #1286
- [Java] Fix fury benchmark jmh GPLV2 license conflict by @chaokunyang in #1272
- [JavaScript] compress numbers by @theweipeng in #1290
- chore: tidy text and improve branding by @tisonkun in #1292
- [Java] remove vague desc in drop-in replacement jdk serialization libs by @chaokunyang in #1291
- [CI] Add macos C++ build to ci.yml by @PragmaTwice in #1295
- [C++] Windows build support by @LiangliangSui in #1294
- [C++] Use python3 instead of python in bazel build by @PragmaTwice in #1297
- [C++] Remove unused function by @LiangliangSui in #1298
- Refine words and remove other org links in README by @PragmaTwice in #1307
- [Java] fix nested collection num elements by @chaokunyang in #1306
- Keep head metadata as is in docs by @PragmaTwice in #1311
- [MINOR] Update CODEOWNERS by @liuxiaocs7 in #1312
- Refine English writing about benchmark in README by @PragmaTwice in #1314
- [DOC] Refine build steps and wording in DEVELOPMENT by @PragmaTwice in #1315
- ci: add PR title lint following the conventional commits by @PragmaTwice in #1317
- chore: Update CODEOWNERS by @chaokunyang in #1316
- feat(javascript): Refactor & Compress Long by @theweipeng in #1313
- docs: Remove extra symbols by @caicancai in #1310
- perf(java): merge perftests into benchmark by @chaokunyang in #1318
- perf(java): rename fury-benchmark to benchmark by @chaokunyang in #1319
- feat(JavaScript): Implement Enum by @theweipeng in #1321
- chore(C++): Remove unused bazel rulers by @LiangliangSui in #1322
- feat(JavaScript): enhance performance 64bits number by @theweipeng in #1320
- ci(c++): Implement C++ CI scripts using python by @LiangliangSui in #1303
- fix(java): fix polymorphic array serialization by @chaokunyang in #1324
- chore(git): update .gitignore by @LiangliangSui in #1331
- feat(java): refine collection builder util by @chaokunyang in #1334
- chore(cpp): rename src to cpp by @chaokunyang in #1329
- chore(JavaScript): Drop optional chaining expression by @bytemain in #1338
- feat(java): refine collection builder util (#1334), fix collection init size typo by @mof-dev-3 in #1342
- fix(java): fix nested collection cast for scala/java by @chaokunyang in #1333
- feat(java): Specify JPMS module names by @mtf90 in #1343
- feat(JavaScript): Implement the collection protocol by @theweipeng in #1337
- fix(Rust): incorrect cast by @theweipeng in #1345
- feat(ci): Rust ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1332
- fix(java): fix ClassLoader npe in loadOrGenCodecClass by @chaokunyang in #1346
- chore(java): Remove redundant code by @LiangliangSui in #1349
- fix(go): fix comment error, should be 1-5 byte by @bowin in #1353
- chore(JavaScript): Fix JavaScript test CI by @theweipeng in #1355
- chore(JavaScript): fix test ci on early Node by @theweipeng in #1356
- chore(JavaScript): Fix using npm run build error by @LiangliangSui in #1357
- ci(JavaScript): JavaScript ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1358
- feat(JavaScript): Support oneof by @theweipeng in htt...
0.5.0-rc2
What's Changed
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed by @chaokunyang in #1221
- [C++] Support optional fields/elements in RowEncoder by @PragmaTwice in #1223
- [JavaScript] Implements tuple serializer by @bytemain in #1216
- [Rust] Remove unnecessary abstraction by @theweipeng in #1225
- [Java] disable async compilation for graalvm by @chaokunyang in #1222
- [Java] Align string array to collection protocol v2 by @chaokunyang in #1228
- [Improve] add rust doc by @caicancai in #1226
- [JavaScript] Add more methods for BinaryReader by @bytemain in #1231
- [C++] Improve FormatTimePoint by removing sstream by @PragmaTwice in #1233
- [C++] Improve Status by using unique_ptr by @PragmaTwice in #1234
- [JavaScript] Add lint tools by @bytemain in #1232
- [Doc][Spec] fury java serialization spec by @chaokunyang in #1238
- [Doc] bump release version to 0.4.1 by @chaokunyang in #1242
- [Java] Remove guava part 2. by @nandakumar131 in #1244
- [C++] Support mapping types for RowEncodeTrait by @PragmaTwice in #1247
- Update apache license by @chaokunyang in #1246
- Rename to Apache Fury in README by @PragmaTwice in #1249
- [Java][Doc] enable requireClassRegistration in example by default by @chaokunyang in #1250
- chore: setup apache repo by @tisonkun in #1251
- chore: clear alipay refs by @tisonkun in #1252
- chore: add NOTICE and DISCLAIMER by @tisonkun in #1253
- Delete CODE_OF_CONDUCT.md by @pjfanning in #1255
- docs: polish CONTRIBUTING doc by @tisonkun in #1257
- Add collaborators to workaround unfinished apache ID procedure by @PragmaTwice in #1256
- chore: relocate Maven GAV and Java package by @tisonkun in #1259
- Add maven badge by @vesense in #1260
- Add slack channel to README by @PragmaTwice in #1261
- chore: reflect PPMC members set up by @tisonkun in #1262
- ci: Release Fury Java Snapshot by @tisonkun in #1264
- [DOC] doc sync stay consistent with the site by @theweipeng in #1266
- [Java] Format integration tests code by @chaokunyang in #1263
- [JavaScript] Improve tag write performance by @bytemain in #1241
- update fury java install by @chaokunyang in #1268
- [Java][Doc] Switch Option and Description column for better readability by @chaokunyang in #1267
- Update twitter id in README.md to ApacheFury by @chaokunyang in #1270
- [Java] Clean-up of tmp files created in CrossLanguageTest by @nandakumar131 in #1277
- [CODE HEADER] Remove all fury author tag by @chaokunyang in #1282
- [Java] Support registration in thread safe fury by @chaokunyang in #1280
- [JAVA] add guava license header by @pjfanning in #1283
- [JAVA] remove license header from MurmurHash3 by @pjfanning in #1284
- Update NOTICE to mention all the licenses for source files where code is borrowed from different project. by @nandakumar131 in #1285
- [Java] refine Collection util data structure (#1287) by @mof-dev-3 in #1288
- Update copyright date in NOTICE by @PragmaTwice in #1289
- [JavaScript] Implement the standard protocol by @theweipeng in #1286
- [Java] Fix fury benchmark jmh GPLV2 license conflict by @chaokunyang in #1272
- [JavaScript] compress numbers by @theweipeng in #1290
- chore: tidy text and improve branding by @tisonkun in #1292
- [Java] remove vague desc in drop-in replacement jdk serialization libs by @chaokunyang in #1291
- [CI] Add macos C++ build to ci.yml by @PragmaTwice in #1295
- [C++] Windows build support by @LiangliangSui in #1294
- [C++] Use python3 instead of python in bazel build by @PragmaTwice in #1297
- [C++] Remove unused function by @LiangliangSui in #1298
- Refine words and remove other org links in README by @PragmaTwice in #1307
- [Java] fix nested collection num elements by @chaokunyang in #1306
- Keep head metadata as is in docs by @PragmaTwice in #1311
- [MINOR] Update CODEOWNERS by @liuxiaocs7 in #1312
- Refine English writing about benchmark in README by @PragmaTwice in #1314
- [DOC] Refine build steps and wording in DEVELOPMENT by @PragmaTwice in #1315
- ci: add PR title lint following the conventional commits by @PragmaTwice in #1317
- chore: Update CODEOWNERS by @chaokunyang in #1316
- feat(javascript): Refactor & Compress Long by @theweipeng in #1313
- docs: Remove extra symbols by @caicancai in #1310
- perf(java): merge perftests into benchmark by @chaokunyang in #1318
- perf(java): rename fury-benchmark to benchmark by @chaokunyang in #1319
- feat(JavaScript): Implement Enum by @theweipeng in #1321
- chore(C++): Remove unused bazel rulers by @LiangliangSui in #1322
- feat(JavaScript): enhance performance 64bits number by @theweipeng in #1320
- ci(c++): Implement C++ CI scripts using python by @LiangliangSui in #1303
- fix(java): fix polymorphic array serialization by @chaokunyang in #1324
- chore(git): update .gitignore by @LiangliangSui in #1331
- feat(java): refine collection builder util by @chaokunyang in #1334
- chore(cpp): rename src to cpp by @chaokunyang in #1329
- chore(JavaScript): Drop optional chaining expression by @bytemain in #1338
- feat(java): refine collection builder util (#1334), fix collection init size typo by @mof-dev-3 in #1342
- fix(java): fix nested collection cast for scala/java by @chaokunyang in #1333
- feat(java): Specify JPMS module names by @mtf90 in #1343
- feat(JavaScript): Implement the collection protocol by @theweipeng in #1337
- fix(Rust): incorrect cast by @theweipeng in #1345
- feat(ci): Rust ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1332
- fix(java): fix ClassLoader npe in loadOrGenCodecClass by @chaokunyang in #1346
- chore(java): Remove redundant code by @LiangliangSui in #1349
- fix(go): fix comment error, should be 1-5 byte by @bowin in #1353
- chore(JavaScript): Fix JavaScript test CI by @theweipeng in #1355
- chore(JavaScript): fix test ci on early Node by @theweipeng in #1356
- chore(JavaScript): Fix using npm run build error by @LiangliangSui in #1357
- ci(JavaScript): JavaScript ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1358
- feat(JavaScript): Support oneof by @theweipeng in htt...
v0.5.0-rc1
What's Changed
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed by @chaokunyang in #1221
- [C++] Support optional fields/elements in RowEncoder by @PragmaTwice in #1223
- [JavaScript] Implements tuple serializer by @bytemain in #1216
- [Rust] Remove unnecessary abstraction by @theweipeng in #1225
- [Java] disable async compilation for graalvm by @chaokunyang in #1222
- [Java] Align string array to collection protocol v2 by @chaokunyang in #1228
- [Improve] add rust doc by @caicancai in #1226
- [JavaScript] Add more methods for BinaryReader by @bytemain in #1231
- [C++] Improve FormatTimePoint by removing sstream by @PragmaTwice in #1233
- [C++] Improve Status by using unique_ptr by @PragmaTwice in #1234
- [JavaScript] Add lint tools by @bytemain in #1232
- [Doc][Spec] fury java serialization spec by @chaokunyang in #1238
- [Doc] bump release version to 0.4.1 by @chaokunyang in #1242
- [Java] Remove guava part 2. by @nandakumar131 in #1244
- [C++] Support mapping types for RowEncodeTrait by @PragmaTwice in #1247
- Update apache license by @chaokunyang in #1246
- Rename to Apache Fury in README by @PragmaTwice in #1249
- [Java][Doc] enable requireClassRegistration in example by default by @chaokunyang in #1250
- chore: setup apache repo by @tisonkun in #1251
- chore: clear alipay refs by @tisonkun in #1252
- chore: add NOTICE and DISCLAIMER by @tisonkun in #1253
- Delete CODE_OF_CONDUCT.md by @pjfanning in #1255
- docs: polish CONTRIBUTING doc by @tisonkun in #1257
- Add collaborators to workaround unfinished apache ID procedure by @PragmaTwice in #1256
- chore: relocate Maven GAV and Java package by @tisonkun in #1259
- Add maven badge by @vesense in #1260
- Add slack channel to README by @PragmaTwice in #1261
- chore: reflect PPMC members set up by @tisonkun in #1262
- ci: Release Fury Java Snapshot by @tisonkun in #1264
- [DOC] doc sync stay consistent with the site by @theweipeng in #1266
- [Java] Format integration tests code by @chaokunyang in #1263
- [JavaScript] Improve tag write performance by @bytemain in #1241
- update fury java install by @chaokunyang in #1268
- [Java][Doc] Switch Option and Description column for better readability by @chaokunyang in #1267
- Update twitter id in README.md to ApacheFury by @chaokunyang in #1270
- [Java] Clean-up of tmp files created in CrossLanguageTest by @nandakumar131 in #1277
- [CODE HEADER] Remove all fury author tag by @chaokunyang in #1282
- [Java] Support registration in thread safe fury by @chaokunyang in #1280
- [JAVA] add guava license header by @pjfanning in #1283
- [JAVA] remove license header from MurmurHash3 by @pjfanning in #1284
- Update NOTICE to mention all the licenses for source files where code is borrowed from different project. by @nandakumar131 in #1285
- [Java] refine Collection util data structure (#1287) by @mof-dev-3 in #1288
- Update copyright date in NOTICE by @PragmaTwice in #1289
- [JavaScript] Implement the standard protocol by @theweipeng in #1286
- [Java] Fix fury benchmark jmh GPLV2 license conflict by @chaokunyang in #1272
- [JavaScript] compress numbers by @theweipeng in #1290
- chore: tidy text and improve branding by @tisonkun in #1292
- [Java] remove vague desc in drop-in replacement jdk serialization libs by @chaokunyang in #1291
- [CI] Add macos C++ build to ci.yml by @PragmaTwice in #1295
- [C++] Windows build support by @LiangliangSui in #1294
- [C++] Use python3 instead of python in bazel build by @PragmaTwice in #1297
- [C++] Remove unused function by @LiangliangSui in #1298
- Refine words and remove other org links in README by @PragmaTwice in #1307
- [Java] fix nested collection num elements by @chaokunyang in #1306
- Keep head metadata as is in docs by @PragmaTwice in #1311
- [MINOR] Update CODEOWNERS by @liuxiaocs7 in #1312
- Refine English writing about benchmark in README by @PragmaTwice in #1314
- [DOC] Refine build steps and wording in DEVELOPMENT by @PragmaTwice in #1315
- ci: add PR title lint following the conventional commits by @PragmaTwice in #1317
- chore: Update CODEOWNERS by @chaokunyang in #1316
- feat(javascript): Refactor & Compress Long by @theweipeng in #1313
- docs: Remove extra symbols by @caicancai in #1310
- perf(java): merge perftests into benchmark by @chaokunyang in #1318
- perf(java): rename fury-benchmark to benchmark by @chaokunyang in #1319
- feat(JavaScript): Implement Enum by @theweipeng in #1321
- chore(C++): Remove unused bazel rulers by @LiangliangSui in #1322
- feat(JavaScript): enhance performance 64bits number by @theweipeng in #1320
- ci(c++): Implement C++ CI scripts using python by @LiangliangSui in #1303
- fix(java): fix polymorphic array serialization by @chaokunyang in #1324
- chore(git): update .gitignore by @LiangliangSui in #1331
- feat(java): refine collection builder util by @chaokunyang in #1334
- chore(cpp): rename src to cpp by @chaokunyang in #1329
- chore(JavaScript): Drop optional chaining expression by @bytemain in #1338
- feat(java): refine collection builder util (#1334), fix collection init size typo by @mof-dev-3 in #1342
- fix(java): fix nested collection cast for scala/java by @chaokunyang in #1333
- feat(java): Specify JPMS module names by @mtf90 in #1343
- feat(JavaScript): Implement the collection protocol by @theweipeng in #1337
- fix(Rust): incorrect cast by @theweipeng in #1345
- feat(ci): Rust ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1332
- fix(java): fix ClassLoader npe in loadOrGenCodecClass by @chaokunyang in #1346
- chore(java): Remove redundant code by @LiangliangSui in #1349
- fix(go): fix comment error, should be 1-5 byte by @bowin in #1353
- chore(JavaScript): Fix JavaScript test CI by @theweipeng in #1355
- chore(JavaScript): fix test ci on early Node by @theweipeng in #1356
- chore(JavaScript): Fix using npm run build error by @LiangliangSui in #1357
- ci(JavaScript): JavaScript ci is ported from run_ci.sh to run_ci.py by @LiangliangSui in #1358
- feat(JavaScript): Support oneof by @theweipeng in htt...