<!-- Unreleased: append new entries here -->
0.6.0
=====
* [!1364](https://gitlab.com/morley-framework/morley/-/merge_requests/1364)
Update to LTS-21.4 (GHC 9.4.5)
0.5.3
=====
* [!1352](https://gitlab.com/morley-framework/morley/-/merge_requests/1352)
Clean-up Buildable ExecutorOp implementation
+ New convenience combinators, for `Buildable`: `quoteF` and `quoteF'`
* [!1360](https://gitlab.com/morley-framework/morley/-/merge_requests/1360)
Add generic-deriving default Buildable implementation
+ We already had `GenericBuildable` which could be used with `DerivingVia`,
this just adds an option to use `Buildable` with `DeriveAnyClass` for the
same effect, which is a bit more DRY.
* [!1351](https://gitlab.com/morley-framework/morley/-/merge_requests/1351)
Fix and improve `Buildable MichelsonFailureWithStack`
+ Slightly tweak reflowing braces (`++|`, `|++`) for smarter line breaks
+ Add a couple more useful formatters, `flatAltF` and its particularly useful
specialization, `quoteOrIndentF`
* [!1346](https://gitlab.com/morley-framework/morley/-/merge_requests/1346)
Use proper datatype for Micheline primitives, refactor some FromExp instances
+ Add `toEnumSafe`, a total version of `toEnum` for `Bounded` types
+ Add `punctuateF` formatter to `Fmt`
* [!1348](https://gitlab.com/morley-framework/morley/-/merge_requests/1348)
Make `length` polymorphic in its return value
* [!1342](https://gitlab.com/morley-framework/morley/-/merge_requests/1342)
Implement `prettyprinter`-compatible replacement for `fmt`
+ New modules, `Fmt`, `Fmt.Buildable`, `Fmt.Operators`, `Fmt.Utils` (the
latter three are reexported by the former)
+ `Fmt.Buildable` implements `fmt`-like API on top of `prettyprinter`
+ `Fmt.Operators` implements Wadler-Leijen operators missing from
`prettyprinter`. Additionally, these operators have smart `mempty` handling
+ `Fmt.Utils` has some handy type synonyms and helper functions
+ **Important**: `Buildable` operates on `Doc` instead of `Builder`; having a
synonym would be more confusing than helpful, so there isn't one; update
your code accordingly
0.5.2
=====
* [!1290](https://gitlab.com/morley-framework/morley/-/merge_requests/1290)
Add `or`, `and`, `or1`, `and1`, `not` functions for overloaded booleans
+ Add `BooleanMonoid` type class for boolean-like things that can define
`true` and `false`.
0.5.1
=====
* [!1080](https://gitlab.com/morley-framework/morley/-/merge_requests/1080)
Add more `PrettyShow` type instances
+ For lists
+ Add instances that forbid defining `PrettyShow` for `String`, `Text`, and `ByteString`
* [!1075](https://gitlab.com/morley-framework/morley/-/merge_requests/1075)
Add suitable types for oddly-sized unsigned integers
+ Add a dependency on `OddWord`.
+ Re-export `Word62`, `Word63` types representing unsigned integer word types with odd sizes in `Prelude`.
* [!1025](https://gitlab.com/morley-framework/morley/-/merge_requests/1025)
Reduce the number of unsafe functions at the call site
+ Add `unsafe`, which is primarily needed for making unsafe counter-parts of safe functions, to `Unsafe`.
+ Add `unsafeM`, which is similar to `unsafe`, but throws monadic exceptions.
* [!978](https://gitlab.com/morley-framework/morley/-/merge_requests/978)
Make it difficult to misuse 'Show'
+ `show` exported from `morley-prelude` now requires the type to be an instance of an open type family `PrettyShow` of kind `Constraint`. This is intended to discourage the use of `show` for user-facing output (use `Buildable` instead).
+ The original `show` is exported from `Debug` module, which is intended to be imported qualified.
* [!1035](https://gitlab.com/morley-framework/morley/-/merge_requests/1035)
Better type errors on invalid int casts
0.5.0
=====
* [!1001](https://gitlab.com/morley-framework/morley/-/merge_requests/1001)
Make fromIntegralNoOverflow safe(r)
+ `fromIntegralNoOverflow` now doesn't throw `ArithException` `Underflow`
+ Moved `fromIntegralNoOverflow` from `Unsafe` to `Prelude`
* [!936](https://gitlab.com/morley-framework/morley/-/merge_requests/936)
+ Hide `Universum`'s `fromIntegral` and redefine it as `intCast` in `Prelude`.
+ Re-export `intCastMaybe` as `fromIntegralMaybe` in `Prelude`.
+ Add `fromIntegralToRealFrac` to `Prelude`.
+ Add `fromIntegralOverflowing` to `Prelude`.
+ Add `fromIntegralNoOverflow` to `Unsafe`.
+ Add `Unsafe.fromIntegral` which is like `Universum`'s `fromIntegral` but raises exception on overflow/underflow.
* [!945](https://gitlab.com/morley-framework/morley/-/merge_requests/945)
+ Bump Stackage LTS version from 17.9 to 18.10.
0.4.2
=====
* [!867](https://gitlab.com/morley-framework/morley/-/merge_requests/867)
+ Hid Prelude's `&&` and `||` operators
+ Exported `Boolean` typeclass and polymorphic `&&` and `||` operators.
0.4.1
=====
* [!861](https://gitlab.com/morley-framework/morley/-/merge_requests/861)
+ Removed the re-export of some basic `microlens` operators from `universum`
in favor of the ones from `lens` with the same name.
* [!779](https://gitlab.com/morley-framework/morley/-/merge_requests/779)
+ Export `for`.
0.4.0
=====
* [!814](https://gitlab.com/morley-framework/morley/-/merge_requests/814)
+ Reverted hiding `Type` from export list.
* [!781](https://gitlab.com/morley-framework/morley/-/merge_requests/781)
+ Replaced mixins and dependency on `base` with `base-noprelude`.
* Change the license to MIT.
0.3.0
=====
* Hide `Nat` export.
0.2.0.1
=======
* Update maintainer.
0.2.0
======
* Hide `readFile` and `writeFile`.
* Add `Unsafe` module which re-exports `Universum.Unsafe`.
0.1.0.4
=====
Initial release.
Re-exports `universum`.