FeinCMS 1.8 release notes¶
Welcome to FeinCMS 1.8!
Preliminary Python 3.3 support¶
The testsuite runs through on Python 3.3.
Singleton templates¶
Templates can be defined to be singletons, which means that those templates can only occur once on a whole site. The page module additionally allows specifying that singleton templates must not have any children, and also that the page cannot be deleted.
Dependencies are automatically installed¶
Now that distribute and setuptools have merged, setup.py
has been
converted to use setuptools again which means that all dependencies
of FeinCMS should be installed automatically.
Backwards-incompatible changes¶
- The template naming and order used in the section content has been changed
to be more similar to the media library. The naming is now
<mediafile type>_<section content type>
, additionally the media file type is considered more important for template resolution than the section content type. - The mechanism for finding the best application content match has been
massively simplified and also made customizable. The default implementation
of
ApplicationContent.closest_match
now only takes the current language into account.
Removal of deprecated features¶
- The module
feincms.admin.editor
has been removed. Import the classes fromfeincms.admin.item_editor
orfeincms.admin.tree_editor
directly. - The HTML cleansing module
feincms.utils.html.cleanse
has been removed. Use the standalone package feincms-cleanse instead. - Registering extensions using shorthand notation is not possible anymore. Always use the full python path to the extension module.
- The two navigation template tags
feincms_navigation
andfeincms_navigation_extended
have been removed. The improvedfeincms_nav
tag has been introduced with FeinCMS v1.6. - The function-based generic views in
feincms.views.generic
have been removed. The decorator functionfeincms.views.decorators.add_page_to_extra_context()
is therefore obsolete and has also been removed. - The old media library content type module
feincms.content.medialibrary.models
has been replaced with the contents offeincms.content.medialibrary.v2
. The model fieldposition
has been renamed totype
, instead ofPOSITION_CHOICES
you should useTYPE_CHOICES
now. The code has been simplified and hacks to imitateraw_id_fields
have been replaced by working stock code. Thev2
module will stay around for another release and will be removed in FeinCMS v1.8. The now-unused templateadmin/content/mediafile/init.html
has been deleted. Page.setup_request()
has been removed because it has not been doing anything for some time now.
New deprecations¶
- Page extensions should start explicitly adding their fields to the
administration interface using
modeladmin.add_extension_options
. FeinCMS v1.8 will warn about fields collected automatically, the next release will not add unknown fields to the administration interface anymore. - All extensions should inherit from
feincms.extensions.Extension
. Support forregister(cls, admin_cls)
-style functions will be removed in FeinCMS v1.9.
Notable features and improvements¶
- The template tags
feincms_render_region
andfeincms_render_content
do not require a request object anymore. If you omit therequest
parameter, the request will not be passed to therender()
methods. - The code is mostly flake8 clean.
- The new management command
medialibrary_orphans
can be used to find files which aren’t referenced in the media library anymore. - The test suite has been moved into its own top-level module.
Bugfixes¶
- The item and tree editor finally take Django permissions into account.
- The datepublisher response processor should not crash during daylight savings time changes anymore.
- The undocumented attribute
PageAdmin.unknown_fields
has been removed because it was modified at class level and not instance level which made reuse harder than necessary.
Compatibility with Django and other apps¶
FeinCMS 1.8 requires Django 1.4 or better. The testsuite is successfully run against Django 1.4, 1.5 and 1.6. Django 1.7 is not supported.