cuere 0.1.0
Added
QRMatrixencoding layer over segno (error levelLby default, no
error-boost, quiet zone baked in); its.modulesgrid is the public
raw-matrix accessor.- Renderers:
half(Claude-Code-style Unicode half-blocks),block
(double-width full blocks),ansi(forced black-on-white colors). - High-level
render()/show()/fits()with optional Micro QR and
error-boost, terminal width/height fit checks, andNO_COLOR/tty-aware
ANSI fallback. - Rich renderable
cuere.rich.QRCodewith exact measurement. optimize_uri()— lossless uppercase optimization for fully-lowercase
bitcoin:/lightning:(bech32) wallet URIs to reach QR alphanumeric mode.- typer CLI:
cuere [DATA | --input FILE]with--mode,--invert,
--border,--error,--micro,--boost-error,--optimize-uri,
--check-width/--no-check-width,--force. AGENTS.mdand.github/copilot-instructions.mdwith project conventions
and review guidelines for AI review agents (Codex, GitHub Copilot).
Changed
NO_COLORdisables ANSI output whenever the variable is present, regardless
of its value (including empty), per the no-color.org spec.- The CLI strips only trailing newlines from stdin (
rstrip("\r\n")),
preserving intentional payload whitespace. - The release SBOM excludes dev dependencies (
uv export --no-dev).
Fixed
- An invalid
borderor rendermoderaisesCuereErrorrather than leaking
a bareValueError, keeping the public exception contract consistent.
Security
- OSV-Scanner findings fail CI; the coverage-comment
workflow_runjob is
restricted to same-repository pull-request runs; the gitleaks allowlist is
scoped to a single test file;scripts/audit.pysubprocesses have a timeout. - Release publish routing uses anchored version matching (not substring) to
choose PyPI vs TestPyPI, so it cannot misroute on incidental tag/branch text. - Release builds publish via PyPI trusted publishing (OIDC) with sigstore
signatures, SLSA provenance, PEP 740 attestations, and a CycloneDX SBOM.
What's Changed
- feat: cuere v0.1.0 — terminal QR code library by @IvanAnishchuk in #1
- ci: robust release routing + coverage-comment PR gating by @IvanAnishchuk in #4
New Contributors
- @IvanAnishchuk made their first contribution in #1
Full Changelog: https://github.com/IvanAnishchuk/cuere/commits/v0.1.0