github apache/fory v1.0.0

3 hours ago

Highlights

  • Unified the xlang type system and made xlang the default mode across languages: #3644, #3685
  • Added decimal and bfloat16 support for xlang serialization: #3599, #3605
  • Added nested container and field codec support across Rust, C++, C#, Go, Dart, Python, and Swift: #3625, #3630, #3636, #3639, #3640, #3641, #3643
  • Added Kotlin xlang, KSP, and schema IDL support: #3679, #3684
  • Added Scala schema IDL support and updated generated annotations: #3681, #3682
  • Added Android serialization support, including Java annotation processor support: #3667, #3670
  • Improved xlang compatibility with default compatible mode, simplified field ordering, and list/array compatible reads: #3648, #3650, #3675
  • Improved serialization performance, including Dart typed-container fast paths and generated struct optimizations: #3609, #3653, #3656, #3661
  • Added Java schema typed row field accessors and nested type-use serialization metadata: #3631, #3633

Features

Bug Fix

  • fix(dart): resolve fory pub.dev score issues by @chaokunyang in #3585
  • fix(dart): fix dart ci by @chaokunyang in #3586
  • fix(dart): use getUint32 for correctly encoding u64 value by @ayush00git in #3592
  • fix(c++): fix c++ duration serialization by @chaokunyang in #3598
  • fix(javascript): align TypeMeta preamble constants with python/java/rust/go xlang bindings by @emrul in #3603
  • fix(javascript): fix javascript schema idl tests by @chaokunyang in #3604
  • fix(dart): added <<< for correct logical right shift semantics in uint by @ayush00git in #3607
  • fix(go): ensure physical buffer space for unsafe varint fast-paths by @ayush00git in #3613
  • fix(go): add bound checking for refResolver and metaStringResolver reads by @ayush00git in #3615
  • fix(go): added pre-allocation bounds checks for slices and strings by @ayush00git in #3618
  • fix(go): added maxBinarySize limit to decimal deserialization by @ayush00git in #3623
  • fix(go): add configurable fieldCount and fieldDepth guardrails by @ayush00git in #3620
  • fix(java): honor record field encoding in generated decode by @mandrean in #3626
  • fix(java): preserve externalizable containers in compatible mode by @mandrean in #3628
  • fix(python): enforce more checks in read by @chaokunyang in #3632
  • fix(xlang): fix xlang type system by @chaokunyang in #3646
  • fix(java): use REPLACE_STUB_ID for unregistered writeReplace classes to prevent cross-JVM ClassNotFoundException by @wakilurislam in #3638
  • fix(java): fix set view ref tracking by @chaokunyang in #3649
  • fix(java): recover map declared serializers for compatible reads by @mandrean in #3654
  • fix: include TypeMeta header bits in hash by @chaokunyang in #3659
  • fix(java): serialize suppressed exceptions by @chaokunyang in #3663
  • fix(javascript): preserve getTypeInfo in regenerated read serializer by @xhzq233 in #3669
  • fix(java): validate subclass serializer layer counts by @chaokunyang in #3676
  • fix(java): avoid instantiating abstract meta-share types by @chaokunyang in #3677
  • fix: fix release script by @chaokunyang in #3687

Other Improvements

New Contributors

Full Changelog: v0.17.0...v1.0.0

Don't miss a new fory release

NewReleases is sending notifications on new releases.