Concrete CMS 9.0 is Now Available!

I am very happy to announce that Concrete CMS 9.0 is now available!

After years of development and several months of release candidates, 9.0.0 is here! There’s way too much in this release for me to summarize here; for that, you should check out the blog post above.

Thanks to everyone who helped throughout this process with code and bug reports, especially those who were active in the forums and GitHub throughout the release candidate process. We’ve squashed a lot of those early release candidate bugs, and have really improved backward compatibility with Elemental and other themes that aren’t built off of the latest Concrete technologies. I’m happy to report in my testing that themes customized with Elemental work 100% with the new customizer (without sacrificing all the excellent progress of the new, skin-based theme customizer.)

It’s not going to be a perfect process – and for the moment we’ve disabled the automatic process of making add-ons available for version 9. Developers who verify their add-ons work with version 9 should login to their marketplace administrative area and update their compatibility. This should get your add-ons and themes officially serving to version 9.


Stay tuned for additional announcements about improvements we’ve made to the community websites and the marketplace!

1 Like

Well done. You’ve done good job guys :muscle:


Is this version compatible with PHP8.0? I tried it out on my local machine and a hosting site with PHP8.0. I immediately got an error after the installation was completed.

Whoops \ Exception \ ErrorException (E_WARNING)
Undefined variable $collection

I switched back to PHP 7.4 and it worked just fine. Am I doing something wrong?

Here is my php extensions
mysqli: OK
mysql: OK
dom: OK
xml: OK
iconv: OK
gd: OK
fileinfo: OK
mbstring: OK
curl: OK
mcrypt: OK
zip: OK

Not compatible with my local install with MAMP and PHP 8.0.8

As always as much detail as you can offer (including full stack traces of errors, instead of more general descriptions) will help get these issues solved sooner. Also, we don’t monitor the forums for bug reports, so you’re probably going to get more assistance by posting as much detail as you can to a GitHub issue.

I just installed Laravel Valet’s latest version and configured it to use PHP 8. On PHP 8.0.12 I was able to install version 9 and do some cursory editing without incident. What errors were you experiencing?

Great job Andrew. I’m going to be doing a comparison of version 8 to 9 on my youtube channel in a few days.

1 Like

Just to respond to one of the earlier issues – I think PHP 8 has more stringent error reporting by default. We’ve fixed the specific Elemental error which will be included in 8.0.1 ( but we may have to start running with notice errors on all the time in order to catch these notice errors under PHP 8. In the meantime, it might be best for server admins to revert their PHP 8 error reporting to the standards that PHP 7.4 and earlier were running (disabling strict/deprecated errors.)

Thanks @stewblack23 ! Let me know if I can answer any questions.

Over and over again, when installing on the server, a database error appears:

There are already 347 tables in this database. Concrete must be installed in an empty database…

Does not have time to free some base and applies again.

Unable to install database: An exception occurred while executing ‘ALTER TABLE AttributeKeyCategories ADD CONSTRAINT FK_A2A0CC67CE45CBB0 FOREIGN KEY (pkgID) REFERENCES Packages (pkgID)’: SQLSTATE[23000]: Integrity constraint violation: 1022 Can’t write; duplicate key in table ‘#sql-6638a_43564db’.

I installed it on the localhost, but I can not export the database - again an error.

When can I start to translate version 9?

1 Like

This problem also appeared to me. Fresh install (php 7.4) on Elemental and after switching to php 8 this bug. Undefined variable $collection related to src/Page/Theme/Theme.php (line 469)

In the new version 9.0.1, the error with creating the database is gone! Installation on the server was successful, no errors!
:+1: :partying_face:

Apparently it was by accident. I never succeeded in retrying: when trying to install again, errors with a non-empty database and 347 tables.
In version 9.0.1, which was installed on an external server, the database is constantly broken. For example, if the text contains the symbol “И” (Russian capital letter I).
Perhaps because of the character encoding settings in the database? - utf8. The installation went through accidentally, but the database does not work without errors. Converting the database to utf8mb4 also fails.