Changelog

Track all updates, new features, and improvements to Content Engine

Sign In

Current Version

v3.8.0

Features

91

Bug Fixes

98

Improvements

91

v3.8.0

MINOR
August 12, 2026

The Content page loads a page at a time instead of every article you have ever written, paid plans get the connection and article allowances they paid for, and the Labs now tell you which findings a fix cannot move instead of offering one that changes nothing.

New Features

📄

The Content page is paginated

Content now loads one page of articles at a time, with Previous and Next, and the heading still shows your real total rather than the number of cards on screen.

  • Measured before the change: 32 articles came to 920 kB on every visit, which projects to 28 MB at a thousand articles
  • The grid reads ten fields and never the article body, so most of that was fetched and thrown away
  • Each profile group shows how many articles that profile has, not how many are on the current page — so the number does not shrink as you page forward
  • Changing a filter returns you to page one, instead of leaving you past the end of a shorter list
🎯

The Labs say which findings a fix cannot move, and why

When a tool reports five issues and offers two fixes, it now lists the other three with the reason each was withheld.

  • Q&A format coverage is mostly the share of headings phrased as questions, and fixes never rewrite a heading — your table-of-contents links are built from them
  • Structured data awards five of its fifteen points for JSON-LD, which belongs in the page head rather than in the article, so ten is its real ceiling from the text — an article at 10/15 is finished, not failing
  • A GEO issue the analyzer itself classified as needing a human is no longer sent to a model
  • This is the answer to "I approved the fixes and the score did not move": the points you are missing may be in a dimension a rewrite cannot reach, and now the screen tells you
📚

Documentation for the features that had none

Thirteen new articles, covering every screen in the product. The AEO Lab, the GEO Lab, Content Audit, Content Refresh, Competitor Gap, the Bulk Queue, Repurpose, My Sites, SEO Performance and the Research Library had no documentation at all.

  • Every one of the 67 screens in the dashboard is now described in at least one article, and a check in the build keeps it that way
  • New: how a Lab finding becomes an approved section rewrite, and what happens to an article that is already published
  • New: why a Lab tool says it is not enabled for your workspace, and how to turn it on
  • The AEO Visibility Score article lists all six dimensions, what each one actually counts, and the two that a rewrite cannot move

🐛 Bug Fixes

Paid plans were being enforced at the Starter allowance

The Integrations page showed an Enterprise account a two-site limit with the Add button disabled, automation offered every package one article a day, and the dashboard told everyone their content limit was ten. All three read the plan from a snapshot written once at signup and never updated.

Ranking keywords failed for any workspace with keyword research

The Ranking Keywords list and the profile analytics that includes it were failing outright. A keyword record is stored as an object and was being read as a string.

Profile analytics no longer reads your whole library to count it

The content and publishing figures on a profile analysis are computed in the database now. Same numbers, verified against the old calculation on real data, without loading every article to add them up.

The workflow results page stopped sending every version of every article

It attached a full snapshot of each article for every revision ever made, and used only the count.

Improvements

A build check for reads with no ceiling

Any new customer-facing query that grows with your usage and has no limit now fails the build, with an escape hatch that requires a written reason at the call site.

A build check for documentation coverage

A new screen with no documentation, or an article missing from its section index, is now visible rather than discovered months later.

v3.7.0

MINOR
August 11, 2026

The Labs used to report a score and leave you to act on it. Thirteen tabs across SEO, AEO and GEO can now propose a surgical fix for the section a finding belongs to, for you to approve — and the panel tells you which site the article is on and whether the live copy is behind.

New Features

🔧

Propose and approve, on thirteen tabs instead of two

Every tab that reports on one of your stored articles can now fix what it found. Proposing writes nothing; you read the before-and-after for each suggestion and approve the ones you want.

  • SEO Lab: Validation
  • AEO Lab: Content Optimizer, Query Alignment, Fact Density, Visibility Score, Simulation
  • GEO Lab: Citability, Authority, Snippets, Entity Alignment, Readability, Structured Data, Competitive
  • Each fix rewrites ONE section, which is what makes it safe on an article that is already published
  • Tabs that take a competitor domain, a URL or a keyword rather than your article say so, instead of offering a control that cannot act
📤

The panel answers "if I approve this, what happens?"

It names the site the article is published to, links the live post, says whether publishing will update that post or create a new one, and says whether the live copy is behind your edits.

  • Approving updates the article here. Your live page is unchanged until you push it
  • The push updates the existing post in place — same post, same URL, no duplicate
  • It sends the status the post is already in, so an article you had deliberately unpublished is not put back online because you fixed a sentence
  • Where the status cannot be determined safely, no one-press push is offered and you are sent to the article's own publish dialog
📋

The SEO Lab has an article picker

Content Validation and Similarity Check now let you pick one of your articles instead of pasting text, which is what the AEO and GEO tabs already did.

  • One picker shared by all three Labs, so they cannot drift apart
  • Similarity Check has one on each side — comparing two of your own articles is how you find them competing with each other
  • Editing the text box after picking clears the selection, so a fix can never rewrite one article using findings from another
📊

Generated articles get tables, lists and quotes where the topic supports them

Articles were pure prose. They now include a comparison table, a data table, an ordered sequence or a pull quote when the material genuinely calls for one.

  • Every structure has a threshold and a refusal: two columns of sentences is not a table, and a continuous explanation is not fragmented into bullets
  • Zero structures is a legitimate outcome for a conceptual topic
  • Cell values are never invented — an unknown figure reads "Not stated"
  • Charts are deliberately not attempted: the publishing path has no chart primitive, so a data table is asked for instead — which is also the form search and answer engines extract

🐛 Bug Fixes

Competitor Gap Analysis answered "Failed to analyze" for every domain

It always had. The keyword endpoint it called does not exist; only the path was wrong.

Switching between repurposed versions showed the wrong body

The version list changed but the text underneath kept the first version you had opened.

Pushing an imported article back could re-upload its cover image every time

And it lost the record of what had already been sent, so "is the live copy behind?" was permanently unanswerable for imported articles.

Improvements

A bigger navigation with icons, grouped into sections

Twenty-six flat links became six collapsible sections. The Labs' tab bars now wrap instead of clipping the twelfth tool off the edge.

Reddit as a second publishing target

Connect an account, publish, and push updates — Reddit supports editing a post, so a corrected article can be corrected there too. Scoped to your own profile and subreddits you moderate.

v3.6.0

MINOR
August 10, 2026

Dark mode, on by default, with a toggle in the navigation and a follow-my-device option in Settings. Building it surfaced four contrast defects that had been in the light theme all along, including a chart series nobody could see.

New Features

🌙

Dark mode

The whole application, dark by default. Toggle it from the landing navigation or the dashboard header.

  • Settings → General → Appearance has Light, Dark and Follow my device
  • Follow my device changes with your operating system, live, without reloading the page
  • The theme is applied before the page paints, so there is no flash of the wrong theme
  • Verified by rendering nineteen screens in both themes and measuring the contrast of every element that carries text

🐛 Bug Fixes

Error and warning text was unreadable in the light theme

Two colours used on 162 places between them had no readable variant. They had always been below the accessibility threshold on the cream background.

The primary chart series was invisible

The default line and bar colour was a near-white acid green on a light background, used in 41 places.

The legal pages were dark text on a dark page

Terms, Privacy and the rest never received the redesign, so they rendered with the old dark styling on the light site.

Re-publishing an article created a second post instead of updating the first

Publishing the same article twice left two posts on your site. It now updates the post it created.

Cover images sometimes drew a camera

The image prompt named a photographer, which the image model read as a subject.

Improvements

Billing is reachable from the navigation

It had no entry point of its own — the only way in was a link inside the Integrations page. Settings now has one tab bar covering General, Integrations, Billing & Plan, API and Team.

The account menu works

Profile and Settings in the account menu did nothing at all.

The pricing buttons on the landing page work

They had no handler. Signed in they take you to your plan; signed out, to registration with the plan preselected.

v3.5.1

MINOR
August 9, 2026

Import an article from WordPress, improve it here, and push it back to the same post. The whole cycle now works end to end, and the Sections editor works on imported and generated articles.

New Features

📄

Read the article before you import it

