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

commit dc739c0457d6f58e07076a4b269a3622098d14fa
Author: chaokunyang <[email protected]>
AuthorDate: Fri May 1 13:57:16 2026 +0000

    🔄 synced local 'docs/specification/' with remote 'docs/specification/'
---
 docs/specification/xlang_serialization_spec.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/docs/specification/xlang_serialization_spec.md 
b/docs/specification/xlang_serialization_spec.md
index 629d268604..c109a6d288 100644
--- a/docs/specification/xlang_serialization_spec.md
+++ b/docs/specification/xlang_serialization_spec.md
@@ -1437,9 +1437,14 @@ Object value layout:
 The schema hash is written only when class-version checking is enabled. It is 
the low 32 bits of a
 MurmurHash3 x64_128 of the struct fingerprint string:
 
-- For each field, build `<field_id_or_name>,<type_id>,<ref>,<nullable>;`.
+- For each field, build `<field_id_or_name>,<field_type_fingerprint>;`.
 - Field identifier is the tag ID if present, otherwise the snake_case field 
name.
 - Sort by field identifier lexicographically before concatenation.
+- `field_type_fingerprint` is recursive:
+  - Leaf: `<type_id>,<ref>,<nullable>`
+  - `LIST` / `SET`: `<type_id>,<ref>,<nullable>[<element_fingerprint>]`
+  - `MAP`: `<type_id>,<ref>,<nullable>[<key_fingerprint>|<value_fingerprint>]`
+- Nested container element/key/value fingerprints include nested type ID, 
container shape, and effective integer encoding, but nested `nullable` and 
`ref` policy are always hashed as `0`. Only the root field `nullable` and `ref` 
bits participate in schema hash, because nested reads honor the wire null/ref 
flags directly.
 
 Field values are serialized in Fory order. Primitive fields are written as raw 
values (nullable
 primitives include a null flag). Non-primitive fields write ref/null flags as 
needed and then the


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to