FeinCMS 1.8 release notes
Welcome to FeinCMS 1.8!
FeinCMS finally got continuous integration
Have a look at the status page here:
Travis CI
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
from feincms.admin.item_editor or feincms.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 and
feincms_navigation_extended have been removed. The improved
feincms_nav tag has been introduced with FeinCMS v1.6.
- The function-based generic views in feincms.views.generic have 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.models has been replaced with the
contents of feincms.content.medialibrary.v2. The model field
position has been renamed to type, instead of POSITION_CHOICES
you should use TYPE_CHOICES now. The code has been simplified and
hacks to imitate raw_id_fields have been replaced by working stock
code. The v2 module will stay around for another release and will be
removed in FeinCMS v1.8. The now-unused template
admin/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 for register(cls, admin_cls)-style functions will be removed
in FeinCMS v1.9.
Notable features and improvements
- The template tags feincms_render_region and feincms_render_content
do not require a request object anymore. If you omit the request
parameter, the request will not be passed to the render() 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, 1.6 and the upcoming 1.7.