Opening an article in My Sites now shows the full article — headings, paragraphs, lists and images — instead of an empty preview.

  • The body is fetched from your site on demand, so what you preview is exactly what gets imported
  • Categories, tags, author and featured image come with it
  • An article you have already imported offers "View imported content" rather than importing it twice
🔄

Push your improvements back to the same post

Publishing an imported article updates the original post on your site instead of creating a second copy, and the update is now recorded.

  • Works from the article page and from the end of the Improvement Wizard
  • Shopify articles update in place too — they used to be duplicated on every publish
  • The published URL and the publish history now appear on the article, so you can see and re-open what went live
  • If your site refuses the update, you are told — the wizard used to close on its success screen
🧩

Imported articles behave like the ones you generate here

Everything that reads an article now reads an imported one correctly: the Improvement Wizard, SEO scoring, export, repurposing, social snippets and link suggestions.

  • The Improvement Wizard analyses the article text — it was reading the page markup, so it found no headings
  • Scheduled publishing sends the full article body
  • An article that is live on your site is shown as published in your library, not as a draft
  • Re-importing an article to pick up changes made on your site keeps the article intact
📝

The Sections editor works on every article

Adding, deleting and reordering sections now works on imported and generated articles, and the article body updates with them.

  • Adding a section used to report success and then not appear
  • Deleting or reordering used to fail with "section not found"
  • Editing a section now updates the article everywhere, not only when publishing

🐛 Bug Fixes

Competitor Gap Analysis works

It answered "Failed to analyze competitor" for every domain because it called an SEO data endpoint that does not exist. It now returns the keyword gaps, and says specifically when the data provider is the problem.

Drafts and private posts appear in My Sites

Requests to your site were not being authenticated, so only publicly visible posts were listed and the article count was wrong.

A wizard fix is no longer applied and then ignored

On imported articles the improvement was saved in one place and read from another, so the article did not change.

Whether your local edits are ahead of your site is now accurate

The indicator always said "no local changes", even straight after rewriting an article.

Improvements

Bigger, clearer navigation

The sidebar section headings are larger and each carries an icon, and the links themselves are a size up.

Repurpose shows the version you clicked

Selecting a different version now changes the content, not just the heading above it.

Publishing sends HTML, never raw markdown

Some publish paths could send the article as markdown, which showed as literal ## and ** on the live page.

v3.5.0

PATCH
August 9, 2026

A grouped, collapsible sidebar; clear error messages in place of "[object Object]"; and fixes to Content Audit, Repurpose, SEO Performance and My Sites.

New Features

🧭

Grouped navigation

The sidebar's 26 links are now organised into six collapsible sections, with only the one you are working in expanded.

  • Create, Optimise, Library, Publish, Measure and Manage, with Dashboard pinned at the top
  • The section containing the page you are on opens automatically
  • A marker shows which collapsed section holds your current page
  • Every section is keyboard operable and announced to screen readers
♻️

Repurpose: open any version you have generated

Previously generated versions are now clickable and open in the preview, and the preview names the platform it was written for.

  • Opening an article you have already repurposed shows the newest version straight away
  • The version you are reading is marked in the list
  • The preview heading names the platform — LinkedIn, Medium, Email or Twitter
📈

SEO Performance explains itself

When the table is empty it now tells you which Search Console property was read, how many rows Google returned and how many matched your articles.

  • Distinguishes "nothing indexed yet" from "traffic that does not match your articles"
  • States that the data is read live from Search Console each time, not stored

🐛 Bug Fixes

Error messages no longer read "[object Object]"

Across the app, a failed request now shows the reason the server gave. Competitor Gap Analysis was the most visible case.

Content Audit no longer reports a score it could not measure

Auditing a single article URL used to produce a Site Health Score of 0 from zero crawled pages. The audit now looks at the whole site that URL belongs to, falls back to auditing that one page, and tells you when it could not read anything at all instead of scoring nothing.

My Sites lists your articles again

The article list asked WordPress for a post status it does not accept, so every site showed "0 articles" and a WordPress API error. It now loads your published posts, and drafts and pending posts can be selected explicitly.

SEO Performance page title

The page heading showed an internal label instead of its name.

Improvements

AEO Lab and GEO Lab tab bars

The twelve tools in each lab were in a single row that clipped the last entry with no indication more existed. The bar now wraps so every tool is visible, and the selected tool is readable and announced rather than shown by colour alone.

Keyboard and screen-reader access

Navigation sections, lab tabs and the repurpose version list are all operable by keyboard and announce which item is current.

v3.4.0

MINOR
August 7, 2026

Automation was inventing article topics from a keyword with no date and no search behind it, which is how a post about a two-generation-old phone reached a live site. Articles gained a working table of contents. The plans were repriced against measured cost.

New Features

🔗

Every article has a table of contents, and its links work

Automation-published articles had none at all, and the ones the wizard produced had links that pointed at headings that did not exist.

  • One implementation builds both the links and the heading anchors in a single pass, so they cannot disagree
  • Duplicate headings get distinct anchors — two "FAQ" sections used to send every link to the first
  • Nothing is added to an article with fewer than two headings

🐛 Bug Fixes

Automation wrote about the wrong year, and about products two generations old

The topic was invented from a bare trending keyword using the model's training data — no date, no search — and the research step then confirmed the wrong premise it had been handed. Topic creation is now grounded in a dated, recency-filtered search before the title exists, and an ungrounded run is forced to an evergreen topic rather than guessing at news.

The writer never received the research

Research reached the keyword and outline steps and stopped there, so the article itself was written from training data filtered through an outline. Both the wizard and automation were affected.

Every source URL from the research step was being discarded

Citations came back in a shape the parser did not read, so the sources rendered as empty links.

Literal ### appeared in published articles

Headings inside a quote block were shipped as raw text. Measured on ten live posts: every one of them had two or three.

Published articles showed their title twice

The article's own heading was included in the body as well as the post title.

Twelve images were generated per article against a budget of two

Images are the most expensive part of an article and the section-image loop had no limit, so every plan was six times over the allowance it was priced on.

Improvements

Pricing that matches what the plans cost to serve

Every tier was repriced against measured cost — API, infrastructure, storage and payment fees — in the product and in Stripe together. Anyone on an old price keeps it.

The pricing on the landing page is the pricing you are charged

The public page described plans that no longer existed, promised one tier as unlimited when it is capped, and hid the real top tier entirely. A check now fails the build if the page and the plans disagree.

Cover images look like photographs

The image instruction asked for a concept and got stock-art; it now asks for a concrete scene in photographic language.

v3.3.0

MINOR
August 6, 2026

The product could not send email at all — password recovery and team invitations answered success and sent nothing. Your WordPress and Shopify credentials were stored unencrypted. Screens that could not load their data were claiming there was none.

New Features

✉️

Email works

Password recovery, team invitations, payment-failure notices and usage warnings are delivered. The blocker was a hard dependency on a single vendor, so the transport is now provider-agnostic.

  • Password recovery completes end to end: request, email, reset, and every other session revoked
  • A team invitation now reports truthfully whether the email was sent, and creates the invitation either way
  • With no transport configured, the request is refused with an explanation instead of claiming success
🔒

A security page that only claims what the product does

