Changelog

Version history and release notes for ZensInk open source and Pro.

v1.4.11 2026-10-14

Independent audit hardening — 39 defects fixed across 3 audit rounds

  • — First full independent code audit (DeepSeek Harness): every module read end-to-end, every finding reproduced locally before the fix — 40 findings (12 high / 15 medium / 13 low), 39 fixed in this release, 1 correctly deferred pending a live API check
  • — The defining pattern the audit exposed: tools that fail silently-confidently. Fixed: MCP competitor_gap was 100% unusable (unsupported --json on every call), autocomplete null responses crashed every caller, pretty-printed JSON-LD was invisible, the homepage was always an orphan, consecutive robots.txt User-agent lines overwrote each other (Disallow: / read as unlisted), rank_tracker mangled domains with lstrip("www.") and fabricated ±996-place trends from the 999 sentinel
  • — Intent classification corrected: "how to get more traffic" is informational not transactional; /blog/product-led-growth is a blog post not a product page; SERP percentages no longer divide by a hardcoded 10
  • — Chinese content finally measurable: content_qc counts CJK characters (the publish gate was meaningless on Chinese drafts); keyword_cluster parses quoted CSV; GSC search_performance paginates rows so top-50 subtotals stop masquerading as totals; domain_rating cache falls back to ~/.zens_ink when site-packages is read-only
  • — CLI dispatcher registered content_qc + llms_gen (were documented but "Unknown tool"); TOOLS_COUNT 20 → 22; MCP protocol negotiation honest (unsupported versions fall back); 18 regression tests pin every fix; full audit reports archived in the repo docs/
v1.4.10 2026-10-01

Brand card refresh

  • — New hero banner (EN + ZH): current Z mark, tool pipeline, pip install line — replaces the retired ink-drop design
  • — README hero images use absolute URLs so they render on PyPI too
v1.4.9 2026-09-30

Repo agent layer — make the repo itself AI-readable

  • — Gitingest / GitDiagram class tools (15k+ stars combined) are how AI agents meet a project before they read its code — this release ships that layer for zens-ink itself: llms.txt + llms-full.txt in the repo root (20-tool inventory, MCP / skill entry points, install commands, links)
  • — ARCHITECTURE.md — module layering and data flow on one page, so generated digests describe the structure instead of guessing it
  • — Smoke tests (tests/test_smoke.py) keep imports and the CLI surface honest as the toolkit grows; FUNDING.yml added
  • — Verified with the new Pro v2.6.0 repo_readiness audit: 76/C → 91/A — for contrast gitdiagram scores 63/D and psf/requests 59/F
v1.4.8 2026-09-08

