Changelog
All notable changes to CoverKit will be documented in this file.
[0.1.13] - 2026-06-11
Section titled “[0.1.13] - 2026-06-11”- improved: CoverKit templates list shows a Use Cases column listing each enabled use case for the template
- improved: added
find_active_template_ids()so custom use cases can output one result per active template assignment - improved: template editor shows guidance for site-wide use cases (only one template can enable them) and warns with a link when another template already holds the active assignment
[0.1.12] - 2026-06-11
Section titled “[0.1.12] - 2026-06-11”- fixed: HTML entities in template layer text and mapped field values (e.g. apostrophes) now render correctly in generated images without double-decoding bound fields
- added: register a use case with label only — class defaults to base Use_Case behavior when omitted
[0.1.11] - 2026-06-10
Section titled “[0.1.11] - 2026-06-10”- improved: use case “Match aspect ratio” adjusts canvas proportions without forcing exact output pixel dimensions
- improved: replaced the native Attributes panel with CoverKit’s layer bindings SmartPanel in the block inspector (Layer {id})
- improved: bound field values apply during image generation alongside use-case sidebar mappings; sidebar mappings override bindings when both target the same layer attribute
- added: native WordPress block bindings on template layers — bind text, image, and featured image to CoverKit fields from the layer inspector or use-cases sidebar; requires WordPress 7.0+
[0.1.10] - 2026-06-09
Section titled “[0.1.10] - 2026-06-09”- improved: any screenshot or font failure during generation skips all
_cache/generator/and_cache/generator/elements/writes for that run, so retries are not blocked by placeholder fallbacks - improved: editor and admin image previews send no-cache headers so template and post previews refresh immediately; Open Graph, featured images, and canvas block images still use browser caching
- improved: layer template block comments omit default typography/border/spacing values (smaller, cleaner saved templates)
- changed: Open Graph image URLs use
GET /wp-json/coverkit/v1/use-case/opengraph/...instead of the removed/opengraph/...route
[0.1.9] - 2026-06-01
Section titled “[0.1.9] - 2026-06-01”- improved: Open Graph, use-case, and template preview image URLs send browser cache headers (
Cache-Control,ETag,Last-Modified) and return 304 when the cached file is unchanged; editor previews with reload or field overrides stay uncached - improved: generated images are stored under a site-specific cache folder
wp-content/cache/coverkit-{id}/(six-character id derived from your WordPressAUTH_KEYinwp-config.php; no new CoverKit constants) - changed: after updating the plugin, clear CoverKit cache from the template editor or settings so images regenerate in the new folder; the old
wp-content/cache/coverkit/directory is not moved or deleted automatically (you may remove it manually to reclaim disk space)
[0.1.8] - 2026-05-30
Section titled “[0.1.8] - 2026-05-30”- fixed: publish sidebar CoverKit previews use the current post title, excerpt, and block content from the editor instead of the saved “Auto Draft” placeholder
- improved: publish sidebar CoverKit previews include a download button for the full-size generated image
- improved: publish sidebar preview thumbnails include
srcset(1× and 2×) for sharper images on high-DPI screens - improved: editor keyboard shortcuts
- added: post editor Summary panel Use Cases row with per-assignment preview popovers (no download; save draft to preview)
- changed: publish sidebar preview is split into separate “Show in pre-publish sidebar” and “Show in post-publish sidebar” toggles per use case
- changed: Minimal use case renamed to Sandbox and expanded to show every built-in setting control and mapping option for testing and extension authors
- changed: template assignments migrate from Sidebar image and Minimal to Sandbox on plugin update
- changed: updated editor dependencies to the latest WordPress packages aligned with React 18 after the Gutenberg React 19 revert
- removed: Sidebar image use case (test-only built-in)
[0.1.7] - 2026-05-27
Section titled “[0.1.7] - 2026-05-27”- changed: editor live previews use a single
POST /coverkit/v1/previewendpoint (use-case mode withuse_case+assignment, or canvas mode withoutuse_case) - removed:
POST /coverkit/v1/use-case/previewREST route (use the unified preview endpoint instead) - fixed: public image URLs ignore
reload=1unless the request is from an editor or includes a valid REST nonce, so anonymous visitors cannot force expensive re-renders - improved: use-case and template preview images cache to predictable paths under
wp-content/cache/coverkit/(e.g.post/{id}/{template}-{use-case}.jpg,coverkit/{template}.png) instead of duplicate files under_cache/generator/derived/ - fixed: posts list preview thumbnails request a scaled image at
coverkit_post_list_preview_width(default 72px) when the viewer can resize; the popover still loads the full-size image - improved: scaled REST preview widths generate at target size instead of full canvas then resize
- improved: templates list Preview column is first (after the checkbox) at 150px wide with matching thumbnails
- improved: list preview thumbnails use a subtle shadow that lifts slightly on hover (templates and posts lists)
- improved: templates list Preview column uses the same thumbnail + popover markup as posts list previews, with
srcset(1× and 2×) for sharper thumbnails on high-DPI screens - improved: posts list preview thumbnails include
srcset(1× and 2×) so they stay sharp on high-DPI screens - improved: posts list preview popover reserves space with width, height, and min dimensions so it does not jump while the image loads
- improved: post-bound image cache files include the template ID in the filename (e.g.
5748-opengraph.png) so clearing a template removes only its generated outputs - changed: custom REST
?width=requires resize permission (coverkit_user_can_resize_images); public use-case images only allow widths declared on the use case (get_allowed_widths(), default null = canonical size only) - improved: uploaded fonts are listed from wp-content/uploads/fonts/coverkit only (no separate font registry in the database); local files override Google fonts when the slug matches
- improved: Fonts modal (Library/Upload tabs with dividers, 33/66 columns, section spacing, site font guidance, infinite scroll)
- improved: font picker theme font list shows the unsupported-font help once, with a narrower sidebar and cleaner rows
- added: upload TTF/OTF fonts from the Font Family picker (stored in wp-content/uploads/fonts)
- removed: system font stack from the font family picker (planned for a later release)
[0.1.6] - 2026-05-25
Section titled “[0.1.6] - 2026-05-25”- changed: template design block renamed from Shape to Layer (
coverkit/layer); existing templates migrate on plugin update
[0.1.5] - 2026-05-25
Section titled “[0.1.5] - 2026-05-25”- improved: plugin upgrades run registered one-time data migrations when you update via the dashboard, automatic updates, or manual upload
- added: setting to show CoverKit templates under the Media menu instead of a top-level CoverKit menu
- improved: CoverKit settings always live under WordPress Settings; the top-level CoverKit menu includes a Settings link there when templates are not under Media
- improved: when templates are under Media, the submenu entry is labeled CoverKit
[0.1.4] - 2026-05-25
Section titled “[0.1.4] - 2026-05-25”- fixed: template sidebar preview URLs keep the REST API host when a preview nonce is added (fixes broken previews when the API root is an absolute URL)
- fixed: template sidebar preview REST URLs include a
wp_restnonce so admin and editor<img>previews authenticate correctly - changed: removed legacy
/coverkit/v1/image/...REST route; template previews in the editor and admin use/use-case/sidebar_image/...instead - fixed: public Open Graph and featured-image REST routes no longer generate images from draft, private, or password-protected posts for anonymous visitors
- fixed:
/coverkit/v1/templaterequiresedit_postsand returns only template metadata (no public block markup leak) - fixed: Site Health Alpha channel check no longer reports “Not supported” on servers where Imagick transparency works (matches current bool return from getImageAlphaChannel)
[0.1.3] - 2026-05-22
Section titled “[0.1.3] - 2026-05-22”- fixed: plugin declares Requires PHP 8.0 so WordPress blocks activation with a clear message on older PHP instead of a fatal Composer error
- fixed: Save Settings button stays disabled after editing fields until you save or reload
- fixed: Settings page header links now point to CoverKit documentation and in-plugin support instead of incorrect third-party URLs
- improved: default dimension presets on first install include Open Graph, Instagram, Pinterest, LinkedIn, X Link Card, and YouTube Thumbnail sizes aligned with common platforms
- added: Max lines control in the template editor to limit text layers to a set number of lines (truncated in preview and generated images)
- added: Site Health → Info includes CoverKit checks for Imagick formats, cache, memory, alpha, and resize; heavy render tests run asynchronously on the Status tab with results mirrored in Info
- changed: minimum PHP version is now 8.0 (Composer dependency aligned with endroid/qr-code 4.8.2)
[0.1.2] - 2026-05-21
Section titled “[0.1.2] - 2026-05-21”- fixed: Test template no longer ships with hardcoded shape IDs that could clash when you duplicate layers
- improved: default CoverKit, Starter, and Test templates use a white canvas background and clearer layer names in the template editor
- improved: Starter template is titled “Starter” and orders the welcome text before the logo so it reads as its own preset
- improved: first-time Freemius activation opens the free connect flow by default (
require_license=false) unless you choose license activation explicitly - improved: plugin passes WordPress Plugin Check with no reported errors or warnings
- added: public roadmap at docs.coverkit.com/roadmap (synced from root
ROADMAP.md) - changed: CoverKit admin screens (templates, settings, examples, and account) now live under a top-level CoverKit menu instead of Media
[0.1.1] - 2026-05-20
Section titled “[0.1.1] - 2026-05-20”- fixed: posts list preview images not loading in the admin (REST cookie auth now receives a
wp_restnonce on the image URL) - fixed: featured image REST URLs are publicly accessible on the front end (same anonymous access model as Open Graph images)
- fixed: use case and Open Graph REST image routes with JPEG/WebP (non-PNG) extensions serve a real file again after format conversion
- fixed: block editor featured image preview respects
featured_image_idon the REST image URL (logged-in editors; mapping and generator no longer fall back to the saved thumbnail) - fixed: block editor featured image preview uses the current (unsaved) featured media ID when a valid REST nonce is present, so Remove/Replace updates before save
- fixed: block editor CoverKit featured image preview refreshes after Remove or Replace (cache-busting query on the preview URL)
- fixed: block editor featured image preview URLs no longer append a large cache-busting payload; only the featured media ID is sent
- fixed: block editor featured image preview uses the template canvas dimensions instead of a hardcoded 1200×630 size
- fixed: posts list preview
<img>width/height attributes follow the real output aspect ratio (max width 72px) - fixed: duplicate page titles on the documentation site
- improved: block editor Summary featured image shows the CoverKit generated preview and updates when you change the assigned template or template use case settings
- improved: classic editor Featured image meta box shows the CoverKit generated preview on post types without the block editor
- improved: template editor use case preview uses the full canvas image with CSS crop simulation for fixed output sizes (no server-side crop on the preview request)
- improved: template editor Use Cases sidebar uses a simple two-step navigator (list of use cases, then detail) instead of stacked accordions
- improved: non-PNG outputs reuse an existing derivative file next to the PNG when present, avoiding repeat Imagick conversion unless you force regeneration
- added: Featured image use case replaces front-end post thumbnail output with a CoverKit-generated image while keeping the original attachment as mapping input
- added: optional per-use-case preview column on the posts list for post types you select in the use case settings (one column per template that has the use case enabled; when the same use case is on several templates, each gets its own column with the same use case heading)
- added: click a posts list preview thumbnail to open a larger image in a native popover (CSS
anchor()positions it beside the thumbnail when the browser supports it) - added: public documentation site at docs.coverkit.com (built from docs/ on each update)
- changed: generated image formats (e.g. JPEG, WebP) are no longer restricted by a premium license; format follows the use case assignment like other settings
- changed: opening the template editor Use Cases sidebar no longer auto-opens the first enabled use case; the list screen stays until you pick one
- changed: use case REST
output_profilenow exposes a booleancropwithdimensionsonly;dimensions_policyandcrop_gravitywere removed, and fixed-size output cropping is always centered on the server
[0.1.0] - 2026-05-17
Section titled “[0.1.0] - 2026-05-17”- Initial release