GODRIVER-2796
GODRIVER-2796
Summary
Background & Motivation
API Change Report
##! second, different message for obj type ./bson.DecodeContext struct{./bson.Registry; Truncate bool; Ancestor reflect.Type; defaultDocumentType reflect.Type; binaryAsSlice bool; useJSONStructTags bool; useLocalTimeZone bool; zeroMaps bool; zeroStructs bool}, isNew false, part "" first: old is comparable, new is not second: removed ##! second, different message for obj type ./bson.EncodeContext struct{./bson.Registry; MinSize bool; errorOnInlineDuplicates bool; stringifyMapKeysWithFmt bool; nilMapAsEmpty bool; nilSliceAsEmpty bool; nilByteSliceAsEmpty bool; omitZeroStruct bool; useJSONStructTags bool}, isNew false, part "" first: changed from struct{*Registry; MinSize bool; errorOnInlineDuplicates bool; stringifyMapKeysWithFmt bool; nilMapAsEmpty bool; nilSliceAsEmpty bool; nilByteSliceAsEmpty bool; omitZeroStruct bool; useJSONStructTags bool} to interface{LookupEncoder(reflect.Type) (ValueEncoder, error)} second: removed
./bson
incompatible changes
(*DecodeContext).BinaryAsSlice: removed (*DecodeContext).DefaultDocumentD: removed (*DecodeContext).DefaultDocumentM: removed (*DecodeContext).UseJSONStructTags: removed (*DecodeContext).UseLocalTimeZone: removed (*DecodeContext).ZeroMaps: removed (*DecodeContext).ZeroStructs: removed (*Decoder).AllowTruncatingDoubles: removed (*Decoder).BinaryAsSlice: removed (*Decoder).DefaultDocumentD: removed (*Decoder).DefaultDocumentM: removed (*Decoder).Reset: removed (*Decoder).SetRegistry: removed (*Decoder).UseJSONStructTags: removed (*Decoder).UseLocalTimeZone: removed (*Decoder).ZeroMaps: removed (*Decoder).ZeroStructs: removed (*Encoder).ErrorOnInlineDuplicates: removed (*Encoder).IntMinSize: removed (*Encoder).NilByteSliceAsEmpty: removed (*Encoder).NilMapAsEmpty: removed (*Encoder).NilSliceAsEmpty: removed (*Encoder).OmitZeroStruct: removed (*Encoder).Reset: removed (*Encoder).SetRegistry: removed (*Encoder).StringifyMapKeysWithFmt: removed (*Encoder).UseJSONStructTags: removed (*Registry).LookupDecoder, method set of DecodeContext: removed (*Registry).LookupEncoder, method set of DecodeContext: removed (*Registry).LookupTypeMapEntry, method set of DecodeContext: removed (*Registry).RegisterInterfaceDecoder, method set of *DecodeContext: removed (*Registry).RegisterInterfaceDecoder, method set of DecodeContext: removed (*Registry).RegisterInterfaceDecoder: removed (*Registry).RegisterInterfaceEncoder, method set of *DecodeContext: removed (*Registry).RegisterInterfaceEncoder, method set of DecodeContext: removed (*Registry).RegisterInterfaceEncoder: removed (*Registry).RegisterKindDecoder, method set of *DecodeContext: removed (*Registry).RegisterKindDecoder, method set of DecodeContext: removed (*Registry).RegisterKindDecoder: removed (*Registry).RegisterKindEncoder, method set of *DecodeContext: removed (*Registry).RegisterKindEncoder, method set of DecodeContext: removed (*Registry).RegisterKindEncoder: removed (*Registry).RegisterTypeDecoder, method set of *DecodeContext: removed (*Registry).RegisterTypeDecoder, method set of DecodeContext: removed (*Registry).RegisterTypeDecoder: removed (*Registry).RegisterTypeEncoder, method set of *DecodeContext: removed (*Registry).RegisterTypeEncoder, method set of DecodeContext: removed (*Registry).RegisterTypeEncoder: removed (*Registry).RegisterTypeMapEntry, method set of *DecodeContext: removed (*Registry).RegisterTypeMapEntry, method set of DecodeContext: removed (*Registry).RegisterTypeMapEntry: removed (*RegistryBuilder).RegisterCodec: removed (*RegistryBuilder).RegisterDecoder: removed (*RegistryBuilder).RegisterDefaultDecoder: removed (*RegistryBuilder).RegisterDefaultEncoder: removed (*RegistryBuilder).RegisterEncoder: removed (*RegistryBuilder).RegisterHookDecoder: removed (*RegistryBuilder).RegisterHookEncoder: removed (*RegistryBuilder).RegisterTypeDecoder: changed from func(reflect.Type, ValueDecoder) *RegistryBuilder to func(reflect.Type, DecoderFactory) *RegistryBuilder (*RegistryBuilder).RegisterTypeEncoder: changed from func(reflect.Type, ValueEncoder) *RegistryBuilder to func(reflect.Type, EncoderFactory) *RegistryBuilder ArrayCodec: removed ByteSliceCodec: removed DecodeContext.Ancestor: removed DecodeContext.Registry: removed DecodeContext.Truncate: removed DecodeContext: removed DefaultRegistry: removed DefaultStructTagParser: removed DefaultValueDecoders: removed DefaultValueEncoders: removed EmptyInterfaceCodec: removed EncodeContext: removed ErrNilType: removed ErrNotInterface: removed ErrNotPointer: removed JSONFallbackStructTagParser: removed MapCodec: removed NewArrayCodec: removed NewByteSliceCodec: removed NewEmptyInterfaceCodec: removed NewMapCodec: removed NewPointerCodec: removed NewRegistry: removed NewSliceCodec: removed NewStringCodec: removed NewStructCodec: removed NewTimeCodec: removed NewUIntCodec: removed PointerCodec: removed PrimitiveCodecs: removed RegistryBuilder: old is comparable, new is not SliceCodec: removed StringCodec: removed StructCodec: removed StructTagParser: removed StructTagParserFunc: removed StructTags: removed TimeCodec: removed UIntCodec: removed UnmarshalExtJSONWithContext: changed from func(DecodeContext, []byte, bool, interface{}) error to func(*Registry, []byte, bool, interface{}) error UnmarshalWithContext: removed ValueCodec: removed ValueDecoder.DecodeValue: changed from func(DecodeContext, ValueReader, reflect.Value) error to func(DecoderRegistry, ValueReader, reflect.Value) error ValueDecoderFunc.DecodeValue: changed from func(DecodeContext, ValueReader, reflect.Value) error to func(DecoderRegistry, ValueReader, reflect.Value) error ValueDecoderFunc: changed from func(DecodeContext, ValueReader, reflect.Value) error to func(DecoderRegistry, ValueReader, reflect.Value) error
compatible changes
(*Decoder).SetBehavior: added (*Encoder).SetBehavior: added (*Registry).SetCodecOption: added (*RegistryBuilder).RegisterInterfaceDecoder: added (*RegistryBuilder).RegisterInterfaceEncoder: added (*RegistryBuilder).RegisterKindDecoder: added (*RegistryBuilder).RegisterKindEncoder: added AllowTruncatingDoubles: added BinaryAsSlice: added ConfigurableDecoderRegistry: added ConfigurableEncoderRegistry: added DecoderFactory: added DecoderRegistry: added DefaultDocumentD: added DefaultDocumentM: added EncoderFactory: added EncoderRegistry: added ErrSetZero: added ErrorOnInlineDuplicates: added Getter: added GetterEncodeValue: added IntMinSize: added NewDecoderWithRegistry: added NewEncoderWithRegistry: added NewMgoRegistry: added NewRegistryOpt: added NewRespectNilValuesMgoRegistry: added NilByteSliceAsEmpty: added NilMapAsEmpty: added NilSliceAsEmpty: added ObjectIDAsHex: added OmitZeroStruct: added RegistryOpt: added Setter: added SetterDecodeValue: added StringifyMapKeysWithFmt: added UseJSONStructTags: added UseLocalTimeZone: added ZeroMaps: added ZeroStructs: added
./bson/bsonoptions
incompatible changes
package removed
./bson/mgocompat
incompatible changes
ErrSetZero: removed Getter: removed GetterEncodeValue: removed NewRegistryBuilder: removed NewRespectNilValuesRegistryBuilder: removed Setter: removed SetterDecodeValue: removed