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
* language namespaces for apphooks (reverse("de:myview"), reverse("en:myview"))
* video plugin switch to http://github.com/FlashJunior/OSFlashVideoPlayer
* frontediting added (cms.middlware.toolbar.ToolbarMiddleware)
* testsuite works now under sqlite and postgres
* orphaned text embed plugins get now deleted if not referenced in the text
anymore
* placeholder templatetag: "theme" attribute removed in favor of "width"
(backward incompatible change if theme was used)
* menu is its own app now
* menu modifiers (you can register menu modifiers that can change menu nodes
or rearrange them)
* menus are now class based.
* apphooks are now class based and can bring multiple menus and urls.py with
them.
* menus and apphooks are auto-discovered now
* example templates look a lot better now.
* languages are not a dropdown anymore but fancy tabs
* placeholderend templatetag added: {% placeholder "content" %}There is no
content here{% endplaceholder %}
* plugins can now be used in other apps :) see cms/docs/placeholders.txt
* plugins can now be grouped
* a lot of bugfixes
* the cms now depends on the cms.middleware.media.PlaceholderMediaMiddleware
middleware
* templatetags refactored: see cms/docs/templatetags.txt for new signatures.
* placeholder has new option: or and a endpalceholder templatetag
on different sites. Django CMS handles the navigation rendering for you in
multiple languages with internationalization (i18n) slugs, and the navigation
can be extended by your own models. Pages are rendered with a template that
has placeholders which get filled via plugins.