========================= 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 ``_
``, 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 :mod:`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 :mod:`feincms.views.generic` have been removed. The decorator function :func:`feincms.views.decorators.add_page_to_extra_context` is therefore obsolete and has also been removed. * The old media library content type module :py:mod:`feincms.content.medialibrary.models` has been replaced with the contents of :py:mod:`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.