3.4.4 release notes¶
What’s new in 3.4.4¶
Bug Fixes¶
- Fixed a bug in which cancelling the publishing dialog wasn’t respected.
- Fixed a bug causing post-login redirection to an incorrect URL on single-language sites.
- Fixed an error when retrieving placeholder label from configuration.
- Fixed a bug which caused certain translations to display double-escaped text in the page list admin view.
- Adjusted the toolbar JavaScript template to escape values coming from the request.
- Replaced all custom markup on the
admin/cms/page/includes/fieldset.htmltemplate with an{% include %}call to Django’s built-infieldset.htmltemplate. - Fixed a bug which prevented a page from being marked as dirty when a placeholder was cleared.
- Fixed an IntegrityError raised when publishing a page with no public version and whose publisher state was pending.
- Fixed an issue with JavaScript not being able to determine correct path to the async bundle
- Fixed a
DoesNotExistdatabase error raised when moving a page marked as published, but whose public translation did not exist. - Fixed a bug in which the menu rendered nodes using the site session variable (set in the admin), instead of the current request site.
- Fixed a race condition bug in which the database cache keys were deleted without syncing with the cache server, and as a result old menu items would continue to be displayed.
- Fixed a 404 raised when using the
Deletebutton for a Page or Title extension on Django >= 1.9 - Fixed a performance issue with nested pages when using the
inheritflag on the{% placeholder %}tag. - Fixed a bug in which the placeholder cache was not consistently cleared when a page was published.
- Fixed a regression which prevented users from setting a redirect to the homepage.
Improvements and new features¶
- Enhanced the plugin menu to not show plugins the user does not have permission to add.
- Added Dropdown class to toolbar items.
- Added “How to serve multiple languages” section to documentation.
Backwards incompatible changes¶
CMSPluginBase class¶
- Changed the signature for internal
cms.plugin_base.CMSPluginBasemethodsget_child_classesandget_parent_classesto take an optionalinstanceparameter.
Page model¶
The following methods have been removed from the Page model:
reset_to_liveThis internal method was removed and replaced withrevert_to_live.
Placeholder utilities¶
Because of a performance issue with placeholder inheritance, we’ve altered the return value for the following internal placeholder utility functions:
cms.utils.placeholder._scan_placeholdersThis will now return a list ofPlaceholdertag instances instead of a list of placeholder slot names. You can get the slot name by calling theget_name()method on thePlaceholdertag instance.cms.utils.placeholder.get_placeholdersThis will now return a list ofDeclaredPlaceholderinstances instead of a list of placeholder slot names. You can get the slot name by accessing theslotattribute on theDeclaredPlaceholderinstance.