Skip to content

Releases: agentstation/uuidkey

v1.2.0

23 Jul 20:47
adef9be

Choose a tag to compare

uuidkey v1.2.0

Installation

Download Binary

Download the appropriate binary for your platform from the assets below.

Using Go

go install github.com/agentstation/uuidkey/cmd/uuidkey@v1.2.0

Verify Checksums

# Download checksums.txt and the binary, then:
sha256sum -c checksums.txt

Changelog

New Features

  • b466af2: feat: add CLI binary with comprehensive tests and near 100% coverage (@jackspirou)

Bug fixes

v1.1.0

06 Jul 20:24
0e6ee03

Choose a tag to compare

What's Changed

  • Replace external crock32 dependency with standard library implementation (#5)
  • Performance optimizations with fixed-size buffers and lookup tables
  • Update golang.org/x/crypto to v0.35.0 (fixes CVE-2025-22869)

Performance Improvements

  • BenchmarkEncode: 6x faster (817.5 ns/op → 136.5 ns/op)
  • BenchmarkDecode: 1.7x faster (471.5 ns/op → 282.4 ns/op)
  • BenchmarkBytes: 8.5x faster (204.6 ns/op → 23.95 ns/op)
  • BenchmarkEncodeBytes: 11x faster (733.0 ns/op → 66.62 ns/op)

Other Improvements

  • Improved test coverage to 95.8%
  • Added constant-time behavior tests
  • Updated documentation
  • Consolidated test files to reduce duplication

Installation

go get github.com/agentstation/uuidkey@v1.1.0

Compatibility

  • Full backward compatibility maintained
  • No API changes
  • Minimum Go version: 1.23.0

Full Changelog: v1.0.0...v1.1.0

v1.0.0

06 Jul 20:26
cad0c80

Choose a tag to compare

Initial Stable Release

The uuidkey package encodes UUIDs to a readable Key format via the Base32-Crockford codec.

Features

  • ✅ UUID to Key encoding using Base32-Crockford
  • ✅ API Key generation with configurable entropy (128/160/256 bits)
  • ✅ CRC32 checksum validation
  • ✅ GitHub Secret Scanning format support
  • ✅ With/without hyphens formatting options
  • ✅ Full UUID compatibility (gofrs/uuid and google/uuid)

Installation

go get github.com/agentstation/uuidkey@v1.0.0

Example Usage

// Create API Key
apiKey, _ := uuidkey.NewAPIKey("MYAPP", "d1756360-5da0-40df-9926-a76abff5601d")
fmt.Println(apiKey) // MYAPP_38QARV01ET0G6Z2CJD9VA2ZZAR0X...

// Encode UUID to Key
key, _ := uuidkey.Encode("d1756360-5da0-40df-9926-a76abff5601d")
fmt.Println(key) // 38QARV0-1ET0G6Z-2CJD9VA-2ZZAR0X

Documentation

See the README for full documentation.