API Changes:
-
DataFileReader gets some major updates:
- Can now decode 'deflate' codec files.
- Does not read the entire file into memory, for large files and streaming.
Also added
Close()to close the underlying file if applicable. - [breaking] No longer pass a DatumReader to DataFileReader, it creates it for you.
- [breaking]
Next()only returns a single error value, useHasNext()in a loop to proceed.
-
Removed Seek and Tell from Decoder, should have no real impact on most applications.
Intention: start making changes towards a 1.0 release.
API Changes:
-
The
BinaryEncodertype is now a private type.avro.NewBinaryEncoder()now returns a value of theEncoderinterface. -
Decoder changes:
- The
BinaryDecodertype is now also a private type.avro.NewBinaryDecoder()now returns a value of theDecoderinterface. - Removed
ReadFixedWithBounds, removed the use case which dictated it. - Add an implementation of BinaryDecoder which can work on an io.Reader
- The
-
Rename the
WriterandReaderinterfaces toMarshalerandUnmarshalerto be more like the JSON encoder and also use similar method names. -
Rename error types
FooBarto beErrFooBar
Improvements:
- Major improvement to docs and docs coverage
- Add a singular
NewDatumWriterwhich will become the replacement for the generic/specific types.
- First version after forking from elodina.
- Started a semver-considering API, using the gopkg.in interface, and planning for a 1.x release.
Improvements:
- Error reporting: specify which field is missing when throwing FieldDoesNotExist #5
- Speedup encoding for strings and bools #6
- Can prepare schemas which are self-recursive and co-recursive.
Bug Fixes:
- Can decode maps of non-primitive types #2
- Fix encoding of 'fixed' type #3 elodina/#78
- Fix encoding of boolean when used in a type union #4