3.5.3:
* Fixed TreeNode.DoesNotExist exception raised when exporting
and loading database contents via dumpdata and loaddata.
* Fixed a bug where request.current_page would always be the public page,
regardless of the toolbar status (draft / live). This only affected custom
urls from an apphook.
* Removed extra quotation mark from the sideframe button template
* Fixed a bug where structureboard tried to preload markup when using legacy
renderer
* Fixed a bug where updates on other tab are not correctly propagated if the
operation was to move a plugin in the top level of same placeholder
* Fixed a bug where xframe options were processed by clickjacking middleware
when page was served from cache, rather then get this value from cache
* Fixed a bug where cached page permissions overrides global permissions
* Fixed a bug where plugins that are not rendered in content wouldn't be
editable in structure board
* Fixed a bug with expanding static placeholder by clicking on "Expand All" button
* Fixed a bug where descendant pages with a custom url would lose the overwritten
url on save.
* Fixed a bug where setting the on_delete option on PlaceholderField
and PageField fields would be ignored.
* Fixed a bug when deleting a modal from changelist inside a modal
3.5.2:
* Fixed a bug where shortcuts menu entry would stop working after toolbar reload
* Fixed a race condition in frontend code that could lead to sideframe being
opened with blank page
* Fixed a bug where the direct children of the homepage would get a leading ``/``
character when the homepage was moved or published.
* Fixed a bug where non-staff user would be able to open empty structure board
* Fixed a bug where a static file from Django admin was referenced that no
longer existed in Django 1.9 and up.
* Fixed a bug where the migration 0018 would fail under certain databases.
Upstream changes:
=== 3.5.1 (2018-03-05) ===
* Fixed a bug where editing pages with primary keys greater than 999 would throw an
exception.
* Fixed a ``MultipleObjectsReturned`` exception raised on the page types migration
with multiple page types per site.
* Fixed a bug which prevented toolbar js from working correctly when rendered
before toolbar.
* Fixed a bug where CMS would incorrectly highlight plugin content when plugin
contains invisible elements
* Fixed a regression where templates which inherit from a template using an ``{% extends %}``
tag with a default would raise an exception.
=== 3.5.0 (2018-01-31) ===
* Fixed a bug which prevented users from seeing the welcome screen when debug is
turned off.
* Introduced improved repr for ``Page``, ``Title``, ``Placeholder`` and ``CMSPlugin`` models.
* Rename publish buttons to no longer reference "page"
* Page rendering will now use the draft page instead of public page for logged in
users with change permissions, unless the ``preview`` GET parameter is used.
* Fixed "Expand all / Collapse all" not reflecting real state of the placeholder tree
* Fixed a bug where Aliased plugins would render if their host page was unpublished (and user was not on edit mode).
* Fixed a bug where focusing inputs in modal would require 2 clicks in some browsers
* Changed the language chooser to always show all configured languages to staff members
and public-only languages to anon users.
* Introduced logic to copy pages to different sites from the admin.
* Removed "View on Site" button when adding a page
* Welcome page no longer uses multilingual URLs when not required.
* Prevent users from passing a public page as parent in ``create_page`` api function
=== 3.4.5 (2017-10-12) ===
* Introduced Django 1.11 compatibility
* Fixed a bug where slug wouldn't be generated in the creation wizard
* Fixed a bug where the add page endpoint rendered ``Change page`` as the html title.
* Fixed an issue where non-staff users could request the wizard create endpoint.
* Fixed an issue where the ``Edit page`` toolbar button wouldn't show on non-cms pages
with placeholders.
* Fixed a bug where placeholder inheritance wouldn't work if the inherited placeholder
is cached in an ancestor page.
* Fixed a regression where the code following a ``{% placeholder x or %}`` declaration,
was rendered before attempting to inherit content from parent pages.
* Changed page/placeholder cache keys to use sha1 hash instead of md5 to be FIPS compliant.
* Fixed a bug where the change of a slug would not propagate to all descendant pages
* Fixed a ``ValueError`` raised when using ``ManifestStaticFilesStorage`` or similar for static files.
This only affects Django >= 1.10
* 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.
* Changed the signature for internal ``cms.plugin_base.CMSPluginBase`` methods ``get_child_classes``
and ``get_parent_classes`` to take an optional ``instance`` parameter.
* 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.
* Added Dropdown class to toolbar items
* Replaced all custom markup on the ``admin/cms/page/includes/fieldset.html`` template
with an ``{% include %}`` call to Django's built-in ``fieldset.html`` template.
* 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 ``DoesNotExist`` database 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 ``Delete`` button for a Page or Title extension on Django >= 1.9
* Added "How to serve multiple languages" section to documentation
* Fixed a performance issue with nested pages when using the ``inherit`` flag on the ``{% placeholder %}`` tag.
* Removed the internal ``reset_to_public`` page method in favour of the ``revert_to_live`` method.
* Fixed a bug in which the placeholder cache was not consistently cleared when a page was published.
* Enhanced the plugin menu to not show plugins the user does not have permission to add.
* Fixed a regression which prevented users from setting a redirect to the homepage.
* Fixed a security vulnerability in the page redirect field which allowed users
to insert JavaScript code.
* Fixed a security vulnerability where the ``next`` parameter for the toolbar login
was not sanitised and could point to another domain.
Bug Fixes
---------
Escaped strings in close_frame JS template.
Fixed a bug with text-transform styles on inputs affecting CMS login
Fixed a typo in the confirmation message for copying plugins from a different language
Fixed a bug which prevented certain migrations from running in a multi-db setup.
Fixed a regression which prevented the Page model from rendering correctly when used in a raw_id_field.
Fixed a regression which caused the CMS to cache the toolbar when CMS_PAGE_CACHE was set to True and an anonymous user had cms_edit set to True on their session.
Fixed a regression which prevented users from overriding content in an inherited placeholder.
Fixed a bug affecting Firefox for Macintosh users, in which use of the Command key later followed by Return would trigger a plugin save.
Fixed a bug where template inheritance setting creates spurious migration
Fixed a bug which prevented the page from being marked as dirty (pending changes) when changing the value of the overwrite url field.
Fixed a bug where the page tree would not update correctly when a sibling page was moved from left to right or right to left.
Improvements and new features
-----------------------------
Added official support for Django 1.10.
Rewrote manual installation how-to documentation
Re-introduced the “Revert to live” menu option.
Added support for django-reversion >= 2
Improved the fix-tree command so that it also fixes non-root nodes (pages).
Introduced placeholder operation signals.
Deprecations
------------
Removed the deprecated add_url(), edit_url(), move_url(), delete_url(), copy_url() properties of CMSPlugin model.
Added a deprecation warning to method render_plugin() in class CMSPlugin.
Deprecated frontend_edit_template attribute of CMSPluginBase.
The post_ methods in `PlaceholderAdminMixin have been deprecated in favor of placeholder operation signals.
Other changes
-------------
Adjusted Ajax calls triggered when performing a placeholder operation (add plugin, etc..) to include a GET query called cms_path. This query points to the path where the operation originates from.
Changed CMSPlugin.get_parent_classes() from method to classmethod.
* Fixed a regression when static placeholder was uneditable if it was present
on the page multiple times
* Removed globally unique constraint for Apphook configs.
* Fixed a bug when keyboard shortcuts were triggered when form fields were
focused
* Fixed a bug when ``shift + space`` shortcut wouldn't correctly highlight a
plugin in the structure board
* Fixed a bug when plugins that have top-level svg element would break
structure board
* Fixed a bug where output from the ``show_admin_menu_for_pages`` template tag
was escaped in Django 1.9
* Fixed a bug where plugins would be rendered as editable if toolbar was shown
but user was not in edit mode.
* Fixed css reset issue with shortcuts modal
- Fix packaging problem with the wheel distribution
=== 3.2.4 (2016-04-26) ===
- Fix cache settings
- Fix user lookup for view restrictions/page permissions when using raw id field
- Fixed regression when page couldn't be copied if CMS_PERMISSION was False
- Fixes an issue relating to uninstalling a namespaced application
- Adds "Can change page" permission
- Fixes a number of page-tree issues the could lead data corruption under
certain conditions
- Addresses security vulnerabilities in the `render_model` template tag that
could lead to escalation of privileges or other security issues.
- Addresses a security vulnerability in the cms' usage of the messages framework
- Fixes security vulnerabilities in custom FormFields that could lead to
escalation of privileges or other security issues.
Substantial "under-the-hood" improvements to the page tree resulting in significant reduction of page-tree reloads and generally cleaner code
Update jsTree version to 3.2.1 with slight adaptions to the Pagetree
Improve the display and useability of the language menu, especially in cases where there are many languages
Documentation improvements
Add support for django-reversion 1.10+ (required for Django 1.9).
Add placeholder name to the edit tooltip.
Add attr['is_page']=True to CMS Page navigation nodes.
Add Django and Python versions to debug bar info tooltip.
new welcome page to help new users
touch-screen support for most editing interfaces, for sizes from small tablets to table-top devices
enhanced and polished user interface
much-needed improvements to the structure-board
enhancements to components such as the pop-up plugin editor, sideframe (now called the overlay) and the toolbar
significant speed improvements on loading, HTTP requests and file sizes
restarts are no longer required when changing apphook configurations
a new content wizard system, adaptable to arbitrary content types
The new bugfix releases for supported versions of django CMS are out. They contain a lot of small (and some not so small) fixes ranging from frontend glitches to better Django 1.8 support. All users of django CMS 3.1x and 3.0.x are encouraged to upgrade.
Security Vulnerability Fix
* Fixed an issue where privileged users could be tricked into performing certain actions without their knowledge via a CSRF vulnerability.
Bug Fixes
* Fix issue which causes menu classes to be duplicated in advanced settings
* Fix issue with breadcrumbs not showing
* Fix issues with show_menu templatetags
* Minor documentation fixes
* Fix an issue related to "Empty all" Placeholder feature
* Fix plugin sorting in py3
* Fix search results number and items alignment in page changelist
* Preserve information regarding the current view when applying the CMS decorator
* Change the label "Save and close" to "Save as draft"
* Fix X-Frame-Options on top-level pages
* Fix order of which application urls are injected into urlpatterns
* Fix delete non existing page language
* Fix language fallback for nested plugins
* Fix render_model template tag doesn't show correct change list
* Fix scanning for placeholders fails on include tags with a variable as an argument
* Pin South version to 1.0.2
* Pin Html5lib version to 0.999 until a current bug is fixed
* Fix language chooser template
Numerous documentation updates especially for installation and the tutorial
Numerous improvements to translations
Improves reliability of apphooks
Improves reliabiliy of Advanced Settings for pages when using apphooks
Allow page deletion after template removal
Improves upstream caching accuracy
Improves CMSAttachMenu registration
Improves handling of mistyped URLs
Improves redirection as a result of changes to page slugs, etc.
Improves performance of "watched models"
Improves frontend performance relating to resizing the sideframe
Corrects an issue where items might not be visible in structue mode menus
Limits version of django-mptt used in CMS for 3.0.x
Prevent accidental upgrades to Django 1.8, which is not yet supported
Core support for multiple instances of the same apphook'ed application
The template tag `render_model_add` can now accept a model class as well as a model instance
Fixes an issue with reverting to Live mode when moving plugins
Fixes a missing migration issue
Fixes an issue when using the PageField widget
Fixes an issue where duplicate page slugs is not prevented in some cases
Fixes an issue where copying a page didn't copy its extensions
Fixes an issue where translations where broken when operating on a page
Fixes an edge-case SQLite issue under Django 1.7
Fixes an issue where a confirmation dialog shows only some of the plugins to be deleted when usingthe "Empty All" context-menu item
Fixes an issue where deprecated 'mimetype' was used instead of 'contenttype'
Fixes an issue where `cms check` erroneous displays warnings when a plugin uses class inheritance
Documentation updates
Improved Py3 compatibility
Improved the behavior when changing the operator's language
Numerous documentation updates
Revert a change that caused an issue with saving plugins in some browsers
Fix an issue where urls were not refreshed when a page slug changes
Fix an issue with FR translations
Fixed an issue preventing the correct rendering of custom contextual menu items for plugins
Fixed an issue relating to recovering deleted pages
Fixed an issue that caused the uncached placeholder tag to display cached content
Fixed an issue where extra slashed would appear in apphooked URLs when APPEND_SLASH=False
Fixed issues relating to the logout function
* Numerous updates to the documentation
* Numerous updates to the tutorial
* Updates to better support South 1.0
* Adds some new, user-facing documentation
Bug fixes:
* Fixes an issue with placeholderadmin permissions
* Numerous fixes for minor issues with the frontend UI
* Fixes issue where the CMS would not reload pages properly if the URL contained a # symbol
* Fixes an issue relating to limit_choices_to in forms.MultiValueFields
* Fixes PageField to work in Django 1.7 environments
Experimental full Django 1.7 migrations support
Added CMSPlugin.get_render_model to get the plugin model at render time
Added simplified API to handle toolbar for page extensions
Fixed a few frontend glitches
Fixed menu when hide untranslated is set to False
Added option to publish all the pages in a language / site in publisher_publish command
Fixed sitemap ordering
Fixed plugin table name generation fixes
We had 2 previously undetected regressions in 3.0.4. These are now fixed.
One small new feature also snuck into this release: apphooks and plugin registration now work as decorators.
If you are running 3.0.4 please upgrade.
Added an api to change the context menus of plugins and placeholders from plugins;
Apphooks better respect the page permissions;
Fixed how permissions are checked for static placeholder;
Fixed page permissions for decorated views;
Fallback language fixes for pages;
Button fixes in the modal window;
Improved the ability to subclass the RenderPlugin template tag;
Fixes 'hover' effect on menus for deeper submenus;
Added the ability to mark (Sub)Menu's 'active';
Improvements to the create_page API to support multi-site configs;
Reduced queries on placeholder.clear by 60%;
Auto-detect django-suit instead of using explicit setting;
Implemented transaction.atomic in django 1.4/1.5 way;
Added a automatic dynamic template directory for page templates;
Internal support for using custom forms;
added 'as' form to render_placeholder templatetag to save the result in context
added changeable strings for "?edit", "?edit_off" and "?build" urls
utils.page_resolver has been optimized
the get_page_from_path() api has been changed
fixed manage.py cms uninstall plugin for table-patched plugins
added support for python 3.4
docs updated
publish on apphook subpages no longer redirects to the apphook root
Fixed an issue where logout doesn't refresh once the user logs out;
Updated the toolbar menu item to "Logout [name of user]" when available;
Updated the Page: Advanced Settings form to automatically show/hide the application instance name field when appropriate and to separate language-dependent fields from language-independent ones;
Fixed sitemaps to no longer lists pages which only redirect;
Fixes for the plugin clipboard to behave correctly;
Updates to the fix-mptt management command;
Various fixes to target the top frame when clicking links in the sideframe;
Fixed a number of refresh issues;
Various documentation updates.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Fixed a bug in fixture loading signals handling
Fixed a bug in placeholder's primary key thousand formatting
Test fixes
Fixed use of cached content in the show_placeholder's preview mode
Fixed issues in cookie handling
Fixed minor unicode issues
Fixed a missing argument in ModelAdmin
Fixed a bug in WymEditor handling
Fixed bugs in migrations
Fixed bug in language fallback
Minor documentation fixes
Mostly a bugfix release.
The full change log:
- Apphook edit mode bugfix
- Added option to render_placeholder tag to set language
- Huge permission cache invalidation speed up
- Doc improvements
- css cleanup in PlaceholderAdmin
- Log change of page status done via AJAX
- Use --noinput convention for delete_orphaned_plugins command
- added Testing docs
- fixed more issues with only one language
- locales updated
* USE_I18N=False fixed
* some frontend css stuff fixed
* check_copy_relations fixed for abstract classes
* non public frontend languages fixed
Changes 2.4.0:
* Compatibility with Django 1.4 and 1.5 (1.3 support dropped)
* Support for Python 2.5 dropped
* CMS_MAX_PAGE_PUBLISH_REVERSIONS has been added
* Reversion integration has changed to limit DB size
* CMS_LANGUAGE setting has changed
* CMS_HIDE_UNTRANSLATED setting removed
* CMS_LANGUAGE_FALLBACK setting removed
* CMS_LANGUAGE_CONF setting removed
* CMS_SITE_LANGUAGES setting removed
* CMS_FRONTEND_LANGUAGES setting removed
* MultilingualMiddleware has been removed
* CMS_FLAT_URLS has been removed
* CMS_MODERATOR has been removed and replaced with simple publisher.
* PlaceholderAdmin has now language tabs and has support for django-hvad
* Added `cms.middleware.language.LanguageCookieMiddleware`
* Added CMS_RAW_ID_USERS
- Fixed WymEditor
- Fixed Norwegian translations
- Fixed a bug that could lead to slug clashes
- Fixed page change form (jQuery and permissions)
- Fixed placeholder field permission checks
* Introducing Django 1.4 support, dropped support for Django 1.2
* Lazy page tree loading in admin
* Toolbar isolation
* Plugin cancel button fixed
* Tests refactor
* Moving text plugins to different placeholders no longer loses inline plugins
* Minor improvements
Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
* django-mptt now a proper dependency
* Django 1.3 support
* View permissions
* django-sekizai instead of PluginMedia
* Toolbar must be enabled explicitly in templates
* Static files moved to /static/
* Dropped support for django-dbgettext
* Fixed a serious security issue in PlaceholderAdmin
* Fixed bug with submenus showing pages that are not 'in_navigation'
* Fixed PlaceholderField not respecting limits in CMS_PLACEHOLDER_CONF
* Fixed the double-monkeypatch check for url reversing
* Fixed issues with the CSRF fix from 2.1.1.
* Updated translation files from transifex.
Changes 2.1.1:
* Fixed CMS AJAX requests not being CSRF protected, thus not working in
Django 1.2.5
* Fixed toolbar CSS issues in Chrome/Firefox