Changelog of @hackage/typed-encoding 0.2.2.0

Changelog for typed-encoding

Anticipated future breaking changes

  • ByteString / Text conversion functions in Data.TypedEncoding.Instances.Restriction.ASCII, Data.TypedEncoding.Instances.Restriction.ASCII and Data.TypedEncoding.Instances.Enc.Base64 are now deprecated and will be removed.
  • EncodeFAll, DecodeFAll, RecreateFAll, EncodeF, etc do not work well with more open encoding annotation such as "r-ban:soething" they will be either changed or deprecated / replaced with constructions similar to Encoder in Data.TypedEncoding.Internal.Class.Encoder.
  • Data.TypedEncoding.Internal.Class.IsStringR expected to be be changed / replaced
  • functions used to create encoding instances or encoding combinators (e.g. implEncodeP) will get more constraints.
  • (never ending) rework of internal module stucture to make it easier to navigate
  • Instance and Combinator modules will be merged.
  • Displ String instance (used in examples, will be made consistent with Text and ByteString)
  • (post 0.3) "enc-B64" will be moved to a different package (more distant goal)

0.2.2

  • Next version (0.3) will have number of breaking changes, some rethinking and a lot of cleanup, this version preps for some of that (see section above)
  • Fixes
    • Conversions type safety issues
    • new and corrected approach to conversions (all old conversion functions have been deprecated)
    • corrected documentation in Data.TypedEncoding.Combinators.Restriction.BoundedAlphaNums
  • new functionality:
    • Enc versions for pack/ unpack for Text and ByteString.
    • Enc versions of decodeUtf8 / encodeUtf8
    • new and corrected approach to conversions (all old conversion functions have been deprecated)
    • IsSuperset type family with basic combinators deprecates Superset typeclass.
    • more modules exported from Data.TypedEncoding.Instances.Support for instance and combinator creation
    • more utility type families Data.TypedEncoding.Internal.Util.TypeLits
    • more utility combinators for creating encoding instances and combinators.
    • String instance added in number of places, including for "r-ASCII" encoding
    • few more support convenience functions.
  • deprecation warnings (see above)

0.2.1.0

  • new functionality:
    • bounded alpha-numeric restriction encodings (r-ban)
    • boolean algebra of encodings
  • minor improvements
    • dropped IsString constraint from instances in Data.TypedEncoding.Instances.Restriction.Common
    • added forall annotation to encodeAll and decodeAll

0.2.0.0

  • breaking:
    • Data.TypedEncoding.Instances modules reorganized
    • Data.TypedEncoding.Internal.Class modules reorganized
    • Data.TypedEncoding.Internal.Utils module renamed
    • Several TypeAnnotations friendly changes:
      • Removed polymorphic kinds in most places
      • Changed typeclass name from Subset to Superset
      • flipped type parameters on FlattenAs, HasA typeclass functions
      • Removed Proxy parameters from several methods (few methods have a '_' backward compatible version which still has them)
  • new functionality:
    • ToEncString - class allowing to convert types to Enc encoded strings
    • FromEncString - class reverses ToEncString
    • CheckedEnc untyped version of Enc containing valid encoding
    • SomeEnc existentially quantified version of Enc
    • UncheckedEnc for working with not validated encoding
    • RecreateExUnkStep constructor added to RecreateEx
    • utility IsStringR - reverse to IsString class
    • utility SymbolList class
  • docs:
    • ToEncString example

0.1.0.0

  • initial release