Skip to content

Releases: snapsynapse/hardguard25

Python v1.3.1 — PyPI landing polish

15 Apr 03:38

Choose a tag to compare

Documentation and packaging polish for the HardGuard25 Python package. No code changes.

Install

```bash
pip install hardguard25
```

What's new

  • Full PyPI landing page with quickstart, API reference table, sizing table, and "When NOT to Use" guardrails — so the PyPI project page stands on its own without bouncing readers to GitHub
  • Root README sizing table expanded from 6 rows to the full 9-row spec set, with an entropy column and recommended defaults
  • Root README excluded-letter pairings fixed to cover all 11 removed letters (added `L/1`, removed duplicate `B/D`)

Links

Python v1.3.0 — PyPI release

15 Apr 03:16

Choose a tag to compare

First PyPI release of the HardGuard25 Python reference implementation.

Install

pip install hardguard25

What's in 1.3.0

Matches the v1.3.0 spec release (2026-03-09):

  • 25-character unambiguous alphabet (0123456789ACDFGHJKMNPRUWY)
  • generate, validate, normalize, check_digit API
  • Optional Mod-25 weighted check digit (ISO 7064 style)
  • Type hints + py.typed marker

Packaging

This release also modernizes pyproject.toml:

  • SPDX license expression per PEP 639
  • Explicit package discovery
  • Full classifier set

Links

v1.3.0 — Agent Skill & Standard Repositioning

09 Mar 23:15
522e987

Choose a tag to compare

Added

  1. Agent Skill — Full HardGuard25 skill definition (skills/hardguard25/) following the agentskills.io open standard, with alphabet reference, length selection table, code examples in JS/Python/Go, normalization rules, check digit algorithm, and comparison matrix
  2. Skill Provenance — Version tracking metaskill (skills/skill-provenance/) for manifest and changelog integrity across sessions and platforms
  3. Claude Code plugin metadata (.claude-plugin/plugin.json)
  4. 10-domain use case table in README — order IDs, patient wristbands, license keys, IoT device tags, exam codes, and more
  5. "No Library Needed" section in README — raw alphabet, regex, and copy-paste generation snippets for any language
  6. normalize() added to all quickstart examples — lowercase/substitution handling shown by default

Changed

  1. README repositioned from "unique ID alphabet" to "open standard for human-safe identifiers" — leads with the problem and use cases before any code
  2. SPEC.md updated to Version 1.3 / March 2026
  3. All package versions bumped — js/package.json, python/pyproject.toml, python/init.py

v1.2.0 — HardGuard25

09 Mar 21:29
1a667ad

Choose a tag to compare

HardGuard25 v1.2.0

A human-friendly unique ID alphabet. 25 characters, zero ambiguity.

0 1 2 3 4 5 6 7 8 9 A C D F G H J K M N P R U W Y

What's New (since 1.0.0)

Alphabet

  • E excluded — E/3 is a dyslexia confusable; digits take priority. Alphabet reduced from 26 → 25 characters.

Features

  • Optional Mod-25 weighted check digit (ISO 7064 style) — catches all single-character substitution errors
  • Reference implementations in JavaScript, Python, and Go — all using CSPRNG + rejection sampling
  • Interactive generator app via GitHub Pages
  • Collision guidance tables and entropy/recommended-length tables
  • Comparison matrix against Crockford Base32, z-base-32, Canadian Postal, Nintendo Base-31, RFC 4648

Install

npm install @snapsynapse/hardguard25    # JavaScript
pip install hardguard25                  # Python
import "github.com/snapsynapse/hardguard25/go"  // Go

Links