ai_crawler_audit — who can actually read your content

  • — New tool: audits robots.txt against 17 AI crawlers (training vs AI search, per vendor), reads Content Signals, verifies the llms.txt / llms-full.txt layer, scores AI readiness 0-100 with plain-language notes
  • — Site-wide blocks are distinguished from subpath-only blocks — Disallow: /admin is not Disallow: /
  • — Notes the robots.txt vs edge-bot-management gap (an allow in robots can still be 403'd at the edge)
  • — Zero deps, no API key, markdown + JSON output; pairs with llms_gen (audit what you have, generate what's missing)
  • — Tools 19 → 20. First real runs: ahrefs.com 88 (no llms.txt), backlinko.com 88, searchenginejournal.com 96
v1.4.7 2026-08-29

content_qc + llms_gen — the publish-side GEO loop closes

  • — New tool: content_qc — pre-publish gate for AI-citable content, 14 weighted checks (BLUF, fact density, vague-word ceiling, sources, FAQ block, headings, meta, alt, dates), --min-score CI gate
  • — New tool: llms_gen — generates llms.txt (curated) + llms-full.txt (full catalog) from a build dir or remote sitemap, auto-skips admin/api/noindex routes
  • — Scoring after the fact (site_audit, geo) moves to before you ship
  • — Tools 16 → 19
v1.4.6 2026-08-23

PyPI infrastructure release

  • — Release automation: push a v* tag and GitHub Actions builds + publishes to PyPI (verified with v1.4.7)
  • — Backfilled the missing v1.4.6 changelog entry
v1.4.5 2026-08-23

domain_rating — real Ahrefs DR, free

  • — New tool: domain_rating queries Ahrefs' free public Domain Rating endpoint — real DR (0-100) for any domain or URL
  • — Off-page authority was the known gap; kd.py approximated it with curated authority-domain proxies. Now closable at zero cost
  • — Batch-ready: domains as args, --file, or stdin pipe; local dr-cache.json so reruns never burn the rate limit; CSV/JSON export; URL auto-normalization
  • — Registered in the CLI dispatcher and MCP server tool list (tools 18 → 19)
  • — Needs a free AHREFS_APIKEY from app.ahrefs.com → Account settings → API keys; attribution "Domain Rating by Ahrefs" kept in all outputs per the DR License
v1.4.4 2026-08-23

Agent-readiness checks in site_audit

  • — New check: llms.txt must carry a When-to-use section — without it, agents can't tell which jobs your site fits
  • — New check: llms.txt needs a how-to-call line (install command / endpoint / MCP entry point)
  • — Deterministic, zero-dependency, runs inside the existing site_audit flow
  • — Ships alongside Pro v2.4.0 Agent Readiness Score; the same checklist took zens.ink from 64 to 98/100 on is-agentic.com
v1.4.3 2026-08-15

KD brand-keyword forensics

  • — kd: brand triple-fingerprint (official domain in top3 / domain-family seats / platform-ecosystem density) — brand keywords no longer poison generic KD
  • — kd_entry: derivative-entry difficulty recomputed on contestable seats only
  • — KD→referring-domains link budget curve (editorial vs directory tracks)
  • — --markdown self-contained report mode; deeper competitor_gap sitemap parsing
v1.4.3 2026-08-15

Rank Tracker — SQLite position history

  • — New: rank_tracker — track your domain's Google positions for a keyword set, snapshot every check into SQLite (~/.zens_ink/ranks.db), watch trends over time
  • — Actions: add / check / status / trend / history / remove; SERP depth configurable (--num), one Serper call per keyword per check
  • — Registered as MCP tool rank_tracker
  • — Tools 16 → 17
v1.4.2 2026-08-14

MCP Server — native tools for DSH / Claude / Codex

  • — New: python3 -m zens_ink.mcp runs the whole toolkit as an MCP stdio server — all tools become native model tools (mcp__zensink__keyword_research, mcp__zensink__kd, ...)
  • — Works with DeepSeek Harness (DSH), Claude Desktop, Codex and any MCP client — tell your agent what you need in plain language, it calls the tools
  • — New: serp_intent — reverse-engineer search intent from the actual Google SERP composition (page-type weighting + SERP features), cross-validates with keyword-based search_intent
  • — Pure stdlib, zero new dependencies; API keys still read from .env
  • — Pro auto-discovery: if zens_ink_pro is installed on the same machine, its 7 tools (winability, content_radar, competitor_radar, geo_score, geo_visibility, gap_deep, full_audit) join the same MCP server automatically — OSS installs stay OSS-only
  • — Tools 15 → 16
v1.4.1 2026-08-06

GEO Fan-out + Reddit Blue Ocean

  • — New: geo_fanout — reverse-engineer AI search Query Fan-out into 7 intent dimensions (ICP/Pricing/Features/Competitors/Objections/Education) with gold mine scoring and pillar/cluster content plan
  • — New: reddit_blueocean — discover high-traffic low-competition Reddit posts via Google demand layer + Reddit API layer, with commercial intent classification
  • — site_audit: 3 new checks — staging subdomain leak detection, sitemap URL inventory, JSON-LD schema field validation (9 Schema.org types with nested field checks)
  • — site_audit: fixed html lang regex bug causing false positives
  • — Version 1.3.0 → 1.4.1, Tools 13 → 15
v1.3.0 2026-07-20

site_audit: GEO + i18n + 30 checks

  • — site_audit expanded from ~20 to 30 checks: llms.txt presence, FAQ schema, BLUF detection, hreflang i18n, commercial schema (Product/Offer/Service), content structure analysis, crawl-blocking JS, page size
  • — GEO readiness: llms.txt check, FAQ/BLUF content signal detection
  • — i18n: hreflang tag validation
  • — Performance: page size + crawl-blocking CSS/JS detection
v1.2.0 2026-07-17

8 → 13 Tools

  • — 5 new free tools: keyword_cluster, search_intent, kgr_auto, content_matrix, onpage_audit
  • — keyword_cluster: semantic grouping of raw keywords into topic clusters
  • — search_intent: classifies keywords as informational / commercial / transactional / navigational with question/buyer flags
  • — kgr_auto: automated KGR opportunity scoring (competition vs search volume)
  • — content_matrix: combines clustering + intent + KGR into a prioritized content plan
  • — onpage_audit: 7-dimension quality scoring per page (0-100 with fix suggestions)
  • — All new tools are pure Python stdlib — zero dependencies, zero API keys required
v1.0.0 2026-06-25

Initial release

  • — 8 free CLI tools: keyword_research, keyword_volume, kd, brave_volume, search_performance, competitor_gap, site_audit, setup_gsc
  • — Zero Python dependencies — stdlib only
  • — Bilingual site (EN/ZH) with path-based i18n