Drop legacy html2css parsing functions.
Release new Haskell Stylist & XML Conduit Stylist! XML Conduit Stylist changed to abstract away Haskell Stylist's breaking datastructure changes.
Correct pseudoclass to pseudoelement rewrites to apply to only rightmost selector. I previously got the semantics of my datastructures backwards: the head is the rightmost selector.
ISSUES: Namespaces have just been implemented.
Remove preceding whitespace from all CSS at-rules.
Lower psuedoclasses & namespaces throughout CSS selectors. Previously I just applied to them to the rightmost.
Rewrite parsed namespaces according to @namespace rules.
Evaluate attribute namespace selectors.
Parse namespace selectors.
Rewrite trivial cases of :where & :is. This is mostly for the psuedoselector rewrites performed in Data.CSS.Preprocessor.PsuedoClasses
Compute correct specificity for :is() & :not() pseudoclasses.
Implement :nth-child() & :nth-of-type(). I don't think I'll implement :nth-last-child() & :nth-last-of-type() until I'm shown their value, Haskell Stylist doesn't yet have access to the data to support them.
Implement :is, :where, & :not functional pseudoclasses. This is needed by some of the lowerings for other pseudoclasses. TODO correctly compute specificity.
Prepare to interpret functional pseudoclasses.
ISSUES: Record pseudoclass progress.
Correct legacy :before/:after syntax.
Support lowering single-arg psuedoclasses.
Implement psuedoclass rewrite rules.
ISSUES: Plan psuedoclass lowering.
ISSUES: Text properties *mostly* implemented, upstreamed from Rhapsode core.