Files
vim-ale/uuidv7
AJ ONeal 9f28505af7 ref: delete unreachable upstream-fetcher modules
Stacked on the modifications PR. Now that no live code path references
the per-package fetchers, the shared HTTP/parsing helpers, the
in-process normalizer, or the example template, delete them. Pure
deletion — no behavior change.

- ~93 per-package <pkg>/releases.js fetcher modules.
- _common/{brew,fetcher,git-tag,gitea,github,github-source,
  githubish,githubish-source}.js shared HTTP/parsing helpers.
- _webi/normalize.js in-process normalization layer (cache files
  arrive normalized from webicached).
- _example/releases.js fetcher template for new packages.

The Go cache daemon (webicached) is now the sole producer of release
metadata; the Node process never makes an upstream request.
2026-05-08 16:31:59 -06:00
..
2026-03-08 19:38:49 -06:00
2024-10-15 00:37:27 +00:00

title, homepage, tagline
title homepage tagline
uuidv7 https://github.com/coolaj86/uuidv7 uuidv7: generate UUID v7 strings, command line edition

To update or switch versions, run webi uuidv7@stable.

Cheat Sheet

uuidv7 exists because somebody was tired of searching "UUID v7 generator" just to get a test value for a little ditty now and then. Though, the time spent creating it will probably never be recouped...

uuidv7
01928d73-d8ed-7211-a314-7081d763271d

Table of Contents

  • Files
  • Generating Many UUIDv7s
  • Roll Your Own UUID v7 Generator
  • Understanding the UUID v7 spec
    • UUID v7, by the String
    • UUID v7, by the Byte

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/bin/uuidv7
~/.local/opt/uuidv7/

How to Generate Many v7 UUIDs at Once

uuidv7 ; uuidv7 ; uuidv7
01928d74-3ff7-796f-8417-0fee6da50a5a
01928d74-3ff9-73f7-8ce1-71e741cfa56f
01928d74-3ffb-7e06-abe9-3fe20e5cb5f2

How to Generate UPPER CASE (like uuidgen)

uuidv7 | tr '[:lower:]' '[:upper:]'
01928D73-D8ED-7211-A314-7081D763271D

How to Generate v4 UUIDs?

Use uuidgen.

uuidgen
uuidgen | tr '[:upper:]' '[:lower:]'
84FA79E5-024E-4388-8D10-91618B93BE9D
84fa79e5-024e-4388-8d10-91618b93be9d

How could I roll my own UUID v7 generator?

It's not that hard. There are examples in many languages here:

See the simplified spec examples below.

What's the UUID v7 spec, in simple terms?

See the explanation here:

A snapshot of that is copied here, for convenience:

UUID v7, by the Characters

There are 36 characters total: 32 hex (0123456789abcdef) + 4 dashes (-)

  8 time    4 time    1v + 3ra   ½v + 3½rb    12 random b
019212d3  -  87f4   -   7d25   -   902e   -   b8d39fe07f08
  • 8ch hex time high
  • -
  • 4ch hex time low
  • -
  • 4ch hex version + "random a"
    • 1ch hex version: 7
    • 3ch hex "random a"
  • -
  • 4ch hex variant + "random b"
    • 1ch hex version: 8, 9, a, b
    • 3ch hex "random b"
  • -
  • 12ch hex randam a
    • 4ch hex random a
    • 8ch hex random a

UUID v7, by the Bits

There are 128 bits total:
48 time and 80 random, with 4 version and 2 variant bits substituted

   48 time         4ver, 12ra   2var, 14rb        random b
019212d3-87f4    -    7d25    -    902e    -    b8d39fe07f08
  • 48 bits of timestamp
    • 32-bit high (minutes to years)
    • 16-bit low (seconds & milliseconds)
  • 16 bits of version + random
    • 4-bit version (0b0111)
    • 12-bit random
  • 64-bits variant + random
    • 2-bit variant (0b10)
    • 62-bit random