asynkron / Wire

Binary serializer for POCO objects
Apache License 2.0
376 stars 63 forks source link

Wire 0.8.2 is not compatible with 0.8.1 #134

Closed Danthar closed 7 years ago

Danthar commented 7 years ago

It fails when deserialising datetime or datetimeoffset types

Not sure if this is a bug, or an intentional change.

rogeralsing commented 7 years ago

Are you certain that the version used to generate the previous payload was 0.8.1? there was an introduction of serializing the DateTime.Kind and DateTimeOffset.Kind properties in a much earlier version. [edit] That change was introduced in 0.7.0 Which would be my first bet. as the payload for those types increased with one byte.

Ore those part of a bigger message? Anything with exotic collections?

Important to know here is that version tolerance is not yet implemented.

rogeralsing commented 7 years ago

Related to #33

Danthar commented 7 years ago

Its part of a much bigger message. The message does has one collection. But thats a standard .net list. I realize there is no hard backwards compat guarentee anywhere. But i guess that it stemmed from the fact that its not mentioned anywhere. Combined with the fact that some previous releases had been (afaik) (seemingly) backwards compatible.

Some small release notes when you publish a new version here in the github repo would help in creating awareness. Or it could just be me ;)

But im sure it was serialized with 0.8.1 . After i downgraded the deserializing side to 0.8.1 it started working.

I since moved both sides to 0.8.2.

rogeralsing commented 7 years ago

There are no changes in schema or functionality between 0.8.1 and 0.8.2, it's a patch for the hash set serialization performance.

If you are able to replicate it, please let me know. Because if there is schema breakage between the two versions, that's likely a bug.

The versioning strategies of Wire are described here: https://github.com/rogeralsing/Wire#version-tolerance

Nr 3) there should be expanded on as this is the part that is not implemented.

Danthar commented 7 years ago

Ill check about reproducing it. Ill get back to you on that next monday

Danthar commented 7 years ago

I cant seem to reproduce it. So it seems there are some other issues involved that i've missed. Im suspecting some internal-project old-build shenanigans that i probably solved with a hard rebuild all.

Closing this issue