Releases: mdomke/python-ulid
Releases · mdomke/python-ulid
Release list
3.2.0
Added
- Added transparent bidirectional UUIDv7 conversion methods (
ULID.to_uuid7andULID.from_uuidv7) @pirate. - Added a
--uuid7option to the CLI'sshowcommand to convert and output a ULID as an RFC 4122 compliant UUIDv7.
Changed
- Dropped support for Python 3.9 and added support for Python 3.14 @Avihais12344.
- Depend on
typing-extensionsonly when running on Python < 3.11 @musicinmybrain. - Migrated package and development workflow from Hatch to
uvandpoethepoet. - Configured Flox for bootstrapping the development environment.
Fixed
- Fixed a clock-skew bug where non-monotonic ULIDs could be generated when crossing a millisecond boundary between timestamp and randomness sampling @gaoflow.
- Fixed warning from
uvduring synchronization @jaseemabid. - Resolved various Ruff linter warnings and Pyrefly type checker issues.
3.1.0
3.0.0
Changed
- Raise
TypeErrorinstead ofValueErrorif constructor is called with value of wrong type. - Update
rufflinter rules and switch tohatch fmt.
Added
- Added ULID.parse()-method, which allows creating a ULID-instance from an arbitrary supported input value. @perrotuerto #29
Fixed
- Documentation bug in the example of ULID.milliseconds() @tsugumi-sys #30
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
Added
- ULID objects can now be converted to bytes with
bytes(ulid). - The Pydantic v2 protocol is now supported, so that the ULID class can be directly used as type annotations in Pydantic models
Changed
- The type annotations have been adapted, so that the classmethod constructors properly reflect the type for ULID subclasses. Thanks to @johnpaulett #9
- Use
time.time_ns()when generatingULIDs for improved performance #16 #12
2.2.0
Added
- Added a new flag
--uuid4to the CLIshowcommand, that converts the providedULID
into an RFC 4122 compliantUUID. - The
ulid buildcommand allows the use of the special value-for all options to read its
inputs fromstdin. E.g.
$ date --iso-8601 | python -m ulid build --from-datetime -
01HAT9PVR02T3S13XB48S7GEHE2.1.0
Added
- The new method
ULID.to_uuid4can be used to create an RFC 4122 compliantUUIDfrom
an existingULID#5.
Changed
- The
validate_types-decorator that is used for allULID.from_*-methods to check type
correctness at runtime has now better support for type hints.
Thanks to @johnpaulett