Skip to content

Releases: diegosouzapw/OmniGlyph

OmniGlyph 1.3.1

Choose a tag to compare

@diegosouzapw diegosouzapw released this 12 Jul 22:18
c9ed17b

Docs-only. Syncs the npm package page with the corrected 1.3.0 documentation
(the 1.3.0 tarball was cut from the version-bump commit, before these edits).
No change to the compression path, billing math, or any shipped behavior.

Docs

  • docs: the Grok changelog entry now describes the net shipped profile
    (stock 5×8 white AA + in-image IDS), not the 9×12 cell that never shipped in
    a tagged release; the universal IDS block, the 64 → 96 fact-sheet budget, and
    the residual-height gate are split into their own feat(render) entry; the
    two $0 eval harnesses (eval/grok-density, eval/ab/guards-3arm) are
    logged. The README gains an Opt-in flags note for OMNIGLYPH_GUARD_SECRETS,
    OMNIGLYPH_KEEP_SYSTEM_TEXT, and the fail-closed Grok opt-in.

OmniGlyph 1.2.0

Choose a tag to compare

@diegosouzapw diegosouzapw released this 08 Jul 22:33

[1.2.0] — 2026-07-08

Documentation and a test-only hardening pass. No change to the compression
path, billing math or dashboard behavior.

Security

  • Resolve a CodeQL js/regex/missing-regexp-anchor alert in the
    docs-integrity guard. The upstream-credit assertion matched its target link
    with an unanchored regex; it now uses a literal, scheme-qualified substring
    check instead — stricter (a bare host mention no longer satisfies it) and
    regex-free. Test-only; no change to shipped behavior.

Docs

  • Offline export, documented. New README section (mirrored across the 41
    translations) showing how to render context to PNG pages with omniglyph export — no proxy, no Claude Code — for pasting into Cursor, ChatGPT, or any
    chat that reads images. Two new FAQ entries cover using OmniGlyph outside
    Claude Code and how the text→image render works. Documentation only; no
    behavior change.

OmniGlyph 1.1.0

Choose a tag to compare

@diegosouzapw diegosouzapw released this 08 Jul 21:13

[1.1.0] — 2026-07-08

Dashboard release. The compression path and billing math are unchanged; this is
a full rebuild of the local dashboard plus documentation.

