## 0.0.20220526 This release adds some extra functions for running different monad stacks, prompted by Joe Vargas. * Add `generalizeHtmlT`, `commuteHtmlT` and `hoistHtmlT`. * Deprecate the accidentally exported `relaxHtmlT = undefined`. ## 0.0.20220509 * Use explicit imports for mtl, avoiding mtl-2.3 incompatibility. ## New in lucid2 lucid2 is a new package published to Hackage and maintained under `lucid2/` in this repository alongside `lucid1`. Releases are made under the [Immutable Publishing Policy](https://chrisdone.com/posts/ipp/), and users had asked for many breaking changes, therefore we needed a completely new namespace to work under, hence, "lucid2". Many things have also been dropped in the process, to simplify the codebase. This upgrade is **entirely optional**. People using `lucid` **will not have to do anything**. They can continue using that package indefinitely, it will be maintained alongside `lucid2`, to keep it building with GHCs and things. You can even use both packages in the same codebase with `-XPackageImports`. Changed: * All `on*` attributes and `style_` do not escape their values anymore. Be careful. Though you were probably being careful with these anyway, as they are inherently dangerous for XXS. * The `Attribute` type has been replaced by `Attributes`, which is a `Monoid` instance. This makes it really easy to write code like `if X then class_ "foo" else mempty`. * The `class_` and `style_` attributes combine with a space and `;` between them when there are duplicates, e.g. `[class_ "x",class_ "y"]` produces `class="x y"`. These are special cases, the rest of the attributes do not have special combining behavior and will be simple concatenation. Renamed: * makeAttribute is renamed to makeAttributes. * Added makeAttributesRaw. Dropped: * Eq/Ord/Show instances for Attribute. * Drop the `Lucid.Bootstrap` module entirely. * Dropped the mmorph dependency (breaking changes often, not reliable), instead we provide a simple `hoist` function of the right type. * Drop MonadError. * Drop MonadWriter. * Drop hashable. * Drop XML elements. Dependencies: * We now only depend on blaze-builder, and the rest are libraries that come with GHC, which are held to a slightly higher standard of not breaking changes.