Releases: diegosouzapw/OmniGlyph
Releases · diegosouzapw/OmniGlyph
Release list
OmniGlyph 1.3.1
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 ownfeat(render)entry; the
two$0eval harnesses (eval/grok-density,eval/ab/guards-3arm) are
logged. The README gains an Opt-in flags note forOMNIGLYPH_GUARD_SECRETS,
OMNIGLYPH_KEEP_SYSTEM_TEXT, and the fail-closed Grok opt-in.
OmniGlyph 1.2.0
[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-anchoralert 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 withomniglyph 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
[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 —$0dry-runs stream their stdout live; live
runs stay gated behindANTHROPIC_API_KEYand 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_langcookie, falling back toOMNIGLYPH_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-liveodometer, consolidatedprefers-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.txtand
wiki.
OmniGlyph 1.0.2
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 unscopedomniglyph).
Install: npm install -g omniglyph
OmniGlyph 1.0.1
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 viaindexOf; trailing-slash/space strips and variant-tag stripping as linear scans). Two time-of-check/time-of-use file reads closed (export-collect.tsand the reflow corpus reader nowfstatthe same fd they read). Automatic-semicolon-insertion hazard fixed inrender.ts.
Docs
- Documentation translated into 41 languages under
docs/i18n/, with a localized CLI--helpviaOMNIGLYPH_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
[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 inbenchmarks/*/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 switchretryRefusalWithOriginal). - LRU render cache for deterministic pages.
- OmniRoute engine: ships as the
omniglyphcompression 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.