Internally using mainly codecs (more efficient and less boilerplate in source code).
Ability to switch to different implementations, even at the same time. Transformation code is independent and thus re-usable, this allows to use several Json implementations, or even non Json encodings.
Unify Codec types, no more ConcreteCodec vs tupled codecs, just a simple 4 params Codec type.
A new and recommended Codec syntax for records and DUs trough an Applicative CE.
Internal caching of codecs.
Ability to workaround codecs for interfaces.
Minor points:
TimeSpan support
NonEmpties: List, Set and Map support
"Generic Map" support (Maps where keys are not strings).
Tasks
[x] Ensure maximum compatibility with previous releases
[x] Add deprecation warnings
[x] Add codec cache
[x] Add FSharpData
[x] Add NewtonSoft
[x] Add System.Json
[x] Update System.Text.Json in order to use a single wrapper type
[x] Re-implement lenses
[x] Replace defaultof<_>s with error messages
[x] Add tests for new features
[x] Add tests for more than one overload per implementation
This is an important re-write of the library:
Main points are:
Minor points:
Tasks