- Fix a Haddock error on
ValidPrefix
related to conditional compilation.
-
Add
Generic
derivation toTypeID'
,KindID'
, andUUIDVersion
. -
Test the type-level constraints of
KindID
using 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.
-
Use
String
s instead ofText
s inside the constructors ofTypeIDError
so that it is easier to use the promoted constructors. -
More complete compile-time error messages for
KindID
errors. -
Hide away internal type-level programming details from Haddock.
- Many of the type-level helper declarations are now internal.
- Relax the version constraint on
bytestring
dependency.- Kindly contributed by @jflanglois.
-
Update implementation so that the prefix for
KindID
now conforms with specification v0.3.0. -
More useful compile-time errors for invalid
KindID
prefixes. -
TypeIDError
now includes the contextual prefix when necessary to produce better error messages. -
More tests.
-
Fix known documentation typos.
-
Fix the bug where the first 32768
TypeID
s may not of the same timestamp. -
Test on GHC 9.8.2.
-
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.
-
Update implementation to conform with specification v0.3.0.
- Allow
TypeID
prefix to contain underscores. - Update parsing logic as well as
Binary
andStorable
instances to reflect the changes. - Add tests.
- Allow
-
Have a breaking change in
TypeIDError
to better reflect the error cases for the update in the specification.
-
Add
Typeable
andData
instances forTypeID
andKindID
.- Kindly contributed by @shinzui.
-
Fix all warnings.
- Fix bad links in the documentation.
-
Support
TypeID
andKindID
withUUID
suffixes of version 5.- They are exported in
Data.TypeID.V5
andData.KindID.V5
.
- They are exported in
-
Tests for V5
TypeID
andKindID
. -
Change signature for
genID_
to supportUUID
v5. -
Decide against moving the
decorate
method.
-
Support
TypeID
andKindID
withUUID
suffixes of version 1.- They are exported in
Data.TypeID.V1
andData.KindID.V1
.
- They are exported in
-
Tests for V1
TypeID
andKindID
. -
Fix documentation typos.
-
The
decorate
method will be moved fromIDGen
toIDType
in the next major release. -
The type signature for
genID_
is likely to change in the next major release to supportUUID
v5. Hopefully it will not affect any existing concrete functions.
-
Support
TypeID
andKindID
withUUID
suffixes of version 4.- They are exported in
Data.TypeID.V4
andData.KindID.V4
. - By default,
TypeID
andKindID
has aUUID
suffix of version 7. - The default
TypeID
andKindID
is also exported viaData.TypeID.V7
andData.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
nil
functions. -
Provide some default implementations for methods of
IDConv
. -
Fix typoes in the Haddock.
-
Tests for V4
TypeID
andKindID
.
-
Add
parseStringM
,parseTextM
, andparseByteStringM
toIDConv
.- Instead of returning an
Either
, they throw an exception when the input is invalid.
- Instead of returning an
-
Add unsafe methods to
IDConv
. -
Implement
Storable
andBinary
instances forTypeID
andKindID
.- These instances are experimental since the specification does not propose any serialisation format.
-
Add a version upper-bound for 'uuid-types'.
-
Fix documentation typos.
-
Use 'uuid-types' package's
UUID
instead of a custom type.Data.UUID.V7
only retains the generation functions.- Other modules are not affected by this change.
-
Add
Read
andHashable
instances forTypeID
andKindID
. -
Move
ValidPrefix
andToPrefix
toData.KindID.Class
module.- 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
Show
instances forTypeID
andKindID
using pretty-printtoString
. -
Implement
TypeID
generation based on statelessUUID
v7.- It is faster but does not guarantee monotonicity if multiple processes are
generating
TypeID
s at the same time.
- It is faster but does not guarantee monotonicity if multiple processes are
generating
-
Introduce unsafe
TypeID
andKindID
functions 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
TypeID
andKindID
generation.checkID
checks the prefix and theUUID
's version and variant.checkIDWithEnv
also checks that theUUID
is generated in the past.
-
Deprecate
nilTypeID
andnilKindID
since they are not useful. -
Remove dependency on 'transformers'.
-
Fix typos in the documentation.
-
Update README examples.
-
More tests.
-
Implement
KindID
to take arbitrary prefix type.- It can be a
Symbol
as before, but it can also be any type that implementsToPrefix
which dictates how to translate the prefix type to aSymbol
.
- It can be a
-
Fix orphan instances for
TypeID
andKindID
. -
Add
FromJSONKey
andToJSONKey
instances forTypeID
andKindID
. -
Introduce
IDType
class to unify thegetPrefix
,getUUID
, andgetTime
functions ofTypeID
andKindID
. -
Introduce
IDConv
class to unify the various conversion functions betweenTypeID
/KindID
andString
/Text
/ByteString
.- The original concrete functions remain, and the class is provided as an alternative.
-
Make the generation functions work with any
MonadIO
than justIO
. -
Introduct
IDGen
class to unify the generation functions forTypeID
andKindID
.- 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
UUID
type is expected to be removed in the next major version in favour of the type from the 'uuid-types' package. -
More tests.
-
First version. Released on an unsuspecting world.
-
Implement
TypeID
as specified at https://github.com/jetpack-io/typeid. -
Add unit tests.
-
Add type-level
TypeID
prefixes. -
Add
FromJSON
andToJSON
instances forTypeID
andKindID
.