This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch release_1.0.0 in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit 85ee84569e26ee635e10c56fb0069d15ace45219 Author: 慕白 <[email protected]> AuthorDate: Thu May 21 15:13:01 2026 +0800 Prepare English release content for 1.0.0 --- blog/2026-05-21-fory_1_0_0_release.md | 123 ++++++++++++++++++++++++++++++++++ docs/start/install.md | 32 ++++----- src/pages/download/index.md | 10 +-- 3 files changed, 144 insertions(+), 21 deletions(-) diff --git a/blog/2026-05-21-fory_1_0_0_release.md b/blog/2026-05-21-fory_1_0_0_release.md new file mode 100644 index 0000000000..9f1dbc5fdd --- /dev/null +++ b/blog/2026-05-21-fory_1_0_0_release.md @@ -0,0 +1,123 @@ +--- +slug: fory_1_0_0_release +title: Fory v1.0.0 Released +authors: [chaokunyang] +tags: [fory, java, kotlin, scala, android, python, rust, c++, go, c#, swift, dart, compiler] +--- + +The Apache Fory team is pleased to announce the 1.0.0 release. This milestone release includes [84 PRs](https://github.com/apache/fory/compare/v0.17.0...v1.0.0) from 11 distinct contributors and turns the cross-language runtime into the default path across supported languages. See the [Install](https://fory.apache.org/docs/start/install) page to get the libraries for your platform. + + +## Highlights + +Apache Fory 1.0.0 standardizes the cross-language serialization model. The unified xlang type system is now the default mode across languages, with compatible-mode reads, simplified field ordering, and better list/array compatibility. The release also adds decimal and bfloat16 support for xlang serialization. + +The language runtimes continue to converge around the same schema and metadata model. Nested container and field codec support landed across Rust, C++, C#, Go, Dart, Python, and Swift. Kotlin gains xlang, KSP, and schema IDL support, while Scala adds schema IDL support and updated generated annotations. + +This release also expands deployment coverage and performance work. Java gains Android serialization support, annotation processor support, schema typed row field accessors, and nested type-use serialization metadata. Dart typed-container fast paths and generated struct optimizations improve throughput, alongside refreshed benchmark plots. + +Key PRs: + +* Unified xlang type system and default xlang mode: https://github.com/apache/fory/pull/3644, https://github.com/apache/fory/pull/3685 +* Decimal and bfloat16 support for xlang serialization: https://github.com/apache/fory/pull/3599, https://github.com/apache/fory/pull/3605 +* Nested container and field codec support: https://github.com/apache/fory/pull/3625, https://github.com/apache/fory/pull/3630, https://github.com/apache/fory/pull/3636, https://github.com/apache/fory/pull/3639, https://github.com/apache/fory/pull/3640, https://github.com/apache/fory/pull/3641, https://github.com/apache/fory/pull/3643 +* Kotlin xlang, KSP, and schema IDL support: https://github.com/apache/fory/pull/3679, https://github.com/apache/fory/pull/3684 +* Scala schema IDL support and generated annotation updates: https://github.com/apache/fory/pull/3681, https://github.com/apache/fory/pull/3682 +* Android serialization and Java annotation processor support: https://github.com/apache/fory/pull/3667, https://github.com/apache/fory/pull/3670 +* Xlang compatible-mode improvements: https://github.com/apache/fory/pull/3648, https://github.com/apache/fory/pull/3650, https://github.com/apache/fory/pull/3675 +* Serialization performance improvements: https://github.com/apache/fory/pull/3609, https://github.com/apache/fory/pull/3653, https://github.com/apache/fory/pull/3656, https://github.com/apache/fory/pull/3661 +* Java row accessors and nested type-use metadata: https://github.com/apache/fory/pull/3631, https://github.com/apache/fory/pull/3633 + +## Features +* feat(ci): fix release for csharp and dart by @chaokunyang in https://github.com/apache/fory/pull/3582 +* feat(rust): add configurable size guardrails by @ayush00git in https://github.com/apache/fory/pull/3579 +* refactor(rust): move Fory configuration to builder by @chaokunyang in https://github.com/apache/fory/pull/3593 +* feat(xlang): add decimal and align serializers for xlang by @chaokunyang in https://github.com/apache/fory/pull/3599 +* refactor(dart): aligned dart internal implementation by @Geethapranay1 in https://github.com/apache/fory/pull/3601 +* feat(xlang): add bfloat16 support by @chaokunyang in https://github.com/apache/fory/pull/3605 +* feat(dart): support dart web platform by @chaokunyang in https://github.com/apache/fory/pull/3608 +* perf(dart): typed-container write fast path with scan elimination by @yash-agarwa-l in https://github.com/apache/fory/pull/3609 +* feat(swift): nested container override support for swift by @chaokunyang in https://github.com/apache/fory/pull/3625 +* feat(java): add schema typed row fields accessor by @chaokunyang in https://github.com/apache/fory/pull/3631 +* feat: add nested container codec for rust by @chaokunyang in https://github.com/apache/fory/pull/3630 +* feat(java): support nested type-use serialization metadata by @chaokunyang in https://github.com/apache/fory/pull/3633 +* refactor(cpp): remove abseil dependency by @chaokunyang in https://github.com/apache/fory/pull/3634 +* feat(cpp): add nested field codec support by @chaokunyang in https://github.com/apache/fory/pull/3636 +* feat(csharp): support nested container field codec by @chaokunyang in https://github.com/apache/fory/pull/3639 +* feat(go): support nested field annotation type specs by @chaokunyang in https://github.com/apache/fory/pull/3640 +* feat(dart): support nested container field codec for dart by @chaokunyang in https://github.com/apache/fory/pull/3641 +* feat(python): support nested field schema encodings by @chaokunyang in https://github.com/apache/fory/pull/3643 +* feat(xlang): unified xlang type system by @chaokunyang in https://github.com/apache/fory/pull/3644 +* feat(xlang): add comprehensive read checks by @chaokunyang in https://github.com/apache/fory/pull/3647 +* feat(xlang): use compatible for xlang by default by @chaokunyang in https://github.com/apache/fory/pull/3648 +* feat(xlang): compatible read between list array field by @chaokunyang in https://github.com/apache/fory/pull/3650 +* perf(dart): remove generated struct slot bridge by @chaokunyang in https://github.com/apache/fory/pull/3653 +* perf: optimize serialization perf by @chaokunyang in https://github.com/apache/fory/pull/3656 +* perf: update benchmark plots by @chaokunyang in https://github.com/apache/fory/pull/3661 +* refactor(rust): use absolute path in generated Rust code by @BaldDemian in https://github.com/apache/fory/pull/3666 +* feat: add android support by @chaokunyang in https://github.com/apache/fory/pull/3667 +* feat(compiler): add helpers to generate unified gRPC service/method names by @BaldDemian in https://github.com/apache/fory/pull/3672 +* feat(java): annotation processor for android serialization by @chaokunyang in https://github.com/apache/fory/pull/3670 +* feat(xlang): simplify xlang field ordering by @chaokunyang in https://github.com/apache/fory/pull/3675 +* feat(kotlin): add kotlin xlang and ksp support by @chaokunyang in https://github.com/apache/fory/pull/3679 +* refactor(java): replace static serializer spi lookup by @chaokunyang in https://github.com/apache/fory/pull/3680 +* feat(scala): add scala schema idl support by @chaokunyang in https://github.com/apache/fory/pull/3681 +* feat(scala): update generated annotation by @chaokunyang in https://github.com/apache/fory/pull/3682 +* feat(rust): make rust chrono optional by @chaokunyang in https://github.com/apache/fory/pull/3683 +* feat(kotlin): add schema idl support to kotlin by @chaokunyang in https://github.com/apache/fory/pull/3684 +* feat(xlang): use xlang as default mode for all languages by @chaokunyang in https://github.com/apache/fory/pull/3685 + +## Bug Fixes +* fix(dart): resolve fory pub.dev score issues by @chaokunyang in https://github.com/apache/fory/pull/3585 +* fix(dart): fix dart ci by @chaokunyang in https://github.com/apache/fory/pull/3586 +* fix(dart): use getUint32 for correctly encoding u64 value by @ayush00git in https://github.com/apache/fory/pull/3592 +* fix(c++): fix c++ duration serialization by @chaokunyang in https://github.com/apache/fory/pull/3598 +* fix(javascript): align TypeMeta preamble constants with python/java/rust/go xlang bindings by @emrul in https://github.com/apache/fory/pull/3603 +* fix(javascript): fix javascript schema idl tests by @chaokunyang in https://github.com/apache/fory/pull/3604 +* fix(dart): added <<< for correct logical right shift semantics in uint by @ayush00git in https://github.com/apache/fory/pull/3607 +* fix(go): ensure physical buffer space for unsafe varint fast-paths by @ayush00git in https://github.com/apache/fory/pull/3613 +* fix(go): add bound checking for refResolver and metaStringResolver reads by @ayush00git in https://github.com/apache/fory/pull/3615 +* fix(go): added pre-allocation bounds checks for slices and strings by @ayush00git in https://github.com/apache/fory/pull/3618 +* fix(go): added maxBinarySize limit to decimal deserialization by @ayush00git in https://github.com/apache/fory/pull/3623 +* fix(go): add configurable fieldCount and fieldDepth guardrails by @ayush00git in https://github.com/apache/fory/pull/3620 +* fix(java): honor record field encoding in generated decode by @mandrean in https://github.com/apache/fory/pull/3626 +* fix(java): preserve externalizable containers in compatible mode by @mandrean in https://github.com/apache/fory/pull/3628 +* fix(python): enforce more checks in read by @chaokunyang in https://github.com/apache/fory/pull/3632 +* fix(xlang): fix xlang type system by @chaokunyang in https://github.com/apache/fory/pull/3646 +* fix(java): use REPLACE_STUB_ID for unregistered writeReplace classes to prevent cross-JVM ClassNotFoundException by @wakilurislam in https://github.com/apache/fory/pull/3638 +* fix(java): fix set view ref tracking by @chaokunyang in https://github.com/apache/fory/pull/3649 +* fix(java): recover map declared serializers for compatible reads by @mandrean in https://github.com/apache/fory/pull/3654 +* fix: include TypeMeta header bits in hash by @chaokunyang in https://github.com/apache/fory/pull/3659 +* fix(java): serialize suppressed exceptions by @chaokunyang in https://github.com/apache/fory/pull/3663 +* fix(javascript): preserve getTypeInfo in regenerated read serializer by @xhzq233 in https://github.com/apache/fory/pull/3669 +* fix(java): validate subclass serializer layer counts by @chaokunyang in https://github.com/apache/fory/pull/3676 +* fix(java): avoid instantiating abstract meta-share types by @chaokunyang in https://github.com/apache/fory/pull/3677 +* fix: fix release script by @chaokunyang in https://github.com/apache/fory/pull/3687 + + +## Other Improvements +* chore: skip auto release for tag starts with go by @chaokunyang in https://github.com/apache/fory/pull/3584 +* docs: add NuGet badge by @chaokunyang in https://github.com/apache/fory/pull/3587 +* docs(java): update graalvm guide location by @chaokunyang in https://github.com/apache/fory/pull/3588 +* docs: rename graalvm_support.md to graalvm-support.md by @chaokunyang in https://github.com/apache/fory/pull/3589 +* chore(rust): refine varint read/write method name by @chaokunyang in https://github.com/apache/fory/pull/3590 +* docs: move development guide to docs root by @chaokunyang in https://github.com/apache/fory/pull/3591 +* chore(dart): add missing license headers by @chaokunyang in https://github.com/apache/fory/pull/3594 +* chore(csharp): add more csharp and swift tests by @chaokunyang in https://github.com/apache/fory/pull/3597 +* chore(dart): refine dart xlang serialization by @chaokunyang in https://github.com/apache/fory/pull/3596 +* docs: add more agent harness rules by @chaokunyang in https://github.com/apache/fory/pull/3610 +* chore(dart): remove stale dart note files by @chaokunyang in https://github.com/apache/fory/pull/3642 +* chore(java): configure default Fory log level by @chaokunyang in https://github.com/apache/fory/pull/3657 +* chore: clean up code and add compiler warning checks by @chaokunyang in https://github.com/apache/fory/pull/3660 +* docs: tighten benchmark throughput plots by @chaokunyang in https://github.com/apache/fory/pull/3662 +* docs: update readme by @chaokunyang in https://github.com/apache/fory/pull/3664 +* docs: add README schema IDL example by @chaokunyang in https://github.com/apache/fory/pull/3665 +* docs: update xlang/native serialization doc by @chaokunyang in https://github.com/apache/fory/pull/3686 + +## New Contributors +* @emrul made their first contribution in https://github.com/apache/fory/pull/3603 +* @wakilurislam made their first contribution in https://github.com/apache/fory/pull/3638 +* @xhzq233 made their first contribution in https://github.com/apache/fory/pull/3669 + + +**Full Changelog**: https://github.com/apache/fory/compare/v0.17.0...v1.0.0 diff --git a/docs/start/install.md b/docs/start/install.md index 12249698b3..68b2720c2b 100644 --- a/docs/start/install.md +++ b/docs/start/install.md @@ -16,14 +16,14 @@ Use Maven to add Apache Fory™: <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-core</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> <!-- Optional row format support --> <!-- <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-format</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> --> <!-- SIMD acceleration for array compression (Java 16+) --> @@ -31,7 +31,7 @@ Use Maven to add Apache Fory™: <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-simd</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> --> ``` @@ -44,7 +44,7 @@ Scala 2.13 with Maven: <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-scala_2.13</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> ``` @@ -54,20 +54,20 @@ Scala 3 with Maven: <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-scala_3</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> ``` Scala 2.13 with sbt: ```sbt -libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "0.17.0" +libraryDependencies += "org.apache.fory" % "fory-scala_2.13" % "1.0.0" ``` Scala 3 with sbt: ```sbt -libraryDependencies += "org.apache.fory" % "fory-scala_3" % "0.17.0" +libraryDependencies += "org.apache.fory" % "fory-scala_3" % "1.0.0" ``` ## Kotlin @@ -78,7 +78,7 @@ Add Apache Fory™ Kotlin with Maven: <dependency> <groupId>org.apache.fory</groupId> <artifactId>fory-kotlin</artifactId> - <version>0.17.0</version> + <version>1.0.0</version> </dependency> ``` @@ -86,7 +86,7 @@ Add Apache Fory™ Kotlin with Maven: ```bash python -m pip install --upgrade pip -pip install pyfory==0.17.0 +pip install pyfory==1.0.0 ``` ## Go @@ -94,7 +94,7 @@ pip install pyfory==0.17.0 Use the full Go module path `github.com/apache/fory/go/fory`: ```bash -go get github.com/apache/fory/go/[email protected] +go get github.com/apache/fory/go/[email protected] ``` If your Go proxy has not picked up the new submodule tag yet, retry later or use `GOPROXY=direct` temporarily. @@ -103,13 +103,13 @@ If your Go proxy has not picked up the new submodule tag yet, retry later or use ```toml [dependencies] -fory = "0.17.0" +fory = "1.0.0" ``` Or use `cargo add`: ```bash -cargo add [email protected] +cargo add [email protected] ``` ## JavaScript @@ -140,7 +140,7 @@ Add Apache Fory™ Dart to `pubspec.yaml`: ```yaml dependencies: - fory: ^0.17.0 + fory: ^1.0.0 dev_dependencies: build_runner: ^2.4.13 @@ -157,12 +157,12 @@ dart run build_runner build --delete-conflicting-outputs Install the `Apache.Fory` NuGet package. It includes both the runtime and the source generator for `[ForyObject]` types. ```bash -dotnet add package Apache.Fory --version 0.17.0 +dotnet add package Apache.Fory --version 1.0.0 ``` ```xml <ItemGroup> - <PackageReference Include="Apache.Fory" Version="0.17.0" /> + <PackageReference Include="Apache.Fory" Version="1.0.0" /> </ItemGroup> ``` @@ -172,7 +172,7 @@ Add Apache Fory™ from the GitHub repository with Swift Package Manager: ```swift dependencies: [ - .package(url: "https://github.com/apache/fory.git", exact: "0.17.0") + .package(url: "https://github.com/apache/fory.git", exact: "1.0.0") ], targets: [ .target( diff --git a/src/pages/download/index.md b/src/pages/download/index.md index 9f0ae86713..9e4049c455 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/start/install/) do ## The latest release -The latest source release is 0.17.0: +The latest source release is 1.0.0: | Version | Date | Source | Release Notes | | ------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | -| 0.17.0 | 2026-04-19 | [source](https://www.apache.org/dyn/closer.lua/fory/0.17.0/apache-fory-0.17.0-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/0.17.0/apache-fory-0.17.0-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v0.17.0) | +| 1.0.0 | 2026-05-21 | [source](https://www.apache.org/dyn/closer.lua/fory/1.0.0/apache-fory-1.0.0-src.tar.gz?action=download) [asc](https://downloads.apache.org/fory/1.0.0/apache-fory-1.0.0-src.tar.gz.asc) [sha512](https://downloads.apache.org/fory/1.0.0/apache-fory-1.0.0-src.tar.gz.sha512) | [release notes](https://github.com/apache/fory/releases/tag/v1.0.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 `.tar.gz` file and its associated `.tar.gz.sha512` file. An example command: ```bash -sha512sum --check apache-fory-0.17.0-src.tar.gz +sha512sum --check apache-fory-1.0.0-src.tar.gz ``` It should output something like: ```bash -apache-fory-0.17.0-src.tar.gz: OK +apache-fory-1.0.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.17.0-src.tar.gz.asc apache-fory-0.17.0-src.tar.gz +gpg --verify apache-fory-1.0.0-src.tar.gz.asc apache-fory-1.0.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]
