Surprising transformations on ISO-8601 values unique to .NET SDK?

You’re so right. I was getting myself a bit confused.

Also that “flags” field is probably essential for anyone working with couchbase documents to understand. I will see if I can write some demo code that explains the difference in the resulting Server document metadata, and how it looks to the user.

I also think that it’s going to be insane for me or any other developer to do STRING based JSON DateTime comparison operations, or to do round-trip document “non-change” logic. That’s just fighting the grain of the system too much.

Just to make sure that the unit-tests for the Couchbase .NET SDK have a few sanity test cases for dates, I wrote a few, and I have posted the changes on my own github:

I’m not suggesting you pull my change but it’s okay if you did as long as you drop a few stupid extraneous hunks from it, I just wanted to write an example of the kind of date invariance checking I wanted to see myself.

I also think if anything changes in the JSON.NET Serializer or Deserializer that caused a breaking change in code, we’d want to know about it, and have it wrapped up under test, in these unit tests.

Thanks so much for looking into this. Things are clear to me now.

W