The GitHub Actions job "Fory CI" on fory.git/main has succeeded.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
ce976a615d7bd39af70a327229b47ac71919130a / Shawn Yang <[email protected]>
docs(go): add go serialization doc (#3121)

## Why?

The Fory Go implementation needs comprehensive documentation to help
users understand how to use the serialization library effectively.
Additionally, the public API naming needed improvement for better
clarity and consistency.

## What does this PR do?

### Documentation (13 new guide documents)

Added comprehensive documentation for Fory Go under `docs/guide/go/`:

- **basic-serialization.md**: Core serialization APIs
(Serialize/Deserialize, Marshal/Unmarshal)
- **configuration.md**: Configuration options (TrackRef, MaxDepth, etc.)
- **type-registration.md**: How to register structs and enums with IDs
or names
- **supported-types.md**: All supported Go types (primitives,
collections, structs, etc.)
- **struct-tags.md**: Using struct tags for field customization
- **references.md**: Reference tracking and circular reference handling
- **schema-evolution.md**: Compatible mode and schema evolution support
- **cross-language.md**: Cross-language serialization with Java, Python,
Rust, etc.
- **custom-serializers.md**: Implementing custom serializers
- **codegen.md**: Code generation for performance optimization
- **thread-safety.md**: Thread-safe usage with ForyPool
- **troubleshooting.md**: Common errors and solutions
- **index.md**: Overview and quick start guide

Also updated:
- `go/README.md`: Updated with new API examples
- `docs/guide/xlang/field-reference-tracking.md`: Added Go examples

### API Changes

Renamed registration methods for better clarity and consistency:

| Old Name | New Name |
|----------|----------|
| `Register()` | `RegisterStruct()` |
| `RegisterByName()` | `RegisterNamedStruct()` |
| `RegisterEnumByName()` | `RegisterNamedEnum()` |

### Default Configuration Changes

- `MaxDepth`: Changed from 100 to 20 (more reasonable default)
- `IsXlang`: Changed from true to false (native mode as default)

### Code Improvements

- Updated serializers to use consistent patterns
- Fixed codegen templates to use new API names
- Updated all tests to use new registration API

## Related issues

#2982

## Does this PR introduce any user-facing change?

- [x] Does this PR introduce any public API change?
  - Registration method renames (see table above)
  - Default configuration changes
- [ ] Does this PR introduce any binary protocol compatibility change?

Report URL: https://github.com/apache/fory/actions/runs/20907449159

With regards,
GitHub Actions via GitBox


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

Reply via email to