==========================
FeinCMS 1.10 release notes
==========================

Welcome to FeinCMS 1.10!


Full compatibility with the app-loading refactor in Django 1.7
==============================================================

FeinCMS 1.10 is compatible with Django 1.7. It shouldn't even be necessary
to change your FeinCMS-using code.

The only change is that we cannot test for name clashes in content types
anymore. This only concerns you if you were using more than one
``feincms.models.Base`` subclass inside the same app using the same content
types. You should be using the ``class_name`` argument to
``create_content_type`` already anyway.  The technical reason for this change
is that the name clash test requires the app registry to be ready (which it
isn't yet when creating content types).

.. note::

   If for some reason FeinCMS 1.10 does not work with Django 1.7 for you,
   please provide a description of the problems you're seeing in the
   `issue tracker <https://github.com/feincms/feincms/issues>`_.


TinyMCE 4.1 as default rich text configuration
==============================================

FeinCMS now uses TinyMCE 4.1 as the default rich text editor instead of the
outdated 3.x line of releases. The previous version is still officially
supported as is CKEditor. Also, the TinyMCE configuration has been changed to
hide the menubar by default.


Home-grown schema checking support has been deactivated
=======================================================

Not many words needed. Use South or Django 1.7's own migrations support
instead.

This functionality has been deactivated without a deprecation period because
compared to real database migration solutions it looks more like a bug than a
feature. Also, it interfered with initial migrations -- the page table's
schema was introspected because of other ``post_syncdb`` signals before the
table itself even existed under certain circumstances, which meant that
migrations failed with the only way out being ``syncdb --all``.

To continue using this functionality, set ``FEINCMS_CHECK_DATABASE_SCHEMA``
to ``True``. The functionality will be completely removed in the next release.


A better mechanism for assigning pages to different menu bars
=============================================================

The new extension :mod:`feincms.module.page.extensions.navigationgroups`
allows assigning pages to different regions, and asking ``feincms_nav`` to
only return pages belonging to one of those.

The default configuration of the extension defines two regions, ``default``
and ``footer``. This can be easily changed by subclassing the extension class
and overriding the ``groups`` attribute and registering this extension class
instead of the original.

An example for getting a list of pages for the footer region follows::

    {% load feincms_page_tags %}
    {% feincms_nav feincms_page level=2 group='footer' as footer_nav %}


Backwards-incompatible changes
==============================

Shouldn't have any.


Removal of deprecated features
------------------------------

None.


New deprecations
================

None.



Notable features and improvements
=================================

* The bundled versions of jQuery and jQuery UI have been updated to 1.11.1
  and 1.10.3 respectively.

* ``feincms_languagelinks`` does not return page URLs leading to inactive
  pages anymore.

* The application content type form does not mysteriously forget values
  anymore.

* ``Page.get_original_translation`` returns the current page instead of
  crashing if there is no original translation.

* ``feincms_nav`` returns an empty list instead of crashing if the page
  argument is ``None``.

* Settings are documented again.


Bugfixes
========

* Bulk deletion of pages in the tree editor shouldn't lead to MPTT data
  corruption anymore. This didn't happen often before either, but shouldn't
  happen anymore at all.


Compatibility with Django and other apps
========================================

FeinCMS 1.10 requires Django 1.4 or better. The testsuite is successfully run
against Django 1.4, 1.5, 1.6 and the upcoming 1.7.
