Changelog History
Page 1
-
v0.5.0 Changes
๐ Changes on a high level
- โฌ๏ธ Most of the changes should not create a big impact on upgrading. Many definitions were moved to a different module but these modules are and had been re-exported by either
Data.TypedEncoding
or ๐Data.TypedEncoding.Instances.Support
- ๐ Some functionality has been moved to Examples or removed, notably:
- "do-" encodings
SomeEnc
,SomeAnnotation
HasA
typeclass
- ๐ Some functions have been renamed or type signatures adjusted to follow consistent naming conventions. In most cases the changes have been made on previously deprecated definitions.
Details
- ๐ Data.TypedEncoding.Instances.Do.Sample moved to Examples
- Examples.TypedEncoding folder re-org
- ๐
Data.TypedEncoding.Instances.Support.Helpers
removedfoldEncStr
,foldCheckedEncStr
renamedsplitSomePayload
tosplitCheckedPayload
- ๐
HasA
typeclass moved to Examples - โ removed experimental
Data.TypedEncoding.Instances.Restriction.Bool
in favor of combinator helpersData.TypedEncoding.Instances.Support.Bool
- ๐
Data.TypedEncoding.Common.Types.SomeEnc
moved to Examples - ๐
Data.TypedEncoding.Common.Types.SomeAnnotation
moved to Examples - camel-case of some property names
- ๐ Text instances for "Base64" moved to
Data.TypedEncoding.Instances.Enc.Warn.Base64
- โ Removed instanced for
"r-()"
encoding - ๐ Functions from
Data.TypedEncoding.Instances.Support.Common
moved toData.TypedEncoding.Instances.Support.Decode
- ๐ Signature changed in previously deprecated function
runDecoding
to matchmn ~ alg
convention and deprecation removed - ๐ Signature changed in previously deprecated function
runDecodings
to matchmns ~ algs
convention and deprecation removed - ๐ Signature changed in previously deprecated function
runValidation
to matchmns ~ algs
convention and deprecation removed runValidationChecks
renamed torunValidationChecks'
to match /typed-encoding/ naming conventions.- โ removed deprecated
propEncodesInto'
- ๐ moved
Append
type family from fromData.TypedEncoding.Common.Class.Util
toData.TypedEncoding.Common.Util.TypeLits
Data.TypedEncoding.Common.Class.Util
renamed toData.TypedEncoding.Common.Class.Common
- ๐ function
extractEither
removed fromData.TypedEncoding.Internal.Util
- ๐ function
withSomeSymbol
moved toData.TypedEncoding.Common.Util.TypeLits
๐ function
proxyCons
moved toData.TypedEncoding.Common.Util.TypeLits
More general instances for some encodings in
Data.TypedEncoding.Instances.Restriction.Misc
๐
mkDecoding
deprecated in favor of_mkDecoding
to follow the naming convention๐
mkValidation
deprecated in favor of_mkValidation
to follow the naming conventionvalidR'
function renamed to_validR
- โฌ๏ธ Most of the changes should not create a big impact on upgrading. Many definitions were moved to a different module but these modules are and had been re-exported by either
-
v0.4.2 Changes
- ๐
Data.TypedEncoding.Instances.Support.Bool
combinators ("r-bool" remains experimental) - Correction in
r-ban
error message typo ("'G' not bounded by 'F'") _implEncFromString
creates "r-" encoding fromFromEncString
definition- ๐ property changes:
propEncodesIntoCheck
added;propSuperset'
,propEncodesInto'
deprecated
- ๐
-
v0.4.2.0
June 03, 2020 -
v0.4.1 Changes
Code Changes. Backward compatible
- changed order in
IsSuperset
definition to speed up compilation of of more common cases (there is a small chance that it impacts GHC error messages) - Faster "r-UTF8", possible issue is changed error message in case ByteString is invalid.
- Deprecated 'validFromEnc' for its confusing name
- Deprecated
runDecodings
in favor of consistently namedrunDecodings'
- Deprecated
runDecoding
in favor of consistently namedrunDecoding'
- Deprecated
runValidation
in favor of consistently namedrunValidation'
- changed order in
๐ Documentation / code comment fixes and improvements.
๐ New functionality
validRFromEnc'
replacing 'validFromEnc' confusing namepropCompEncoding
propertypropSupersetCheck
propertypropSafeDecoding'
propertiespropSafeValidatedDecoding
propertiesIsEnc
type family andEncoding
constraintgetUncheckedPayload
functionpack
andunpack
overloads inData.TypedEncoding.Conv.ByteString.Char8
๐ Fixes
- corrected
propEncodesInto'
property test specification
- corrected
-
v0.4.1.0
May 31, 2020 -
v0.4 Changes
๐ฅ Breaking
- IsSupersetOpen type family type arguments have changed
Potentially Breaking
(These changes should be backward compatible in almost all cases):- Stronger (more precise) constraints on all functions
Data.TypedEncoding.Conv
- Compilation errors emitted from
IsSuperset
are different - "r-ban" now only allows ASCII chars in annotation name, errors-out otherwise
- Stronger (more precise) constraints on all functions
๐ New
"r-CHAR8"
phantom restriction andSuperset
modified for "r-CHAR8""r-UNICODE.D76"
/text/ character set restriction andSuperset
modificationsSuperset
constraint added back (different than in 0.2)- properties for
Superset
testing "r-ByteRep"
annotation used as a marker of low level use ofChar
instead ofWord8
forByteString
work.
๐ Improved:
Data.TypedEncoding.Conv
Text
,String
andByteString
conversions are now more type safe and less error prone. Conversion functions are reversible, A to B to C diagrams commute.
๐ Fixes:
Data.TypedEncoding.Instances.Restriction.BoundedAlphaNums
"r-ban"
now verifiesSuperset "r-ASCII"
-
v0.4.0.0 Changes
May 26, 20202020-05-26
-
v0.3 Changes
๐ฅ Breaking: Numerous changes on the implementation side, new version should be largely compatible on the call site except for small differences in constraints and order for type variables (if
-XTypeApplications
is used). See v3 migration guide.EncodeFAll
,DecodeFAll
,RecreateFAll
,EncodeF
,DecodeF
,RecreateF
replaced withEncodeAll
,DecodeAll
,ValidateAll
,Encode
,Decode
,Validate
.- functions used to create encoding instances or encoding combinators (e.g.
implEncodeP
) are now more precisely typed Displ String
instance (used in examples, has been made consistent with Text and ByteString)- Modules under
Data.TypedEncoding.Combinators
merged intoData.TypedEncoding.Instances
. - Modules under
Data.TypedEncoding.Internal
have been reorganized and moved outside ofInternal
. Various changes that make the library easier to navigate. for better navigation and discovery. - some previously exported combinators (e.g.
implTranF
) have moved toData.TypedEncoding.Instances.Support.Unsafe
ToEncString
,FromEncString
have more type variables and function name but backward compatible functions have been provided.Superset
typeclass removed, replaced withIsSuperset
type family.- Minor changes in
forall
variable order in combinators for"r-bool:"
encodings. Encoder
type removed, replaced byEncodings
.checkWithValidationsEnc
combinator renamed tocheck
- (Considered private)
MkCheckedEnc
constructor becameUnsafeMkCheckedEnc
- (Considered private)
MkEnc
constructor becameUnsafeMkEnc
๐ new functionality
- new types and typeclasses are based on both encoding name and algorithm name allowing
typeclass definitions for open encodings like
"r-ban:"
that can contain arbitrary symbol literals. - new set of combinators grouped into
_
(compiler decided algorithm),'
(program specifies algorithm), andalgorithm name ~ encoding name
categories above
combinator subsumes partial encoding / decoding combinatorsEncodingSuperset
class added
- new types and typeclasses are based on both encoding name and algorithm name allowing
typeclass definitions for open encodings like
-
v0.3.0.2 Changes
May 24, 2020- โ Added documentation to
Data.TypedEncoding.Conv
outlining current limitations, challenges of conversions. - ๐ Improved readme
- โ Added documentation to
-
v0.3.0.1 Changes
May 24, 2020- ๐ Documentation changes / corrections
- โ New doctest tests
- Haddock coverage and @since flags