Skip to content

I4cTime/quantum_ring

v0.13.0 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 16d Secrets & Credentials
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 1 known CVE

Topics

ai-agents claude-code cursor keyring mcp mcp-server
+2 more
secrets-management security

Affected surfaces

deps breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 11d

v0.13.0 mandates `--yes` to bypass confirmation prompts on destructive CLI operations, breaking existing scripts.

Why it matters: Scripts that automate destructive CLI commands (delete, forget --all, teleport unpack, wizard, env:generate -o) will fail unless updated to include the `--yes` flag; adopt this change before running such automation.

Summary

AI summary

Confirmation prompts now required on destructive CLI operations; add --yes to bypass.

Changes in this release

Security Critical

Fixes GHSA-h67p-54hq-rp68 js-yaml DoS vulnerability by overriding to >=4.2.0 (resolved as 4.3.0).

Fixes GHSA-h67p-54hq-rp68 js-yaml DoS vulnerability by overriding to >=4.2.0 (resolved as 4.3.0).

Source: llm_adapter@2026-07-15

Confidence: high

Breaking High

Breaks scripts relying on unconfirmed destructive CLI operations; now requires `--yes` to bypass confirmation prompts.

Breaks scripts relying on unconfirmed destructive CLI operations; now requires `--yes` to bypass confirmation prompts.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds `qring has <key>` script‑friendly existence check (exit 0/1, supports `--quiet` and `--json`).

Adds `qring has <key>` script‑friendly existence check (exit 0/1, supports `--quiet` and `--json`).

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds Claude Code plugin as installable via marketplace (`/plugin marketplace add I4cTime/quantum_ring`).

Adds Claude Code plugin as installable via marketplace (`/plugin marketplace add I4cTime/quantum_ring`).

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds `--json` support to ~20 additional CLI commands, making them scriptable.

Adds `--json` support to ~20 additional CLI commands, making them scriptable.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds `qring doctor` one‑shot diagnostic tool (checks keyring backend, audit‑dir integrity, config validity, policy, MCP binary).

Adds `qring doctor` one‑shot diagnostic tool (checks keyring backend, audit‑dir integrity, config validity, policy, MCP binary).

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds shell‑completion scripts for bash, zsh, and fish generated from the live command tree.

Adds shell‑completion scripts for bash, zsh, and fish generated from the live command tree.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds dashboard entanglement graph (SVG node/edge view of secrets) and audit‑chain badge showing hash‑chain integrity.

Adds dashboard entanglement graph (SVG node/edge view of secrets) and audit‑chain badge showing hash‑chain integrity.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Medium

Adds tag‑driven release automation (`pnpm run release:prepare`) that bumps version, syncs manifests, updates CHANGELOG, and runs parity guard before publishing.

Adds tag‑driven release automation (`pnpm run release:prepare`) that bumps version, syncs manifests, updates CHANGELOG, and runs parity guard before publishing.

Source: llm_adapter@2026-07-15

Confidence: high

Feature Low

Adds CI smoke tests that verify the built `qring` binary and MCP handshake after each build.

Adds CI smoke tests that verify the built `qring` binary and MCP handshake after each build.

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Performance Low

Moves `pnpm audit` off the blocking CI path into a non‑blocking job.

Moves `pnpm audit` off the blocking CI path into a non‑blocking job.

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Bugfix Medium

Fixes `qring set <key>` hanging when piping a value (reads stdin to EOF for non‑TTY).

Fixes `qring set <key>` hanging when piping a value (reads stdin to EOF for non‑TTY).

Source: llm_adapter@2026-07-15

Confidence: high

Refactor Medium

Centralizes CLI error handling to print one‑line messages; full stack trace available via QRING_DEBUG=1.

Centralizes CLI error handling to print one‑line messages; full stack trace available via QRING_DEBUG=1.

Source: granite4.1:30b@2026-07-15-audit

Confidence: low

Full changelog

Dependencies

  • Fixed GHSA-h67p-54hq-rp68 (js-yaml quadratic-complexity DoS, dev-scope via eslint) with a js-yaml >=4.2.0 override — resolves to 4.3.0.
  • Majors: commander 14→15 (CLI verified end-to-end), eslint 9→10 (three findings from newly-default rules fixed in code), @types/node 25→26; GitHub Actions checkout v7, setup-node v6, pnpm/action-setup v6, codeql-action v4.
  • Minors: in-range pnpm update across prod + dev deps; vite pin 8.0.16→8.1.4.

