{"schema_version":1,"releases":[{"id":"2026-11-03-static-browsing","date":"2026-11-03","status":"upcoming","title":"Database-independent catalog browsing","components":{"api":"1.3.0","mcp":"1.3.1","sdk":"0.3.0","skill":"1.3.0","a2a":"1.0.0","website":"1.2.1","ucp":"1.0.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"API 1.3.0 adds default-off read-only UCP catalog POST operations. Existing HTTP GET, MCP and A2A contracts stay compatible. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged. /domains.json retains its wire schema but serves the deployed browsing snapshot; /api/domain and /api/purchase-options verify current terms.","mcp":"MCP 1.3.1 retains its four anonymous read-only tools and existing schemas. UCP shares their catalog authority without adding transactional tools. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged.","sdk":"SDK 0.3.0 adds typed UCP discovery/catalog reads and a local purchase-link helper. Existing methods remain compatible; both compatibility packages pin exactly 0.3.0. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged. getCatalog() retains its response type and reads the deployed snapshot; getDomain() and getPurchaseOptions() verify current terms.","skill":"Skill 1.3.0 adds UCP catalog and human checkout guidance while preserving MIT-0 and the existing HTTP/MCP/A2A fallback. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged.","a2a":"A2A 1.0.0 keeps the existing stateless JSON-RPC direct-Message profile and signed isolated acceptance evidence. No transport or admission behavior changes. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged.","website":"Website 1.2.1 serves deployed price schedules and availability snapshots without request-time D1 reads. Purchase actions retain fresh D1 checks and fail closed. Activation, withdrawal and availability display changes require a guarded rebuild and deployment.","ucp":"Application adapter 1.0.0 implements UCP protocol 2026-08-25 catalog search, lookup and permalink. No checkout, orders, identity or payment handlers. Production activation and real-platform acceptance remain pending. This browsing fix keeps this component version: dynamic operations retain fresh price and availability checks, and their schemas, methods, pins and skill bytes are unchanged."},"blog_source":"2026-11-03-static-browsing.md","changes":["Homepage, domain pages, Deals, numbered catalogs and JSON browsing catalogs remain available during a D1 outage.","A guarded build captures publication state and funded availability once; browsing reads only immutable deployed assets and the server clock.","Purchase actions, signed purchase recovery and dynamic HTTP/MCP/SDK catalog operations retain fresh D1 authority and existing funding and revision fences.","Publication changes require a new browsing snapshot; the upload guard rejects a snapshot whose publication state changed during the build.","The earlier UCP candidate remains pending with its evidence and activation gates preserved. This fix neither activates UCP nor publishes new package or skill bytes.","Open Deals pages refresh their price-drop collection from the browsing snapshot, avoiding D1 reads at the one-minute refresh boundary.","Search honors D1 failure backoff and reconciles an unchanged browsing snapshot once. Deploy preflight verifies D1 credentials and read access before claiming the project."],"links":{},"publication":{"ucp":{"verified":false,"pending":"Isolated TEST rollout is authorized. Verify its installed bindings and native counters. Select a reviewed real platform, verify production network isolation and exact route/rate protection, and establish genuine interoperability before production activation.","capacity":{"verified":false,"active_legacy_catalog_reads_per_minute":120,"candidate_ucp_admissions_per_minute":120,"candidate_combined_catalog_reads_per_minute":240,"pending":"Source-only candidate ceiling, not a capacity certification. UCP admission separation does not isolate the shared offers database. Before activation, accept measured combined-load checkout/D1 latency and Worker CPU evidence, or reduce and review the candidate UCP budget. Production UCP flags remain off; the active ceiling remains 120. Isolated TEST flags do not authorize production activation."}},"npm":{"verified":false,"pending":"Local candidate 0.3.0 is not published."},"clawhub":{"verified":false,"pending":"Candidate skill 1.3.0 has not been scanned or anonymously installed."},"skills_sh":{"verified":false,"pending":"Verify skill 1.3.0 exact bytes in the skills.sh listing preview and ordinary anonymous install. This carries the older newsletter release listing-preview gate; its 1.2.0 evidence remains archived and unverified preview is not certified by newer bytes.","carried_from":["2026-10-28-blog-newsletter"]},"website":{"verified":false,"pending":"Verify the guarded deployment and served static browsing fix after merge. Outage acceptance uses only local synthetic storage."},"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false}},"skill_sha256":"c6bd1d797e398fcd1daca7b2ea87bd30ca8df9eea7b784f73748fd4bcfd9020a","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"pending_releases":["2026-10-31-ucp-catalog-handoff"],"ucp":{"protocol":"2026-08-25","profile":"/.well-known/ucp","endpoint":"/api/ucp","permalink":"/ucp/buy","capabilities":["dev.ucp.shopping.catalog.search","dev.ucp.shopping.catalog.lookup","dev.ucp.shopping.permalink"],"operations":[{"path":"/api/ucp/catalog/search","capability":"dev.ucp.shopping.catalog.search","sdk":"searchUcpCatalog"},{"path":"/api/ucp/catalog/lookup","capability":"dev.ucp.shopping.catalog.lookup","sdk":"lookupUcpCatalog"},{"path":"/api/ucp/catalog/product","capability":"dev.ucp.shopping.catalog.lookup","sdk":"getUcpProduct"}]}},{"id":"2026-10-31-ucp-catalog-handoff","date":"2026-10-31","status":"upcoming","title":"UCP catalog search, lookup and buyer checkout handoff","components":{"api":"1.3.0","mcp":"1.3.1","sdk":"0.3.0","skill":"1.3.0","a2a":"1.0.0","website":"1.2.0","ucp":"1.0.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"API 1.3.0 adds default-off read-only UCP catalog POST operations. Existing HTTP GET, MCP and A2A contracts stay compatible.","mcp":"MCP 1.3.1 retains its four anonymous read-only tools and existing schemas. UCP shares their catalog authority without adding transactional tools.","sdk":"SDK 0.3.0 adds typed UCP discovery/catalog reads and a local purchase-link helper. Existing methods remain compatible; both compatibility packages pin exactly 0.3.0.","skill":"Skill 1.3.0 adds UCP catalog and human checkout guidance while preserving MIT-0 and the existing HTTP/MCP/A2A fallback.","a2a":"A2A 1.0.0 keeps the existing stateless JSON-RPC direct-Message profile and signed isolated acceptance evidence. No transport or admission behavior changes.","website":"Website 1.2.0 adds a default-off single-domain purchase-link resolver. The buyer still chooses and completes the existing checkout.","ucp":"Application adapter 1.0.0 implements UCP protocol 2026-08-25 catalog search, lookup and permalink. No checkout, orders, identity or payment handlers. Production activation and real-platform acceptance remain pending."},"blog_source":"2026-10-31-ucp-catalog-handoff.md","changes":["Read-only UCP search, batch lookup and product lookup share current catalog price and availability checks.","Single-domain shopping links hand buyers to Namegarage to review current terms and complete checkout.","Signed local reference-client acceptance uses synthetic storage and profiles, with all live downstream access refused.","Production gates remain off and the platform-profile allowlist remains empty. Genuine platform interoperability, deployment and distribution are unverified.","The earlier newsletter source release is explicitly superseded with its exact-version evidence retained. Its unverified skills.sh listing-preview gate carries into this release; neither version is marked complete.","Readiness fixes accept exact advertised platform profile paths, distinguish recoverable expired cursors, bound configuration, preserve peer backoff semantics and document both inactive and UCP 404 bodies. Activation and publication remain pending.","Configure the authorized isolated TEST limiter and signed fixture facade with separate native counter namespaces. Production limiting and activation remain disabled; existing WAF rate rules stay unchanged and hosted acceptance requires separate evidence.","Prepare a separate UCP-only admission database and checked worst-case per-client charge bound. Existing HTTP/MCP/A2A budgets remain unchanged; production UCP provisioning and activation stay disabled."],"links":{},"publication":{"ucp":{"verified":false,"pending":"Isolated TEST rollout is authorized. Verify its installed bindings and native counters. Select a reviewed real platform, verify production network isolation and exact route/rate protection, and establish genuine interoperability before production activation.","capacity":{"verified":false,"active_legacy_catalog_reads_per_minute":120,"candidate_ucp_admissions_per_minute":120,"candidate_combined_catalog_reads_per_minute":240,"pending":"Source-only candidate ceiling, not a capacity certification. UCP admission separation does not isolate the shared offers database. Before activation, accept measured combined-load checkout/D1 latency and Worker CPU evidence, or reduce and review the candidate UCP budget. Production UCP flags remain off; the active ceiling remains 120. Isolated TEST flags do not authorize production activation."}},"npm":{"verified":false,"pending":"Local candidate 0.3.0 is not published."},"clawhub":{"verified":false,"pending":"Candidate skill 1.3.0 has not been scanned or anonymously installed."},"skills_sh":{"verified":false,"pending":"Verify skill 1.3.0 exact bytes in the skills.sh listing preview and ordinary anonymous install. This carries the older newsletter release listing-preview gate; its 1.2.0 evidence remains archived and unverified preview is not certified by newer bytes.","carried_from":["2026-10-28-blog-newsletter"]},"website":{"verified":false,"pending":"Default-off sources only. No production deployment."},"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false}},"skill_sha256":"c6bd1d797e398fcd1daca7b2ea87bd30ca8df9eea7b784f73748fd4bcfd9020a","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"pending_releases":[],"ucp":{"protocol":"2026-08-25","profile":"/.well-known/ucp","endpoint":"/api/ucp","permalink":"/ucp/buy","capabilities":["dev.ucp.shopping.catalog.search","dev.ucp.shopping.catalog.lookup","dev.ucp.shopping.permalink"],"operations":[{"path":"/api/ucp/catalog/search","capability":"dev.ucp.shopping.catalog.search","sdk":"searchUcpCatalog"},{"path":"/api/ucp/catalog/lookup","capability":"dev.ucp.shopping.catalog.lookup","sdk":"lookupUcpCatalog"},{"path":"/api/ucp/catalog/product","capability":"dev.ucp.shopping.catalog.lookup","sdk":"getUcpProduct"}]}},{"id":"2026-10-28-blog-newsletter","date":"2026-10-28","status":"superseded","title":"Confirmed blog subscriptions and daily email delivery","components":{"api":"1.2.1","mcp":"1.3.1","sdk":"0.2.0","skill":"1.2.0","a2a":"1.0.0","website":"1.1.1"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"API 1.2.1 retains the corrected application/json OpenAPI discovery links, anonymous catalog GET contracts and read-only A2A adapter. Newsletter signup and signed email actions are separate website flows, not catalog capabilities.","mcp":"MCP 1.3.1 retains the same four tools, inputs, outputs and anonymous read-only boundary.","sdk":"SDK 0.2.0 and both exact compatibility aliases remain unchanged. Source coordination metadata tracks this release; immutable npm archives and the v0.2.0 tag retain their original catalog-parity metadata and are not republished.","skill":"Skill 1.2.0 retains the same reviewed A2A/MCP/HTTP instructions, exact SHA-256 and MIT-0 license. Only source coordination metadata changes; published tags and installs remain immutable.","a2a":"A2A 1.0.0 keeps the existing stateless JSON-RPC direct-Message profile and signed isolated acceptance evidence. No transport or admission behavior changes.","website":"Website 1.1.1 captures consented Google or first-party blog signup requests, requires intentional email confirmation, delivers untracked daily digests through Resend and provides permanent blog-only unsubscribe. Reader prompts remain separately opted in; podcasts remain excluded."},"blog_source":"2026-10-28-blog-newsletter.md","changes":["Connect the optional Google newsletter intervention to server-verified capture and offer a matching first-party signup page.","Show inline email-format errors and optional typo corrections on blog signup; reject unreachable mail domains before verification while allowing DNS failures through.","Show the email signup link in the initial blog article HTML; check subscription availability on the signup page.","Require email confirmation before enrollment, deliver one digest per day for newly published blog posts, and honor permanent blog-only unsubscribe.","Use domain-restricted Resend delivery with durable send claims, signed receipts, bounded free-plan capacity, operational alerts and isolated marked rehearsals.","Privacy v21 explains email and consent storage, untracked Resend delivery, private Google exports and pending/stopped-address retention.","Keep catalog API, MCP, SDK, skills and A2A contracts and immutable package versions unchanged; carry forward the pending skills.sh listing-preview acceptance."],"links":{"A2A guide":"https://namegarage.com/docs/a2a","Agent Card":"https://namegarage.com/.well-known/agent-card.json","SDK source":"https://github.com/namegarage/sdk/releases/tag/v0.2.0","Skill source":"https://github.com/namegarage/skills/releases/tag/v1.2.0","ClawHub skill":"https://clawhub.ai/namegarage/skills/catalog","skills.sh listing":"https://www.skills.sh/namegarage/skills/catalog"},"publication":{"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false},"npm":{"verified":true,"version":"0.2.0","packages":["@namegarage/sdk","namegarage","namegarage-sdk"],"acceptance":"Public archive integrity and reviewed runtime/types match; ordinary anonymous installation, 23 injected-provider consumer tests and ESM/CommonJS aliases passed. Existing immutable packages retained."},"clawhub":{"verified":true,"version":"1.2.0","license":"MIT-0","scan_status":"clean","anonymous_install":true,"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c"},"skills_sh":{"verified":false,"listing_status":200,"anonymous_install":true,"pinned_tag_install":true,"listing_default_install":true,"installed_skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","preview_current":false,"pending":"The listing still renders the previous skill snapshot. Both its default install command and the v1.2.0 tag deliver the reviewed current bytes. Announcement and final release completion remain pending preview refresh.","upstream_reports":["https://github.com/vercel-labs/skills/issues/780","https://github.com/vercel-labs/skills/issues/1769"],"carried_from":["2026-10-28-openapi-media-type"]},"website":{"verified":true,"version":"1.1.1","acceptance":"2026-10-29 UTC: verified signed isolated capture, intentional confirmation, article digest, permanent opt-out, signed delivery and bounce receipts, suppression, quota deferral and marked operations alert. Confirmation and digest reached the operator Inbox with SPF, DKIM and DMARC passing; production records remained separate.","previous_verified_release":"2026-10-28-reader-experience","deployment_url":"https://namegarage.com","deployment_commit":"db7e85b50aa3b00ac6942de83ada2e6b0425d4b2","verified_at":"2026-10-29T05:11:40.214712+00:00","privacy_version":"21.0","privacy_source_sha256":"16ee97663b8c5b0df64e002be9103aa4901775ef4571c003d5977b4fb764bccf","carried_from":["2026-10-28-openapi-media-type"]}},"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"previous_status":"upcoming","superseded_by":"2026-10-31-ucp-catalog-handoff","supersession_reason":"Retain this release and its exact-version publication evidence without claiming completion. Carry the unverified skills.sh listing-preview gate into the coordinated UCP release, whose skill preserves the newsletter/A2A guidance. Newer listing bytes do not certify skill 1.2.0."},{"id":"2026-10-28-openapi-media-type","date":"2026-10-28","status":"superseded","title":"Consistent OpenAPI catalog media types","components":{"api":"1.2.1","mcp":"1.3.1","sdk":"0.2.0","skill":"1.2.0","a2a":"1.0.0","website":"1.1.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"API 1.2.1 corrects the RFC 9727 service-desc media type for every link to /openapi.json to application/json, matching its existing response Content-Type. Anonymous operations, URLs and response schemas remain compatible.","mcp":"MCP 1.3.1 keeps its four tool contracts, transport and server-card document unchanged. This correction affects OpenAPI discovery links only.","sdk":"SDK 0.2.0 and its exact compatibility-package pins stay unchanged and immutable. The client does not consume the API catalog media-type hint; methods, types and response handling remain compatible. Source release.json records this API patch without republishing package versions.","skill":"Skill 1.2.0 and its MIT-0 canonical artifact retain identical bytes and existing installation commands. Public capabilities and privacy guidance are unchanged. Source release.json records this API patch; inherited directory acceptance remains explicit.","a2a":"A2A 1.0.0 retains its independent stateless JSON-RPC 1.0 direct-Message profile and read-only selection behavior.","website":"Website 1.1.0 remains the staged newsletter component for consented signup, intentional email confirmation, untracked daily digests and permanent blog-only unsubscribe. Public bridge activation and verification remain pending. Reader prompts stay separately opted in and podcasts excluded. This API discovery correction activates no reader or email flow."},"blog_source":"2026-10-28-consistent-openapi-media-types.md","changes":["Make all five RFC 9727 catalog links to /openapi.json advertise application/json, matching the served document.","Share one Python media-type value and verify generated middleware GET, HEAD and 304 responses with MCP discovery enabled and disabled.","Keep MCP, SDK, skill and A2A versions unchanged; carry the staged Website 1.1.0 newsletter candidate from sibling source records, advancing the service record from Website 1.0.0.","Preserve the staged Website 1.1.0 newsletter candidate and inherited skills.sh listing-preview gap without marking the combined release complete or activating reader flows."],"links":{"A2A guide":"https://namegarage.com/docs/a2a","Agent Card":"https://namegarage.com/.well-known/agent-card.json","SDK source":"https://github.com/namegarage/sdk/releases/tag/v0.2.0","Skill source":"https://github.com/namegarage/skills/releases/tag/v1.2.0","ClawHub skill":"https://clawhub.ai/namegarage/skills/catalog","skills.sh listing":"https://www.skills.sh/namegarage/skills/catalog"},"publication":{"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false},"npm":{"verified":true,"version":"0.2.0","packages":["@namegarage/sdk","namegarage","namegarage-sdk"],"acceptance":"Public archive integrity and reviewed runtime/types match; ordinary anonymous installation, 23 injected-provider consumer tests and ESM/CommonJS aliases passed. Existing immutable packages retained."},"clawhub":{"verified":true,"version":"1.2.0","license":"MIT-0","scan_status":"clean","anonymous_install":true,"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c"},"skills_sh":{"verified":false,"listing_status":200,"anonymous_install":true,"pinned_tag_install":true,"listing_default_install":true,"installed_skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","preview_current":false,"pending":"The listing still renders the previous skill snapshot. Both its default install command and the v1.2.0 tag deliver the reviewed current bytes. Announcement and final release completion remain pending preview refresh.","upstream_reports":["https://github.com/vercel-labs/skills/issues/780","https://github.com/vercel-labs/skills/issues/1769"],"carried_from":["2026-10-28-reader-experience"]},"website":{"verified":false,"version":"1.1.0","pending":"The inactive newsletter backend and staged Privacy v21 are merged. Public signup bridge, runtime activation and end-to-end publication acceptance remain pending in the newsletter rollout.","previous_verified_release":"2026-10-28-reader-experience"}},"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"previous_status":"upcoming","superseded_by":"2026-10-28-blog-newsletter"},{"id":"2026-10-28-reader-experience","date":"2026-10-28","status":"superseded","title":"Google preferred-source popup and free reader signup","components":{"api":"1.2.0","mcp":"1.3.1","sdk":"0.2.0","skill":"1.2.0","a2a":"1.0.0","website":"1.0.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"API 1.2.0 keeps the existing anonymous catalog GET contracts and read-only A2A adapter; this release changes only the website reader experience.","mcp":"MCP 1.3.1 retains the same four tools, inputs, outputs and anonymous read-only boundary.","sdk":"SDK 0.2.0 and both exact compatibility aliases remain unchanged. Source coordination metadata tracks this release; immutable npm archives and the v0.2.0 tag retain their original catalog-parity metadata and are not republished.","skill":"Skill 1.2.0 retains exactly the reviewed A2A/MCP/HTTP instructions and SHA-256. Update source coordination metadata only; preserve immutable tags, installs and MIT-0.","a2a":"A2A 1.0.0 keeps the existing stateless JSON-RPC direct-Message profile and its signed isolated acceptance evidence. No transport or admission behavior changes.","website":"Website 1.0.0 is the first separately tracked reader-experience component: native Google preferred-source popup on explicit blog follow clicks, plus the separately activated free newsletter CTA. Podcasts stay excluded."},"blog_source":"2026-10-28-google-preferred-source-popup.md","changes":["Invoke Google's official preferred-source client from the existing blog toolbar, keeping a safe fallback and loading nothing on idle visits.","Activate the separate free newsletter signup in Publisher Center with required consent and no required name field.","Keep API, MCP, SDK, skill and A2A contracts and immutable package versions unchanged; coordinate their source release records under this new ID.","Carry forward the pending A2A/catalog candidate and its unresolved skills.sh listing-preview acceptance without marking it complete.","Privacy v20 explains the click-triggered Google client and service measurement; retained audio navigation mounts the same local handler."],"links":{"A2A guide":"https://namegarage.com/docs/a2a","Agent Card":"https://namegarage.com/.well-known/agent-card.json","SDK source":"https://github.com/namegarage/sdk/releases/tag/v0.2.0","Skill source":"https://github.com/namegarage/skills/releases/tag/v1.2.0","ClawHub skill":"https://clawhub.ai/namegarage/skills/catalog","skills.sh listing":"https://www.skills.sh/namegarage/skills/catalog"},"publication":{"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false},"npm":{"verified":true,"version":"0.2.0","packages":["@namegarage/sdk","namegarage","namegarage-sdk"],"acceptance":"Public archive integrity and reviewed runtime/types match; ordinary anonymous installation, 23 injected-provider consumer tests and ESM/CommonJS aliases passed. Existing immutable packages retained."},"clawhub":{"verified":true,"version":"1.2.0","license":"MIT-0","scan_status":"clean","anonymous_install":true,"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c"},"skills_sh":{"verified":false,"listing_status":200,"anonymous_install":true,"pinned_tag_install":true,"listing_default_install":true,"installed_skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","preview_current":false,"pending":"The listing still renders the previous skill snapshot. Both its default install command and the v1.2.0 tag deliver the reviewed current bytes. Announcement and final release completion remain pending preview refresh.","upstream_reports":["https://github.com/vercel-labs/skills/issues/780","https://github.com/vercel-labs/skills/issues/1769"],"carried_from":["2026-10-27-a2a-concierge"]},"website":{"verified":true,"version":"1.0.0","verified_at":"2026-10-28T19:34:26.388225+00:00","deployment_commit":"29b8e12c50d65c81805a2694e25d328565de5259","deployment_url":"https://namegarage.com","privacy_version":"20.0","privacy_source_sha256":"16ae73668f0f3706a2e1a08eacc8165a2778a55fb77c33b3c3c64ee478913a58","acceptance":"Production loader bytes, CSP, notice, privacy archives and comparisons verified. Real Google client first/repeat activations rehearsed offline with every request intercepted. Reader selection, signup capture and email delivery remain separate."}},"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"previous_status":"upcoming","superseded_by":"2026-10-28-openapi-media-type"},{"id":"2026-10-27-a2a-concierge","date":"2026-10-27","status":"superseded","title":"Read-only A2A domain selection and catalog parity","components":{"api":"1.2.0","mcp":"1.3.1","sdk":"0.2.0","skill":"1.2.0","a2a":"1.0.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"Adds the anonymous A2A adapter; existing catalog GET operations and schemas stay compatible.","mcp":"MCP 1.3.1 and its four existing tools keep their current contracts.","sdk":"SDK 0.2.0 and both exact aliases remain compatible and immutable. A2A is an independent transport; no SDK method changes. Source coordination metadata tracks this release while existing npm/tag bytes remain those published for catalog parity.","skill":"Skill 1.2.0 adds read-only A2A selection with anonymous MCP/HTTP fallbacks; MIT-0 remains unchanged.","a2a":"First application release, using the A2A 1.0 stateless JSON-RPC direct-Message profile."},"blog_source":"2026-10-27-a2a-domain-selection-concierge.md","changes":["HTTP counterparts for all four public MCP tools, including published descriptions and potential uses.","Typed SDK methods and one matching catalog skill artifact.","A separate developer changelog and required release coordination.","Read-only anonymous A2A domain-selection concierge with strict typed constraints and no task persistence.","Supersedes the pending catalog-parity candidate, including all outstanding publication acceptance.","Preserve anonymous standard Python client access to the public read-only RPC origins without changing WAF or admission limits."],"links":{"A2A guide":"https://namegarage.com/docs/a2a","Agent Card":"https://namegarage.com/.well-known/agent-card.json","SDK source":"https://github.com/namegarage/sdk/releases/tag/v0.2.0","Skill source":"https://github.com/namegarage/skills/releases/tag/v1.2.0","ClawHub skill":"https://clawhub.ai/namegarage/skills/catalog","skills.sh listing":"https://www.skills.sh/namegarage/skills/catalog"},"publication":{"a2a":{"verified":true,"endpoint":"https://namegarage.com/api/a2a","protocol":"1.0","acceptance":"Signed isolated fake-provider selection passed with HTTPX and default Python urllib; card and guide GET/HEAD/304 canonical headers verified.","production_enabled":true,"preview_enabled":false},"npm":{"verified":true,"version":"0.2.0","packages":["@namegarage/sdk","namegarage","namegarage-sdk"],"acceptance":"Public archive integrity and reviewed runtime/types match; ordinary anonymous installation, 23 injected-provider consumer tests and ESM/CommonJS aliases passed. Existing immutable packages retained."},"clawhub":{"verified":true,"version":"1.2.0","license":"MIT-0","scan_status":"clean","anonymous_install":true,"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c"},"skills_sh":{"verified":false,"listing_status":200,"anonymous_install":true,"pinned_tag_install":true,"listing_default_install":true,"installed_skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","preview_current":false,"pending":"The listing still renders the previous skill snapshot. Both its default install command and the v1.2.0 tag deliver the reviewed current bytes. Announcement and final release completion remain pending preview refresh.","upstream_reports":["https://github.com/vercel-labs/skills/issues/780","https://github.com/vercel-labs/skills/issues/1769"]}},"skill_sha256":"b97307b2060bcf7e2e15682c16b4cadd1e00822df438c835ce30a4976e1e6b4c","adapters":[{"id":"a2a","component":"a2a","endpoint":"/api/a2a","card":"/.well-known/agent-card.json","protocol":"1.0","skill":"select_domains","uses":["search_domains"]}],"previous_status":"upcoming","superseded_by":"2026-10-28-reader-experience"},{"id":"2026-10-27-catalog-parity","date":"2026-10-27","status":"superseded","title":"Catalog capability parity across HTTP, MCP, SDK and skills","components":{"api":"1.1.0","mcp":"1.3.1","sdk":"0.2.0","skill":"1.1.0"},"capabilities":[{"tool":"search_domains","http":"/api/search","sdk":"searchDomains","summary":"Search published domains"},{"tool":"get_domain","http":"/api/domain","sdk":"getDomain","summary":"Look up a published domain"},{"tool":"get_purchase_options","http":"/api/purchase-options","sdk":"getPurchaseOptions","summary":"Compare outright and lease-to-own options"},{"tool":"suggest_alternatives","http":"/api/alternatives","sdk":"suggestAlternatives","summary":"Find published alternatives"}],"compatibility":{"api":"Adds exact lookup, payment options and alternatives GET routes; existing search/catalog remain compatible.","mcp":"Retains MCP 1.3 published descriptions and potential uses while sharing its four read-only operations with HTTP; wire protocol unchanged.","sdk":"Adds typed lookup, payment-option and alternatives methods without changing existing catalog/search methods.","skill":"Documents the four public capabilities, interface selection, privacy and purchase handoff."},"blog_source":"2026-10-27-catalog-api-sdk-skill-release.md","changes":["HTTP counterparts for all four public MCP tools, including published descriptions and potential uses.","Typed SDK methods and one matching catalog skill artifact.","A separate developer changelog and required release coordination."],"links":{},"publication":{},"skill_sha256":"0d2a6628e46fe15c156bdd29fe2171ebafbdc955cfb5ea0c407de2fcf42b10b7","previous_status":"upcoming","superseded_by":"2026-10-27-a2a-concierge"},{"id":"2026-10-27-catalog-directories","date":"2026-10-27","status":"published","title":"Public SDK and catalog skill distribution","components":{"api":"1.0.0","mcp":"1.2.0","sdk":"0.1.0","skill":"1.0.0"},"changes":["Published the JavaScript/TypeScript catalog and search client.","Published the catalog skill on ClawHub and skills.sh."],"links":{"SDK source":"https://github.com/namegarage/sdk/releases/tag/v0.1.0","Skill source":"https://github.com/namegarage/skills/releases/tag/v1.0.0","Catalog skill":"https://clawhub.ai/namegarage/skills/catalog"}}]}