Skip to content

MessagePack for C# v4: Round8 - #2296

Closed
neuecc wants to merge 9 commits into
masterfrom
v4
Closed

neuecc wants to merge 9 commits into
masterfrom
v4

Conversation

@neuecc

@neuecc neuecc commented Sep 7, 2026

Copy link
Copy Markdown
Member

With this round, I consider the core library complete.
After some adjustments to the Source Generator and the satellite libraries, I'm aiming for a Preview release next week.

There are no major feature additions, but a few adjustments were made:
Surrogates now work on every platform, and the legacy UnionAttribute is now handled by the reflection tier, among others.

I've settled on how MessagePack.Annotations is handled for compatibility.
Every compatible attribute is forwarded to the main assembly via TypeForwardedTo.
The goal is to preserve compatibility as far as possible for pre-built v2/v3 DLLs that carry nothing but the annotations.
Those are handled correctly by the reflection layer (ReflectionObjectFormatter / ReflectionUnionFormatter).

I've ported the v3 unit tests as part of the test suite.
They proved useful for edge-case handling, and they also made me realize that unless these are handled properly, it's hard to claim compatibility lightly.
I've also added property-based testing with CsCheck and fuzzing with SharpFuzz.

@neuecc neuecc closed this Sep 14, 2026
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.

1 participant