jaded 0.4.0

Java deserialization for Rust
Documentation
# CHANGELOG

## [0.4.0] - 2023-01-29
### Added
 * Add support for deriving `FromJava` implementations for more types. It is
 now possible to use unit structs and structs with unnamed fields. Enums can
 now be used to deserialize multiple different Java types into a single Rust
 type. This is intended to be used to support Java polymorphism.
 * Add `from` attribute to derive macro. This allows a type `T` to implement
 `FromJava` by deserializing to type `S` and then converting tp `T` where
 `T` implements `From<S>`.
### Removed
 * The `anno` field attribute when deriving `FromJava` has now been merged with
 the `extract` attribute.
### Breaking Changes
 * As above, the `extract` attribute for fields when deriving `FromJava` now
 takes a path and an optional annotation number (eg
 `extract(path::to::function, 2)` instead of there being a separate `anno`
 attribute for the annotation number.
### Deprecated
 * `renaming` feature. This was originally behind a feature as it introduced an
 additional dependency. The functionality it offered is now included in the
 main jaded-derive crate so this feature is no longer required.
 Warnings are emitted if the feature is enabled while using a nightly version
 of rust.
## [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