Added

  • Multi-page dashboard, visually aligned with the OmniRoute family (coral/
    indigo palette, graph-paper backdrop, warm shadows). Six server-rendered
    pages behind real routes: Overview (mission-control KPI grid — savings %,
    $ saved, latency p95, first-byte, cache hits, errors, imaged chars — with a
    savings sparkline and a live event feed), Live Flow (the pipeline as a
    dependency-free SVG node graph with a particle per request), Telemetry
    (a token/$ odometer and a live request timeline; the image-vs-text breakdown
    and image↔source inspector live here), Benchmarks, Sessions, and
    History.
  • Benchmarks from the UI: the harness receipts are rendered straight from
    benchmarks/*/results/*.jsonl (one row per model·config experiment), and the
    harnesses run from the page — $0 dry-runs stream their stdout live; live
    runs stay gated behind ANTHROPIC_API_KEY and an explicit cost confirmation.
    Closed-enum, shell-less spawn, one run at a time; results stay append-only
    through the harness.
  • Live updates over SSE (GET /events/stream): per-request frames and a
    stats snapshot push from the proxy, refreshing fragments instantly and
    driving the odometer and flow particles. Polling remains the fallback.
  • Dashboard localized into 42 languages with a flag language selector in the
    top bar (omniglyph_lang cookie, falling back to OMNIGLYPH_LANG/LC_ALL/
    LANG, English fail-closed). RTL locales (ar, fa, he, ur) render
    mirrored.
  • Accessibility pass: skip-link, nav landmarks, focus-visible rings, an
    aria-live odometer, consolidated prefers-reduced-motion, and AA contrast.

Changed

  • Every dashboard percentage still derives from the cache-weighted pair and a
    weighted net loss renders as a loss — the same honesty invariant as before,
    now applied across the KPI grid, flow ribbon and telemetry.

Docs

  • README gains a dashboard section (with screenshots) and an
    Acknowledgments section crediting the upstream context-as-image discovery
    and the Spleen/Unifont typefaces; both translated across the 41 locale
    READMEs. New library-use and FAQ sections; refreshed ROADMAP, llm.txt and
    wiki.

OmniGlyph 1.0.2

Choose a tag to compare

@diegosouzapw diegosouzapw released this 08 Jul 13:06

Release-automation only. No change to the package's code or behavior.

Changed

  • Releases now publish from GitHub Actions via npm trusted publishing (OIDC), so every release carries provenance and no long-lived npm token is used.
  • Each release is also mirrored to GitHub Packages as @diegosouzapw/omniglyph (the npmjs.com package stays unscoped omniglyph).

Install: npm install -g omniglyph

OmniGlyph 1.0.1

Choose a tag to compare

@diegosouzapw diegosouzapw released this 08 Jul 12:38

Security and documentation release. No behavior change to the compression path.

Security

  • All CodeQL code-scanning alerts resolved (22 → 0). Regex-heavy hot paths rewritten to run in linear time (tag sniffer + <env> extraction via indexOf; trailing-slash/space strips and variant-tag stripping as linear scans). Two time-of-check/time-of-use file reads closed (export-collect.ts and the reflow corpus reader now fstat the same fd they read). Automatic-semicolon-insertion hazard fixed in render.ts.

Docs

  • Documentation translated into 41 languages under docs/i18n/, with a localized CLI --help via OMNIGLYPH_LANG. English remains the source of truth.
  • Visual benchmark explainers: text-vs-image token bars, the patch grid the API bills, the cost×accuracy frontier, and the three-outcome scoring legend.
  • Standard community-health files (issue/PR templates, CODEOWNERS, FUNDING) and AI-assistant contributor guides (AGENTS.md, CLAUDE.md, GEMINI.md).

Install: npm install -g omniglyph

OmniGlyph 1.0.0

Choose a tag to compare

@diegosouzapw diegosouzapw released this 08 Jul 00:02

[1.0.0] — 2026-07-07

First public release.

The product

  • Context-as-image compression proxy: rewrites the bulky parts of each LLM
    request (system prompt, tool docs, old history, large tool outputs) into dense
    1-bit PNG pages before they leave your machine. Local Node server and
    Cloudflare Workers host.
  • Exact per-provider billing math (src/core/): Anthropic 28px patches +
    3–4 tokens/block overhead (own sweep, zero residual), OpenAI and Gemini
    formulas audited against official docs. Exported at the package root
    (anthropicImageTokens, resolveAnthropicVisionTier, tier caps).
  • Measured production render config: dense 1-bit glyph atlas (no
    anti-aliasing), standard-tier pages — every choice backed by a benchmark
    receipt in benchmarks/*/results/.
  • Benchmark harnesses (benchmarks/): billing-sweep (token accounting) and
    density-frontier (read-accuracy frontier across models/densities), re-runnable
    via API, OpenRouter, Claude Code CLI, or through OmniRoute
    (--via-omniroute).
  • Refusal retry: SSE/JSON sniffer replays the original request when a model
    refuses the rendered page (kill switch retryRefusalWithOriginal).
  • LRU render cache for deterministic pages.
  • OmniRoute engine: ships as the omniglyph compression engine in
    OmniRoute (single mode and
    stacked pipeline), with fail-closed gates and image-aware token accounting.

The numbers (all reproducible)

  • Sample UI render: 1015 chars → 438×120 PNG, 254 → 84 tokens (66.9% saved).
  • Standard page 1568×728 = 1456 image tokens regardless of how much text it holds.
  • Claude reads dense 1-bit pages at 100% on production density; Opus 4.8 reads
    77–87% at 10×16.

Negative decisions (measured, not opinions)

  • High-res tier is a billing trap: the 1928² page is billed WYSIWYG but the
    encoder does not receive full resolution — both tiers render standard pages.
  • GPT-5.5 rejected: 0/60 reads of the dense strip and ~40× completion
    inflation vs text control.
  • gpt-4o-mini never imaged (2833/5667 token floor makes it unprofitable).
  • Gemini 2.5-flash confabulates instead of abstaining on dense pages
    (0/26) — pending paid-quota retest.