Highlights
- [Python] Support Python
__getstate__/__setstate__/__reduce__
serialization protocol - [Python] Support serialize python function
- [Java] Use JDK11 for fory-format module
- [Scala] Support default value for scala case/pojo classes when deseralizing
- [Kotlin] Support default value for kotlin data classes when deserializing
Features
- refactor(python): replace Black and Flake8 with Ruff by @esafak in #2388
- refactor(python): Unify DataClassSerializer and ComplexObjectSerializer by @esafak in #2389
- refactor(python): Simplify require_pyarrow, remove undefined pytest.mark by @esafak in #2396
- feat(python): Replace usage of ComplexObjectSerializer with DataClassSerializer by @esafak in #2395
- feat(python): Add StatefulSerializer using getstate, setstate by @esafak in #2400
- feat(python): Implement ReduceSerializer for reduce support by @esafak in #2401
- feat(python): Support codegen with XLANG in DataClassSerializer by @esafak in #2405
- perf(Go/python): Type system compatibility upgrade by @pandalee99 in #2339
- feat(python): Add FunctionSerializer for function serialization by @esafak in #2404
- feat: Implement ObjectSerializer for custom objects by @esafak in #2413
- feat(scala): support scala object with default values by @chaokunyang in #2412
- refactor(java): refactor java default value support for scala/kotlin by @chaokunyang in #2415
- feat(kotlin): support default value for kotlin data class by @chaokunyang in #2416
- feat(kotlin): add cache to kotlin default value support by @chaokunyang in #2419
- refactor(ci): Migrate CI runner to Python scripts by @esafak in #2406
- feat(java): use java11 for fory-format module by @chaokunyang in #2448
- feat(python): add register api for python by @chaokunyang in #2451
- feat(java): add graalvm 23 ci by @chaokunyang in #2463
Bug Fix
- fix: tidy up issues in scala_guide.md by @pjfanning in #2374
- fix(java): ClassDef header calculation error by @LiangliangSui in #2382
- ci(python): Build manylinux_2_28 wheels using auditwheel by @esafak in #2381
- fix: Correct pyarrow installation check and add bazel troubleshooting by @esafak in #2418
- fix(go): fix type writing and reading logic in slice by @lzaeh in #2427
- fix(rust): fix rust lint error by @chaokunyang in #2447
- fix(java): crash when map only contains null value by @LouisLou2 in #2444
- fix(java): MemoryBuffer::readChars by @LouisLou2 in #2438
- fix(java): fix java deploy with different java versions by @chaokunyang in #2449
- fix(java): fix install jdks by @chaokunyang in #2450
- fix(java): fix maven deploy by @chaokunyang in #2452
- fix(java): fix shade janino duplciate entry by @chaokunyang in #2453
- fix(java): fix extension java module conflict by @chaokunyang in #2455
- fix(java): fix extension java module conflict by @chaokunyang in #2456
- fix(java): fix decode classdef for abstract classes by @chaokunyang in #2462
- fix(python): fix pyfory pypi release (#2473) by @chaokunyang in #2474
- fix(python): fix py releases macos13 by @chaokunyang in #2479
Other Improvements
- chore(Scala): upgrade sbt and plugins by @pjfanning in #2379
- chore(python): add more comprehensive test parameters by @pandalee99 in #2377
- chore(Scala): remove var that can be mutated by @pjfanning in #2385
- chore(Scala): add test for Scala 3 enum by @pjfanning in #2386
- chore(Scala): use setup-sbt CI action by @pjfanning in #2387
- chore(Scala): refactor scala test so it asserts something by @pjfanning in #2390
- chore(Scala): Create DurationTest.scala by @pjfanning in #2394
- chore(Java): handle deserialization scenario that currently throws an IndexOutOfBoundsException by @pjfanning in #2399
- chore: bump release version to 0.11.2 by @pandalee99 in #2403
- chore(deps): bump org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 in /java/fory-test-core by @dependabot[bot] in #2408
- chore(docs): Fix the names of some documents by @pandalee99 in #2411
- chore(cpp): fix duplicate copyright by @co63oc in #2426
- docs: fix ruff command by @co63oc in #2425
- chore: fix typos by @co63oc in #2424
- chore(dart): fix typos by @co63oc in #2428
- chore: fix typos by @co63oc in #2429
- chore: remove incubating by @chaokunyang in #2431
- chore: fix typos by @co63oc in #2433
- chore: fix typos by @co63oc in #2436
- chore: translate comments by @co63oc in #2442
- chore(python): add execute doc for cross langauge tests in python by @chaokunyang in #2420
- chore(java): arrow 18.3.0 by @stevenschlansker in #2458
- chore: prepare commits for releases-0.12 by @chaokunyang in #2470
- chore(python): disable import format warning by @chaokunyang in #2477
New Contributors
Full Changelog: v0.11.2...v0.12.0