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.