Skip to content

Conversation

@chaokunyang
Copy link
Collaborator

@chaokunyang chaokunyang commented Feb 3, 2026

Why?

The xlang header no longer needs a per-language byte, and the ref-tracking naming has drifted across implementations. Align the protocol header and configuration to be consistent across languages.

What does this PR do?

  • Removes the xlang language byte and updates header write/read paths in Java, C++, Python, Go, JS, Dart, and Rust to use a single-byte bitmap.
  • Simplifies language/config plumbing (Java config uses an xlang flag; language enums/constants removed where unused).
  • Renames/refactors ref-tracking fields to track_ref/ref across languages and updates fingerprints, serializers, tests, and docs/specs.

Related issues

#1017

Does this PR introduce any user-facing change?

Yes — the xlang wire header changes and ref-tracking/config naming updates are user-visible.

  • Does this PR introduce any public API change?
  • Does this PR introduce any binary protocol compatibility change?

Benchmark

@chaokunyang chaokunyang merged commit 34e6c29 into apache:main Feb 3, 2026
106 of 117 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants