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.
0.2.0 - 2026-03-14
NewV3andV3version constant — V3 (MD5) is superseded by V5 (SHA-1) per RFC 9562
hash.Cloneroptimization now only covers SHA-1 (V5), MD5 removed.golangci.ymlgosec exclusions narrowed to G505 only (SHA-1)
0.1.0 - 2026-02-15
- UUID type as
[16]bytevalue type withNilandMaxconstants - UUID generation:
NewV4(random),NewV5(SHA-1),NewV7(timestamp+random),NewV8(custom) Generatortype with per-instance V7 monotonicity (RFC 9562 Method 3)- Predefined namespace UUIDs:
NamespaceDNS,NamespaceURL,NamespaceOID,NamespaceX500 Parse(strict 36-char hyphenated) andParseLenient(URN, braced, compact forms)MustParsefor package-level constantsFromBytesconstructor from byte slicesStringandURNformatting methodsVersion,Variant,IsNil,Bytes,Time,Compareaccessorsencoding.TextMarshaler/TextUnmarshalerfor JSON supportencoding.BinaryMarshaler/BinaryUnmarshalerfor binary protocolsencoding.TextAppender/BinaryAppender(Go 1.24) for zero-alloc formattingdatabase/sql.Scanneranddriver.Valuerfor SQL supporthash.Cloneroptimization for V5 namespace hash statesPooltype withNewV4andNewV7for amortizedcrypto/randoverheadNewV4Batch(n)andGenerator.NewV7Batch(n)for bulk UUID generation- Zero-alloc hot paths for NewV4, NewV7, Pool.NewV4, Pool.NewV7, Parse, MarshalText, UnmarshalText
- 100% test coverage including fuzz tests