Changelog
A plain-English record of what changed, version by version. Breaking changes are always called out explicitly.
Structured-Data Linter, Answer-Engine Readiness, Link Audit & AI-Crawler Analytics
- New — Pre-publish structured-data linter: a post whose FAQ, Key Facts, How-To or roundup block would not validate is saved as a draft with the reason shown, instead of shipping broken schema. Advisory issues warn without blocking.
- New — Answer-engine readiness score: every post carries a 0–100 score with a per-signal breakdown in the editor sidebar and in Admin → Content Health. Advisory only — it never blocks a publish.
- New — Answer capsules: a short, quotable direct answer shown above the article body and emitted as schema.org
abstracton theBlogPosting. Visible copy, never hidden text. - New — Internal-link suggester and Link Audit: the editor proposes links in both directions as you write, and Admin → Link Audit scans every published post for dead ends, retired (410) targets and avoidable redirect hops.
- New — Redirects manager with a triaged 404 worklist: manage the rules v1.0.4 could only create, and act on the 404s that show evidence of being reader-facing with a one-click 301 or 410.
- New — AI-crawler analytics (Admin → AI Crawlers): which answer engines actually fetch your site, how often, and which pages they read. Recorded separately, so human analytics are untouched.
- New — Publisher identity for the knowledge graph: publisher type, legal name, founder, founding date and authority profiles feed
sameAsand the Identity section ofllms.txt. Every field optional; nothing inferred. - New — Import dry-run: preview exactly what a WordPress or Ghost import would create, rename, overwrite or skip before anything is written. Plus a
## Topicsindex inllms-full.txt. - Changed — The
| Site Nametitle suffix is appended only when the finished title still fits the search-result budget; category and tag links point straight at the canonical archive instead of a query URL that 301s. - Fixed — Unknown
/category/{slug}and/tag/{slug}URLs now return 404 instead of an empty soft-404 archive; empty taxonomies are no longer offered as filters; draft-only tag archives stay out of the sitemap; archive pagination no longer repeats the facet.
Backward-compatible — existing redirect rules, archives, filters and settings keep working. Note that publishing can now be refused when a structured-data block fails validation; existing published posts are not re-validated until next saved.
IP Firewall, WordPress & Ghost Importer, Series & Indexation Controls
- New — IP Firewall: failing requests are scored and hostile addresses block themselves automatically. Loopback, private ranges, signed-in staff, and search/AI crawlers are never blocked. Managed in Admin → Security.
- New — WordPress & Ghost importer: upload a WordPress WXR or Ghost JSON export, preview and select, then run a batched, resumable import with WebP image conversion and preserved permalink redirects. Undoable.
- New — Series & collections: group posts into an ordered sequence with a
/series/{slug}page, a "Part N of M" banner, andCollectionPage/ItemListschema. - New — Content Health dashboard: surfaces posts needing review, missing Key Facts/FAQ blocks, or truncating meta descriptions (Admin → Content Health).
- New — Indexation controls: 410 Gone retirement for redirects, filter-URL canonicalization (
/?tags=x301s to/tag/{slug}), and depth-gated tag archives kept out of the sitemap until indexable. - Fixed — HEAD requests no longer return 405; category and tag archives render full listing chrome; post pages no longer 500 without categories or tags.
Backward-compatible — no breaking changes; existing tenants keep their layout, theme, content, and settings.
SEO/AEO Overhaul, Verdict Roundups, Catalog Layout, IndexNow & Error Monitor
- New — SEO/AEO overhaul: rich structured data (CollectionPage, author
Person, roundupItemList/Review), per-tenantllms.txtplus a newllms-full.txt, author E-E-A-T pages at/author/{slug}, image sitemap, and a sitelinks search box. - New — Verdict scored-roundup content system for “Top N Best… Software” buyer’s guides, with per-entry scores, pros/cons, and rich-result-safe schema.
- New — Catalog layout: a single-column boxed-card list with a category filter bar and numbered pagination.
- New — IndexNow instant indexing pings Bing, Yandex, Seznam, and Naver to re-crawl within minutes of publishing.
- New — Error Monitor: 4xx/5xx errors grouped by signature with occurrence counts, plus optional email alerts.
- Improved — Authoring: Key Facts and How-To step blocks, a live meta-description length helper, and smarter related-posts linking.
Backward-compatible — no breaking changes; existing tenants keep their layout, theme, and content.
Analytics, Audit Trail & Inkwell Theme System
- New — Analytics dashboard: page-view tracking, UTM attribution, geo-location, and traffic-source breakdown.
- New — Immutable, admin-only audit trail of every write action across the platform.
- New — Inkwell theme system: 10 colour presets with multiple layouts.
- New — Newsletter and subscriber management, plus redirect rules.
- Improved — SEO toolkit: OG image generation, FAQ schema, and structured data.
Multi-tenant improvements & Docs site
- New — Public documentation site at
/docswith install, config, and theming guides. - New — Contact page with SMTP-backed inquiry form.
- New — Email settings now read from
appsettings.json(see Email config). - Improved — Mobile navigation and footer layout across all pages.
- Improved — Changelog, Roadmap, Letter, Privacy, and Terms pages added.
Studio layout & Paper preset
- New — Studio layout for portfolio-shaped blogs.
- New — Paper preset (pure white, high contrast).
- New — Pull quote support in the Desk editor.
- Fixed — Autosave now correctly debounces at 3 seconds, not 300 ms.
- Fixed — Footnotes rendering correctly in Magazine layout.
Notebook layout & tag system
- New — Notebook layout with ruled-paper aesthetic.
- New — Tag system — posts can carry multiple tags; tag archive pages generated automatically.
- New — RSS and Atom feeds per tenant.
- Improved — Journal layout now supports a sidebar index.
- Fixed — Dark mode flash on initial load eliminated with inline theme script.
Multi-tenancy
- Breaking — Single-tenant mode removed. Every install is now multi-tenant. Existing single-tenant installs can migrate by adding their host to the
Tenantsarray. - New — Per-tenant isolated database schemas via EF Core schema prefix.
- New — Tenant management screen in the Desk.
- New — Each tenant can pick an independent Layout and Preset.
The Desk editor
- New — Keyboard-first Markdown editor with live preview.
- New — Drafts autosave every 3 seconds.
- New — Footnote syntax:
[^1]inline,[^1]: textat the bottom. - New — Publish/unpublish toggle with scheduled publish support.