-
-
Notifications
You must be signed in to change notification settings - Fork 744
Comparing changes
Open a pull request
base repository: MessagePack-CSharp/MessagePack-CSharp
base: v3.1.4
head repository: MessagePack-CSharp/MessagePack-CSharp
compare: master
- 8 commits
- 29 files changed
- 5 contributors
Commits on Jul 18, 2025
-
Use 'Write' instead of 'WriteInt32' for union type keys
Union type keys set with are usually small positive integers, likely to fit in a single byte. As late as version 2.5.198, the library would encode [Union(0, typeof(Foo))] as two bytes 0x92 0x00 (one for "two-element array", and one for the 0 integer key), followed by the serialization of type Foo. In version 3.1.4, [Union(0, typeof(Foo))] is instead encoded as six bytes 0x92 0xD2 0x00 0x00 0x00 0x00 (one for "two-element array", one for "32-bit integer", and the four bytes of the 0 integer key). Although the two representations are compatible, for code bases that use many small polymorphic objects, the migration from 2.x to 3.x would lead to a significant increase in the size of the serialized data. This behavior is caused by the generated code for the interface using `WriteInt32` (which always encodes the integer as five bytes), and is fixed by instead using `Write` (which uses the smallest possible number of bytes for its argument).
Configuration menu - View commit details
-
Copy full SHA for 8351bec - Browse repository at this point
Copy the full SHA 8351becView commit details
Commits on Aug 17, 2025
-
Remove unneeded GetTypeInfo() calls (#2206)
* [WIP} Remove unneeded GetTypeInfo() calls Improve performcance by removing unneeded GetTypeInfo() calls * typeof(T) reuse * Remove AsType() calls * Revert IsSupportedType with TypeInfo * Fix code review remarks
Configuration menu - View commit details
-
Copy full SHA for 55b4d1a - Browse repository at this point
Copy the full SHA 55b4d1aView commit details -
Use 'Write' instead of 'WriteInt32' for union type keys (#2212)
Union type keys set with are usually small positive integers, likely to fit in a single byte. As late as version 2.5.198, the library would encode [Union(0, typeof(Foo))] as two bytes 0x92 0x00 (one for "two-element array", and one for the 0 integer key), followed by the serialization of type Foo. In version 3.1.4, [Union(0, typeof(Foo))] is instead encoded as six bytes 0x92 0xD2 0x00 0x00 0x00 0x00 (one for "two-element array", one for "32-bit integer", and the four bytes of the 0 integer key). Although the two representations are compatible, for code bases that use many small polymorphic objects, the migration from 2.x to 3.x would lead to a significant increase in the size of the serialized data. This behavior is caused by the generated code for the interface using `WriteInt32` (which always encodes the integer as five bytes), and is fixed by instead using `Write` (which uses the smallest possible number of bytes for its argument).
Configuration menu - View commit details
-
Copy full SHA for 65e5b0f - Browse repository at this point
Copy the full SHA 65e5b0fView commit details
Commits on Aug 18, 2025
-
This PR fixes a memory leak in Json Serializer and other small disposable issues
Configuration menu - View commit details
-
Copy full SHA for f82f9eb - Browse repository at this point
Copy the full SHA f82f9ebView commit details
Commits on Aug 21, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 5039498 - Browse repository at this point
Copy the full SHA 5039498View commit details
Commits on Aug 22, 2025
-
Merge pull request #2225 from T0PP1ng/fix-datetimeoffset-formatter
Fix Incorrect DateTimeOffset Serializer
Configuration menu - View commit details
-
Copy full SHA for 327711d - Browse repository at this point
Copy the full SHA 327711dView commit details -
Merge pull request #2224 from Bykiev/DisposableFixes
Fix various disposable issues
Configuration menu - View commit details
-
Copy full SHA for aa4debf - Browse repository at this point
Copy the full SHA aa4debfView commit details
Commits on Aug 31, 2025
-
Merge pull request #2226 from khuongntrd/fix/recursive-generic-source…
…-generation fix: prevent StackOverflow in Equals with recursive generic constraints
Configuration menu - View commit details
-
Copy full SHA for 39e4a79 - Browse repository at this point
Copy the full SHA 39e4a79View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.1.4...master