This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch fix_broken_links2 in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit 77c1c3bfdc933c0d459c49e1cd3d5dccdf8eb57f Author: chaokunyang <[email protected]> AuthorDate: Tue Feb 10 11:52:17 2026 +0800 fix release 0.15.0 blog --- blog/2026-02-10-fory_0_15_0_release.md | 52 +++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/blog/2026-02-10-fory_0_15_0_release.md b/blog/2026-02-10-fory_0_15_0_release.md index 8ba20ea561..66d0eb8341 100644 --- a/blog/2026-02-10-fory_0_15_0_release.md +++ b/blog/2026-02-10-fory_0_15_0_release.md @@ -12,9 +12,9 @@ The Apache Fory team is pleased to announce the 0.15.0 release. This is a major - feat(go): new golang xlang serialization implementation by @chaokunyang in https://github.com/apache/fory/pull/3063 - feat(rust): add tuple struct support and improve generic type handling by @ariesdevil in https://github.com/apache/fory/pull/3087 - refactor(rust): unify tuple struct and named struct protocol, and make schema evolution happy by @ariesdevil in https://github.com/apache/fory/pull/3092 - feat(java/python/rust/go/c++): align nullable meta for xlang struct fields serialization by @chaokunyang in https://github.com/apache/fory/pull/3093 -- feat(java/python/rust/go/c++): xlang fields reference and typeinfo alignment by @chaokunyang in https://github.com/apache/fory/pull/3107 -- feat(c++): add SharedWeak<T> for circular reference support by @chaokunyang in https://github.com/apache/fory/pull/3109 + feat(java/python/rust/go/cpp): align nullable meta for xlang struct fields serialization by @chaokunyang in https://github.com/apache/fory/pull/3093 +- feat(java/python/rust/go/cpp): xlang fields reference and typeinfo alignment by @chaokunyang in https://github.com/apache/fory/pull/3107 +- feat(cpp): add `SharedWeak<T>` for circular reference support by @chaokunyang in https://github.com/apache/fory/pull/3109 - feat(xlang): support unsigned int for xlang by @chaokunyang in https://github.com/apache/fory/pull/3111 and https://github.com/apache/fory/pull/3113 - feat(xlang/java): refactor java native serialization type system and streaming type info for xlang by @chaokunyang in https://github.com/apache/fory/pull/3153 - feat(xlang): fory schema idl and compiler by @chaokunyang in https://github.com/apache/fory/pull/3106 @@ -29,7 +29,7 @@ compatibility and production-focused configuration options. **Key capabilities:** -- Cross-language mode with Java, Python, C++, Rust, and JavaScript (`fory.WithXlang(true)`) +- Cross-language mode with Java, Python, `cpp`, Rust, and JavaScript (`fory.WithXlang(true)`) - Reflection-based serialization by default, plus optional experimental AOT code generation for hot paths - Reference tracking for shared/circular object graphs (`fory.WithTrackRef(true)` + `fory:"ref"` tags) - Compatible mode for schema evolution (`fory.WithCompatible(true)`) supporting add/remove/reorder field changes @@ -74,7 +74,7 @@ registration code across languages. - Schema-first development with `enum`, `message`, and `union` - Fory-native field semantics: `optional` (nullability), `ref` (shared/circular references), `list`, and `map` -- Multi-language code generation for Java, Python, Go, Rust, and C++ +- Multi-language code generation for Java, Python, Go, Rust, and `cpp` - Protobuf (`.proto`) and FlatBuffers (`.fbs`) frontend support, translated into Fory IR/codegen - Idiomatic generated APIs with `to/from bytes` helpers @@ -148,7 +148,7 @@ class Person: - feat(python): add Union type support for xlang serialization by @zhan7236 in https://github.com/apache/fory/pull/3059 - feat(go): new golang xlang serialization implementation by @chaokunyang in https://github.com/apache/fory/pull/3063 - feat(java): enhance ForyField annotation with tag ID support for optimized serialization by @mchernyakov in https://github.com/apache/fory/pull/3021 -- feat(c++): add iterator container serialization support by @zhan7236 in https://github.com/apache/fory/pull/3068 +- feat(cpp): add iterator container serialization support by @zhan7236 in https://github.com/apache/fory/pull/3068 - refactor(go): refactor go error processing by @chaokunyang in https://github.com/apache/fory/pull/3069 - feat(rust): add generate_default attr, no longer generate `Default` trait impl by default by @ariesdevil in https://github.com/apache/fory/pull/3074 - feat(java): implement Union type support for cross-language serialization by @zhan7236 in https://github.com/apache/fory/pull/3062 @@ -161,18 +161,18 @@ class Person: - feat(go): add go struct field tag support by @chaokunyang in https://github.com/apache/fory/pull/3082 - feat(rust): add tuple struct support and improve generic type handling by @ariesdevil in https://github.com/apache/fory/pull/3087 - feat(rust): support configure rust field meta to reduce cost by @chaokunyang in https://github.com/apache/fory/pull/3089 -- feat(c++): support customize c++ field meta by @chaokunyang in https://github.com/apache/fory/pull/3088 +- feat(cpp): support customize cpp field meta by @chaokunyang in https://github.com/apache/fory/pull/3088 - feat(ci): make rust xlang ci run separately to make ci faster by @chaokunyang in https://github.com/apache/fory/pull/3090 - feat(python): support configure field meta for python by @chaokunyang in https://github.com/apache/fory/pull/3091 - refactor(rust): unify tuple struct and named struct protocol, and make schema evolution happy by @ariesdevil in https://github.com/apache/fory/pull/3092 - feat(java): build Descriptors with final ref_tracking flags by @chaokunyang in https://github.com/apache/fory/pull/3070 -- feat(java/python/rust/go/c++): align nullable meta for xlang struct fields serialization by @chaokunyang in https://github.com/apache/fory/pull/3093 +- feat(java/python/rust/go/cpp): align nullable meta for xlang struct fields serialization by @chaokunyang in https://github.com/apache/fory/pull/3093 - feat(rust): implement fine-grained ref tracking for rust by @chaokunyang in https://github.com/apache/fory/pull/3101 -- feat(c++): fine-grained ref tracking for c++ by @chaokunyang in https://github.com/apache/fory/pull/3103 -- feat(java/python/rust/go/c++): xlang nullable/ref alignment by @chaokunyang in https://github.com/apache/fory/pull/3104 -- feat(java/python/rust/go/c++): xlang fields reference and typeinfo alignment by @chaokunyang in https://github.com/apache/fory/pull/3107 +- feat(cpp): fine-grained ref tracking for cpp by @chaokunyang in https://github.com/apache/fory/pull/3103 +- feat(java/python/rust/go/cpp): xlang nullable/ref alignment by @chaokunyang in https://github.com/apache/fory/pull/3104 +- feat(java/python/rust/go/cpp): xlang fields reference and typeinfo alignment by @chaokunyang in https://github.com/apache/fory/pull/3107 - feat(java/python/go/rust): add circular reference xlang tests by @chaokunyang in https://github.com/apache/fory/pull/3108 -- feat(c++): add SharedWeak<T> for circular reference support by @chaokunyang in https://github.com/apache/fory/pull/3109 +- feat(cpp): add `SharedWeak<T>` for circular reference support by @chaokunyang in https://github.com/apache/fory/pull/3109 - feat(js): add schema-based per-field nullable support for xlang by @theharsh999 in https://github.com/apache/fory/pull/3100 - feat(xlang): support unsigned int for xlang by @chaokunyang in https://github.com/apache/fory/pull/3111 - feat(java): long array serializer support varint encoding by @Pigsy-Monk in https://github.com/apache/fory/pull/3115 @@ -183,7 +183,7 @@ class Person: - refactor(go): rename go interface{} to any by @chaokunyang in https://github.com/apache/fory/pull/3128 - refactor(xlang): remove magic number from protocol by @chaokunyang in https://github.com/apache/fory/pull/3137 - feat(xlang): use little endian when serializing array of multiple byte element size by @chaokunyang in https://github.com/apache/fory/pull/3140 -- refactor(java/c++): rename morphic to dynamic by @chaokunyang in https://github.com/apache/fory/pull/3142 +- refactor(java/cpp): rename morphic to dynamic by @chaokunyang in https://github.com/apache/fory/pull/3142 - feat(xlang): add unsigned integer type support for JavaScript by @ayush00git in https://github.com/apache/fory/pull/3139 - feat: add unsigned number for dart by @ayush00git in https://github.com/apache/fory/pull/3144 - feat(xlang/java): refactor java native serialization type system and streaming type info for xlang by @chaokunyang in https://github.com/apache/fory/pull/3153 @@ -198,25 +198,25 @@ class Person: - feat(dart): add uint annotation types to the fory's codegen system by @ayush00git in https://github.com/apache/fory/pull/3181 - feat(dart): add uint struct support to the codegen system by @ayush00git in https://github.com/apache/fory/pull/3192 - feat(compiler): add union support to fory compiler and runtime by @chaokunyang in https://github.com/apache/fory/pull/3195 -- feat(c++): support private fields of c++ class by @chaokunyang in https://github.com/apache/fory/pull/3193 -- feat(compiler): generate getter/setter/has/clear methods for c++ by @chaokunyang in https://github.com/apache/fory/pull/3199 +- feat(cpp): support private fields of cpp class by @chaokunyang in https://github.com/apache/fory/pull/3193 +- feat(compiler): generate getter/setter/has/clear methods for cpp by @chaokunyang in https://github.com/apache/fory/pull/3199 - feat(JavaScript): impl the xlang string by @theweipeng in https://github.com/apache/fory/pull/3197 -- feat(c++): make fory enum/nuion macro in user namespace by @chaokunyang in https://github.com/apache/fory/pull/3200 +- feat(cpp): make fory enum/nuion macro in user namespace by @chaokunyang in https://github.com/apache/fory/pull/3200 - feat(go): use option for optional fields by @chaokunyang in https://github.com/apache/fory/pull/3202 -- feat(c++): make shared_ptr track ref by default by @chaokunyang in https://github.com/apache/fory/pull/3214 +- feat(cpp): make shared_ptr track ref by default by @chaokunyang in https://github.com/apache/fory/pull/3214 - feat(go): support [N]uint types array serializers by @ayush00git in https://github.com/apache/fory/pull/3201 - feat(xlang): reserve 4 bits for type meta by @chaokunyang in https://github.com/apache/fory/pull/3204 - feat(go): remove murmur hash go deps by @chaokunyang in https://github.com/apache/fory/pull/3217 -- feat(compiler): refine generated c++ API by @chaokunyang in https://github.com/apache/fory/pull/3221 -- feat(python): refactor cython buffer to use c++ buffer by @chaokunyang in https://github.com/apache/fory/pull/3219 +- feat(compiler): refine generated cpp API by @chaokunyang in https://github.com/apache/fory/pull/3221 +- feat(python): refactor cython buffer to use cpp buffer by @chaokunyang in https://github.com/apache/fory/pull/3219 - ci: speed up setup-python on windows by @chaokunyang in https://github.com/apache/fory/pull/3222 - feat(python): add buffer index accessors by @chaokunyang in https://github.com/apache/fory/pull/3223 - feat(xlang/compiler): support shared/circular reference serialization for fory/protobuf/flatbuffer idl by @chaokunyang in https://github.com/apache/fory/pull/3226 -- feat(c++): add polymorphic serialization support for `any` to compiler by @chaokunyang in https://github.com/apache/fory/pull/3232 +- feat(cpp): add polymorphic serialization support for `any` to compiler by @chaokunyang in https://github.com/apache/fory/pull/3232 - feat(JavaScript): impl xlang writer by @theweipeng in https://github.com/apache/fory/pull/3234 - feat(xlang): support control ref tracking for nested list map elements by @chaokunyang in https://github.com/apache/fory/pull/3236 - feat(compiler): add generated `to_bytes/from_bytes` methods to generated message/union by @chaokunyang in https://github.com/apache/fory/pull/3238 -- refactor(c++): use snake_case namestyle for c++ by @chaokunyang in https://github.com/apache/fory/pull/3240 +- refactor(cpp): use snake_case namestyle for cpp by @chaokunyang in https://github.com/apache/fory/pull/3240 - perf(go): optimize go perf by @chaokunyang in https://github.com/apache/fory/pull/3241 - refactor(go): adjust go buffer uint32/64 write/read name style by @chaokunyang in https://github.com/apache/fory/pull/3242 - refactor(compiler): refactor fory compiler command line by @chaokunyang in https://github.com/apache/fory/pull/3243 @@ -252,8 +252,8 @@ class Person: - fix: typo in the xlang_serialization_spec.md by @ayush00git in https://github.com/apache/fory/pull/3151 - fix(java): use littlen endian for utf16 string on big endian by @chaokunyang in https://github.com/apache/fory/pull/3159 - fix(java): fix openj9 sliced string serde by @chaokunyang in https://github.com/apache/fory/pull/3160 -- fix(c++): fix fory c++ compile warnings by @chaokunyang in https://github.com/apache/fory/pull/3188 -- fix(c++): issue 3229 - compile error on gcc16 by @xflcx1991 in https://github.com/apache/fory/pull/3230 +- fix(cpp): fix fory cpp compile warnings by @chaokunyang in https://github.com/apache/fory/pull/3188 +- fix(cpp): issue 3229 - compile error on gcc16 by @xflcx1991 in https://github.com/apache/fory/pull/3230 - fix(java): fix java ci maven module error by @chaokunyang in https://github.com/apache/fory/pull/3265 - fix(go): prevent panic in readUTF16LE with odd byte counts by @jonyoder in https://github.com/apache/fory/pull/3293 @@ -265,7 +265,7 @@ class Person: - chore(deps): bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.25.3 in /java/fory-test-core by @dependabot[bot] in https://github.com/apache/fory/pull/3065 - chore(python): Update badge styles in README.md by @chaokunyang in https://github.com/apache/fory/pull/3072 - chore(rust): revert rust crates version by @ariesdevil in https://github.com/apache/fory/pull/3075 -- docs(c++): Add MSVC compatibility to the CMake sample in the CPP document. by @Eiskomet in https://github.com/apache/fory/pull/3078 +- docs(cpp): Add MSVC compatibility to the CMake sample in the CPP document. by @Eiskomet in https://github.com/apache/fory/pull/3078 - chore: bump release version to 0.14.1 by @chaokunyang in https://github.com/apache/fory/pull/3096 - docs(go): add go serialization doc by @chaokunyang in https://github.com/apache/fory/pull/3121 - docs(go): fix go serialization doc by @chaokunyang in https://github.com/apache/fory/pull/3125 @@ -284,10 +284,10 @@ class Person: - docs(compiler): update fory compiler doc by @chaokunyang in https://github.com/apache/fory/pull/3183 - docs: fix protobuf docs by @chaokunyang in https://github.com/apache/fory/pull/3185 - docs: add missing protobuf-idl.md by @chaokunyang in https://github.com/apache/fory/pull/3186 -- docs(c++): add c++ polymorphism doc by @chaokunyang in https://github.com/apache/fory/pull/3187 +- docs(cpp): add cpp polymorphism doc by @chaokunyang in https://github.com/apache/fory/pull/3187 - docs: Fix links in README by @chaokunyang in https://github.com/apache/fory/pull/3212 - chore(java): rename \_getTypeResolver to getTypeResolver by @chaokunyang in https://github.com/apache/fory/pull/3227 -- chore(c++): remove unique token from FORY_FIELD_CONFIG by @chaokunyang in https://github.com/apache/fory/pull/3228 +- chore(cpp): remove unique token from FORY_FIELD_CONFIG by @chaokunyang in https://github.com/apache/fory/pull/3228 - docs(compiler): merge type system doc into schema-idl odc by @chaokunyang in https://github.com/apache/fory/pull/3258 - chore: fix bump version and add rust/comiler auto release by @chaokunyang in https://github.com/apache/fory/pull/3257 - docs: move language impl reference to a new doc by @chaokunyang in https://github.com/apache/fory/pull/3261 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
