refined v0.5 Release Notes

Release Date: 2020-07-11 // almost 4 years ago
  • โž• Added

    • sized Predicate instances for Text
    • โœ… sized Predicate instances for strict and lazy ByteString
    • INLINABLE pragmas on refine_ reifyPredicate
    • NFData instance for Refined
    • RefineSomeException constructor. Enables recovering specific validation exceptions. Thanks to @haroldcarr for adding this.
    • RefineXorException constructor.
    • Empty and NotEmpty predicates.
    • NaN and Infinite predicates for floating-point numbers.
    • @since pragmas to EVERYTHING.

    ๐Ÿ”„ Changed

    • lower bound on mtl to 2.2.2 due to use of liftEither. Thanks to @k0ral for reporting this
    • Generalize sized predicates
    • ๐Ÿ‘ Allow newer template-haskell (< 0.16 ==> < 0.17)
    • ๐Ÿ‘ Allow newer aeson (< 1.5 ==> < 1.6) Thanks to @locallycompact for this change.

    โœ‚ Removed

    • Refined.Internal module Thanks to @nikita-volkov for pushing me to do this.
    • Orphan modules Thanks to @symbiont-sam-halliday for pointing out the silliness of these modules.
    • RefineT. It was a needless abstraction that just made the library harder to learn and use, providing little benefit over Maybe RefineException. Thanks to @nikita-volkov for helping me see the light.

    ๐Ÿ—„ Deprecated

    • Refined.These module in favour of Data.These from these-skinny