- Implement automatic intermediate object for immutable entities in linker
- Implement "ignore case" option for name-based schemas
- Support option in NameLookup
- Implement support for proto-based Protobuf schema
- Restore consistent behavior for encoding/decoding objects as JSON "null"
- Allow non-int key types on ILookup from descriptors
- Introduce TKey generic on reader definitions
- Implement mixed look-up to avoid string allocations when reading array indices as keys
- Switch to type-safe descriptor API
- Remove parameterless
HasValue
method from descriptors - Require setter argument to
IDecoderDescriptor.HasValue
- Require getter argument to
IEncoderDescriptor.HasValue
- Remove parameterless
- Remove Protobuf dependency from RawProtobufSchema
- Read Protobuf without need for ProtoReader class nor related types
- Write Protobuf without need for ProtoWriter class nor related types
- Upgrade public API to multi-entity
- IDecoderStream & IEncoderStream should be IDisposable and flush at dispose
- Rename IDecoder.TryOpen to IDecoder.Open
- Rename IEncoder.TryOpen to IEncoder.Open
- Rename IDecoderStream.Decode to IDecoderStream.TryDecode
- Return void from IEncoderStream.Encode
- Allow JSON writer customization
- Add JSON option "omit null values in object fields"
- Avoid using inheritance for PatternReader nodes
- Remove duplicated code from Linker
- Change .IsArray method, see comment in RecurseDecoderDescriptor
- Factorize "Ignore" methods in all leaf IReader implementations