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 caa9dd00ef π synced local 'docs/guide/' with remote 'docs/guide/'
caa9dd00ef is described below
commit caa9dd00ef0e60dd8d1c676cedc42ad0307cc3ff
Author: chaokunyang <[email protected]>
AuthorDate: Wed Jun 3 08:17:47 2026 +0000
π synced local 'docs/guide/' with remote 'docs/guide/'
---
docs/guide/java/compression.md | 12 +-----------
docs/guide/java/index.md | 35 ++++++++++++++++++++++++++++++++++-
docs/guide/java/troubleshooting.md | 17 +++++++++++++++++
docs/guide/java/type-registration.md | 3 +++
docs/guide/kotlin/index.md | 15 +++++++++++++++
docs/guide/scala/index.md | 15 +++++++++++++++
6 files changed, 85 insertions(+), 12 deletions(-)
diff --git a/docs/guide/java/compression.md b/docs/guide/java/compression.md
index 0892e3b297..587b2c1f7c 100644
--- a/docs/guide/java/compression.md
+++ b/docs/guide/java/compression.md
@@ -76,17 +76,7 @@ Fory fory = Fory.builder()
CompressedArraySerializers.registerSerializers(fory);
```
-**Note**: The `fory-simd` module must be included in your dependencies for
compressed array serializers to be available.
-
-### Maven Dependency
-
-```xml
-<dependency>
- <groupId>org.apache.fory</groupId>
- <artifactId>fory-simd</artifactId>
- <version>1.1.0</version>
-</dependency>
-```
+Compressed array serializers are included in `fory-core` and use the Java 16+
Vector API when it is available.
## String Compression
diff --git a/docs/guide/java/index.md b/docs/guide/java/index.md
index c52237d803..37a9db48f5 100644
--- a/docs/guide/java/index.md
+++ b/docs/guide/java/index.md
@@ -38,7 +38,7 @@ Apache Foryβ’ provides blazingly fast Java object
serialization with JIT compil
### Drop-in Replacement
- **100% JDK Serialization Compatible**: Supports
`writeObject`/`readObject`/`writeReplace`/`readResolve`/`readObjectNoData`/`Externalizable`
-- **Java 8-24 Support**: Works across all modern Java versions including Java
17+ records
+- **Java 8+ Support**: Works across all modern Java versions including Java
17+ records
- **GraalVM Native Image**: AOT compilation support without reflection
configuration
- **Android API 26+ Support**: Core object serialization works on Android
without runtime code generation.
@@ -50,6 +50,39 @@ Apache Foryβ’ provides blazingly fast Java object
serialization with JIT compil
- **Deep Copy**: Efficient deep cloning of complex object graphs with
reference preservation
- **Security**: Class registration and configurable deserialization policies
+## Installation
+
+### Maven
+
+```xml
+<dependency>
+ <groupId>org.apache.fory</groupId>
+ <artifactId>fory-core</artifactId>
+ <version>1.1.0</version>
+</dependency>
+```
+
+### Gradle
+
+```kotlin
+implementation("org.apache.fory:fory-core:1.1.0")
+```
+
+### JDK25+
+
+On JDK25+, open `java.lang.invoke` to Fory. Use `ALL-UNNAMED` when Fory is on
+the classpath:
+
+```bash
+--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
+```
+
+Use the Fory core module name when Fory is on the module path:
+
+```bash
+--add-opens=java.base/java.lang.invoke=org.apache.fory.core
+```
+
## Quick Start
Note that Fory creation is not cheap, the **Fory instances should be reused
between serializations** instead of creating it every time. You should keep
Fory as a static global variable, or instance variable of some singleton object
or limited objects.
diff --git a/docs/guide/java/troubleshooting.md
b/docs/guide/java/troubleshooting.md
index e04a325185..0c0e66c8ef 100644
--- a/docs/guide/java/troubleshooting.md
+++ b/docs/guide/java/troubleshooting.md
@@ -148,6 +148,23 @@ Fory fory = Fory.builder()
fory.registerSerializer(MyClass.class, new
MyClassSerializer(fory.getTypeResolver()));
```
+### JDK25+ access errors
+
+On JDK25+, if an error names `java.base/java.lang.invoke`, open
`java.lang.invoke` to Fory. Use
+`ALL-UNNAMED` when Fory is on the classpath:
+
+```bash
+--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
+```
+
+Use the Fory core module name when Fory is on the module path:
+
+```bash
+--add-opens=java.base/java.lang.invoke=org.apache.fory.core
+```
+
+Fory does not require application package opens for private-field access.
+
## Performance Issues
### Slow Initial Serialization
diff --git a/docs/guide/java/type-registration.md
b/docs/guide/java/type-registration.md
index f05a7665db..15270c7ee9 100644
--- a/docs/guide/java/type-registration.md
+++ b/docs/guide/java/type-registration.md
@@ -40,6 +40,9 @@ fory.register(SomeClass1.class, 1);
```
Note that class registration order is important. Serialization and
deserialization peers should have the same registration order.
+Register classes and custom serializers before the first top-level
`serialize`, `deserialize`, or
+`copy` call on a `Fory` instance. Fory freezes registration at that point so
runtime lookups can use
+the finalized registration state.
Internal type IDs 0-32 are reserved for built-in xlang types. Java native
built-ins start at
`Types.NONE + 1`, and user IDs are encoded as `(user_id << 8) |
internal_type_id`.
diff --git a/docs/guide/kotlin/index.md b/docs/guide/kotlin/index.md
index fb4ccffc40..391174bf70 100644
--- a/docs/guide/kotlin/index.md
+++ b/docs/guide/kotlin/index.md
@@ -62,6 +62,21 @@ See [Java Features](../java/index.md#features) for complete
feature list.
implementation("org.apache.fory:fory-kotlin:1.1.0")
```
+### JDK25+
+
+Kotlin uses the Fory Java core at runtime. On JDK25+, open `java.lang.invoke`
+to Fory. Use `ALL-UNNAMED` when Fory is on the classpath:
+
+```bash
+--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
+```
+
+Use the Fory core module name when Fory is on the module path:
+
+```bash
+--add-opens=java.base/java.lang.invoke=org.apache.fory.core
+```
+
## Quick Start
```kotlin
diff --git a/docs/guide/scala/index.md b/docs/guide/scala/index.md
index 2c925c2854..d60d1961a2 100644
--- a/docs/guide/scala/index.md
+++ b/docs/guide/scala/index.md
@@ -52,6 +52,21 @@ Add the dependency with sbt:
libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.1.0"
```
+### JDK25+
+
+Scala uses the Fory Java core at runtime. On JDK25+, open `java.lang.invoke` to
+Fory. Use `ALL-UNNAMED` when Fory is on the classpath:
+
+```bash
+--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
+```
+
+Use the Fory core module name when Fory is on the module path:
+
+```bash
+--add-opens=java.base/java.lang.invoke=org.apache.fory.core
+```
+
## Quick Start
```scala
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]