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_matchnow only takes the current language into account.
Removal of deprecated features¶
- The module
feincms.admin.editorhas been removed. Import the classes fromfeincms.admin.item_editororfeincms.admin.tree_editordirectly. - The HTML cleansing module
feincms.utils.html.cleansehas 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_navigationandfeincms_navigation_extendedhave been removed. The improvedfeincms_navtag has been introduced with FeinCMS v1.6. - The function-based generic views in
feincms.views.generichave 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.modelshas been replaced with the contents offeincms.content.medialibrary.v2. The model fieldpositionhas been renamed totype, instead ofPOSITION_CHOICESyou should useTYPE_CHOICESnow. The code has been simplified and hacks to imitateraw_id_fieldshave been replaced by working stock code. Thev2module will stay around for another release and will be removed in FeinCMS v1.8. The now-unused templateadmin/content/mediafile/init.htmlhas 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_regionandfeincms_render_contentdo not require a request object anymore. If you omit therequestparameter, the request will not be passed to therender()methods. - The code is mostly flake8 clean.
- The new management command
medialibrary_orphanscan 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_fieldshas 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.