Changelog for mmzk-typeid-0.3.1.0
Revision history for mmzk-typeid
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
.