Skip to content

Comments

fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.14.0#564

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-brianvoe-gofakeit-v7-7.x
Open

fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.14.0#564
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-brianvoe-gofakeit-v7-7.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/brianvoe/gofakeit/v7 v7.8.1v7.14.0 age confidence

Release Notes

brianvoe/gofakeit (github.com/brianvoe/gofakeit/v7)

v7.14.0

Compare Source

v7.13.0

Compare Source

v7.12.1

Compare Source

v7.12.0

Compare Source

v7.11.0

Compare Source

v7.10.0

Compare Source

v7.9.0: ID Generator

Compare Source

New: ID() — Fast, Human-Readable Random Identifier

(GoFakeIt v7.9.0)

gofakeit.ID() is a new high-performance identifier generator designed for speed, readability, and practically zero collision probability.

Unlike UUID v4 or XID, this generator is intentionally random-first, not structure-based.
Perfect for mock APIs, test data, fixtures, seed data, and temporary identifiers.


Highlights

  • Human readable alphabet, no confusing characters
    23456789abcdefghjkmnpqrstuvwxyz (no 1, l, i or 0, o to alleviate confusion)
  • Fast
  • Memory Allocation
  • Generates from your rand source
  • Shorter than UUID, faster than XID, and requires no coordination

Example

id := gofakeit.ID()
fmt.Println(id)
// → "3t9qf4c92npxhw7bg6y0"

Performance Benchmarks

Measured on Go 1.25

Generator / Function Benchmark Name ops/sec ns/op B/op allocs/op
gofakeit.ID() BenchmarkID-10 31,383,146 37.8 ns 24 1
gofakeit.UUIDv4() BenchmarkUUIDv4-10 22,131,577 53.8 ns 48 1
github.com/rs/xid BenchmarkXID-10 16,190,817 74.2 ns 0 0
github.com/google/uuid (v4) BenchmarkGoogleUUIDv4-10 3,098,770 386.1 ns 64 2

Takeaway: gofakeit.ID() is ~2× faster than XID and ~10× faster than UUID v4, while being shorter and human-readable.


Collision Probability (Randomness Math)

  • ID length: 20 characters
  • Alphabet: 32 slots with one duplicated character (intentional) → avoids retries, maximizes speed
  • Effective entropy: ≈ 98.25 bits

Even under very large bursts, duplication is astronomically unlikely

Collision probability when generating n IDs within 1 second (birthday bound)
n (IDs in 1s) gofakeit.ID() collision probability
100,000 0.00000000000000000001326
1,000,000 0.000000000000000001326017
10,000,000 0.000000000000000132601736
100,000,000 0.000000000000013260173678
1,000,000,000 0.000000000001326017367838

For comparison (same n):

  • UUID v4 (122 bits): much lower probabilities (but significantly slower and longer)
  • XID: structural uniqueness (time + machine + pid + counter). Treat collisions as operationally zero when configured normally.

Need structural, sortable IDs? Use XID or Snowflake.
Want random, readable, fast? Use gofakeit.ID().


RNG Behavior

Mode Behavior
Default (gofakeit.ID()) PCG for speed, seeded via crypto/rand → fast + unpredictable
Full crypto (NewFaker(source.NewCrypto())) crypto/rand for every ID → maximum randomness (slower)
Deterministic (New(seed)) PCG with fixed seed → reproducible ID sequences (useful for tests/fixtures)

We seed PCG with a cryptographic seed when seed == 0. This prevents accidental identical streams across processes/containers.


Example Usage

package main

import (
	"fmt"

	"github.com/brianvoe/gofakeit/v7"
	"github.com/brianvoe/gofakeit/v7/source"
)

func main() {
	// Fast ID — PCG, automatically crypto-seeded
	fmt.Println("fast ID:", gofakeit.ID())

	// Cryptographically secure per-ID RNG
	crypto := source.NewCrypto()
	faker := gofakeit.NewFaker(crypto, true)
	fmt.Println("crypto ID:", faker.ID())
}

v7.8.2

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Nov 1, 2025
@renovate renovate bot requested review from a team as code owners November 1, 2025 05:30
@renovate renovate bot enabled auto-merge November 1, 2025 05:30
mergify[bot]
mergify bot previously approved these changes Nov 1, 2025
@renovate renovate bot dismissed stale reviews from infratographer-robot and mergify[bot] via f28577a November 8, 2025 05:11
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from 4b9be26 to f28577a Compare November 8, 2025 05:11
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.8.2 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.9.0 Nov 8, 2025
mergify[bot]
mergify bot previously approved these changes Nov 8, 2025
@renovate renovate bot dismissed stale reviews from infratographer-robot and mergify[bot] via dec3914 November 23, 2025 00:26
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from f28577a to dec3914 Compare November 23, 2025 00:26
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.9.0 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.10.0 Nov 23, 2025
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from dec3914 to 2b32f1e Compare November 23, 2025 20:49
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.10.0 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.11.0 Nov 23, 2025
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from 2b32f1e to 78c9613 Compare November 30, 2025 17:28
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.11.0 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.12.0 Nov 30, 2025
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from 78c9613 to 5f6eab3 Compare December 3, 2025 21:29
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.12.0 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.12.1 Dec 3, 2025
mergify[bot]
mergify bot previously approved these changes Dec 3, 2025
@renovate renovate bot dismissed stale reviews from infratographer-robot and mergify[bot] via 33ec0d0 December 27, 2025 17:00
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from 5f6eab3 to 33ec0d0 Compare December 27, 2025 17:00
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.12.1 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.13.0 Dec 27, 2025
mergify[bot]
mergify bot previously approved these changes Dec 27, 2025
@renovate renovate bot dismissed stale reviews from infratographer-robot and mergify[bot] via 6550495 December 28, 2025 06:04
@renovate renovate bot force-pushed the renovate/github.com-brianvoe-gofakeit-v7-7.x branch from 33ec0d0 to 6550495 Compare December 28, 2025 06:04
@renovate renovate bot changed the title fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.13.0 fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.14.0 Dec 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant