9.7 KiB
Changelog
All notable changes to this project will be documented in this file.
Unreleased
Nothing to be released.
5.2.0 - 2023-04-30
Add Hash ULID generator methods. #25 Add a MIN and MAX constants and methods. #26
5.1.0 - 2022-10-22
Add a fast method to generate identifiers. #22
5.0.2 - 2022-09-17
Rewrite docs. #21
5.0.1 - 2022-08-21
Optimize comparison and hash. #20
5.0.0 - 2022-07-09
Add support for RandomGenerator in Java 17. #19
4.2.1 - 2022-04-21
Handle clock drift. #18
4.2.0 - 2022-04-21
Handle clock drift. #18
4.1.2 - 2021-11-06
Compare internal fields as unsigned integers.
4.1.1 - 2021-10-03
Regular maintenance.
4.1.0 - 2021-09-04
Add OSGi entries to Manifest.MF #16
Module and bundle names are the same as the root package name.
The OSGi symbolic name is the same as the JPMS module name: com.github.f4b6a3.ulid.
4.0.0 - 2021-08-08
Now you call UlidFactory.newInstance() and it's variants to get a new UlidFactory.
Added
- Added
UlidFactory.newInstance() - Added
UlidFactory.newInstance(Random) - Added
UlidFactory.newInstance(Supplier<byte[]>) - Added
UlidFactory.newMonotonicInstance() - Added
UlidFactory.newMonotonicInstance(Random) - Added
UlidFactory.newMonotonicInstance(Supplier<byte[]>) - Added benchmark code to compare ULID with UUID
Removed
- Removed
DefaultFactory - Removed
MonotonicFactory - Removed
Ulid.toUpperCase() - Removed
RandomGenerator
3.2.0 - 2021-07-17
Simplified the use of UlidFactory with other random generators.
Added
- Added constructors in
UlidFactoryfor random generators.
3.1.1 - 2021-07-17
Creates a module name be used in Java 9+.
Added
- Added module name for Java 9+
3.1.0 - 2021-02-13
Adds static methods for extracting information from ULIDs.
Added
- Added
CHANGELOG.md - Added static method
Ulid.getInstant(String) - Added static method
Ulid.getTime(String) - Added static method
Ulid.getRandom(String)
Changed
- Updated
README.md - Updated test cases
3.0.1 - 2021-01-30
Changed
- Renamed subpackage
creatortofactory
3.0.0 - 2021-01-30
This version breaks compatibility. It is a rewrite from scratch.
Now the ulid-creator can generate two types of ULID: default (non-monotonic) and monotonic. Until version 2.3.3 this library only generated monotonic ULIDs.
Added
- Added class
Ulid - Added abstract class
UlidFactory - Added class
DefaultUlidFactory - Added class
MonotonicUlidFactory - Added functional interface
RandomGenerator - Added class
DefaultRandomGenerator - Added static method
UlidCreator.getUlid(): Ulid - Added static method
UlidCreator.getUlid(long): Ulid - Added static method
UlidCreator.getMonotonicUlid(): Ulid - Added static method
UlidCreator.getMonotonicUlid(long): Ulid - Added static method
UlidCreator.getDefaultFactory(): UlidFactory - Added static method
UlidCreator.getMonotonicFactory(): UlidFactory
Changed
- Rewrote
UlidCreator - Rewrote all
README.md - Rewrote all test cases
Removed
- Removed class
UlidStruct, replaced byUlid - Removed class
UlidUtil, useUlidinstead - Removed class
UlidConverter, useUlidinstead - Removed class
UlidValidator, useUlidinstead - Removed class
UlidSpecCreator, replaced byUlidFactory - Removed class
InvalidUlidException, replaced byIllegalArgumentException - Removed interface
RandomStrategy, replaced byRandomGenerator - Removed class
DefaultRandomStrategy, replaced byDefaultRandomGenerator - Removed class
OtherRandomStrategy - Removed interface
TimestampStrategy - Removed class
DefaultTimestampStrategy - Removed class
FixedTimestampStrategy - Removed static method
UlidCreator.fromString(String): UUID - Removed static method
UlidCreator.toString(UUID): String - Removed static method
UlidCreator.getUlid(): UUID - Removed static method
UlidCreator.getUlid4(): UUID - Removed static method
UlidCreator.getUlidString(): String - Removed static method
UlidCreator.getUlidString4(): String - Removed static method
UlidCreator.getUlidSpecCreator(): UlidSpecCreator
2.3.3 - 2020-11-16
Optimization and housekeeping.
Added
- Added test cases
Changed
- Optimized
UlidSpecCreator - Updated
README.md
Removed
- Removed unused code
2.3.2 - 2020-11-09
Only Optimization.
Changed
- Optimized
UlidValidator
2.3.1 - 2020-11-08
Added static methods for extracting Unix time.
Added
- Added static method
UlidUtil.extractUnixMilliseconds(UUID) - Added static method
UlidUtil.extractUnixMilliseconds(String)
Changed
- Moved UUID v4 generation to
UlidStruct - Updated test cases
2.3.0 - 2020-11-08
Now it can generate UUIDs and ULIDs compatible with RFC-4122 UUID v4.
Added
- Added static method
UlidCreator.getUlid4() - Added static method
UlidCreator.getUlidString4() - Added method
UlidSpecCreator.create4() - Added method
UlidSpecCreator.createString4()
Changed
- Updated
README.md - Updated test cases
2.2.0 - 2020-11-08
Now the generation of ULID in canonical string format is 2.5x faster than before.
Added
- Added
UlidStructfor internal use - Added test cases
Changed
- Optimized
UlidSpecCreatorby usingUlidStruct - Optimized
UlidConverterby usingUlidStruct - Optimized
UlidValidator - Updated
README.md - Updated javadoc
2.1.0 - 2020-10-17
Removed the overrun exception because it is extremely unlikely to occur
Changed
- Updated
README.md - Updated test cases
- Updated javadoc
Removed
- Removed
UlidCreatorException, used in overruns
2.0.0 - 2020-07-04
This version breaks compatibility.
Added
- Added
RandomStrategy - Added
DefaultRandomStrategy - Added
OtherRandomStrategy - Added test cases
Changed
- Changed
UlidCreator - Renamed
UlidBasedGuidCreatortoUlidSpecCreator - Changed JDK version from 11 to 8 for compatibility with Java 8
- Optimized
UlidConverter.fromString(String) - Optimized
UlidConverter.toString(UUID) - Optimized
UlidValidator.isValid(String) - Updated
README.md - Updated
pom.xml - Updated test cases
- Updated javadoc
1.1.0 - 2020-04-18
Changed
- Renamed
GuidCreatortoUlidBasedGuidCreator - Changed the overrun exception to be thrown when 2^80 requests occurs within the same msec
- Updated
README.md - Updated
pom.xml - Updated test cases
Removed
- Removed unused code
1.0.0 - 2020-02-23
Project created as an alternative Java implementation of ULID spec.
Added
- Added
UlidCreator - Added
GuidCreator - Added
TimestampStrategy - Added
DefaultTimestampStrategy - Added
FixedTimestampStrategy - Added
XorshiftRandom - Added
Xorshift128PlusRandom - Added
Base32Util - Added
ByteUtil - Added
FingerprintUtil - Added
NetworkData - Added
UlidUtil - Added
UlidCreatorException - Added
README.md - Added
pom.xml - Added
LICENSE - Added test cases