Search documentation

Find pages, sections, and snippets across the Clog docs.

Changelog

What changed in each Clog release.

Clog is currently in v1. The external API is versioned as /api/v1/* — there's only one version. When v2 ships it will live under /api/v2/* and v1 will continue to be available for a documented deprecation window.

This page lists notable changes since v1 went live.

v1.0.0 — initial release

The full v1 surface — covering everything described in the rest of this documentation. Highlights:

Content modules

  • Posts with a 13-block body vocabulary (paragraph, heading, list, quote, divider, image, video_embed, tweet_embed, callout, code, faq, cta, key_takeaways), embedded author / category / featured-media / tags on every read response, derived bodyText / tocItems / readingTimeMin, soft-delete with slug release.
  • Pages sharing the same block editor, with a pageType enum (5 variants) and a simpler draft | published status flow.
  • Categories with hierarchical nesting (materialised path for breadcrumbs, atomic move-with-cycle-prevention) and collectionMetadata for consumer rendering hints.
  • Tags as a flat workspace-scoped vocabulary.
  • Authors as persona records (not platform users) with a Person JSON-LD scaffold.
  • Media library backed by object storage; image edits in the post editor create new media rows.

SEO

  • Per-entity typed seo meta group (title, description, canonical, focus keyword, robots, OG, Twitter) on Post, Page, Category, Tag, Author.
  • Schema.org variant catalogue: ~50 schemaTypes for posts (3 tiers), 5 pageTypes for pages, CollectionPage for categories/tags, ProfilePage (with embedded Person) for authors.
  • Create-time type wizard (3 steps max) plus a smart-suggestion banner.
  • Live score engine — 12 SEO checks + 12 readability checks, persisted as seoScore / readabilityScore, filterable on the Posts list.
  • Workspace SEO defaults page: site name + URL + locale, title / description templates with %title%, %sitename%, %sep%, %category%, %tag%, %author%, %date%, %excerpt%, %page% variables, default OG image, default robots, publisher Organization (or Person), social handles, site-verification codes (Google / Bing / Yandex / Pinterest / Baidu), defaultPostType.
  • Pre-assembled jsonLd field on every content read response — drop into <script type="application/ld+json"> verbatim.
  • Reader-facing structuredBlocks projection — recipe card / how-to steps / etc. as the same 13-block vocabulary, rendered with the same renderer as the body.

Operational

  • Redirects manager with manual entries, CSV bulk-import (2 MB cap), auto-301 on published-post / published-page slug changes (best-effort), and five RedirectTypes (Permanent301, Temporary302, Temporary307, Gone410, UnavailableForLegalReasons451).
  • Link health inbox — consumer sites POST 404s to /external/link-health; the dashboard rolls them up by hit frequency with three resolve actions (convert to redirect / mark fixed / ignore).
  • Sitemap data endpoint (GET /external/feeds/sitemap-data) returning JSON rows for consumer-built sitemaps.

Access control

  • Workspace tenancy with owners and members.
  • 10 read scopes + 10 write scopes (posts:*, pages:*, categories:*, tags:*, authors:*, media:*, members:*, api-keys:*, settings:*, seo:*).
  • Cross-cutting seo:* scopes — let an SEO specialist edit meta across every entity without holding each entity's :write.
  • API keys bound to a workspace and a creator user; carry no permissions of their own — inherit the creator's current membership permissions live, so revoking a member instantly disables their keys.
  • Invitations via copy-paste URL (no transactional email in v1).

Out of scope for v1

Things you'd expect from a mature CMS that aren't in v1 — tracked for future releases:

  • Scheduled publishing (the schema reserves scheduled status but writes reject it until the cron worker ships).
  • Multi-author posts.
  • Post revisions, preview links, custom taxonomies, series, AI-authoring helpers, webhooks.
  • Newsletter / subscriber capture, comments.
  • API-key hardening: last_used_at, per-key rate limits, IP allowlist, audit log.
  • Transactional email (invites surface a copy-paste URL instead).
  • Soft-delete trash view + restore action (deletes are durable from the dashboard's perspective).
  • Custom-domain CNAME mapping per workspace.
  • Plan / subscription / billing.
  • Platform-level admin / staff role.
  • Two-factor auth at signup.
  • Versioned docs UI (v1 is the only version).

Versioning policy

  • The API path includes the major version (/api/v1, /api/v2, ...). When v2 ships, v1 will continue to respond at /api/v1/* for a documented deprecation window before being removed.
  • Breaking changes within a major version are avoided. Additive changes (new fields, new endpoints, new optional parameters) ship under the existing major version.
  • The internal seo, structuredData, and jsonLd payload shapes follow the same rule — fields may be added, not removed.

Subscribe to your Clog deployment's release feed (or watch this page) for upcoming changes.

On this page