All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Note on versioning: This project follows semantic versioning with an emphasis on ABI compatibility. Major version numbers will be bumped when changes break ABI compatibility, even if the API remains backward compatible.
- Bump Kotlin version to 2.3.0
- Migrate to using new android KMP library plugin
Version 0.4.0 is binary incompatible with 0.3.0. This means library consumers will have to re-compile against the newest version of the library, as opposed to just dropping in a compiled library artifact. It is, however, source compatible with 0.3.0, meaning consumers do not have to modify source that interfaced with this library.
None!
- Added monotonicity API
- Added monotonicity support.
- This implementation is not thread-safe yet! Thread-safety will be added in a future release.
- Bump Kotlin version to 2.2.21
- Various other dependency bumps
- Added support for binary format.
- Added an option to disable secure random for ULIDs.
- Added KDocs for all public APIs.
- Kulid is now Kotlin explicit api mode compliant.
- Bump AGP version to 8.10.1
- Add benchmark harness, comparing Kulid to Kotlin's UUID implementation
- Added
kotlinx.serializationsupport to ULID.
- Made
kotlinx.datetimean API dependency. - Updated
gradle.propertiesto use parallel builds. - Bump gradle version and gradle build plugins.
This is the initial release of Kulid!
- Ability to generate a ULID, either with the current time or any valid timestamp.