mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-29 01:22:07 +01:00
24ef0e62e6
Fix code block indentation in tutorial.rst Prevent it from being displayed as a quote. Fix indentation in pages.rst Fix indentation in indexing.rst Fix indentation in searching.rst Fix indentation in backends.rst Fix indentation in renditions.rst Fix indentation in custom_image_model.rst Fix indentation in feature_detection.rst Fix indentation in image_serve_view.rst Fix indentation in custom_document_model.rst Fix indentation in i18n.rst Fix indentation in privacy.rst Fix indentation in page_editing_interface.rst Fix indentation in rich_text_internals.rst Fix indentation in extending_hallo.rst Fix indentation in configuration.rst Fix indentation in usage.rst Fix indentation in theory.rst Fix indentation in model_reference.rst Fix indentation in queryset_reference.rst Configure editors to indent .rst files with 2 spaces In order for the documentation to be styled correctly, the generator depends on indentation. Too much indentation can result in the content being wrapped in a quote block, which looks bad. Fix indentation in sitemaps.rst Fix indentation in frontendcache.rst Fix indentation in routablepage.rst Fix indentation in table_block.rst Fix routablepage.rst autodocs disppearing Fix indentation in table_block.rst Fix indentation in redirects.rst Fix indentation in table_documentation-modes.rst Fix indentation in browser_issues.rst Fix indentation in release_process.rst Fix indentation of release notes One more indent fix in the release notes Fix indentation warnings Fix warning about undefined label in docs Error during `make html`: wagtail/docs/releases/1.7.rst:25: WARNING: undefined label: jpeg_image_quality
132 lines
8.3 KiB
ReStructuredText
132 lines
8.3 KiB
ReStructuredText
=========================
|
|
Wagtail 1.1 release notes
|
|
=========================
|
|
|
|
.. 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`.
|
|
|
|
The :mod:`~wagtail.contrib.wagtailapi` module now uses Django REST Framework
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The ``wagtailapi`` module is now built on Django REST Framework and it now also has a `library of serialisers <https://github.com/wagtail/wagtail/blob/stable/1.1.x/wagtail/contrib/wagtailapi/serializers.py>`_ that you can use in your own REST Framework based APIs. No user-facing changes have been made.
|
|
|
|
We hope to support more REST framework features, such as a browsable API, in future releases.
|
|
|
|
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 Django's 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
|
|
~~~~~~~~~~~~~~
|
|
|
|
* 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
|
|
* "Clear choice" and "Edit this page" buttons are no longer shown on the page field of the group page permissions form
|
|
* Altered styling of stream controls to be more like all other buttons
|
|
* Added ability to mark page models as not available for creation using the flag ``is_creatable``; pages that are abstract Django models are automatically made non-creatable
|
|
* New translations for Norwegian Bokmål and Icelandic
|
|
|
|
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
|
|
* Form builder pages now pick up template variables defined in the ``get_context`` method
|
|
* When copying a page, IDs of child objects within page revision records were not remapped to the new objects; this would cause those objects to be lost from the original page when editing the new one
|
|
* Newly added redirects now take effect on all sites, rather than just the site that the Wagtail admin backend was accessed through
|
|
* Add user form no longer throws a hard error on validation failure
|
|
|
|
|
|
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.
|
|
|
|
|
|
``is_abstract`` flag on page models has been replaced by ``is_creatable``
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Previous versions of Wagtail provided an undocumented ``is_abstract`` flag on page models - not to be confused with Django's ``abstract`` Meta flag - to indicate that it should not be included in the list of available page types for creation. (Typically this would be used on model classes that were designed to be subclassed to create new page types, rather than used directly.) To avoid confusion with Django's distinct concept of abstract models, this has now been replaced by a new flag, ``is_creatable``.
|
|
|
|
If you have used ``is_abstract = True`` on any of your models, you should now change this to ``is_creatable = False``.
|
|
|
|
It is not necessary to include this flag if the model is abstract in the Django sense (i.e. it has ``abstract = True`` in the model's ``Meta`` class), since it would never be valid to create pages of that type.
|