# CHANGELOG

## [0.4.0] - yyyy-mm-dd
## [0.3.0] - 2021-05-03
### Added
 * AnnotationIter for reading data from objects with writeObject methods.
 This gives a similar interface to ObjectInputStream.
 * FromJava derive macro to automatically derive FromValue for structs
 representing classes that have no custom writeObject method. This is behind
 a feature flag ('derive').
 * Add attributes to allow custom writeObject data to be read from values using
 AnnotationIter.
### Removed
 * FromPrimitive - It caused problems with blanket implementations for common
 structs (eg Box<T>). As this was private/internal it should not be a breaking
 change.
### Breaking Changes
 * Value::get_annotations now returns an AnnotationIter instead of a
 Vec<Content>. This lets binary data and objects be read directly from
 the stream.
 * Rename FromValue to FromJava. This matches the derive macro name and hopefully
 reduces confusion around deriving one thing to implement another.
## [0.2.0] - 2021-03-15
### Added
 * Enabled reading of classes with custom writeObject methods
 * Add FromValue trait for conversion to Rust structs
### Other changes
 * Remove Cargo.lock file - I think this is ignored for libraries anyway
### Breaking changes
 * PrimitiveType::Char now holds a `char` instead of `[u8; 2]`
## [0.1.1] - 2021-02-20
### Removed
 * Binary/executable - it was included in initial release by mistake and
   gave an error when run.

## [0.1.0] - 2021-02-12
Initial Release
