Changelog for mmzk-typeid-0.6.2.0
Revision history for mmzk-typeid
0.6.2.0 -- 2024-05-28
- Fix the bug where the first 32768
TypeID
s 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
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.
0.5.0.2 -- 2024-3-10
-
Add
Typeable
andData
instances forTypeID
andKindID
.- 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
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.
0.4.0.1 -- 2023-08-19
-
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.
0.4.0.0 -- 2023-08-08
-
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
.
0.3.1.0 -- 2023-07-23
-
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.
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
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.
-
More tests.
0.2.0.0 -- 2023-07-14
-
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.
0.1.0.0 -- 2023-07-11
-
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
.