4.1.0 release notes#
December 20, 2022
Warning
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).
Bug Fixes#
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#
TitleExtension#
TitleExtension
in 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.
In ExtensionToolbar
the method get_title_extension_admin(language=None)
has been deprecated. It is recommended to switch to the new
get_page_content_extension_admin(page_content=None)
.
Monkey patching#
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
Miscellaneous#
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 ifpage_url
could not reverse the url name. Since this version the outdated setting is ignored. If managers want to receive mails adddjango.middleware.common.BrokenLinkEmailsMiddleware
to the project’ssettings.MIDDLEWARE
.cms.api.create_title
has been renamed tocreate_page_content
. A compatibility shim remains and issues a deprecation warning.cms.models.pluginmodel.CMSPlugin.copy_plugin
was removed.