Skip to content

Release notes

What shipped,when, and why.

Every release, grouped by version. Features on top, fixes below, each bullet linked to the commit that introduced it. Generated automatically from the repository — no marketing spin, no missing entries.

v1.88.0

Features

  • personasper-site persona membership + in-site rotation; v6 portal Personas/Visuals
  • plugin,weball-tier Bridge Diagnostics + cloud-unreachable warning
  • pluginfold image medium into the Suggest dropdown (wp-admin parity)
  • pluginimage-medium picker on the wp-admin Visuals page
  • portalposts list — thumbnails, click-to-edit rows, three-dot menu
  • visualsfold image medium into a "Suggest image style" dropdown (portal)
  • visualsimage-medium picker + photography-first art direction
  • webauto-suggest authority domains on the Site profile tab

Fixes

  • ailink validator — HEAD is advisory, confirm dead with GET
  • ainever let the model invent outbound links — homepages or none
  • headlessrepair fabricated internal links + resolve headless public URL
  • schedulerlink-validate against the real site host, not the UUID
  • stockrun link validation in the batch path (was bypassed)
  • suggestionsroute portal visual/persona suggest through the shared getSuggestionBlueprint
  • visualscursor + hover affordance on the image-medium cards
  • visualsricher per-medium art-direction prompts + exact-hex palette
  • webdrop spurious _many plural keys from es/fr locales

v1.87.0

Features

  • headlessbidirectional cursor pagination for read API
  • seocomplete JSON-LD graph on plugin render + dedupe www schema
  • sitesdocument `before` cursor param on the Delivery API page
  • wwwadd competitor comparison pages for neuroflash, mindverse, neuronwriter, zimmwriter, writesonic

Fixes

  • headlessadd ascending publishedAt indexes for backward paging

v1.86.0

Features

  • headlessper-language delivery blogs
  • headlessregenerate post images with AI
  • headlessrestore trashed posts to their pre-trash status
  • headlesstrash, restore, and permanently delete posts
  • webinline text formatting toolbar + create link
  • webreal top-bar overflow (3-dot) menu
  • webresponsive headless editor layout

Fixes

  • headlessbind image-gen secrets to regenerateHeadlessImage
  • stockcompare keywordBank by keyword text, not object reference
  • webconfirmations, inline popup errors, status tabs, format polish

v1.85.0

Features

  • headlessFAQ/HowTo JSON-LD schema + section marker classes
  • imagespage ops on inline image-gen provider failures
  • opspage Telegram when a campaign hits the stock failure cap
  • stocksurface "pre-generation paused — provider errors" in the Stock tab
  • webcampaign edit save bar with Cancel

Fixes

  • aiunique writing-variety seed per stock-batch post
  • headlessdeliver action_steps + FAQ as blocks; heal body image
  • headlessrender body image + caption inline in delivered posts
  • imagesdefault imageModel to a real image model + heal bad values
  • runsflag failed image steps as warnings, not green checks
  • stockforward image alt/caption/fileName/topic in served bundle
  • stockinvalidate on keyword change; refill only when buffer drains to 0
  • stockstop self-cancellations tripping the failure cap; coalesce refills; reap failed entries
  • webrender Select dropdown panels (add missing Select.Content)

v1.84.0

Features

  • aiper-post writing variety to kill content-farm tells
  • campaignsbring headless campaign create flow to plugin parity
  • headlessfull Gutenberg-style post editor in the portal
  • onboardingground wizard keyword suggestions in real demand + two buckets
  • onboardingrebuild portal setup wizard AI/persona/visuals steps
  • onboardingrebuild portal setup wizard as a 6-step plugin clone
  • pluginexplain intentional readability-score variance to users
  • sites'Fetch from site' favicon button
  • sitescross-campaign Posts page for headless sites
  • sitesoptional favicon for the dashboard icon + real domain in SERP preview
  • wwwcontextual AI Detector links on landing pages + blog posts
  • wwwfree in-browser AI Content Detector tool page
  • wwwlink the AI Detector from the footer Resources column
  • wwwPostHog events on footer links

Fixes

  • campaignsUX polish on the headless campaign create flow
  • headlesseditor polish — portaled-popover styling, list editor, DnD, captions
  • headlessstop editor re-render loop and render full-screen
  • portaldefer account creation to magic-link click
  • workspaceslabel headless activations by siteName, not the raw id
  • wwwactually send the AI-detector breakdown email
  • wwwadd /ai-detector to the sitemap
  • wwwreplace AI-detector placeholders with real homepage assets
  • wwwtidy AI-detector promo spacing on blog posts
  • wwwtype the subscribe-test fetch mock so tsc passes
  • wwwuse Resend Segments API for AI-detector email capture

v1.83.0

