FeinCMS 1.8 release notes¶
Welcome to FeinCMS 1.8!
Preliminary Python 3.3 support¶
The testsuite runs through on Python 3.3.
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.
- 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
ApplicationContent.closest_matchnow only takes the current language into account.
Removal of deprecated features¶
- The module
feincms.admin.editorhas been removed. Import the classes from
- 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_navigation_extendedhave been removed. The improved
feincms_navtag has been introduced with FeinCMS v1.6.
- The function-based generic views in
feincms.views.generichave been removed. The decorator function
feincms.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 of
feincms.content.medialibrary.v2. The model field
positionhas been renamed to
type, instead of
POSITION_CHOICESyou should use
TYPE_CHOICESnow. The code has been simplified and hacks to imitate
raw_id_fieldshave been replaced by working stock code. The
v2module will stay around for another release and will be removed in FeinCMS v1.8. The now-unused template
admin/content/mediafile/init.htmlhas been deleted.
Page.setup_request()has been removed because it has not been doing anything for some time now.
- 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 for
register(cls, admin_cls)-style functions will be removed in FeinCMS v1.9.
Notable features and improvements¶
- The template tags
feincms_render_contentdo not require a request object anymore. If you omit the
requestparameter, the request will not be passed to the
- 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.
- 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.