Releases: pscheid92/uuid
Releases · pscheid92/uuid
v0.2.0
Removed
NewV3andV3version constant — V3 (MD5) is superseded by V5 (SHA-1) per RFC 9562
Changed
hash.Cloneroptimization now only covers SHA-1 (V5), MD5 removed.golangci.ymlgosec exclusions narrowed to G505 only (SHA-1)
Full Changelog: v0.1.1...v0.2.0
v0.1.1
v0.1.0
Added
- UUID type as
[16]bytevalue type withNilandMaxconstants - UUID generation:
NewV3(MD5),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 V3/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