4.1.0 release notes#
December 20, 2022
Upgrading from previous versions
django CMS 4.1.0 is the first community release of django CMS 4. Django CMS 4 introduces changes that require action if you are upgrading from a 3.x version. Please read the step-by-step guide to the process of upgrading from 3.5+ to 4 here: 4.0.0 release notes
Welcome to django CMS 4.1!
These release notes cover the new features, as well as some backwards incompatible changes you’ll want to be aware of when upgrading from django CMS 4.0. If you are upgrading from django CMS 3.11 or earlier please urgently read the release notes of django CMS 4.0.
Django and Python compatibility#
django CMS supports Django 3.2 to 5.0. We highly recommend and only support the latest release of each series.
It supports Python 3.8, 3.9, 3.10, and 3.11. As for Django we highly recommend and only support the latest release of each series.
What’s new in 4.1#
Status indicators in page tree#
Status indicators are shown in the page tree. For django CMS core only two states are available: public and empty.
Django CMS core provides hooks to allow other packages to patch the status indicators, e.g., djangocms-versioning.
Djangocms-versioning will add more functionality to the indicators (e.g., publish from page tree).
In rare cases moving plugins from one placeholder to another could result in a server error and an inconsistent plugin tree.
Empty page contents (e.g., due to a missing translation of a page) will now render correctly in the page tree.
Adding a page will trigger the form in the language viewd not in the browser language
The “Empty all” menus for placeholders now works.
Backward incompatible changes in 4.1#
cms.extensions.models has been renamed to
PageContentExtension to keep a consistent language in the page models.
Any packages using
TitleExtension will need to adapt the name change in
their code base.
ExtensionToolbar the method
has been deprecated. It is recommended to switch to the new
This is a purely internal change: django CMS v4.1 does not support monkey patching as for djangocms-versioning before version 2.0. Please only use djangocms-versioning >= 2.0
The Django setting
SEND_BROKEN_LINK_EMAILS(removed from Django since version 1.8) was used as a signal to send an email to the site managers if
page_urlcould not reverse the url name. Since this version the outdated setting is ignored. If managers want to receive mails add
django.middleware.common.BrokenLinkEmailsMiddlewareto the project’s
cms.api.create_titlehas been renamed to
create_page_content. A compatibility shim remains and issues a deprecation warning.