This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git
The following commit(s) were added to refs/heads/main by this push:
new 76501fc78 release 0.13.0 (#326)
76501fc78 is described below
commit 76501fc78a104e802821add0d76c88ee8884eadc
Author: Shawn Yang <[email protected]>
AuthorDate: Tue Oct 28 00:27:25 2025 +0800
release 0.13.0 (#326)
---
blog/2025-10-27-fory_0_13_0_release.md | 333 +++++++++++++++++++++
docs/docs/start/install.md | 29 +-
docs/guide/scala_guide.md | 2 +-
.../current/docs/start/install.md | 40 ++-
src/pages/download/index.md | 14 +-
5 files changed, 392 insertions(+), 26 deletions(-)
diff --git a/blog/2025-10-27-fory_0_13_0_release.md
b/blog/2025-10-27-fory_0_13_0_release.md
new file mode 100644
index 000000000..bab4a05e8
--- /dev/null
+++ b/blog/2025-10-27-fory_0_13_0_release.md
@@ -0,0 +1,333 @@
+---
+slug: fory_0_13_0_release
+title: Fory v0.13.0 Released
+authors: [chaokunyang]
+tags: [fory]
+---
+
+The Apache Fory team is pleased to announce the 0.13.0 release. This is a
major release that includes [217
PR](https://github.com/apache/fory/compare/v0.12.3...v0.13.0) from 19 distinct
contributors. See the
[Install](https://fury.apache.org/docs/docs/start/install) Page to learn how to
get the libraries for your platform.
+
+## Highlights
+
+- Dynamic Trait Object Serialization for Rust
+- Shared/Circular ownership serialization for Rust
+- Schema Forward/Backward compatibilify for Rust
+- Drop-in Replacement for Python pickle: support local
function/classes/`__reduce__`/`__getstate__` serialization
+- Schema Forward/Backward compatibilify for Python dataclass
+- Support codegen for xlang mode in java
+- Primitive array compression using SIMD
+- Compact Row Codec for Row Format
+- Schema Forward/Backward compatibilify for Go
+- Ahead-of-time codegen for golang struct serialization
+
+## Rust: First Release Highlights
+
+This is the first Apache Fory Rust release, delivering a complete,
high‑performance serialization stack. If you build Rust services or libraries,
you can now use Fory natively with strong typing, performance, and schema
evolution.
+
+- Derive-based object graph serialization via `#[derive(ForyObject)]`
+- Polymorphism for trait objects: `Box<dyn Trait>`, `Rc<dyn Trait>`, `Arc<dyn
Trait>`, plus `dyn Any`
+- Shared and circular reference tracking: `Rc`/`Arc` and `RcWeak`/`ArcWeak`
+- Forward/backward compatible schema evolution (Compatible mode)
+- Zero-copy Row format via `#[derive(ForyRow)]` with selective field access
+- Thread-safe and multi-thread capable serialization (context pool)
+- Broad collection support (e.g., `VecDeque`, `LinkedList`, `BTreeMap`,
`BTreeSet`, `BinaryHeap`)
+
+Quick start (minimal example):
+
+```rust
+use fory::{Fory, Error};
+use fory::ForyObject;
+
+#[derive(ForyObject, Debug, PartialEq)]
+struct User {
+ name: String,
+ age: i32,
+ email: String,
+}
+
+fn main() -> Result<(), Error> {
+ let mut fory = Fory::default();
+ fory.register::<User>(1)?;
+
+ let user = User { name: "Alice".into(), age: 30, email:
"[email protected]".into() };
+ let bytes = fory.serialize(&user)?;
+ let decoded: User = fory.deserialize(&bytes)?;
+ assert_eq!(user, decoded);
+ Ok(())
+}
+```
+
+- Guide: Rust Serialization –
https://fory.apache.org/docs/docs/guide/rust_serialization
+- Crate: fory on crates.io – https://crates.io/crates/fory
+- API docs: docs.rs – https://docs.rs/fory/latest/fory
+
+## Python: Drop‑in Replacement for pickle
+
+`pyfory` now acts as a high‑performance drop‑in replacement for
`pickle`/`cloudpickle`, while keeping the same simple API and adding security
and performance features.
+
+- Serialize any Python object in Python‑native mode (`xlang=False`):
global/local functions, lambdas, global/local classes, instance/class/static
methods
+- Honors Python hooks: `__getstate__`, `__setstate__`, `__reduce__`,
`__reduce_ex__`
+- Reference tracking for shared/circular graphs with `ref=True`
+- Pickle protocol 5 out‑of‑band buffers for zero‑copy via
`pickle.PickleBuffer` (NumPy, Pandas, etc.)
+- Security: `strict=True` for registration‑based safety and
`DeserializationPolicy` for fine‑grained control
+- Threading: `ThreadSafeFory` for safe multi‑thread use
+- Familiar API: `dumps/loads` are aliases of `serialize/deserialize`
+
+Quick start:
+
+```python
+import pyfory
+
+# Drop-in replacement for pickle/cloudpickle
+fory = pyfory.Fory(xlang=False, ref=True, strict=False)
+
+def make_multiplier(k):
+ def mul(x):
+ return k * x
+ return mul
+
+binary = fory.dumps(make_multiplier(10))
+assert fory.loads(binary)(3) == 30
+```
+
+Read more: Python Guide –
https://fory.apache.org/docs/latest/python_serialization/
+
+## Features
+
+- feat(java): support object stream serialization for graalvm by @chaokunyang
in https://github.com/apache/fory/pull/2464
+- refactor(java): rename abstract collection/map serializers to
Map/ListLikeSerializer by @chaokunyang in
https://github.com/apache/fory/pull/2466
+- feat(memory): add customizable MemoryAllocator interface by @adriacabeza in
https://github.com/apache/fory/pull/2467
+- feat: Chain wheel test/build and release workflows by @esafak in
https://github.com/apache/fory/pull/2483
+- feat(python): set default languge to python for pyfory by @chaokunyang in
https://github.com/apache/fory/pull/2490
+- feat(python): add register api to python by @chaokunyang in
https://github.com/apache/fory/pull/2491
+- feat(python): meta compression for python by @chaokunyang in
https://github.com/apache/fory/pull/2504
+- feat(python): type meta encoding for python by @chaokunyang in
https://github.com/apache/fory/pull/2509
+- feat(CI): Cache npm, add node 24, lock file by @esafak in
https://github.com/apache/fory/pull/2523
+- feat(Rust): Implementing Type Compatible by @urlyy in
https://github.com/apache/fory/pull/2492
+- feat(Rust): support Option in MetaFieldType se/de by @urlyy in
https://github.com/apache/fory/pull/2528
+- feat(rust): support skipping fields bytes when deserializing in compatible
mode by @urlyy in https://github.com/apache/fory/pull/2545
+- feat(go): add type meta encoding for meta share by @junjiexh in
https://github.com/apache/fory/pull/2554
+- feat(Rust): Support automatic conversion between T and Option<T> when
deserialize by @urlyy in https://github.com/apache/fory/pull/2563
+- feat(java): bean encoder implemented interfaces honor `@Ignore` by
@stevenschlansker in https://github.com/apache/fory/pull/2576
+- refactor(java): refactor fory java exception hierarchical structure by
@chaokunyang in https://github.com/apache/fory/pull/2577
+- feat(Go): Implement ahead of time codegen for fory-go serialization by
@ThisingL in https://github.com/apache/fory/pull/2553
+- feat(java): support limit deserialization depth by @chaokunyang in
https://github.com/apache/fory/pull/2578
+- feat(rust): add fory rust benchmark by @chaokunyang in
https://github.com/apache/fory/pull/2583
+- perf(rust): optimize rust deserialize perf by @chaokunyang in
https://github.com/apache/fory/pull/2584
+- feat(rust): add rust profiler for serialization by @chaokunyang in
https://github.com/apache/fory/pull/2588
+- refactor(go): rename FieldInfo to FieldDef to avoide name collision by
@junjiexh in https://github.com/apache/fory/pull/2594
+- feat(python): meta share mode for pyfory compatible serialization by
@chaokunyang in https://github.com/apache/fory/pull/2593
+- feat(java/python): align java and python compatible mode serialization by
@chaokunyang in https://github.com/apache/fory/pull/2602
+- feat(java/python): support enum xlang serialization by @chaokunyang in
https://github.com/apache/fory/pull/2603
+- feat(Rust): support basic type se/de aligned with java by @urlyy in
https://github.com/apache/fory/pull/2585
+- perf(python/java): Fix & optimize cross-language meta-share mode by
@pandalee99 in https://github.com/apache/fory/pull/2601
+- feat(go): align cross-language type serialization for primitive arrays by
@pandalee99 in https://github.com/apache/fory/pull/2610
+- feat(java): support codegen for xlang mode in java by @chaokunyang in
https://github.com/apache/fory/pull/2613
+- feat(java): primitive array compression using SIMD by @adriacabeza in
https://github.com/apache/fory/pull/2485
+- refactor(go): Replace globalTypeResolver with factory-based serializer
registration by @ThisingL in https://github.com/apache/fory/pull/2615
+- feat(go): Implement compatible mode with metashare mode by @junjiexh in
https://github.com/apache/fory/pull/2607
+- feat(java): support concurent map serialization when being updated by
@chaokunyang in https://github.com/apache/fory/pull/2617
+- feat(java): support concurrent updates when serializing collections by
@chaokunyang in https://github.com/apache/fory/pull/2623
+- feat(python): support limit pyfory depth by @chaokunyang in
https://github.com/apache/fory/pull/2625
+- feat(Rust): sort fields && feat Enum && fix read/write type_info && fix
type_meta en/decode by @urlyy in https://github.com/apache/fory/pull/2630
+- feat(python): drop-in replacement for pickle serialization by @chaokunyang
in https://github.com/apache/fory/pull/2629
+- refactor(java): refactor type resolver by @chaokunyang in
https://github.com/apache/fory/pull/2640
+- feat(java): support type converters for comaptible mode by @chaokunyang in
https://github.com/apache/fory/pull/2641
+- refactor(java/python): refine collection header bitmap by @chaokunyang in
https://github.com/apache/fory/pull/2642
+- feat(go): metashare mode support collection and map and nested object by
@junjiexh in https://github.com/apache/fory/pull/2643
+- feat(go): Add slice and map support to fory-go codegen serialization by
@ThisingL in https://github.com/apache/fory/pull/2638
+- refactor(go): Change codegen annotation from //fory:gen to //fory:generate
by @ThisingL in https://github.com/apache/fory/pull/2648
+- feat(rust): support Map and register_by_name by @urlyy in
https://github.com/apache/fory/pull/2649
+- feat(java): support graalvm 25 by @chaokunyang in
https://github.com/apache/fory/pull/2652
+- feat(java): support deserialize not registered/exsited class/fields for
xlang compatible mode by @chaokunyang in
https://github.com/apache/fory/pull/2655
+- refactor(Rust): Refactor compile-time code & fix named_enum & fix skip enum
by @urlyy in https://github.com/apache/fory/pull/2657
+- feat(python): support local py class serialization by @chaokunyang in
https://github.com/apache/fory/pull/2665
+- refactor(go): refine collection header bitmap by @junjiexh in
https://github.com/apache/fory/pull/2656
+- feat(python): support class methods serialization by @chaokunyang in
https://github.com/apache/fory/pull/2670
+- refactor(go): refine collection header bitmap in codegen by @ThisingL in
https://github.com/apache/fory/pull/2676
+- feat(rust): support box serde for rust by @chaokunyang in
https://github.com/apache/fory/pull/2677
+- feat(rust): support reference tracking for rust Rc/Arc by @chaokunyang in
https://github.com/apache/fory/pull/2678
+- feat(python): refine python serialization api by @chaokunyang in
https://github.com/apache/fory/pull/2673
+- refactor(Rust): Refine api name by @urlyy in
https://github.com/apache/fory/pull/2671
+- feat(rust): support rust dyn trait object serialization by @chaokunyang in
https://github.com/apache/fory/pull/2691
+- feat(rust): support dyn any trait object serialization for box/arc/rc by
@chaokunyang in https://github.com/apache/fory/pull/2704
+- feat(rust): support shared reference tracking for arc/rc<dny T> by
@chaokunyang in https://github.com/apache/fory/pull/2707
+- feat(rust): avoid downcast method of multiple trait objects in same module
conflict by @chaokunyang in https://github.com/apache/fory/pull/2708
+- feat(rust): add deref to arc/rc wrapper by @chaokunyang in
https://github.com/apache/fory/pull/2709
+- refactor(rust): unify rc/arc wrapper macro arms into one function by
@chaokunyang in https://github.com/apache/fory/pull/2711
+- perf(Rust): Use SIMD to se/de string by @urlyy in
https://github.com/apache/fory/pull/2716
+- feat(Rust): named_xx se/de && ext se/de && add unittest by @urlyy in
https://github.com/apache/fory/pull/2712
+- feat(rust): support RcWeak/ArcWeak for circular reference tracking by
@chaokunyang in https://github.com/apache/fory/pull/2714
+- feat(rust): support limit max dyn depth by @chaokunyang in
https://github.com/apache/fory/pull/2730
+- feat(Rust): Unroll fields loop & Add a feature for this by @urlyy in
https://github.com/apache/fory/pull/2724
+- feat(python): make fory out-of-band serialization compatible with pickle5 by
@chaokunyang in https://github.com/apache/fory/pull/2732
+- refactor(go): Replace legacy RegisterTagType api call by @junjiexh in
https://github.com/apache/fory/pull/2696
+- feat(python): add thread safe fory by @chaokunyang in
https://github.com/apache/fory/pull/2735
+- feat(rust): support VecDeque/LinkedList serialization by @chaokunyang in
https://github.com/apache/fory/pull/2741
+- feat(rust): support btreemap serialization by @chaokunyang in
https://github.com/apache/fory/pull/2743
+- feat(rust): support btree set and binary heap serialization by @chaokunyang
in https://github.com/apache/fory/pull/2744
+- feat(Rust): support context_pool to reduce context allocation && support
se/de in multi-thread by @urlyy in https://github.com/apache/fory/pull/2737
+- feat(ci): cache Bazel binary in Python CI workflow by @SanyamSuyal in
https://github.com/apache/fory/pull/2745
+- feat(rust): rewrite fory derive macro for smaller and faster generated code
using compile-time fields sort algorithm by @chaokunyang in
https://github.com/apache/fory/pull/2749
+- feat(ci): add maven cache to ci for faster build by @chaokunyang in
https://github.com/apache/fory/pull/2751
+- feat(rust): fast fory_read_compatible macro to use match by assigned field
id by @chaokunyang in https://github.com/apache/fory/pull/2758
+- refactor(rust): use compatible bool instead of enum to simplify API by
@chaokunyang in https://github.com/apache/fory/pull/2763
+- feat(rust): query type meta from parsed cache to speed up deserialization by
@chaokunyang in https://github.com/apache/fory/pull/2764
+- feat(java): introduce Compact Row Codec by @stevenschlansker in
https://github.com/apache/fory/pull/2414
+- feat(go): Add pointer field test for meta share mode by @junjiexh in
https://github.com/apache/fory/pull/2674
+- feat(rust): make Serializer api to return Result && replace
panic/expect/assert/unwrap with Result by @urlyy in
https://github.com/apache/fory/pull/2765
+- feat(rust): refactor rust serialization system by @chaokunyang in
https://github.com/apache/fory/pull/2774
+- feat(python): support optional typehint for dataclass fields by @chaokunyang
in https://github.com/apache/fory/pull/2766
+- feat(rust): dynamic rust serializer system by @chaokunyang in
https://github.com/apache/fory/pull/2778
+- feat(rust): use rc instead of arc for type meta for faster performance by
@chaokunyang in https://github.com/apache/fory/pull/2782
+- feat(python): support dataclass compatible mode for python native mode by
@chaokunyang in https://github.com/apache/fory/pull/2784
+- feat(java): support deserialize non exist enum variant to default by
@chaokunyang in https://github.com/apache/fory/pull/2787
+- feat(go): update codegen field sorting to generate smaller and faster code
by @ThisingL in https://github.com/apache/fory/pull/2779
+- feat(rust): make type meta resolve return type info directly by @chaokunyang
in https://github.com/apache/fory/pull/2789
+- perf(Rust): remove clone()/to_owned() on MetaString/MetaStringBytes in
MetaStringResolver to improve performance && fix xlang test by @urlyy in
https://github.com/apache/fory/pull/2791
+- feat(rust): support static struct version hash check for rust by
@chaokunyang in https://github.com/apache/fory/pull/2793
+- feat(rust): support profile all data types in rust benchmark by @chaokunyang
in https://github.com/apache/fory/pull/2801
+- perf(rust): optimize rust small string/struct read/write performance by
@chaokunyang in https://github.com/apache/fory/pull/2803
+- perf(rust): optimize rust performance by remove copy simd and add more
inline hints by @chaokunyang in https://github.com/apache/fory/pull/2807
+- perf(rust): always use utf8 when writing string by @chaokunyang in
https://github.com/apache/fory/pull/2809
+- feat(python): add deserialization policy for more fine-grained control and
audit deserialization behaviour by @chaokunyang in
https://github.com/apache/fory/pull/2811
+- perf(Rust): Enchance performance by @theweipeng in
https://github.com/apache/fory/pull/2810
+- feat(Rust): Support serialize_to by @theweipeng in
https://github.com/apache/fory/pull/2822
+- feat(rust): lazy build typeinfo for rust to avoid nested struct register
deps by @chaokunyang in https://github.com/apache/fory/pull/2824
+- perf(Rust): Refactor reader by @theweipeng in
https://github.com/apache/fory/pull/2826
+- perf(python): optimize pyfory perf by @chaokunyang in
https://github.com/apache/fory/pull/2829
+
+## Bug Fix
+
+- fix(java): fix map/list element type same with collection type jit error by
@chaokunyang in https://github.com/apache/fory/pull/2465
+- fix(python): fix gh action pypi publish by @chaokunyang in
https://github.com/apache/fory/pull/2468
+- fix(java): fix row encoder for private struct by @chaokunyang in
https://github.com/apache/fory/pull/2469
+- fix(python): fix pyfory pypi release by @chaokunyang in
https://github.com/apache/fory/pull/2473
+- fix(python): fix py release on macos 13 by @chaokunyang in
https://github.com/apache/fory/pull/2478
+- fix(ci): Build python wheels using interpreters in manylinux2014 by @esafak
in https://github.com/apache/fory/pull/2486
+- fix(java): Encoders.mapEncoder(TypeRef, TypeRef, TypeRef, Fory) should load
bean classes by @stevenschlansker in https://github.com/apache/fory/pull/2494
+- fix(java): row format generated bean types handling Optional by
@stevenschlansker in https://github.com/apache/fory/pull/2497
+- fix: Fix the issue of addListener not releasing the lock by @open-snail in
https://github.com/apache/fory/pull/2500
+- fix(ci): Use $ROOT/dist for wheel distribution by @esafak in
https://github.com/apache/fory/pull/2506
+- fix(python): fix publich tag for workflow by @chaokunyang in
https://github.com/apache/fory/pull/2517
+- fix(ci): print workflow head branch by @chaokunyang in
https://github.com/apache/fory/pull/2518
+- fix(python): fix release python wheel head_branch tag by @chaokunyang in
https://github.com/apache/fory/pull/2519
+- fix(java): MemoryBuffer tests that equalTo works with size zero buffers by
@stevenschlansker in https://github.com/apache/fory/pull/2524
+- fix(ci): Pass tag to bump_py_version, set PLAT inside manylinux container by
@esafak in https://github.com/apache/fory/pull/2522
+- fix(ci): Use ref_name tag in Windows, name release runs, verify wheel
versions, use all python versions for release by @esafak in
https://github.com/apache/fory/pull/2532
+- ci: Fix verify_version() by capturing version properly by @esafak in
https://github.com/apache/fory/pull/2535
+- fix(python): fix bump_wheel version by @chaokunyang in
https://github.com/apache/fory/pull/2534
+- fix(python): fix bump version by @chaokunyang in
https://github.com/apache/fory/pull/2536
+- fix(python): add macos 13 release by @chaokunyang in
https://github.com/apache/fory/pull/2538
+- fix(ci): use lowercase for betahuhn/repo-file-sync-action by @chaokunyang in
https://github.com/apache/fory/pull/2541
+- fix(ci): use commit hash for repo-file-sync-action by @chaokunyang in
https://github.com/apache/fory/pull/2542
+- fix(java): array encoder seems to waste 8 bytes in encode(T) by
@stevenschlansker in https://github.com/apache/fory/pull/2551
+- fix(ci): Install pyfory for golang xlang tests by @esafak in
https://github.com/apache/fory/pull/2561
+- fix(ci): Exit with subprocess return code in run_ci.py by @esafak in
https://github.com/apache/fory/pull/2560
+- fix(java): fix codegen name conflict by @chaokunyang in
https://github.com/apache/fory/pull/2565
+- fix(java): fix classinfo npe on graalvm by @chaokunyang in
https://github.com/apache/fory/pull/2572
+- fix(java): Skip calculation of classVersionHash if checkClassVersion is
false by @theigl in https://github.com/apache/fory/pull/2573
+- fix(java): skip hash compute for abstract field type by @chaokunyang in
https://github.com/apache/fory/pull/2575
+- fix(java): row format buffer recycling leaves offset and size for null
values by @stevenschlansker in https://github.com/apache/fory/pull/2540
+- fix(java): fix xlang register type by id by @chaokunyang in
https://github.com/apache/fory/pull/2591
+- fix(java): fix xlang mode meta shared for java by @chaokunyang in
https://github.com/apache/fory/pull/2592
+- fix(python): Fix the build dependency failure that occurred in pyfory by
@pandalee99 in https://github.com/apache/fory/pull/2596
+- fix(python): Delete the redundant code in typedef by @pandalee99 in
https://github.com/apache/fory/pull/2600
+- fix(java): fix register by id for xlang metashare mode in java by
@chaokunyang in https://github.com/apache/fory/pull/2614
+- fix(java/python): fix meta string encoding order by @chaokunyang in
https://github.com/apache/fory/pull/2616
+- fix(go): Complete type registration in factory-based serializer system by
@ThisingL in https://github.com/apache/fory/pull/2619
+- fix(python): fix pyfory depth limit by @chaokunyang in
https://github.com/apache/fory/pull/2626
+- fix(java): fix get nested genericType for codegen by @chaokunyang in
https://github.com/apache/fory/pull/2632
+- fix(python): register dynamic serializer only not require registration by
@chaokunyang in https://github.com/apache/fory/pull/2634
+- fix(java): fix record serialization on graalvm25 by @chaokunyang in
https://github.com/apache/fory/pull/2644
+- fix(java): fix field converter for xlang by @chaokunyang in
https://github.com/apache/fory/pull/2654
+- fix(java): fix array serialization on graalvm by @chaokunyang in
https://github.com/apache/fory/pull/2664
+- fix(java): fix meta share deserialization for register by @chaokunyang in
https://github.com/apache/fory/pull/2667
+- fix(java): retain serializers in graalvm native images by @gudzpoz in
https://github.com/apache/fory/pull/2680
+- fix(java): fix graalvm not use generated serializer by @chaokunyang in
https://github.com/apache/fory/pull/2682
+- fix(java): fix register serializer for xlang in java by @chaokunyang in
https://github.com/apache/fory/pull/2683
+- fix(java): fix InputStream read big buffer error by @wuwangben in
https://github.com/apache/fory/pull/2687
+- fix(python): fix python module/type serialize by @chaokunyang in
https://github.com/apache/fory/pull/2688
+- fix(java): Fix flakiness in
CollectionSerializersTest#tesPriorityQueueSerializer by @swj20010308 in
https://github.com/apache/fory/pull/2693
+- fix(java): Fix flakiness in LazyMapTest#testMap by @swj20010308 in
https://github.com/apache/fory/pull/2692
+- fix(java): fix deserializing EXT type bug by @mengnankkkk in
https://github.com/apache/fory/pull/2700
+- fix(java): fix xlang typedef encode by @chaokunyang in
https://github.com/apache/fory/pull/2719
+- fix(java): Fix flakiness in MetaContextTest#testShareClassName and
#testShareClassDefCompatible by @swj20010308 in
https://github.com/apache/fory/pull/2739
+- fix(java): Fix flakiness in ForyCopyTest#mutableObjectCopyTest by
@swj20010308 in https://github.com/apache/fory/pull/2738
+- fix(ci): add retry logic to Bazel downloads to prevent flaky CI failures by
@SanyamSuyal in https://github.com/apache/fory/pull/2733
+- fix(java): serialize collections with only null elements in xlang mode by
@mymde in https://github.com/apache/fory/pull/2740
+- fix(ci): fix sync file by @chaokunyang in
https://github.com/apache/fory/pull/2750
+- fix(ci): fix sync files by @chaokunyang in
https://github.com/apache/fory/pull/2752
+- fix(docs): fix rust doc links build and check by @chaokunyang in
https://github.com/apache/fory/pull/2753
+- fix(java): fix maven cache by @chaokunyang in
https://github.com/apache/fory/pull/2755
+- fix(rust): fix rust xlang tests by @chaokunyang in
https://github.com/apache/fory/pull/2788
+- fix(java): Fix flakiness in
CollectionSerializersTest#testCollectionFieldSerializers,
CollectionSerializersTest#testCollectionFieldSerializersCopy and
ProtocolInteroperabilityTest#testComplexCollection by @swj20010308 in
https://github.com/apache/fory/pull/2790
+- fix(java): fix java shanpshot version by @chaokunyang in
https://github.com/apache/fory/pull/2800
+- fix(go): Adjust serialization of nullable value to align python behavior by
@junjiexh in https://github.com/apache/fory/pull/2814
+
+## Other Improvements
+
+- chore(python): disable pyfory.format import warning by @chaokunyang in
https://github.com/apache/fory/pull/2476
+- chore: bump release version to 0.12.0 by @chaokunyang in
https://github.com/apache/fory/pull/2489
+- docs: fix meta_size_mask by @urlyy in
https://github.com/apache/fory/pull/2495
+- chore: fix typos by @Asnowww in https://github.com/apache/fory/pull/2496
+- docs: Improve pyfory PyPI documentation by @esafak in
https://github.com/apache/fory/pull/2498
+- docs(python): add row format doc by @chaokunyang in
https://github.com/apache/fory/pull/2499
+- chore: translate Chinese comments into English by @Asnowww in
https://github.com/apache/fory/pull/2503
+- docs: Improve pull request template by @esafak in
https://github.com/apache/fory/pull/2508
+- ci: Fix Windows wheel creation by @esafak in
https://github.com/apache/fory/pull/2511
+- ci: Pass the GH token to actions/download-artifact by @esafak in
https://github.com/apache/fory/pull/2514
+- chore: fix MetaStrEncoding by @co63oc in
https://github.com/apache/fory/pull/2516
+- chore(javascript): rename foryjs to apache-fory and remove install docs by
@chaokunyang in https://github.com/apache/fory/pull/2544
+- chore: bump release version to 0.12.1 by @chaokunyang in
https://github.com/apache/fory/pull/2556
+- docs: update contributing.md with Rust lint command by @urlyy in
https://github.com/apache/fory/pull/2569
+- chore(ci): use str replace to make bump java version faster by @chaokunyang
in https://github.com/apache/fory/pull/2568
+- docs(java): add idea jdk11 usage config by @chaokunyang in
https://github.com/apache/fory/pull/2570
+- docs(rust): add rust document by @chaokunyang in
https://github.com/apache/fory/pull/2582
+- chore: bump release version to 0.12.2 by @chaokunyang in
https://github.com/apache/fory/pull/2589
+- chore: add trademark for fory name by @chaokunyang in
https://github.com/apache/fory/pull/2590
+- chore: Revert "fix(python): Fix the build dependency failure that occurred
in pyfory" by @chaokunyang in https://github.com/apache/fory/pull/2597
+- chore: remove slash in homepage URL by @chaokunyang in
https://github.com/apache/fory/pull/2604
+- chore(go): replace all typ to type\_ by @chaokunyang in
https://github.com/apache/fory/pull/2612
+- chore: bump release version to 0.12.3 by @chaokunyang in
https://github.com/apache/fory/pull/2645
+- docs: add AGENT.md to make AI coding more efficient by @chaokunyang in
https://github.com/apache/fory/pull/2646
+- chore(rust): remove tag read/write by @chaokunyang in
https://github.com/apache/fory/pull/2681
+- docs(python): refine python readme with detailed docs by @chaokunyang in
https://github.com/apache/fory/pull/2689
+- docs(python): update schema evolution support in README by @chaokunyang in
https://github.com/apache/fory/pull/2690
+- docs: fix python readme lint by @chaokunyang in
https://github.com/apache/fory/pull/2694
+- docs(rust): add comprehensive rust readme document by @chaokunyang in
https://github.com/apache/fory/pull/2723
+- docs(rust): add detailed rust api doc and readme by @chaokunyang in
https://github.com/apache/fory/pull/2728
+- docs: sync rust and python document to fory-site by @chaokunyang in
https://github.com/apache/fory/pull/2734
+- docs(rust): update rust roadmap by @chaokunyang in
https://github.com/apache/fory/pull/2754
+- docs(rust): fix rust doc broken link by @chaokunyang in
https://github.com/apache/fory/pull/2756
+- docs(rust): fix rust doc lint by @chaokunyang in
https://github.com/apache/fory/pull/2757
+- docs(go): Update README.md by @junjiexh in
https://github.com/apache/fory/pull/2675
+- docs(rust): add rust thread safety and troubleshooting doc by @chaokunyang
in https://github.com/apache/fory/pull/2781
+- chore(rust): rename fory-tests to tests by @chaokunyang in
https://github.com/apache/fory/pull/2783
+- docs(rust): update rust serializer trait doc by @chaokunyang in
https://github.com/apache/fory/pull/2795
+- chore: fix release error by @chaokunyang in
https://github.com/apache/fory/pull/2796
+- chore(python): rename numeric typehint by @chaokunyang in
https://github.com/apache/fory/pull/2808
+- chore(rust): reorder fory rust methods by @chaokunyang in
https://github.com/apache/fory/pull/2813
+- docs(python): refine python code and add api doc by @chaokunyang in
https://github.com/apache/fory/pull/2816
+- chore(ci): remove macos13 ci for rust/c++ by @chaokunyang in
https://github.com/apache/fory/pull/2817
+- chore(rust): rename metastring to meta_string by @urlyy in
https://github.com/apache/fory/pull/2812
+- docs(rust): add serialize_to api doc by @chaokunyang in
https://github.com/apache/fory/pull/2825
+- chore(Rust): Streamline code by @theweipeng in
https://github.com/apache/fory/pull/2828
+- docs(rust): update serialize to deserialize from doc by @chaokunyang in
https://github.com/apache/fory/pull/2830
+- chore(Rust): Remove new_from_fory from context.rs by @urlyy in
https://github.com/apache/fory/pull/2831
+
+## New Contributors
+
+- @adriacabeza made their first contribution in
https://github.com/apache/fory/pull/2467
+- @Asnowww made their first contribution in
https://github.com/apache/fory/pull/2496
+- @open-snail made their first contribution in
https://github.com/apache/fory/pull/2500
+- @junjiexh made their first contribution in
https://github.com/apache/fory/pull/2554
+- @ThisingL made their first contribution in
https://github.com/apache/fory/pull/2553
+- @gudzpoz made their first contribution in
https://github.com/apache/fory/pull/2680
+- @wuwangben made their first contribution in
https://github.com/apache/fory/pull/2687
+- @swj20010308 made their first contribution in
https://github.com/apache/fory/pull/2693
+- @mengnankkkk made their first contribution in
https://github.com/apache/fory/pull/2700
+- @SanyamSuyal made their first contribution in
https://github.com/apache/fory/pull/2733
+- @mymde made their first contribution in
https://github.com/apache/fory/pull/2740
+
+**Full Changelog**:
https://github.com/apache/fory/compare/v0.12.3...v0.13.0-rc2
diff --git a/docs/docs/start/install.md b/docs/docs/start/install.md
index bde750807..99ad0b517 100644
--- a/docs/docs/start/install.md
+++ b/docs/docs/start/install.md
@@ -16,13 +16,13 @@ To add a dependency on Apache Fory™ using Maven, use the
following:
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-core</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
<!-- row/arrow format support -->
<!-- <dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-format</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency> -->
```
@@ -34,7 +34,7 @@ To add a dependency on Apache Fory™ scala for scala 2.13 with
maven, use the f
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-scala_2.13</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
@@ -44,20 +44,20 @@ To add a dependency on Apache Fory™ scala for scala 3 with
maven, use the foll
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-scala_3</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
To add a dependency on Apache Fory™ scala for scala 2.13 with sbt, use the
following:
```sbt
-libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.12.3"
+libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.13.0"
```
To add a dependency on Apache Fory™ scala for scala 3 with sbt, use the
following:
```sbt
-libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.12.3"
+libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.13.0"
```
## Kotlin
@@ -68,7 +68,7 @@ To add a dependency on Apache Fory™ kotlin with maven, use
the following:
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-kotlin</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
@@ -76,7 +76,20 @@ To add a dependency on Apache Fory™ kotlin with maven, use
the following:
```bash
python -m pip install --upgrade pip
-pip install pyfory==0.12.3
+pip install pyfory==0.13.0
+```
+
+## Rust
+
+```toml
+[dependencies]
+fory = "0.13"
+```
+
+or just execute command:
+
+```bash
+cargo add [email protected]
```
## JavaScript
diff --git a/docs/guide/scala_guide.md b/docs/guide/scala_guide.md
index ab517eb3e..29da5ee33 100644
--- a/docs/guide/scala_guide.md
+++ b/docs/guide/scala_guide.md
@@ -34,7 +34,7 @@ Scala 2 and 3 are both supported.
To add a dependency on Apache Fory™ scala for with sbt, use the following:
```sbt
-libraryDependencies += "org.apache.fory" %% "fory-scala" % "0.12.3"
+libraryDependencies += "org.apache.fory" %% "fory-scala" % "0.13.0"
```
## Quick Start
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/docs/start/install.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/docs/start/install.md
index 071b8001b..ce3419beb 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/docs/start/install.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/docs/start/install.md
@@ -6,7 +6,7 @@ sidebar_position: 0
Apache Fory™ 源码下载请参见 Apache Fory™
[download](https://github.com/apache/fory/releases)页面。
-### Apache Fory™ Java 安装
+## 安装 Apache Fory™ Java
要使用 Maven 添加对 Apache Fory™ 的依赖,请使用以下配置:
@@ -14,17 +14,17 @@ Apache Fory™ 源码下载请参见 Apache Fory™
[download](https://github.co
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-core</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
<!-- row/arrow format support -->
<!-- <dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-format</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency> -->
```
-### Apache Fory™ Scala 安装
+## 安装 Apache Fory™ Scala
要使用 Maven 添加 scala 2.13 的 Fory scala 依赖,请使用以下配置:
@@ -32,7 +32,7 @@ Apache Fory™ 源码下载请参见 Apache Fory™ [download](https://github.co
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-scala_2.13</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
@@ -42,23 +42,23 @@ Apache Fory™ 源码下载请参见 Apache Fory™
[download](https://github.co
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-scala_3</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
要使用 sbt 添加 scala 2.13 的 Fory scala 依赖,请使用以下配置:
```sbt
-libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.12.3"
+libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.13.0"
```
要使用 sbt 添加 scala 3 的 Fory scala 依赖,请使用以下配置:
```sbt
-libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.12.3"
+libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.13.0"
```
-## Apache Fory™ Kotlin 安装
+## 安装 Apache Fory™ Kotlin
To add a dependency on Apache Fory™kotlin with maven, use the following:
@@ -66,6 +66,26 @@ To add a dependency on Apache Fory™kotlin with maven, use
the following:
<dependency>
<groupId>org.apache.fory</groupId>
<artifactId>fory-kotlin</artifactId>
- <version>0.12.3</version>
+ <version>0.13.0</version>
</dependency>
```
+
+## 安装 Apache Fory™ Python
+
+```bash
+python -m pip install --upgrade pip
+pip install pyfory==0.13.0
+```
+
+## 安装 Apache Fory™ Rust
+
+```toml
+[dependencies]
+fory = "0.13"
+```
+
+或者直接执行以下命令:
+
+```bash
+cargo add [email protected]
+```
diff --git a/src/pages/download/index.md b/src/pages/download/index.md
index 8f0d175b1..bbb53df74 100644
--- a/src/pages/download/index.md
+++ b/src/pages/download/index.md
@@ -9,11 +9,11 @@ For binary install, please see Apache Fory™
[install](/docs/docs/start/install
## The latest release
-The latest source release is 0.12.3:
+The latest source release is 0.13.0:
-| Version | Date | Source
| Release Notes
|
-| ------- | ---------- |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| -------------------------------------------------------------------- |
-| 0.12.3 | 2025-09-23 |
[source](https://www.apache.org/dyn/closer.lua/fory/0.12.3/apache-fory-0.12.3-src.tar.gz?action=download)
[asc](https://downloads.apache.org/fory/0.12.3/apache-fory-0.12.3-src.tar.gz.asc)
[sha512](https://downloads.apache.org/fory/0.12.3/apache-fory-0.12.3-src.tar.gz.sha512)
| [release notes](https://github.com/apache/fory/releases/tag/v0.12.3) |
+| Version | Date | Source
| Release
Notes |
+| ------- | ---------- |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| -------------------------------------------------------------------- |
+| 0.13.0 | 2025-09-23 |
[source](https://www.apache.org/dyn/closer.lua/fory/0.13.0/apache-fory-v0.13.0-src.tar.gz?action=download)
[asc](https://downloads.apache.org/fory/0.13.0/apache-fory-v0.13.0-src.tar.gz.asc)
[sha512](https://downloads.apache.org/fory/0.13.0/apache-fory-v0.13.0-src.tar.gz.sha512)
| [release notes](https://github.com/apache/fory/releases/tag/v0.13.0) |
## All archived releases
@@ -31,13 +31,13 @@ These files are named after the files they relate to but
have `.sha512/.asc` ext
To verify the SHA digests, you need the `.tgz` and its associated
`.tgz.sha512` file. An example command:
```bash
-sha512sum --check apache-fory-0.12.3-src.tar.gz
+sha512sum --check apache-fory-v0.13.0-src.tar.gz
```
It should output something like:
```bash
-apache-fory-0.12.3-src.tar.gz: OK
+apache-fory-v0.13.0-src.tar.gz: OK
```
### Verifying Signatures
@@ -54,7 +54,7 @@ gpg --import KEYS
Then you can verify signature:
```bash
-gpg --verify apache-fory-0.12.3-src.tar.gz.asc apache-fory-0.12.3-src.tar.gz
+gpg --verify apache-fory-v0.13.0-src.tar.gz.asc apache-fory-v0.13.0-src.tar.gz
```
If something like the following appears, it means the signature is correct:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]