Features

  • functions,webAI-guess transparency notes + pipeline fixes from live run
  • functions,webclose plugin-parity gaps — stock/run control, key testing, channels store, billing + chunk fixes
  • functions,webheadless campaign engine — full surface parity
  • functions,webheadless campaigns consume pre-generation stock
  • functions,webpersona + visual-preset CRUD in the portal
  • functions,webportal-triggered WP generation — Run now + single post
  • functions,webv3 paid billing — plan hero, cycle meters, payment method, invoices
  • functionsactivation-reminder cron, personal sender, localized greeting
  • functionscreateHeadlessSite callable (dogfood-gated)
  • functionsdurable headless image storage + upload endpoint (Tier-2 #7b)
  • functionsfeed real site context to headless generation (+ slug foundation)
  • functionsgenerate on headless — store posts instead of webhooking WP (Tier-2 #8)
  • functionshard maxSites gate on createHeadlessSite
  • functionsheadless auto-pilot scheduler backend (Tier-3 #19)
  • functionsheadless block→HTML renderer (Tier-2 #6)
  • functionsheadless categories/tags archives + pagination
  • functionsheadless editor backend + image-block rendering (Tier-3 #2a)
  • functionsheadless image normalization core (Tier-2 #7a)
  • functionsheadless read endpoint + publish action — Tier 2 complete
  • functionsheadless run-now + posts list backend (Tier-3 #1a)
  • functionsheadless surface type foundation + dogfood gate
  • functionsimport existing posts into a headless site (Tier-3 #3a)
  • functionssend a free-tier welcome email on signup
  • headlessrelease gate toggle (Firestore flag, no deploy to flip)
  • ui,webshared Stepper component — one wizard strip everywhere
  • ui,webshared zod form-validation layer — required fields highlight in place
  • web,functionsplan-tier gating for invites + AI providers; show stats for free
  • web,functionsplugin-parity campaign UX — catalog dropdowns, AI Engine, campaign tabs
  • web,functionsportal two-world redesign — site world, wizard, campaign flow
  • webblock-list editor + image paste for headless posts (Tier-3 #2b)
  • webclearer Download Plugin card — drop "Pro", add free/paid note
  • webConnect a site CTA in Overview empty state
  • webexplicit free-activation CTA on Subscription page
  • webheadless auto-pilot schedule UI — GA scheduler complete
  • webheadless integration instructions — Tier 1 complete
  • webhome attention slot — failed-run / all-paused / nothing-scheduled states
  • webimport UI for headless sites — Tier 3 complete (#3b)
  • webminimal Add-Site portal UI (dogfood-gated)
  • webmove headless site management to the Sites page
  • webone-click legacy schedule → campaign conversion
  • webper-site headless area — generate → review → publish (Tier-3 #1b)
  • webremove coming-soon surface waitlist from the Overview
  • webschedule-pulse home header — posts this week + next-post derivation
  • websurface archive + pagination routes in the headless guide
  • webv3 workspace pages redesign — keys, personas, presets, members, billing, settings, account
  • www/autoblogging landing page + /vs/machined-ai comparison
  • wwwadd missing pages
  • wwwadd Structura vs. AI Buster comparison page
  • wwwper-locale blog sources — de/es/fr blogs empty until their content campaigns launch

Fixes

  • functions,webDFS instant_pages 404 + explicit site-name field in headless connect
  • functions,webportal runs visibility — canonical path + missing doc fields
  • functionsEmailOwnerIntegration sends from the verified Resend domain
  • releaseforce plugin .zip to download as a file (Content-Disposition)
  • uiCodeBlock preserves newlines + bounds width
  • web,functionswizard magic results survive remounts + headless identity fallback
  • webcampaign-flow grids cap at 2 columns — selects were truncating
  • websites table fidelity — tinted header band, flush accent add-row
  • websync admin Test Email template list with the server registry
  • wwwstop dropping landing pageviews — queue captures behind PostHog init, re-emit on consent grant

Reverts

  • wwwback out marketing/www files swept into c3f344955

v1.82.0

Features

  • clientwizard auto-suggests the whole brand layer

Fixes

  • clientlicense gate success state + centered connect form

v1.81.0

Features

  • clientdefault new campaigns to pending-review post status
  • functions,plugin,clientfeed confirmed keywords + authority domains into AI suggest prompts
  • wwwsurface structural benchmarks + rankings-based internal links in marketing copy

Fixes

  • clientscope wp-admin cycle-usage widget + quota banner to the current activation
  • functions,clientscope competitor suggestions to the analyzed site + AI prompt context
  • plugin,functions,clientcache workspace audience so the plan badge doesn't flash

v1.80.0

Features

  • clientplan-aware setup wizard — skip AI step on cloud, license gate first
  • plugincarry provider_count_cap + is_anonymous on the settings payload

v1.79.0

Features

  • aiE-E-A-T writing signals + SERP entity coverage as toggleable SEO directives
  • wwwadd Agility Writer comparison page, reorder compare links by directness

Fixes

  • clientdefault the Code content block off for new campaigns
  • clientremove the 300ms transient frame in interview single-select
  • clientstop interview chip rows rewrapping when the checkmark appears
  • wwwgive every responsive grid an explicit grid-cols-1 base
  • wwwunstick mobile scroll lock + viewport-wide overflow on phones

v1.78.0

Features

  • admindebugging drill-down — site search, activation debug view, run traces
  • stockcampaign Stock tab — visibility + control over pre-generated posts
  • stockcancel frozen batches at the timeout ceiling and notify the owner

Fixes

  • researchrestore competitor analysis, site-level authority fallback, and stock enrichment
  • webstop dark-mode login logo from stacking icon over wordmark

v1.77.0

Features

  • analyticsroute browser PostHog through first-party reverse proxy
  • functionslog provider-native batch state on still-pending poller ticks
  • suggestionsground campaign/topic suggestions on positioning + target keywords

Fixes

  • aiclean up prompt-audit findings from a production system prompt
  • clientbackfill empty campaign model fields at the form-provider level
  • functionskey internal-link candidates by the activation's site URL

v1.76.0

Features

  • growthfire purchase milestone server-side (PostHog-only)
  • growthpersist utm_source through the funnel for partner referrals
  • wwwadd audience landing pages for individual + agency ad campaigns

Fixes

  • onboardinghydrate visuals over a pristine stale draft + make Exit stick

v1.75.1

Fixes

  • onboardingrestore Step 1 logo + hydrate Step 4 visuals from the bound preset

v1.75.0

Features

  • generationspersist the full prompt on text generation docs
  • growthdeep funnel events to PostHog, Telegram + Google Ads OCI
  • growthenrich funnel Telegram cards with name, plan, uid
  • growthreframe Overview as multi-surface activation + waitlist

Fixes

  • contentnormalize slug/keyphrase/heading/anchors before publish
  • growthdrop undefined click ids before the attribution set
  • scope site positioning + seoIntel to the activation, not the workspace
  • stockrun the repetition guard on batch-generated posts
  • webcommit public prod env so PostHog can't drop out of a build
  • webPostHog opt-state from consent at init, not a post-load flip

v1.74.0

Features

  • seoAI fallback for competitors + honest 'AI-guess' notices

v1.73.0

Features

  • siteSave button + Add all on Keywords/Competitors/Authority editors

Fixes

  • clientnamespace persisted localStorage per activation

v1.72.1

Fixes

  • onboardingcorrect a test cast that broke the release build

v1.72.0

Features

  • campaignsshow creation date on the campaign overview
  • onboardingauto-start the wizard on every activation, including free/none
  • onboardingfree/none get real Site/AI/Visuals/Personas steps; only SEO locked; hide campaign CTA for none
  • onboardingPro-gate format encoding + optimize-on-upload in the wizard Visuals step

Fixes

  • campaignsclose create wizard when the per-tier cap is hit on launch
  • campaignsreset margins on the launch-CTA heading + paragraph
  • sitefree tiers can restart the wizard + disabled Select now looks disabled
  • sitepad the locked-panel overlay so the lock card isn't flush

v1.71.0

Features

  • campaignsinherit SEO inputs from global settings; drop Competitors step
  • campaignsprominent keyword chips + prefill-from-site note
  • generationground post synthesis in brand positioning (tier-gated)
  • growthdedicated growth Telegram bot + Send-test, separate from ops alerts
  • growthGROWTH_TELEGRAM_CHAT_ID accepts a comma-separated recipient list
  • onboardinglogo→Step 1, unified magic loader, multi-persona, Step 6 CTA finish
  • onboardingrestart-wizard on Site→Settings, drop stale moved-widget, logo to top of Step 1
  • seopromote authority domains to a global workspace setting + fix dropped fields
  • sitere-run AI keyword suggestions on the Keywords tab
  • sitesurface + edit positioning on Site → Info with magic re-draft
  • sitesurface target keywords on the Keywords tab
  • stockpositioning-aware stock pre-generation (parity with live synthesis)
  • uiFileUpload drag-and-drop component; use it for the wizard logo

Fixes

  • ai-enginedialogs unusable inside onboarding wizard + auto-default sole provider
  • growthsurface Telegram rejection reason in Send-test + consistent button
  • onboardingblock Finish until complete instead of jumping to a step
  • onboardingconnect wizard personas to the shared library + prefill logo from custom_logo
  • onboardingFinish setup dead-ended after reload — persist validity + route to gaps
  • onboardingmodals invisible, loader spacing, empty visual draft, step-5-submit flow
  • onboardingpositioning/keyword AI-draft truncated — cap thinking budget, raise output cap
  • onboardingReact #310 — finishedRef useRef called after loading early return
  • onboardingwiden the wizard container on the Personas step
  • onboardingwizard logo stacked vertically — variant-swap classes clobbered LogoFull's flex
  • personaskeep New/Templates buttons in the Personas page header

Performance

  • authoritycap Gemini thinking + tighten liveness checks to fit the sync request budget