This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+11 more
Affected surfaces
ReleasePort's take
Light signalPOST /checkout/pro now mandates customer_email; missing email shows an interstitial. Stdio MCP server cleanly exits on stdin EOF, preventing orphaned processes.
Why it matters: Enforcing customer_email prevents zombie sessions for incomplete checkouts. Clean exit of the stdio MCP server averts resource leaks from orphaned processes.
Summary
AI summaryBroad release touches Patch Changes, Release Links, https://github.com/IgorGanapolsky, and Verification Standard.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Fail closed when live Stripe webhook processing is enabled without `STRIPE_WEBHOOK_SECRET`; unsigned webhooks are now test‑only opt‑in. Fail closed when live Stripe webhook processing is enabled without `STRIPE_WEBHOOK_SECRET`; unsigned webhooks are now test‑only opt‑in. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Medium |
Dashboard "Chat with your data" becomes intent‑aware, listing specific feedback items per time window. Dashboard "Chat with your data" becomes intent‑aware, listing specific feedback items per time window. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Feature | Low |
Local‑first dashboard chatbot now answers specific queries by scanning the local feedback log and listing recent mistakes/actions. Local‑first dashboard chatbot now answers specific queries by scanning the local feedback log and listing recent mistakes/actions. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Require customer_email on POSTs to /checkout/pro; missing email now triggers interstitial instead of zombie session. Require customer_email on POSTs to /checkout/pro; missing email now triggers interstitial instead of zombie session. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Stdio MCP server exits cleanly on stdin EOF/close, preventing orphaned processes. Stdio MCP server exits cleanly on stdin EOF/close, preventing orphaned processes. Source: llm_adapter@2026-06-05 Confidence: high |
— |
| Bugfix | Medium |
Fix "Chat with your data" for keyless local installs; regression test ensures metric questions work without cloud/model env vars. Fix "Chat with your data" for keyless local installs; regression test ensures metric questions work without cloud/model env vars. Source: granite4.1:30b@2026-06-05-audit Confidence: low |
— |
Full changelog
[email protected]
Release Links
- npm: https://www.npmjs.com/package/thumbgate/v/1.27.6
- GitHub Release: https://github.com/IgorGanapolsky/ThumbGate/releases/tag/v1.27.6
- Compare: https://github.com/IgorGanapolsky/ThumbGate/compare/v1.27.4...v1.27.6
- Publish workflow: https://github.com/IgorGanapolsky/ThumbGate/actions/runs/27034845413
- npm published at: 2026-06-05T19:11:19.761Z
- npm shasum:
d938a4de6faf27bcc30a9fec6fda26cc37654419 - npm tarball: https://registry.npmjs.org/thumbgate/-/thumbgate-1.27.6.tgz
- Release ref: b1e0d7cd51f46647bcd3919e05d2c8b394a810ed
npm Email Companion
npm controls the native "Successfully published" email template, so the email itself stays short. Treat this generated artifact as the full release-note companion for that email: it carries the Changeset summaries, CHANGELOG entry, publish workflow, npm tarball, and shasum when available.
Full Changeset Release Notes
No changed .changeset/*.md entries were detected for this release range.
CHANGELOG.md Entry
1.27.6
Patch Changes
-
#2505
4c24b82Thanks @IgorGanapolsky! - Fix /checkout/pro zombie sessions: require customer_email on POSTs. The earlier 401 fix unblocked POST traffic, but 3 of 4 fresh POST-flow sessions then reached Stripe with customer_email=null, creating un-recoverable zombie sessions (no email = no recovery campaign possible). Now POSTs without a customer_email query param fall through to the email-capture interstitial instead of auto-confirming. GET-with-confirm=1 behavior is unchanged. -
#2510
1d51f56Thanks @IgorGanapolsky! - dashboard: make "Chat with your data" intent-aware (lists, time windows, real listings)The local-first chat (#2501) routed every question to one of 5 canned per-topic
paragraphs — so "how many gates are activated today?" and "what mistakes were
blocked today?" both returned the sameActive gates: N. Blocked: M.line.
Two underlying bugs:- Classifier order —
/block/hijacked "what mistakes were blocked today" into
the gates topic. Feedback-specific words ("mistake", "lesson", "feedback",
"thumbs", "negative", "positive", "wins", "what went wrong") now run FIRST. - Section answers ignored intent — "what" got the same line as "how many", and
"today" was never filtered. Now the section builder parses intent
(wantsListvs count,windowMs: today/yesterday/this-week/this-month) and
reads the feedback log directly to list real mistakes/wins for the requested
window, instead of a canned all-time count.
Examples that now answer distinctly (all still local, no cloud):
- "how many mistakes today?" →
Feedback today: 3 (1 positive, 2 negative). - "what mistakes today?" → enumerated list of today's negative contexts.
- "show me wins this week" → enumerated list of positive entries from 7d.
- "what gates do we have?" → enumerated list of active gates with severity.
- Classifier order —
-
#2505
4c24b82Thanks @IgorGanapolsky! - Fix dashboard "Chat with your data" for keyless local installs: the exact metric question "how many mistakes were prevented today?" is now covered by the local-data regression test with every cloud/model env var removed, and the dashboard copy no longer implies Gemini/Perplexity keys are required for local answers. -
#2505
4c24b82Thanks @IgorGanapolsky! - Improve local-first dashboard chatbot to answer specific queries like "what mistakes did I make?" or "what mistakes were blocked today?" by scanning the local feedback log and listing the 5 most recent mistakes/actions instead of returning a generic summary. -
#2507
3e6ccb4Thanks @IgorGanapolsky! - fix(mcp): stdio server self-exits on stdin EOF/closestdio MCP server (adapters/mcp/server-stdio.js) now listens to stdin 'end' and 'close' events to exit the process with code 0 when the client disconnects. This prevents orphaned serve processes from accumulating on the host system.
-
#2512
deb3355Thanks @IgorGanapolsky! - Fail closed when live Stripe webhook processing is enabled withoutSTRIPE_WEBHOOK_SECRET; unsigned webhook parsing is now test-only opt-in.
Verification Standard
- Publish only runs from
mainafter version sync, tests, and runtime proof pass. - The npm package is smoke-tested after publish by installing
thumbgate@VERSIONin a clean runtime. - GitHub Release notes are generated from Changesets, not only GitHub auto-generated PR titles.
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
About IgorGanapolsky/mcp-memory-gateway
Pre-action gates that prevent AI coding agents from repeating known mistakes. Captures explicit feedback, auto-promotes failures into prevention rules, and enforces them via hooks.
Related context
Beta — feedback welcome: [email protected]