========================================== Wagtail 1.1 release notes - IN DEVELOPMENT ========================================== .. contents:: :local: :depth: 1 What's new ========== ``specific()`` method on PageQuerySet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Usually, an operation that retrieves a queryset of pages (such as ``homepage.get_children()``) will return them as basic Page instances, which only include the core page data such as title. The ``specific()`` method (e.g. ``homepage.get_children().specific()``) now allows them to be retrieved as their most specific type, using the minimum number of queries. "Promoted search results" has moved into its own module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Previously, this was implemented in :mod:`~wagtail.wagtailsearch` but now has been moved into a separate module: :mod:`wagtail.contrib.wagtailsearchpromotions` Atomic rebuilding of Elasticsearch indexes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Elasticsearch search backend now accepts an experimental ``ATOMIC_REBUILD`` flag which ensures that the existing search index continues to be available while the ``update_index`` task is running. See :ref:`wagtailsearch_backends_atomic_rebuild`. Permissions fixes in the admin interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A number of inconsistencies around permissions in the admin interface were fixed in this release: * Removed all permissions for "User profile" (not used) * Removed "delete" permission for Images and documents (not used) * Users can now access images and documents when they only have the "change" permission (previously required "add" permission as well) * Permissions for Users now taken from custom user model, if set (previously always used permissions on Djangos builtin User model) * Groups and Users now respond consistently to their respective "add", "change" and "delete" permissions Minor features ~~~~~~~~~~~~~~ * The :mod:`~wagtail.contrib.wagtailapi` module has been refactored to use Django REST Framework * Implemented pagination in the page chooser modal * Changed INSTALLED_APPS in project template to list apps in precedence order * The ``{% image %}`` tag now supports filters on the image variable, e.g. ``{% image primary_img|default:secondary_img width-500 %}`` * Moved the style guide menu item into the Settings sub-menu * Search backends can now be specified by module (e.g. ``wagtail.wagtailsearch.backends.elasticsearch``), rather than a specific class (``wagtail.wagtailsearch.backends.elasticsearch.ElasticSearch``) * Added ``descendant_of`` filter to the API * Added optional directory argument to "wagtail start" command * Non-superusers can now view/edit/delete sites if they have the correct permissions * Image file size is now stored in the database, to avoid unnecessary filesystem lookups * Page URL lookups hit the cache/database less often * Updated URLs within the admin backend to use namespaces * The ``update_index`` task now indexes objects in batches of 1000, to indicate progress and avoid excessive memory use * Added database indexes on PageRevision and Image to improve performance on large sites Bug fixes ~~~~~~~~~ * Text areas in the non-default tab of the page editor now resize to the correct height * Tabs in "insert link" modal in the rich text editor no longer disappear (Tim Heap) * H2 elements in rich text fields were accidentally given a click() binding when put insite a collapsible multi field panel Upgrade considerations ====================== "Promoted search results" no longer in :mod:`~wagtail.wagtailsearch` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This feature has moved into a contrib module so is no longer enabled by default. To re-enable it, add :mod:`wagtail.contrib.wagtailsearchpromotions` to your ``INSTALLED_APPS``: .. code-block:: python INSTALLED_APPS = [ ... 'wagtail.contrib.wagtailsearchpromotions', ... If you have references to the ``wagtail.wagtailsearch.models.EditorsPick`` model in your project, you will need to update these to point to the :mod:`wagtail.contrib.wagtailsearchpromotions.models.SearchPromotion` model instead. If you created your project using the ``wagtail start`` command with Wagtail 1.0, you will probably have references to this model in the ``search/views.py`` file.