Elements CMS 2 Now Available

It’s launch day, Elements CMS 2 is live :partying_face::partying_face::partying_face:

Here’s the overview video first, in case you’d rather watch than read:

A quick recap of what’s new:

  • The Online Editor — browser-based, WYSIWYG content editing for your CMS content. Free for everyone. The headline addition in v2.
  • New Search component — point it at a folder of Markdown files and you have live search. Couldn’t be easier.
  • A rewritten core — cleaner, faster, better architected than v1. Existing users should notice the speed difference.

Online Editor

The Online Editor is included for free in Elements and gives you one content folder and one user. If you need more than that, you can optionally upgrade to unlock powerful features such as version history, custom fields, unlimited users, whitelabel theming, a JSON API, webhooks, an AI writing assistant, and an MCP server that allows you to connect Claude to your content… :exploding_head:

Online Editor Pricing

One-time, per domain. No subscription.

  • Free — included with Elements. Components and the WYSIWYG Online Editor (single content folder, single user).
  • Solo — $99 per domain. Adds version history, unlimited folders, custom fields, and a few more advanced editor features.
  • Studio — $199 per domain. Everything in Solo, plus unlimited sub-domains, unlimited users, whitelabel theming, an MCP server, an AI writing assistant, webhooks, and a JSON API.

Once installed, you can upgrade the Online Editor directly via your site, or you can purchase a licence via the Elements CMS store.

For existing v1 users

The upgrade is straightforward: update your copy of Elements and your v1 components are automatically upgraded. No migration step, nothing to reconfigure. Your content carries straight across.

Where to go next

  • Update Elements today to get the new CMS v2 components.
  • Full overview and feature comparison at elementscms.io.
  • Check out the documentation for more information.

I’m so happy to finally get this in your hands, and can’t wait to share the other exciting updates we have in the CMS pipeline. This update lays the foundations for Elements CMS going forward :smiley:

Just purchased Studio. Not a power user, just power hungry!

Very good :+1: thank you!!

The release of ECMS 2.0 is great to see. Just a quick question: I assume the Comments Component for ECMS will be delivered in a later version?

we removed the Comments component, at least for the initial release. If there’s enough demand we will bump it up the priority list :slight_smile:

Was looking forward to this feature.

Does the Ai integration support Grok?

@ben

Fantastic to finally see this arrive. Yes, it looks like my blog was unaffected by the changes.

But…

One of my other use cases has been killed by these changes, and it looks like if I want to continue with this use case, I’m going to have to spend more money.

I create a dimension table using the CMS. I accomplish this by setting up the data in the front matter with a simple set of custom fields. See below.

---
title: "Q5-450FT"
date: "2025-08-06"
tags: [dimensions]
categories: [data]
image:
    src: https://mairfoils.com/resources/cms-assets/fin-thumbs/q5-thumbs/q5-450ft-twin.webp
    alt: "Q5-450FT Twin"
dimensions:
    title: "Q5-450FT Twin"
    height: "4.50\" / 114mm"
    base: "2.875\" / 73mm"
    area: "11.77in<sup>2</sup> / 76cm<sup>2</sup>"
---

None of this content is now displayed in the table.

Has this stopped working because I lack the PAID version?

Could you send me your latest project, and explain exactly what isn’t being displayed and on which page? I will investigate this ASAP for you.

No, absolutely not. All existing projects will continue to work with the CMS components, the only paid for feature is the optional upgrade to the online editor.

we don’t currently offer Grok, but we could add that :slight_smile:

I would appreciate that!

Currently, the only information being extracted is the title, likely because it is not set as a custom field. An image should be displayed in the box, and the dimensions should appear from the front matter fields below. There is no other content in the MD files.

I’ll DM you the project shortly.

How can I send you the project, as I don’t want to post it here, looks like I can’t DM you?

@ben wow I think I need a lie down and some seasick pills. Your pure passion feeds through and thats brilliant but your mouse moves faster than my old eyes and ears! :slight_smile: :slight_smile:

I think this may be good and I’m so glad I waited for CMS 2 to come out before I started my true journey with blogging on my site.

WELL DONE!

same here For my projects … things don’t look good after the switch. I’ll probably have to roll back for now…

It seems the new CMS doesn’t recognize my .md files properly.

I am having massive issues for example: Fatal error: Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, array given in /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Parser.php:181 Stack trace: #0 [internal function]: trim(Array) #1 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Parser.php(181): array_map(‘trim’, Array) #2 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Parser.php(103): CMS\Parser::normalizeArrayField(Array) #3 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Parser.php(45): CMS\Parser::normalizeFrontmatter(Array, ‘fountain-at-bis…’, ‘cms/articles/20…’, Array) #4 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Item.php(21): CMS\Parser::parse(‘cms/articles/20…’, Array) #5 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Collection.php(23): CMS\Item::fromFile(‘cms/articles/20…’, Array) #6 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/CollectionBuilder.php(314): CMS\Collection::discover(‘cms/articles’, Array) #7 /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/CollectionBuilder.php(173): CMS\CollectionBuilder->executeQuery() #8 /Volumes/excellent-server/excellentserver/index.php(986): CMS\CollectionBuilder->get() #9 {main} thrown in /Volumes/excellent-server/excellentserver/rw/elements/com.elementsplatform.cms/api/cms/Parser.php on line 181

@infomatique can you try a re-publish all files?

this update has broken my twig code

Email it to ben at realmacsoftware

The problem is also showing in review/preview. I have restored old version as I cannot allow my site to be down at present as I am in the process of updating a large number of photo catalogs. I will need to return to this issue in a few days. Thanks for getting back

I’ve rolled back and now it’s working