cassette-0.2.0: CHANGELOG.md
# Changelog
## [0.2] - 2025-06-20
### Added
- `sscanf` and `sprintf`.
- `unitL`, the unique lead for the unit type.
- `NullL` type synonym for leads and other synonyms for higher arity.
- Support for lifting isos and prisms from [lens][lens] to leads.
- Examples to documentation.
- Flakification.
- Direnv support.
### Changed
- Types accumulate in the correct order when composing cassettes.
- `K7` has two type parameters, down from four. The parser and printer
types are kept in sync.
- `K7` generalized to arbitrary profunctors.
- Make `K7` an instance of `Data.Monoid`. `mempty` signifies failure
and `(<>)` is for alternation, instead of `(<|>)`.
- Swapped the order of the fields in `K7`.
- `many1` is now called `some` to be consistent with
`Control.Applicative`.
- Change parameter order in `UnL`, `BinL` to match the order in
[lens][lens].
- Switched to Apache-2.0 license.
### Fixed
- `choice` works when applied to the empty list.
- `nilL`, `nothingL` now correctly fail when the input is not the
expected constructor.
- Argument to failure continuation in `consL`.
### Removed
- Chaining combinators `catanal`, `catanar` and `chainl`, `chainr`.
## [0.1] - 2012-03-19
Initial release.
[lens]: https://hackage.haskell.org/package/lens
[0.1]: https://github.com/mboes/cassette/releases/tag/v0.1
[0.2]: https://github.com/mboes/cassette/releases/tag/v0.2