- use data families for elements and attributes to allow seamless extensibility
- remove := operator, make attributes newtype instances
- reduction in allocations
- cleaner and more consistent syntax
- restructure modules
- simplifications
- performance improvements
- ghc 9 compatibility
- visual fixes
- benchmark cleanup
- added example
- major overhaul
- encode more info at the type level
- use constructors of Element and Attribute directly
- reduce amount of value level functions
- make error messages nicer
- allow custom attributes
- improve compile times and run times for big pages
- add compactHTML
- add aria rules and attributes
- remove all checks for Raw data
- reduction of reduction depth
- add fixity for >
- remove ghc8.0.2 compatibility for perf reasons
- remove CPP
- error early on functions as children
- reduce allocations
- add compilation benchmarks
- small bug fixes
- reduce allocations for smaller pages
- fix the 'input' element
- ghc 8.4 compatibility
- better allocation strategy
- allow more lists
- internal cleanup
- make constraints more concise
- add Either
- add Maybe
- internal refactor
- cleaner api of the Convert class
- remove argument from boolean attributes
- factor out CPP
- add support for ghc 802
- simplify types
- set up ci
- export Document
- use double conversion
- perf increase
- more compile time optimizations
- more test cases
- more Convert instances
- perf increase
- better compile times
- type attributes
- don't allow invalid attributes
- perf increase
- better compile times
- don't remove omittable tags
- simplify internals
- new api: attributes are now monoids
- builder based: higher perf
- Overhaul of api
- Monomorphic render functions
- Remove inefficient builders
- Predifined attributes
- Single polymorphic implementation for all renderers
- Escape strings
- Full implementation
- First draft