Every statement on it is verifiable against the product, and it says plainly what is NOT claimed.

    🐛 Bug Fixes

    WordPress and Shopify credentials were stored in plaintext

    An application password is a real credential for your own site. They are encrypted at rest now, with the existing ones migrated.

    Six screens told connected customers they were not connected

    A failed check was drawn as "not connected" rather than as a failed check — so a Search Console outage looked like a disconnected account.

    Fourteen dashboard actions failed silently

    A write the server refused left the screen looking as though it had worked.

    Four dashboard controls called endpoints that had never been built

    Retrying a failed publish, cancelling an invitation, the member picker and the Shopify blog selector.

    Changing an article's status from the article page did nothing

    The dropdown reported success and the status did not change.

    Every date boundary was computed in the server's timezone

    Daily usage could be recorded against the previous day, and a billing period could start an hour before the month.

    Both inbound publishing webhooks had a guard that could never fire

    Not a live bypass — the routes in front of them refuse first — but the check itself was inert.

    Improvements

    Recording usage no longer scales with the amount reported

    It made one database round trip per unit. Reporting 200 units took 2.8 seconds inside a single request; it is now flat.

    Spreadsheet-safe exports, everywhere

    Every CSV this product emits neutralises formula injection, and download filenames no longer break on non-Latin titles.

    v3.2.0

    MINOR
    August 3, 2026

    A full security pass. Cross-tenant access was possible on articles, platform connections, keyword lists and collections; password-reset tokens were stored in plaintext; there was no request size limit. All closed, and the type gate that would have caught several of them is back on.

    New Features

    🛡️

    Error boundaries on every page

    A render error used to produce a blank white page. Every area of the application now has a boundary that keeps the navigation usable and offers a way back.

      🐛 Bug Fixes

      Cross-tenant access on articles, connections, keyword lists and collections

      Requests carrying another workspace's identifier could read or change data that was not theirs — including a platform connection's stored credentials. Every by-identifier route is now scoped to the caller's own organisation, centrally rather than route by route, and a request naming a workspace outside your organisation is refused before a handler runs.

      Paying customers were enforced at the free tier

      Two separate plan definitions existed and the one being enforced defaulted to free, so a paid account could be hard-blocked at two articles a month with an upgrade prompt.

      A failed card never marked a subscription past due

      Three fields moved in the payment provider's API and the code could not see the change, so a failed payment left full access in place.

      Cancelling a subscription ended access immediately

      Instead of at the end of the period already paid for — up to two months lost. The same bad date then produced a "$0.00, 0 days remaining" figure on the upgrade screen.

      Password-reset tokens were stored in plaintext

      Only a hash is stored now, single-use, and issuing a new link invalidates the outstanding one.

      No request body size limit anywhere

      A 24 MB body was buffered and parsed without authentication.

      A customer keyword could be used as a regular expression

      Which blocked the server for 73 seconds and then crashed it.

      Restoring an article version did not work, for anyone

      And the same route had no tenancy check at all — both fixed together, because fixing only the first would have opened a cross-tenant write.

      The API keys screen was handing out keys that never existed

      One settings panel generated a plausible-looking key in the browser, showed it as live, and reported success on revoking it.

      The AI stream endpoint returned fabricated content

      It served hardcoded prose one word at a time to imitate a model, on a live authenticated endpoint. It now refuses instead.

      Inbound publishing webhooks had never worked

      Nothing could create an endpoint, so every delivery was rejected. They are persisted and signature-verified now.

      Deleting a keyword cluster reported success and deleted nothing

      Improvements

      Native browser dialogs replaced throughout

      Eight alerts and thirteen confirmations used the browser's own dialogs, which take their buttons from the operating system language — so a customer reading the product in Arabic got an English left-to-right dialog on the destructive actions specifically.

      The shared dropdown works from the keyboard

      Including the organisation switcher and the account menu, which appear on every page.

      Right-to-left layout works

      It never had: the direction was being applied and then removed as the page loaded, so Arabic rendered inside a left-to-right document. 417 hard-coded directional styles were converted.

      Automation runs outside the web request

      A run takes minutes and used to execute inside an HTTP request, capped at roughly one run a minute. Each run is now claimed atomically, so two workers can never charge the same run twice.

      Images are stored as files rather than inside the database

      Rate limiting on every endpoint

      Four of about 350 routes had any limit. The default now applies everywhere, per customer and per endpoint.

      Faster lists everywhere

      Publishing history, the publishing queue, automation statistics, keywords and the dashboard were reading every row a workspace had ever produced. They are bounded or aggregated now — and the per-site breakdown on the automation analytics card, which had always been empty, reads the right table at last.

      v3.1.0

      MINOR
      July 11, 2026

      The whole product in seven languages, including right-to-left, with a switcher in the dashboard header and on the public site. Plus a Free allowance that resets every month instead of expiring once.

      New Features

      🌍

      Seven languages

      English, German, French, Italian, Spanish, Swedish and Arabic, across the dashboard, the Labs, the documentation and the public pages.

      • A switcher in the dashboard header and in the landing navigation
      • Arabic includes right-to-left layout
      • Around 15,000 strings that were still English placeholders were translated
      • Every area is covered: workflow, automation, keywords, profiles, analysis, settings, team, billing and the public pages
      🎁

      A Free allowance that resets every month

      The free tier was a one-time pool that expired. It is now a monthly allowance, so an account that has been idle is usable again next month.

        🐛 Bug Fixes

        Live progress stopped updating behind some networks

        The generation log appeared frozen while the work was proceeding normally. A keep-alive now keeps the connection open.

        The five-step workflow could produce duplicate articles

        And the finished article was hard to read on the light theme.

        Research fell over when the direct provider had no credit

        It now falls back to a second provider instead of failing the step.

        Twenty-two Lab and documentation screens crashed on load

        A missing import during the language work meant the page threw instead of rendering.

        Improvements

        Contact details, one support channel

        A support email and a ticketing system, and the phone number, WhatsApp link and street address removed from every page.

        AI endpoints check your allowance before spending it

        59 endpoints could be reached without one.

        v3.0.0

        MAJOR
        April 11, 2026

        GEO Lab (Generative Engine Optimization Laboratory) — a full-featured module with 9 sub-modules for optimizing content for AI engines like ChatGPT, Perplexity, Gemini, and AI Overviews.

        New Features

        🌍

        GEO Lab Module

        Comprehensive Generative Engine Optimization laboratory with 9 analyzers, per-workspace feature flags, and a research library.

        • Citability Analyzer: passage-level scoring for AI citation potential across 5 dimensions
        • Source Authority Scorer: E-E-A-T marker detection with citation quality and author credential evaluation
        • Snippet Optimizer: answer-first formatting analysis with meta description suggestions
        • Entity Alignment Engine: named entity extraction, consistency, disambiguation, and relationship clarity
        • Structured Data Validator: JSON-LD, Microdata, RDFa detection with Schema.org validation and Speakable markup
        • AI Readability Scorer: heading hierarchy, content segmentation, semantic markup, sentence complexity, keyword density
        • Competitive GEO Analyzer: side-by-side comparison across all 6 GEO dimensions with prioritized recommendations
        • Evolution Dashboard: 7d/30d/90d trend tracking with decay alerts and composite health score
        • Research Library: paginated records with search, filter, favorite, and tag management
        🎛️

        GEO Lab Feature Flags

        Per-workspace toggle control for each of the 9 GEO Lab sub-modules with activity logging.

        • 9 independent feature flags for granular control
        • Toggle UI on dedicated feature flags page
        • Activity logging for flag changes
        • Getting-started prompt when all flags disabled
        📊

        GEO Lab Dashboard & Navigation

        Full dashboard with overview stats, sub-navigation, content selector, and score displays.

        • Overview page with total analyses, average GEO score, content scored, enabled modules
        • Horizontal sub-navigation bar across all 11 GEO Lab pages
        • Content selector component for workspace content analysis
        • Color-coded score displays: red (0-39), yellow (40-69), green (70-100)
        • Sidebar navigation entry after AEO Lab
        • Landing page and pricing integration with Pro and Enterprise plans

        Improvements

        Consolidated GEO Code

        Scattered GEO analysis code (GEO Analyzer, GEO Optimizer, Geopolitical Context Engine) consolidated into a cohesive laboratory module.

        AEO Lab Architecture Mirror

        GEO Lab follows the same proven architecture as AEO Lab for consistency and maintainability.

        v2.9.0

        MINOR
        April 9, 2026

        Automation pipeline wired to real AI services with quality gates, plus AI Content Audit, Social Media Snippets, Collaboration Workflow, White-label Reports, and Public REST API.

        New Features

        Production Automation Pipeline

        Automation pipeline steps wired to real Gemini AI, quality gates, brand voice, image generation, and cost tracking.

        • Topic creation wired to Gemini AI with structured JSON output
        • Content generation using real EnhancedContentEngineService
        • Publishing step sends actual article content to WordPress/Shopify
        • Quality gate enforcement before publishing
        • Brand voice injection from business profiles
        • AI image generation for cover and section images
        • SEO analysis auto-run on generated content
        • Social snippet generation for Twitter, LinkedIn
        • Per-run cost tracking with estimated USD
        • Webhook notifications on pipeline completion
        • Rate limiting and graceful degradation
        🔍

        AI Content Audit

        Crawl any website and score every page for SEO quality, content freshness, readability, and technical SEO.

        • Website crawl with page-by-page scoring
        • Site health score with rewrite/optimize/maintain recommendations
        • Per-page breakdown: SEO quality, content freshness, readability, technical SEO
        • Issue detection with severity classification
        📱

        Social Media Snippet Generator

        Transform articles into platform-optimized social media posts.

        • Generate snippets for Twitter/X, LinkedIn, Facebook, Instagram
        • Platform-specific formatting and character limits
        • Word count tracking and copy to clipboard
        👥

        Collaboration & Approval Workflow

        Multi-role content approval pipeline with comments and transition history.

        • Draft → Review → Approved → Published status pipeline
        • Writer, Editor, Approver role assignments
        • Threaded comments on content approvals
        • Full transition history with timestamps
        📄

        White-label Reports

        Generate branded PDF/HTML reports with custom templates and organization branding.

        • Customizable report templates
        • Organization branding (logo, colors)
        • PDF and HTML export formats
        • Scheduled report generation
        🔌

        Public REST API

        API key authentication for external integrations with rate limiting and documentation.

        • API key generation and management per workspace
        • Rate-limited endpoints for content, keywords, and publishing
        • Comprehensive API documentation

        Improvements

        Pipeline Cost Visibility

        Each automation run now tracks estimated cost in USD with per-step progress data.

        Cron Secret Protection

        Automation scheduler endpoints protected with CRON_SECRET environment variable.

        v2.8.0

        MINOR
        April 8, 2026

        Bulk article generation, content refresh engine, competitor gap analysis, content calendar, SEO performance tracking, content briefs, brand voice learning, multi-language support, and smart internal linking.

        New Features

        📦

        Bulk Article Generation

        Submit 10-50 topics for sequential AI article generation with progress tracking.

        • Queue dashboard showing status of each article
        • Duplicate detection before generation
        • Background task integration with progress indicators
        • Batch completion summary with links to all articles
        🔄

        Content Refresh Engine

        Detect stale content and refresh it with AI-powered suggestions and one-click updates.

        • Freshness scoring based on age, traffic trends, and content quality
        • AI-generated refresh suggestions per section
        • One-click section refresh with version tracking
        • Freshness cache with automatic expiration
        🎯

        Competitor Content Gap Analysis

        Analyze competitor URLs to discover keyword opportunities and content gaps.

        • Competitor URL analysis with keyword extraction
        • Opportunity scoring based on search volume and difficulty
        • Partial coverage detection for existing content
        • Suggested titles and descriptions for gap topics
        📈

        SEO Performance Tracking

        Track article ranking snapshots with keyword position data over time.

        • Daily ranking snapshots per article
        • Keyword position tracking with historical data
        • Impressions, clicks, CTR, and average position metrics
        • Trend visualization across snapshot dates
        🎤

        Brand Voice Learning

        Analyze existing content to learn tone, sentence structure, vocabulary, and paragraph patterns.

        • Crawl source URLs to extract writing patterns
        • Tone analysis: formality, humor, technicality, warmth
        • Sentence structure profiling: length distribution, complexity
        • Vocabulary extraction: preferred terms, avoided terms, jargon level
        • Auto-inject learned voice into content generation prompts
        🔗

        Smart Internal Linking Suggestions

        AI-powered suggestions for internal links between workspace articles.

        • Relevance scoring between content pairs
        • Suggested anchor text and paragraph placement
        • Accept/dismiss workflow with applied tracking
        • Bidirectional link suggestions (inbound and outbound)
        🌐

        Multi-Language Article Generation

        Generate articles in multiple languages with localized SEO optimization.

        • Language selection in content generation workflow
        • Localized keyword research and SEO analysis
        • Language-appropriate content structure and formatting
        📋

        Content Briefs Export

        Export structured content briefs for external writers with SEO guidelines.

        • Brief generation from keyword research and competitor analysis
        • Export to PDF, Markdown, and JSON formats
        • Includes target keywords, outline, word count targets, and SEO requirements

        Improvements

        Content Calendar View

        Visual calendar showing scheduled and published content with drag-and-drop rescheduling.

        One-Click Republish

        Republish updated content to connected platforms with a single click from the content detail page.

        v2.7.0

        PATCH
        February 8, 2026

        Five critical runtime bugfixes: trending keywords save from workflow, GSC analytics silent errors, documentation typography, saved topics navigation, and multi-article queue progression.

        🐛 Bug Fixes

        Trending Keywords Save from Workflow

        Fixed TrendingKeywordsModal not receiving workspaceId when opened from TopicCreationStep, causing all save operations to fail.

        GSC Analytics Silent Null Return

        Fixed fetchGscSearchPerformance silently returning null on errors instead of surfacing error information to the frontend.

        Documentation Typography Plugin

        Installed and configured @tailwindcss/typography plugin so prose-* classes render properly in documentation articles.

        Saved Topics Navigation

        Added "Saved Topics" as a child nav item under Workflow in the sidebar for discoverability.

        Multi-Article Queue Completion

        Fixed handleComplete in ContentGenerationStep always navigating away instead of calling onArticleComplete in multi-article mode.

        Improvements

        GSC Error Visibility

        Analytics API now includes gscError field when GSC fetch fails, allowing frontend to display specific error messages.

        Workflow Topics Link Enhancement

        Saved Topics link on workflow page upgraded from small text to a prominent button-style link.

        v2.6.0

        MINOR
        February 5, 2026

        Claude Blog methodology integration with 12 content templates, GEO/AEO analyzer, quality gate enforcement, content repurposing to 5 formats, and full frontend UI for template selection, quality display, and repurpose panel.

        New Features

        📋

        Content Template System

        12 structured content templates with AI citation strength ratings and automatic template suggestion based on topic signals.

        • 12 templates: how-to, listicle, case study, comparison, ultimate guide, and more
        • Auto-detect best template from topic signals
        • Template selector UI in workflow Step 5 with grid cards
        • AI citation strength rating per template
        • Word count range display (min-max)

        Quality Gate Display

        Visual quality gate results with pass/fail status, composite score, 5-category breakdown, and severity-sorted violations.

        • Pass/fail indicator with green checkmark or red warning
        • Composite score (0-100) with color coding: green ≥80, yellow ≥50, red <50
        • 5 category progress bars: Content Quality, SEO Optimization, EEAT Signals, Technical Elements, AI Citation Readiness
        • Violations sorted by severity: critical → high → medium → low
        • Integrated into content detail page
        🔄

        Content Repurpose Panel

        Transform articles into 5 formats: Twitter/X threads, LinkedIn posts, email newsletters, YouTube scripts, and key takeaways.

        • 5 repurpose format options as selectable cards
        • One-click repurposing with loading state
        • Read-only output with word count and preserved stats
        • Copy to clipboard functionality
        • Integrated as a tab on the content detail page
        🌐

        GEO/AEO Analyzer

        New SEO scoring category for Generative Engine Optimization with 5 sub-checks.

        • Passage citability scoring
        • Q&A format detection
        • Entity clarity analysis
        • Extraction structure evaluation
        • Crawler accessibility check
        • Integrated into SEO scoring engine as 7th category

        Improvements

        Content Generation Enhancement

        AI prompts now incorporate template structure and content rules when a template is selected.

        Quality Gate Auto-Run

        Quality gate validation runs automatically after content creation and results are included in the API response.

        Backend Property Tests

        Added property-based tests for template selection determinism, GEO score bounds, quality gate consistency, and SEO category completeness.

        v2.5.0

        MINOR
        February 2, 2026

        AEO Lab module, real image search with AI editing, AI-powered quality violation fixes, and analytics/governance data pipeline fixes.

        New Features

        🤖

        AEO Lab Module

        Professional-grade Answer Engine Optimization laboratory with 9 sub-modules for AI citation optimization.

        • Citation Tracker monitors when content is cited by Perplexity, ChatGPT, Gemini, AI Overviews
        • AI Visibility Score (0-100) across 6 dimensions: entity clarity, factual density, source attribution, structured data, Q&A coverage, claim conciseness
        • Query-Answer Alignment Analyzer simulates AI extraction patterns
        • Content Structure Optimizer with actionable fix suggestions
        • Fact Density & Attribution Auditor scores paragraphs 0-10
        • Schema & Structured Data Generator for FAQ, HowTo, Article JSON-LD
        • AI Engine Simulation predicts citation likelihood per engine
        • Competitive Citation Analysis identifies competitor citability factors
        • AEO Evolution Dashboard tracks citation trends and decay alerts
        🖼️

        Real Image Search + AI Editing

        Replace pure AI-generated images with real internet-sourced images edited via Google Imagen 4.

        • Internet image search for royalty-free images based on article context
        • Google Imagen 4 editing applies custom designs to real source images
        • Works in both Step 5 content generation and article edit page
        • Fallback to pure AI generation when no suitable images found
        🔧

        AI-Powered Quality Violation Fixes

        One-by-one AI fix suggestions for Quality Gate violations with preview and undo.

        • Fix button next to each violation in Quality tab
        • Diff-style preview showing original vs proposed replacement
        • Fixes for fabricated-statistics, author-attribution, heading-hierarchy, paragraph-length
        • Version history for each fix with undo capability
        • Re-validates after each fix to prevent cascading conflicts

        🐛 Bug Fixes

        Analytics GSC Data Display

        Fixed analytics page not showing real Google Search Console data due to sync log deduplication skipping display fetches.

        Governance Pipeline Data

        Fixed governance and evolution pages showing empty state despite having connected domains and published content.

        Hardcoded Analytics Values Removed

        Removed hardcoded device breakdown, traffic source, and visitor split percentages from analytics API.

        Improvements

        Analytics Data Source Labels

        Each stat card now shows its data source (via GSC, via content analytics, estimated).

        Governance Insufficient Data Messages

        Specific reason displayed when governance data is insufficient instead of generic empty state.

        v2.4.0

        MINOR
        January 30, 2026

        Trending keyword save/reuse, multi-topic article generation, reusable content blocks, SEO Lab data pipelines, and ranking/clustering data population.

        New Features

        📈

        Trending Keywords Save & Reuse

        Save trending keywords to lists with full DataForSEO research data for future reuse.

        • Save individual or all trending keywords to keyword lists
        • Auto-fetches search volume, difficulty, CPC, competition, intent for each saved keyword
        • Saved Keywords modal for quick reuse in SEO Lab and Workflow Step 4
        📝

        Multi-Topic Article Generation

        Select multiple topics in Step 4 and generate separate articles for each in a batch queue.

        • Multi-article queue panel between Step 4 and Step 5
        • Progress indicator showing Article X of Y
        • Preserves all workflow context across topic generations
        • Completion summary with links to all generated articles
        🧩

        Reusable Content Blocks

        Design saveable content templates (newsletter boxes, quote boxes, styled elements) for reuse across articles.

        • Visual editor with HTML structure, CSS styling, and placeholder fields
        • Built-in block types: Newsletter Signup, Quote/Testimonial, CTA, Comparison Table, Feature Highlight, Author Bio
        • Insert from "My Blocks" category in the content editor InsertMenu
        • Live preview panel in block editor
        🔄

        SEO Lab Data Pipelines

        Automated data collection pipelines for Evolution and Governance tabs with real metrics.

        • ContentAnalyzer extracts structural metrics from published HTML
        • Publishing webhook triggers automatic post-publish analysis
        • DataPipelineOrchestrator automates performance collection, SERP analysis, citation checks
        • Pipeline execution logging with timing and status tracking
        • Page tracking registry for published content monitoring

        🐛 Bug Fixes

        Profile Stats Showing Zero

        Fixed profile cards showing 0 articles and 0 sessions by computing real counts from Content and WorkflowSession tables.

        Ranking Section Empty

        Fixed Keywords page Tracking tab showing empty state by fetching real TrackedKeyword data.

        Clustering Section Empty

        Fixed Keywords page Clusters tab showing empty state with Generate Clusters action.

        Improvements

        Saved Topics from Step 4

        Topics generated in Step 4 are now saved and accessible for future article creation from the Workflow page.

        Analytics Data Clarity

        Analytics page now shows data source indicators and explanatory banners for each metric section.

        Documentation Section Update

        Documentation updated to cover all implemented features with proper layout fixes.

        v2.3.0

        MINOR
        January 28, 2026

        Trending keywords modal, SEO Lab research integration into workflow AI prompts, WordPress tag creation, real-time workflow progress with SSE streaming, and plain English status messages.

        New Features

        🔥

        Trending Keywords & Topics Modal

        DataForSEO-powered trending keyword discovery in SEO Lab AI Research and Workflow Step 4.

        • Niche-based trending keyword search via DataForSEO Google Trends API
        • Top 20 trending keywords with trend scores
        • Click to populate seed keyword or topic field
        • Shared reusable component across SEO Lab and Workflow
        📡

        Real-Time Workflow Progress (SSE)

        Server-Sent Events streaming for genuine real-time progress across all 5 workflow steps.

        • Replaces simulated setTimeout delays with actual server-sent progress events
        • Item-level counters (e.g., "Analyzing page 5/29", "Writing section 3/7")
        • Elapsed timer and estimated time remaining
        • Graceful fallback for non-streaming endpoints
        💬

        Plain English Workflow Status

        Detailed real-time activity feed showing every action in simple, user-friendly language.

        • Scrollable activity log with timestamped messages
        • Step-specific messages: page discovery, source validation, section writing
        • Processing/success/error indicators per message
        • Auto-scroll with manual scroll pause support
        🏷️

        WordPress Tag Creation on Publish

        Create new WordPress tags directly from the publish dialog without switching to WordPress.

        • Searchable multi-select tag dropdown with existing tags
        • "Create tag" option for new tag names
        • Tags created on WordPress during publish operation
        • Fetch and create tags API endpoints

        🐛 Bug Fixes

        Step 5 Double-Click Bug

        Fixed Complete button requiring two clicks by ensuring single-click save-and-navigate with immediate disable.

        Governance/Evolution Empty Data

        Fixed data pipeline not populating metrics by auto-registering published articles and providing Run Pipeline button.

        Improvements

        SEO Lab Research in AI Prompts

        Attached SEO Lab research records are now formatted and injected into workflow AI prompts for all 5 steps.

        Rotating Tips During Long Operations

        Helpful tips and encouragement messages displayed during workflow steps exceeding 15 seconds.

        v2.2.0

        MINOR
        January 27, 2026

        SEO Lab UX overhaul with pagination/sort/filter/export, OpenClaw dashboard UI, multi-property GSC/GA4 analytics, and Google Search Console integration.

        New Features

        🦞

        OpenClaw Dashboard UI

        Frontend interface for the OpenClaw Adaptive SEO backend with feature flags, AI research, validation, evolution, governance, and hybrid content pages.

        • OpenClaw section in sidebar navigation
        • Overview page with feature flag status and key metrics
        • Feature flags management with per-workspace toggles
        • AI Research page with Keywords, Competitors, Links, City Map tabs
        • Validation Engine page for content validation, similarity, and link checks
        • Evolution Dashboard with correlations, hypotheses, experiments, SERP drift, AI citations
        • Governance Dashboard with authority scores, velocity, volatility
        • Hybrid Content generation form with preview
        📊

        Multi-Property GSC & GA4 Analytics

        Connect multiple Google Search Console and Google Analytics 4 properties per workspace.

        • Multiple GSC property connections without removing existing ones
        • Property selector dropdown when multiple properties connected
        • GA4 OAuth authorization with analytics.readonly scope
        • GA4 dashboard: sessions, users, page views, bounce rate, traffic sources, top pages, device breakdown
        • Real-time active users from GA4 Realtime API
        • Date range presets: Last 7/28/90 days, Last 12 months
        🔍

        Google Search Console Integration

        OAuth2 GSC connection feeding real search data into SEO Lab pipelines.

        • OAuth2 connection with webmasters.readonly scope
        • Property selection from available GSC sites
        • Search Analytics data: clicks, impressions, CTR, average position
        • Automatic PageStructuralMetric population for Evolution/Governance
        • URL Inspection API for indexation status tracking
        • Ranking velocity calculation across sync periods
        • Automated 24-hour sync scheduling

        🐛 Bug Fixes

        Research Library Favorite Toggle

        Fixed favorite star not updating by implementing optimistic UI updates with rollback on failure.

        Research Library Delete

        Fixed delete not removing cards by implementing optimistic removal with re-insert on failure.

        Governance Domain Selection

        Fixed "domainId is required" error by auto-detecting connected domains.

        Evolution Empty Array Display

        Fixed raw [] rendering by treating empty arrays/objects as empty data with descriptive messages.

        Improvements

        SEO Lab Pagination

        All SEO Lab data views now paginate at 25 rows with page navigation controls.

        SEO Lab Sort & Search

        Sortable column headers and debounced search input across all data tables.

        SEO Lab Export

        CSV and JSON export buttons on all data tables for filtered/sorted data.

        ResultsPanel Improvements

        Row count summary, proper empty states, configurable page size, sort indicators.

        Sidebar Navigation Reorder

        SEO-Lab moved directly after Workflow for easier navigation.

        v2.1.0

        MINOR
        January 26, 2026

        SEO Lab research persistence and workflow integration, interactive product tour engine, seamless article import, and enhanced keyword management.

        New Features

        🔬

        SEO Lab Workflow Integration

        Auto-save every SEO Lab analysis result and attach research to workflow steps for AI-enriched content generation.

        • Auto-save all 15 analysis types to Research Library
        • Browsable Research Library with search, filter, favorite, tags
        • Attach research to workflow steps with relevance recommendations
        • Context injection formats research data into AI agent prompts (max 8000 chars)
        • Research record data validation and tag management
        🎯

        Interactive Product Tour Engine

        Comprehensive onboarding system with fluid spotlight animation, smart tooltips, and keyboard navigation.

        • Fluid spotlight animation gliding between elements (300-500ms transitions)
        • Smart tooltip positioning avoiding viewport edges
        • Pulsing beacon indicators on target elements
        • Keyboard navigation (arrows, Enter, Escape)
        • Tour state persistence in localStorage
        • Analytics tracking for tour engagement
        • WCAG accessible with ARIA attributes and focus management
        🔑

        Enhanced Keyword Management System

        Professional keyword management with lists, tracking, clustering, competitive analysis, and visualizations.

        • Keyword lists with folders, sharing, and CSV import
        • Position tracking with daily checks and historical graphs
        • Automatic keyword clustering by semantic similarity
        • Competitive gap analysis across competitor domains
        • Interactive charts: trend lines, difficulty histograms, ranking history
        • Content-keyword linking for targeted article tracking
        📥

        Seamless Article Import

        Transform imported WordPress/Shopify articles into first-class content with proper parsing and normalized storage.

        • HTML entity decoding during import
        • Proper section grouping under real headings
        • Normalized Content_Body storage (raw + html)
        • Wizard fix integration for imported articles
        • Reliable update-on-site pushing improved content back
        • Atomic import transactions

        🐛 Bug Fixes

        Imported Article Content Display

        Fixed imported articles showing raw CSS/styling code by properly handling ContentBlock[] array format.

        Profile Deletion List Filter

        Fixed soft-deleted profiles still appearing in list by adding deletedAt: null filter to all queries.

        Improvements

        Workflow Context Injection Formatting

        Research data formatted as human-readable summaries with labeled sections instead of raw JSON dumps.

        SEO-Lab Branding Consistency

        Consistent "SEO-Lab" naming across all UI components, navigation, and labels.

        v2.0.0

        MAJOR
        January 23, 2026

        Major release with production-ready Stripe billing, multi-platform publishing, unified analytics, intelligent SEO fix engine, and inline SEO fix suggestions.

        New Features

        💳

        Production-Ready Stripe Billing

        Complete Stripe payment integration with subscription management, three pricing tiers, and usage tracking.

        • Starter ($29/mo), Professional ($99/mo), Enterprise ($299/mo) packages
        • Automatic proration for upgrades
        • Scheduled downgrades at billing period end
        • Invoice history and PDF downloads
        • Stripe Customer Portal integration
        🚀

        Multi-Platform Publishing

        Connect and publish to multiple WordPress and Shopify sites from a single dashboard.

        • Multiple WordPress site connections
        • Multiple Shopify store connections
        • Scheduled publication support
        • Publishing history tracking
        • Connection health monitoring
        📊

        Unified Analytics Hub

        Comprehensive resource consumption tracking with trends, cost breakdown, and exports.

        • Real-time usage tracking (articles, words, keywords, images)
        • Progress bars with 80% warning and 100% exceeded indicators
        • Daily/weekly/monthly trend views
        • Estimated API cost breakdown
        • CSV export functionality
        🧠

        Intelligent SEO Fix Engine

        AI-powered SEO fix system that applies fixes to the correct database records.

        • Fixes apply to ContentSection records (not legacy JSON)
        • Proper section ID resolution for thin-section fixes
        • Introduction/conclusion fixes insert new sections
        • Full undo/rollback support
        • All fixes wrapped in database transactions

        Inline SEO Fix Suggestions

        GitHub-inspired inline AI fix suggestions within the JSON structure viewer.

        • Red background highlighting for issues
        • Green background for AI suggestions
        • Side-by-side original vs suggested comparison
        • Keyboard navigation (Tab, Enter, Escape)
        • Batch "Request All Suggestions" and "Accept All"
        🔑

        Enhanced Keywords Section

        Keyword history tracking and ranking performance visualization.

        • Historical keyword tracking
        • Ranking position tracking (current, previous, change)
        • Status categorization (improving, stable, declining)
        • Performance trend charts
        • Advanced filtering options

        🐛 Bug Fixes

        SEO Batch Fix Section ID Resolution

        Fixed batch fix "Record to update not found" error for thin-section issues.

        Broken Links Now AI-Fixable

        "Potentially Broken Links" changed from manual to AI-fixable.

        Structure Tab SEO Values

        Structure tab now shows current SEO values instead of stale outline metadata.

        Content Overwrite Prevention

        Fixes no longer replace entire content - H1, intro, and conclusion fixes work correctly.

        React Hooks Build Errors

        Fixed React hooks called conditionally in JSON viewer components.

        Improvements

        70+ Property-Based Tests

        Comprehensive test coverage for billing, publishing, SEO, and more.

        Database Schema Updates

        New tables for platform connections, publishing records, usage tracking, and keyword history.

        Virtual Scrolling

        Performance-optimized JSON viewer with 500ms render for 10K word articles.

        v1.9.0

        MINOR
        January 20, 2026

        OpenClaw Adaptive SEO platform with multi-model AI routing, AI-native research engine, pre-publish validation, evolution layer, and hybrid content generation. Claude Blog quality scoring and template integration.

        New Features

        🦞

        OpenClaw Adaptive SEO Platform

        Multi-model AI routing, AI-native research, 5-layer adaptive architecture, and hybrid Google + AI optimization.

        • Multi-model AI routing via OpenRouter (Claude, GPT, Gemini, Grok)
        • AI-powered keyword research replacing expensive third-party tools
        • Multi-model consensus scoring (3 models averaged)
        • Pre-publish validation engine (85/100 minimum score)
        • Correlation engine discovering content structure → performance relationships
        • Experiment engine with controlled 15% rollout and auto-rollback
        • SERP drift detection and AI citation monitoring
        • Decay detection with automated remediation suggestions
        • Cannibalization detection and resolution strategies
        • Authority momentum scoring and adaptive publishing velocity
        • Hybrid dual-structure content (SEO Layer A + AI Extraction Layer B)
        • Per-workspace feature flag control for all OpenClaw features
        📋

        Claude Blog Quality Integration

        12 content templates, 5-category quality scoring, GEO/AEO analyzer, and content repurposing.

        • 12 structured content templates (how-to, listicle, case study, comparison, etc.)
        • Auto-detect best template from topic signals
        • GEO/AEO Analyzer with passage citability, Q&A format, entity clarity scoring
        • Quality Gate Service enforcing hard rules before publish
        • Content Repurpose Service: Twitter, LinkedIn, Email, YouTube, Key Takeaways
        • Template selection UI and quality gate results display

        Improvements

        Enhanced Content Generation Prompts

        Content rules from claude-blog methodology incorporated: answer-first formatting, title optimization, heading hierarchy, readability targets.

        GEO Category in SEO Scoring

        New geo category added to SEO analysis with passage-citability, qa-format, entity-clarity, extraction-structure, crawler-accessibility factors.

        v1.8.0

        MINOR
        January 17, 2026

        My Sites section with AI content improvement wizard, BYOK API key management, comprehensive analysis page, enhanced publishing, and dashboard visualizations.

        New Features

        🌐

        My Sites & AI Content Improvement Wizard

        Manage connected WordPress/Shopify sites, import articles, and improve them with AI-powered step-by-step optimization.

        • View all connected sites with articles list
        • Import articles for optimization with metadata preservation
        • AI Wizard analyzes: internal links, SEO, E-E-A-T, references, sections, imagery, tags
        • AI Fix buttons for automatic improvements
        • Update on Site pushes improved content back to platform
        🔐

        BYOK API Key Management

        Bring Your Own Keys for DataForSEO, Firecrawl, OpenAI, Perplexity, and Google API.

        • Toggle between System Keys and BYOK per service
        • Credential validation before saving
        • No billing for BYOK service usage
        • Encrypted storage of user API keys
        📈

        Comprehensive Analysis Page

        Profile-specific analytics with content stats, keyword analytics, SERP performance, E-E-A-T scores, and publishing statistics.

        • Profile selector for filtering all data
        • Content statistics by status and word count
        • Keyword analytics by intent and performance
        • E-E-A-T scores and source credibility metrics
        • Publishing history and platform distribution
        • Date range filtering and trend indicators
        📉

        Dashboard Visualizations

        Interactive charts for content creation, site distribution, keyword performance, and E-E-A-T scores.

        • Content creation over time chart
        • Content distribution by connected sites
        • Keyword performance metrics chart
        • E-E-A-T score distribution
        • Hover tooltips and drill-down support

        🐛 Bug Fixes

        Profile Three-Dots Menu

        Fixed non-functional dropdown menu on profile cards with proper z-index and click handling.

        Profile Refresh Not Fetching Fresh Data

        Fixed refresh action to bypass cache and fetch new data from external APIs.

        Publishing Page No Real Data

        Fixed publishing page to query real PublishingQueue and ScheduledPublish records.

        Dashboard Empty Sections

        Fixed dashboard API to query real data from database instead of returning empty arrays.

        Improvements

        Enhanced Publishing Page

        Complete publication history with platform icons, external links, error messages, and retry options.

        Navigation Menu Updates

        Added My Sites, Keywords, Analysis links to sidebar navigation.

        Profile Deletion with Cascade

        Proper cascade deletion of associated workflow sessions, links, analysis, and citations.

        v1.7.0

        MINOR
        January 14, 2026

        Rich content insert menu with 27+ block types, article quality enhancement matching n8n workflow output, Google Imagen 4 integration, and interactive workflow progress indicators.

        New Features

        📝

        27+ Rich Content Insert Options

        Contextual insert menu with text blocks, tables, AI images, and charts.

        • Text blocks: bullet points, numbered lists, blockquotes, checklists, paragraphs (short/medium/long)
        • Tables: comparison, feature matrix, pros & cons, pricing, key takeaways
        • 7 AI image styles: contextual photo, process flow, concept art, blueprint, infographic, diagram, illustration
        • Charts: bar, pie, line, area, radar, radial, flow diagrams
        • Search/filter input for quick content type finding
        ✍️

        Article Quality Enhancement

        AI-generated articles now match n8n workflow quality with internal links, tables, EEAT compliance, and rich formatting.

        • 3-5 internal links embedded with contextual anchor text
        • Key Takeaway Box, Author Credentials Box, Transparency Disclosure
        • Actual AI-generated prose (not placeholder text)
        • EEAT-compliant language patterns and inline citations
        • Table of Contents for articles with 3+ H2 sections
        🎨

        Google Imagen 4 Integration

        Alternative image generation provider with superior photorealism for product images.

        • Google Imagen 4 (imagen-4.0-generate-001) via Gemini API
        • Provider selection: Google Imagen 4 or OpenAI DALL-E 3
        • Automatic fallback between providers
        • Photorealistic style optimization for product images
        • Retry logic with exponential backoff

        Interactive Workflow Progress

        Animated progress indicators with real-time status updates for all 5 workflow steps.

        • Animated progress bar with percentage completion
        • Current operation phase descriptions
        • Estimated time remaining and elapsed time
        • Step-specific progress phases for all 5 steps
        • Rotating tips during long operations (>15 seconds)

        Improvements

        Citation Relevance Validation

        Citations scored 0-100 for relevance; only citations scoring 40+ are included.

        Commercial Site Filtering

        77+ commercial/SEO sites blocklisted from citations for credibility.

        Infinite Re-render Prevention

        Proper React dependency arrays, memoization, and stable references in content editor.

        Large Article Performance

        Responsive input under 100ms for 5000+ word articles with virtualization and lazy loading.

        v1.6.0

        MINOR
        January 11, 2026

        Critical SEO fix content overwrite bug resolved, WordPress publishing fixes, professional keyword research with real DataForSEO data, and comprehensive AI SEO optimization engine.

        New Features

        🔍

        Professional Keyword Research System

        SEMrush-level keyword research with real DataForSEO metrics replacing placeholder data.

        • Real search volume, difficulty, CPC, competition from DataForSEO
        • 12-month historical trend data with interactive charts
        • Related keywords, question keywords, long-tail variations
        • SERP analysis: top 10-20 URLs with domain/page authority, backlinks, word count
        • Bulk analysis up to 100 keywords with progress indication
        • Cache status indicators (fresh vs cached) with force refresh
        🎯

        AI SEO Optimization Engine

        Comprehensive real-time SEO analysis with 30+ factors, one-click AI fixes, and competitor gap analysis.

        • Overall SEO score (0-100) with category breakdown
        • Keyword optimization: density, placement, LSI keywords, cannibalization detection
        • Content structure: heading hierarchy, paragraph length, internal/external links
        • Meta tags: title/description length, power words, SERP preview
        • Readability: Flesch scores, passive voice, transition words, sentence length
        • One-click AI fixes with preview modal and batch fixing
        • Competitor content gap analysis with coverage percentage
        • Search intent alignment and format recommendations
        • SEO history tracking with score trend charts

        🐛 Bug Fixes

        SEO Fix Content Overwrite Bug

        Fixed critical bug where applying SEO fixes overwrote entire content instead of updating specific sections.

        WordPress Featured Image

        Cover image from CoverImage table now properly set as featured image during WordPress publishing.

        WordPress Title Formatting

        Surrounding quotes stripped from article titles before publishing.

        WordPress Table of Contents

        TOC now uses ContentSection.level field (integer) instead of non-existent type field.

        Improvements

        H1 Fix Preservation

        H1 fixes now update only the first section heading without modifying other sections.

        Structure Fix Safety

        Introduction/conclusion fixes insert new sections without removing existing content.

        Fix Application Atomicity

        All fix applications wrapped in database transactions with rollback on failure.

        v1.5.0

        MINOR
        January 8, 2026

        Reusable business profiles, AI image generation, WordPress/Shopify publishing, API cost analysis with tiered pricing, and SaaS billing fixes.

        New Features

        🏢

        Reusable Business Profiles

        Save business analysis as reusable profiles to skip Steps 1-3 for the same website.

        • Save internal links, business analysis, EEAT sources as a profile
        • Profile selector when starting new workflows
        • Profile management page with edit, refresh, delete
        • Per-section data refresh (internal links, analysis, EEAT)
        🖼️

        AI Image Generation

        Generate featured and section images with multiple styles and drag-to-resize.

        • Auto-generate featured/hero image from article title
        • Section-level image generation from heading context
        • Multiple styles: photorealistic, illustration, infographic, abstract
        • Image regeneration with different style or prompt
        💰

        API Cost Analysis & Pricing Strategy

        Comprehensive cost analysis for all external APIs with tiered pricing ensuring 40-60% margins.

        • Per-action cost calculation for all API integrations
        • Infrastructure cost tracking (Railway, database, Redis)
        • BYOK vs System Keys pricing modes
        • Trial tier with strict limits (2 articles, 7 days)
        • Stripe and PayPal payment integration
        • Usage-based overage pricing at 1.5x rates
        • Tax handling via Stripe Tax

        🐛 Bug Fixes

        Analytics 401 Error

        Fixed authentication error on Analytics/Analysis page by properly authenticating API requests.

        Team Page Mock Data

        Replaced mock team data with real WorkspaceMember table queries.

        Publishing Connection Status

        Fixed publishing page showing incorrect connection status by querying real PlatformConnection table.

        Improvements

        Section-Level Regeneration

        Regenerate specific article sections without regenerating the entire article.

        Article Version History

        Automatic versioning with preview and restore for last 10 versions.

        Content Status Workflow

        Draft → Review → Approved → Published status pipeline with notifications.

        Landing Page Onyx Design

        Landing page redesigned with Onyx dark theme matching dashboard.

        v1.4.0

        MINOR
        January 5, 2026

        Documentation center with searchable knowledge base, comprehensive platform fixes for images, keywords, content history, analytics, team management, and integrations.

        New Features

        📚

        Documentation Center

        Comprehensive searchable documentation hub with 6 modules and in-app contextual help.

        • Modules: Getting Started, Features, Subscription, API, Security, Troubleshooting
        • Full-text search with highlighted matching terms
        • Markdown rendering with callouts, code blocks, table of contents
        • In-app Help Modal with contextual documentation
        • Breadcrumb navigation and previous/next article links
        • Mobile-responsive with WCAG 2.1 AA accessibility

        🐛 Bug Fixes

        Section Image Persistence

        Section images now persist to database with dimensions and display correctly in editor.

        Cover Image Management

        Cover image generation, resize, and persistence throughout content lifecycle.

        Content History Page Errors

        Fixed server errors and [object Object] display on content history page.

        Keywords Page Data

        Keywords page now displays real keywords from workflow sessions with metrics.

        Analytics Real Data

        Analytics page shows real profile-based metrics instead of placeholder data.

        Business Analysis Fields

        Fixed "Not defined" display when business analysis data exists in JSON field.

        Improvements

        Keyword Research with DataForSEO

        Real keyword metrics: search volume, competition, CPC, difficulty from DataForSEO API.

        Team Management

        Real team member data with invite, role management, and activity tracking.

        Integration Settings

        Add/validate/disconnect WordPress and Shopify connections with status indicators.

        Profile Refresh

        On-demand refresh of internal links, business analysis, and EEAT sources.

        Content Export

        Export to PDF, Markdown, and HTML formats.

        v1.3.0

        PATCH
        January 2, 2026

        Critical UI data display fixes across workflow steps, content history, keywords, analytics, and business profiles. Comprehensive bug fixes for session creation, workspace context, and API integrations.

        🐛 Bug Fixes

        Internal Links Scan Results

        Scan results now display link count summary grouped by category.

        EEAT Sources Display

        Discovery results show source name, URL, authority type, and relevance score.

        Content Generation Display

        Fixed raw ">" characters displaying instead of formatted content.

        Content History [object Object]

        Error messages now display as strings, not objects.

        Session Creation

        Fixed workflow session creation failures with proper workspace context.

        Workspace Auto-Selection

        First workspace automatically selected when dashboard loads.

        API Error Handling

        Structured error responses with user-friendly messages for all API failures.

        Navigation State Consistency

        Session state preserved across step navigation and page refreshes.

        Improvements

        External API Configuration

        Validated environment variables for Firecrawl, Perplexity, DataForSEO, OpenAI/Gemini on startup.

        Database Transaction Safety

        Session creation and step updates wrapped in transactions for atomicity.

        Loading and Error States

        Skeleton loaders, spinners, and actionable error messages across all pages.

        v1.2.0

        MINOR
        December 28, 2025

        Production readiness audit addressing 30 gaps, enterprise security audit, spec-to-code audit system, and gap remediation across 35 specs.

        New Features

        🔍

        Spec-to-Code Audit System

        Automated audit tool analyzing all 35 specs against codebase implementation.

        • Backend, frontend, connection, and test verification
        • Gap detection with severity classification
        • Orphan code detection for unused implementations
        • Traceability matrix mapping requirements to code
        • Batch audit across all specs with master summary
        🔒

        Enterprise Security Audit

        Comprehensive security, reliability, and performance audit following OWASP Top 10.

        • SQL injection, XSS, CSRF, IDOR vulnerability detection
        • PII encryption audit and hardcoded secrets detection
        • Authentication robustness and RBAC enforcement verification
        • Race condition detection and edge case handling
        • N+1 query detection and caching opportunity identification
        • SOLID principles and type safety assessment

        Improvements

        Production Readiness Gaps

        Real Stripe payment processing, email service via Resend, OAuth providers, usage tracking persistence, webhook handlers.

        Health Check Completeness

        Real connectivity checks for Stripe, Resend, OpenAI, DataForSEO, Firecrawl.

        Rate Limiting with Redis

        Distributed rate limiting with Redis backend and in-memory fallback.

        Structured Production Logging

        JSON-format logs with correlation IDs and sensitive data scrubbing.

        Graceful Shutdown

        SIGTERM handling with 30-second drain period for in-progress requests.

        Gap Remediation

        Added 81 missing Prisma models, 436 TypeScript interfaces, and fixed property test references across 35 specs.

        v1.1.0

        MINOR
        December 22, 2025

        Local development to production deployment path, Perplexity and Firecrawl API client implementations, and Firecrawl rate limiting.

        New Features

        🔎

        Perplexity AI Client

        API client for online search and deep research capabilities used in Parts 2-5.

        • Online search queries with structured results and citations
        • Deep research with multi-source findings
        • Request throttling and configurable TTL caching
        • Integration with Citation_Engine for source formatting
        🕷️

        Firecrawl Client

        Web scraping and content extraction API client for URL analysis.

        • Full page content extraction with structure preservation
        • Authority signal extraction for EEAT validation
        • Batch URL processing with concurrency management
        • Rate limiting with exponential backoff

        Improvements

        Development Environment Setup

        Docker Compose for PostgreSQL/Redis, database initialization, seed data, health checks.

        Authentication Integration

        JWT session management with refresh tokens, connecting dashboard to real auth.

        Dashboard Data Integration

        Frontend pages wired to backend services with real database queries.

        Production Deployment

        Optimized Docker image, database migrations, security headers, CORS, Sentry monitoring.

        v1.0.0

        MAJOR
        December 15, 2025

        Initial release of the Content Automation SaaS platform converting n8n workflows (Parts 0-5) into a full-featured web application with AI-powered content creation, SEO optimization, and multi-platform publishing.

        New Features

        🔄

        5-Step Content Workflow

        Complete n8n workflow pipeline as interactive UI with session management.

        • Step 1: Internal Links Scanner via Firecrawl + Gemini
        • Step 2: Business Analysis via Perplexity + Gemini
        • Step 3: EEAT Source Discovery with 10 qualified sources
        • Step 4: AI-Citable Topic Generation (5-10 topics)
        • Step 5: Content Generation with keyword research, outline, and full article
        • Session persistence and step-by-step navigation
        📄

        Rich Content Editor

        Full-featured editor with markdown, version history, and auto-save.

        • Rich text editing with formatting toolbar
        • Markdown, HTML, and plain text export
        • Auto-save every 30 seconds
        • Version history with restore capability
        🏗️

        Multi-Tenant Workspace System

        Organizations, workspaces, projects, and team management with RBAC.

        • Organization-level billing and user management
        • Workspace-scoped content, keywords, and settings
        • Role-based access: Owner, Admin, Editor, Viewer
        • Team invitation via email with role assignment
        📚

        Content Library & Dashboard

        Central content management with status tracking, filtering, and analytics.

        • Content library with title, status, date, word count, SEO score
        • Status pipeline: draft, review, approved, published
        • Filtering by status, type, date range, and search
        • Dashboard with summary cards and recent activity
        🤖

        AI Agent Orchestration

        Coordinated AI agents with Perplexity, Firecrawl, DataForSEO, and Gemini/OpenAI.

        • Tool access to Perplexity, Firecrawl, and DataForSEO
        • Session data injection into AI prompts
        • Rate limiting and request queuing
        • Retry with exponential backoff
        • Response caching with configurable TTL

        Improvements

        Real-Time Streaming

        AI content generation streamed in real-time with typing animation.

        Data Export

        Export session data to JSON, Google Sheets, Notion, and CSV.

        Onyx Design System

        Dark theme with obsidian (#09090b), acid (#ccff00), and surface (#0a0a0a) colors.

        Content Engine — Enterprise-grade content creation and optimization platform