Changelog for mmzk-typeid-0.7.0.2
Revision history for mmzk-typeid
0.7.0.2 -- 2025-04-22
-
Fix a Haddock error on
ValidPrefixrelated to conditional compilation. -
Add more tests.
-
CI test on the latest GHC version.
0.7.0.1 -- 2024-10-10
-
Add
Genericderivation toTypeID',KindID', andUUIDVersion. -
Test the type-level constraints of
KindIDusing an external GHC interpreter. -
Stop testing on GHC 9.2, replacing with tests on GHC 9.4.
-
Update description in "Data.UUID.V7" to reflect the fact that UUIDv7 standard has been finalised.
0.7.0.0 -- 2024-07-03
-
Use
Strings instead ofTexts inside the constructors ofTypeIDErrorso that it is easier to use the promoted constructors. -
More complete compile-time error messages for
KindIDerrors. -
Hide away internal type-level programming details from Haddock.
- Many of the type-level helper declarations are now internal.
0.6.3.1 -- 2024-06-23
- Relax the version constraint on
bytestringdependency.- Kindly contributed by @jflanglois.
0.6.3.0 -- 2024-06-01
-
Update implementation so that the prefix for
KindIDnow conforms with specification v0.3.0. -
More useful compile-time errors for invalid
KindIDprefixes. -
TypeIDErrornow includes the contextual prefix when necessary to produce better error messages. -
More tests.
-
Fix known documentation typos.
0.6.2.0 -- 2024-05-28
-
Fix the bug where the first 32768
TypeIDs may not of the same timestamp. -
Test on GHC 9.8.2.
0.6.0.1 -- 2024-04-26
-
Fix typo in the maintainer's email address.
- Astounded at the fact that I mismatched the local part and domain name and didn't realise it for a year.
-
More test cases on parsing.
-
Fix other typos and inconsistencies in the documentation.
0.6.0.0 -- 2024-04-19
-
Update implementation to conform with specification v0.3.0.
- Allow
TypeIDprefix to contain underscores. - Update parsing logic as well as
BinaryandStorableinstances to reflect the changes. - Add tests.
- Allow
-
Have a breaking change in
TypeIDErrorto better reflect the error cases for the update in the specification.
0.5.0.2 -- 2024-3-10
-
Add
TypeableandDatainstances forTypeIDandKindID.- Kindly contributed by @shinzui.
-
Fix all warnings.
0.5.0.1 -- 2023-9-18
- Fix bad links in the documentation.
0.5.0.0 -- 2023-08-31
-
Support
TypeIDandKindIDwithUUIDsuffixes of version 5.- They are exported in
Data.TypeID.V5andData.KindID.V5.
- They are exported in
-
Tests for V5
TypeIDandKindID. -
Change signature for
genID_to supportUUIDv5. -
Decide against moving the
decoratemethod.
0.4.0.1 -- 2023-08-19
-
Support
TypeIDandKindIDwithUUIDsuffixes of version 1.- They are exported in
Data.TypeID.V1andData.KindID.V1.
- They are exported in
-
Tests for V1
TypeIDandKindID. -
Fix documentation typos.
-
The
decoratemethod will be moved fromIDGentoIDTypein the next major release. -
The type signature for
genID_is likely to change in the next major release to supportUUIDv5. Hopefully it will not affect any existing concrete functions.
0.4.0.0 -- 2023-08-08
-
Support
TypeIDandKindIDwithUUIDsuffixes of version 4.- They are exported in
Data.TypeID.V4andData.KindID.V4. - By default,
TypeIDandKindIDhas aUUIDsuffix of version 7. - The default
TypeIDandKindIDis also exported viaData.TypeID.V7andData.KindID.V7. - The constructor shapes have been changed, but it should not cause any problems since they are not exported.
- They are exported in
-
Remove deprecated
nilfunctions. -
Provide some default implementations for methods of
IDConv. -
Fix typoes in the Haddock.
-
Tests for V4
TypeIDandKindID.
0.3.1.0 -- 2023-07-23
-
Add
parseStringM,parseTextM, andparseByteStringMtoIDConv.- Instead of returning an
Either, they throw an exception when the input is invalid.
- Instead of returning an
-
Add unsafe methods to
IDConv. -
Implement
StorableandBinaryinstances forTypeIDandKindID.- These instances are experimental since the specification does not propose any serialisation format.
0.3.0.1 -- 2023-07-18
-
Add a version upper-bound for 'uuid-types'.
-
Fix documentation typos.
0.3.0.0 -- 2023-07-17
-
Use 'uuid-types' package's
UUIDinstead of a custom type.Data.UUID.V7only retains the generation functions.- Other modules are not affected by this change.
-
Add
ReadandHashableinstances forTypeIDandKindID. -
Move
ValidPrefixandToPrefixtoData.KindID.Classmodule.- They are no longer exported from
Data.KindID.
- They are no longer exported from
-
Remove deprecated functions
unUUID,parseStringWithPrefix,parseTextWithPrefix,parseByteStringWithPrefix,nil, anddecorate. -
Re-implement
Showinstances forTypeIDandKindIDusing pretty-printtoString. -
Implement
TypeIDgeneration based on statelessUUIDv7.- It is faster but does not guarantee monotonicity if multiple processes are
generating
TypeIDs at the same time.
- It is faster but does not guarantee monotonicity if multiple processes are
generating
-
Introduce unsafe
TypeIDandKindIDfunctions for parsing and generating. They do not check the validity of the input and only behave well when the input is guaranteed to be valid. -
Add validity check on
TypeIDandKindIDgeneration.checkIDchecks the prefix and theUUID's version and variant.checkIDWithEnvalso checks that theUUIDis generated in the past.
-
Deprecate
nilTypeIDandnilKindIDsince they are not useful. -
Remove dependency on 'transformers'.
-
Fix typos in the documentation.
-
Update README examples.
-
More tests.
0.2.0.0 -- 2023-07-14
-
Implement
KindIDto take arbitrary prefix type.- It can be a
Symbolas before, but it can also be any type that implementsToPrefixwhich dictates how to translate the prefix type to aSymbol.
- It can be a
-
Fix orphan instances for
TypeIDandKindID. -
Add
FromJSONKeyandToJSONKeyinstances forTypeIDandKindID. -
Introduce
IDTypeclass to unify thegetPrefix,getUUID, andgetTimefunctions ofTypeIDandKindID. -
Introduce
IDConvclass to unify the various conversion functions betweenTypeID/KindIDandString/Text/ByteString.- The original concrete functions remain, and the class is provided as an alternative.
-
Make the generation functions work with any
MonadIOthan justIO. -
Introduct
IDGenclass to unify the generation functions forTypeIDandKindID.- The original concrete functions remain, and the class is provided as an alternative.
-
Deprecate
unUUID,parseStringWithPrefix,parseTextWithPrefix,parseByteStringWithPrefix,nil, anddecorate. They are either replaced by functions of other names or are no longer necessary.- They will be removed in the next major version.
-
The
UUIDtype is expected to be removed in the next major version in favour of the type from the 'uuid-types' package. -
More tests.
0.1.0.0 -- 2023-07-11
-
First version. Released on an unsuspecting world.
-
Implement
TypeIDas specified at https://github.com/jetpack-io/typeid. -
Add unit tests.
-
Add type-level
TypeIDprefixes. -
Add
FromJSONandToJSONinstances forTypeIDandKindID.