The GitHub Actions job "npm_and_yarn in /javascript for protobufjs - Update 
#1365988211" on fory.git/main has failed.
Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).

Head commit for run:
74898f497c553f20ab1b5da6c7474c6c873dde5c / Shawn Yang <[email protected]>
feat(xlang): simplify xlang field ordering (#3675)

## Why?

The xlang field-ordering spec and several runtimes still treated
non-primitive fields as separate type-specific groups. This PR
simplifies the rule so non-primitive fields use one language-neutral
identifier order, and makes invalid negative field ids fail early
instead of being interpreted as name-based fields.

## What does this PR do?

- Updates the xlang serialization spec so fields are ordered as non-null
primitives, nullable primitives, then all non-primitives sorted by field
identifier.
- Applies the simplified ordering across C++, C#, Dart, Go, Java,
JavaScript, Python, Rust, and Swift runtimes or generators.
- Allows mixed explicit field ids and name-based identifiers, with
explicit ids sorted before name identifiers inside a field group.
- Rejects negative configured field ids in supported generators,
parsers, and macros; name-based fields now omit an explicit id instead
of using `-1`.
- Updates language guides and cross-language fixtures to match the new
field-id and ordering behavior.
- Adds focused tests for non-primitive field ordering, mixed identifier
ordering, and negative field-id diagnostics.

## Related issues

#1017 

## AI Contribution Checklist



- [ ] Substantial AI assistance was used in this PR: `yes` / `no`
- [ ] If `yes`, I included a completed [AI Contribution
Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs)
in this PR description and the required `AI Usage Disclosure`.
- [ ] If `yes`, my PR description includes the required `ai_review`
summary and screenshot evidence of the final clean AI review results
from both fresh reviewers on the current PR diff or current HEAD after
the latest code changes.



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

Yes. Xlang non-primitive struct field ordering now follows field
identifiers directly, and configured negative field ids are rejected.
Fields without explicit ids continue to use name-based identifiers.

- [ ] Does this PR introduce any public API change?
- [x] Does this PR introduce any binary protocol compatibility change?

## Benchmark

N/A

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

With regards,
GitHub Actions via GitBox


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

Reply via email to