Changelog for 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:
0.1.0.0