0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-11-29 17:36:49 +01:00
wagtail/docs/releases/1.1.rst
2015-09-03 12:06:29 +01:00

110 lines
6.2 KiB
ReStructuredText

==========================================
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
Searchable snippets
~~~~~~~~~~~~~~~~~~~
Snippets that inherit from ``wagtail.wagtailsearch.index.Indexed`` are now given a search box on the snippet chooser and listing pages. See :ref:`wagtailsnippets_making_snippets_searchable`.
Minor features
~~~~~~~~~~~~~~
* The :mod:`~wagtail.contrib.wagtailapi` module has been refactored to use Django REST Framework
* Implemented deletion of form submissions
* 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
* Search in page chooser now uses Wagtail's search framework, to order results by relevance
* ``PageChooserPanel`` now supports passing a list (or tuple) of accepted page types
* The snippet type parameter of ``SnippetChooserPanel`` can now be omitted, or passed as a model name string rather than a model class
* Added aliases for the ``self`` template variable to accommodate Jinja as a templating engine: ``page`` for pages, ``field_panel`` for field panels / edit handlers, and ``value`` for blocks
* Added signposting text to the explorer to steer editors away from creating pages at the root level unless they are setting up new 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
* The ``wagtailimages`` module is now compatible with remote storage backends that do not allow reopening closed files
* Search no longer crashes when auto-indexing a model that doesn't have an ``id`` field
* The ``wagtailfrontendcache`` module's HTTP backend has been rewritten to reliably direct requests to the configured cache hostname
* Resizing single pixel images with the "fill" filter no longer raises "ZeroDivisionError" or "tile cannot extend outside image"
* The queryset returned from ``search`` operations when using the database search backend now correctly preserves additional properties of the original query, such as ``prefetch_related`` / ``select_related``
* Responses from the external image URL generator are correctly marked as streaming and will no longer fail when used with Django's cache middleware
* Page copy now works with pages that use multiple inheritance
* Fix: Form builder pages now pick up template variables defined in the ``get_context`` method
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.