Added

  • qring has <key> — script-friendly existence check (exit 0 if present, 1 if not; --quiet for exit-code-only, honors --json). Decay-aware like the MCP has_secret tool, closing the last MCP→CLI parity gap.
  • Claude Code plugin is now a real installable plugin — added claude-code-plugin/.claude-plugin/plugin.json and a repo-root .claude-plugin/marketplace.json, so it installs via /plugin marketplace add I4cTime/quantum_ring + /plugin install qring@q-ring instead of file copying. Plugin components (agents/commands/skills/hooks) moved from claude-code-plugin/.claude/ to the plugin root to match the Claude Code plugin format; hooks are wired via hooks/hooks.json (${CLAUDE_PLUGIN_ROOT}) for plugin installs and .claude/settings.json for project-scoped sync installs. sync-versions now stamps both new manifests.
  • CONTRIBUTING.md — dev environment, branch/commit conventions, and the list of files to keep in sync (parity doc, plugin manifests, dashboard client bundle).
  • Docker install instructions in the README for the MCP-server container path.
  • CI smoke tests — the built qring binary (--version, --help) and an MCP initialize handshake against dist/mcp.js now run in CI after the build.
  • --json is now honored by ~20 more commandslist, inspect, delete, import, audit, audit:verify, health, analyze, recall, check, env, validate (single/--all/--list-providers), rotate, tunnel list, hook list, approvals, scan, lint all emit { ok: true, data: … }, making the whole read surface scriptable. Previously only 4 commands supported the advertised global flag.
  • Confirmation prompts on destructive operationsdelete, forget --all, teleport unpack (overwriting existing keys), wizard (regenerating existing keys), and env:generate -o (existing file) now ask before proceeding. Pass -y/--yes to skip; non-interactive use without --yes errors instead of silently proceeding. Breaking for scripts that relied on unconfirmed qring delete/forget --all — add --yes.
  • Plugin skills are now generated from a single sourcecursor-plugin/skills/*/SKILL.md is canonical; scripts/plugin-generate-skills.mjs derives the Claude Code skills and Kiro steering files (pnpm run plugin:gen-skills). Reconciles the cosmetic drift that hand-copying had accumulated.
  • CI parity guard (pnpm run check:parity + a parity CI job) — fails when the three plugins' command/agent/skill sets diverge, doc'd MCP tool counts don't match the registered count (44), manifest versions drift from package.json, generated skills are stale, or the committed dashboard client bundle differs from a fresh build.
  • Cross-platform CI matrix (experimental, non-blocking) — macOS + Windows on Node 22, ubuntu on Node 24, and a Node 18 engines-floor leg (build + CLI smoke; vitest 4 needs Node 20+). Exercises the per-OS keyring backends for the first time.
  • qring doctor — one-shot install diagnosis: keyring-backend round-trip probe (the headless-Linux failure mode), audit-dir writability + hash-chain integrity, .q-ring.json validity, active policy, and qring-mcp on PATH. Supports --json; exits 1 on any failed check.
  • qring completion bash|zsh|fish — shell completion scripts generated from the live command tree, so they can never drift from the actual commands/flags.
  • Dashboard: entanglement graph — entangled secrets now render as an SVG node/edge graph (circular layout, up to 14 keys; falls back to the pair list beyond that), as the docs always advertised.
  • Dashboard: audit-chain badge — the Audit Log card shows hash-chain integrity live (same check as qring audit:verify), green when intact, red with the break position when tampered.
  • Tag-driven release automationpnpm run release:prepare <patch|minor|major|x.y.z> bumps the version, syncs all manifests, rolls the CHANGELOG, and runs the parity guard; pushing the v* tag then runs release.yml, which creates the GitHub Release (notes from the CHANGELOG) and chains the npm/MCP publish and Homebrew update via workflow_call. See docs/releasing.md.
  • Docsdocs/troubleshooting.md (keyring backends, MCP connection, approval gate, policy-root pinning, scripting gotchas, AGPL FAQ), per-editor quickstarts (docs/quickstart-{claude-code,cursor,kiro}.md), docs/releasing.md, and a docs index in the README.

Changed

  • CLI errors are now one-line messages instead of stack traces — a central handler catches errors thrown by any command (policy denials, keyring backend failures) and prints them in red; set QRING_DEBUG=1 for the full stack.
  • pnpm audit moved off the blocking CI path — it runs as a separate non-blocking job, so a freshly disclosed advisory in a transitive dependency no longer fails unrelated PRs.
  • npm publish now triggers on release: published (was created), so draft releases can no longer publish; mcp-publisher is pinned to v1.7.9 instead of latest; publish and Homebrew workflows gained concurrency guards.

Fixed

  • qring set <key> no longer hangs when the value is pipedpromptSecret reads stdin to EOF when it isn't a TTY (e.g. echo "$VALUE" | qring set KEY).
  • Homebrew formula test asserted the string "qring" in qring --version output, which prints only the bare version — brew test would have failed on every release. It now asserts the version string.
  • Status dashboard actually sends security headersContent-Security-Policy (default-deny, inline-only), X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: no-referrer (keeps the ?token= URL out of Referer headers), and Cache-Control: no-store on every response. Previously the page was CSP-compatible but no policy was enforced. Added tests for token auth (403) and the new headers.

Breaking Changes

  • Destructive operations (`delete`, `forget --all`, `teleport unpack`, `wizard` regen, `env:generate -o`) now require confirmation; scripts must pass `--yes` to skip.

Security Fixes

  • dep: GHSA-h67p-54hq-rp68 — fixed js-yaml quadratic‑complexity DoS by overriding to >=4.2.0 (resolved as 4.3.0)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track I4cTime/quantum_ring

Get notified when new releases ship.

Sign up free

About I4cTime/quantum_ring

Quantum-inspired keyring for AI coding agents. Secure secrets with superposition, entanglement, tunneling, and teleportation.

All releases →

Beta — feedback welcome: [email protected]