# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased ## [0.13.0] - 2021-01-29 ### Added - Support for parsing a list of schemas which may have cross dependencies (#173) ### Changed - Allow Value::Bytes to be assigned to Schema::Fixed (#171) ### Fixed - Allow resolution of union schemas with logical types (#176) ## [0.12.0] - 2020-11-27 ### Added - Added support for the Rabin fingerprint (#157) ### Fixed - Strip more fields in PCF and fix panic (#164) ## [0.11.0] - 2020-08-13 ### Changed - Introduce custom Error enum to replace all existing errors (backward-incompatible) (#135) - Swapped failure for thiserror (backward-incompatible) (#135) - Update digest crate and digest::Digest trait to 0.9 (backward-incompatible with digest::Digest 0.8) (#133) - Replace some manual from_str implementations with strum (#136) - Handle logical types in canonical form schemas (#144) - Move to specific error variants for errors (#146) ### Added - Support to convert avro value to json value (#155) - Implement deserialize for Uuid (#153) ## Deprecated - Deprecate ToAvro in favor of From for Value implementations (#137) ## [0.10.0] - 2020-05-31 ### Changed - Writer::into_inner() now calls flush() and returns a Result (backward-incompatible) ### Added - Add utility for schema compatibility check ## [0.9.1] - 2020-05-02 ### Changed - Port benchmarks to criterion ### Fixed - Fix bug in the reader buffer length ## [0.9.0] - 2020-04-24 ### Added - Add support for logical types - Make writer block size configurable via builder pattern ## [0.8.0] - 2020-04-15 ### Added - Partial rust enum serialization/deserialization support ## [0.7.0] - 2020-02-16 ### Added - Export de::Error and ser::Error as DeError and SerError ### Fixed - Fix union resolution of default values ## [0.6.6] - 2019-12-22 ### Fixed - Negative block lengths are not handled ## [0.6.5] - 2019-03-09 ### Fixed - Allow Array(Int) to be converted to Bytes - Fix enum type deserialization bug ## [0.6.4] - 2018-12-24 ### Fixed - Variable-length encoding for big i64 numbers ## [0.6.3]- 2018-12-19 ### Added - Schema fingerprint (md5, sha256) generation ## [0.6.2]- 2018-12-04 ### Fixed - Snappy codec ## [0.6.1]- 2018-10-07 ### Fixed - Encoding of i32/i64 ## [0.6.0]- 2018-08-11 ### Added - impl Send+Sync for Schema (backwards-incompatible) ## [0.5.0] - 2018-08-06 ### Added - A maximum allocation size when decoding - Support for Parsing Canonical Form - `to_value` to serialize anything that implements Serialize into a Value - Full support for union types (non-backwards compatible) ### Fixed - Encoding of empty containers (array/map) ## [0.4.1] - 2018-06-17 ### Changed - Implemented clippy suggestions ## [0.4.0] - 2018-06-17 ### Changed - Many performance improvements to both encoding and decoding ### Added - New public method extend_from_slice for Writer - serde_json benchmark for comparison - bench_from_file function and a file from the goavro repository for comparison ## [0.3.2] - 2018-06-07 ### Added - Some missing serialization fields for Schema::Record ## [0.3.1] - 2018-06-02 ### Fixed - Encode/decode Union values with a leading zig-zag long ## [0.3.0] - 2018-05-29 ### Changed - Move from string as errors to custom fail types ### Fixed - Avoid reading the first item over and over in Reader ## [0.2.0] - 2018-05-22 ### Added - `from_avro_datum` to decode Avro-encoded bytes into a `Value` - Documentation for `from_value` ## [0.1.1] - 2018-05-16 - Initial release