# Changelog
## [Unreleased]
## [v0.3.0] -- 2019-12-03
* Removed the `map_ref` and `map_mut` functions because they were
essentially useless.
* Renamed `map` to `siphon` to better reflect how it consumes the
value.
* Added a new function `transform` in place of `map_mut`, which
is actually useful because it allows chained updates.
* Added a new attribute `#[shrinkwrap(transformers)]`; `siphon`
and `transform` are not derived by default, and must be enabled
using this flag.
## [v0.2.3] -- 2019-11-18
* Improved error messages on visibility errors
* Attached error messages to correct source code spans instead of
the derive attribute
* Fixed visibility checks around `pub(self)` and `pub(in self)` to
be equivalent to private visibility
## [v0.2.2] -- 2019-11-17
* Updated dependencies to latest major versions
## [v0.2.1] -- 2019-01-24
* Added the ability to generate `#[nostd]`-compatible code through
feature flags -- thanks @dazabani!
* The default is still to emit code that uses `std`.
* Use the feature flag `std` to emit `std`-compatible code, or omit
it to emit code that uses `core`.
## [v0.2.0] -- 2018-02-10
* Added visibility checking on mutable derives to help prevent deriving
mutable traits when inner field is less mutable than surrounding struct
* Added `#[shrinkwrap(unsafe_ignore_visibility)]` flag to override this
behavior when desired.
* Removed `#[derive(ShrinkwrapMut)]` proc macro; replaced with
`#[shrinkwrap(mutable)]` attribute.
## [v0.1.1] -- 2018-02-07
* Added a changelog
* Implemented mapping methods `map()`, `map_ref()`, `map_mut()` for
mapping functions over wrapped values (useful for function call chaining)
* Added support for structs with lifetimes and generic parameters
## [v0.1.0] -- 2018-02-06
* Split out derivation of mutable traits (`DerefMut`, `BorrowMut`, `AsMut`) into
separate derive trait `ShrinkwrapMut`
## [v0.0.2] -- 2018-02-04
* Fixed typoes in documentation -- no functionality changes
## [v0.0.1] -- 2018-02-04
* Initial release -- implemented `#[derive(Shrinkwrap)]` to auto-derive
`Deref`, `DerefMut`, `Borrow`, `BorrowMut`, `AsRef`, and `AsMut`.