mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-29 17:36:49 +01:00
139 lines
7.4 KiB
ReStructuredText
139 lines
7.4 KiB
ReStructuredText
==========================================
|
|
Wagtail 1.6 release notes - IN DEVELOPMENT
|
|
==========================================
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 1
|
|
|
|
|
|
What's new
|
|
==========
|
|
|
|
|
|
Django 1.10 support
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
Wagtail is now compatible with Django 1.10. Thanks to Mikalai Radchuk and Paul J Stevens for developing this, and to Tim Graham for reviewing and additional Django core assistance.
|
|
|
|
|
|
``{% include_block %}`` tag for improved StreamField template inclusion
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
In previous releases, the standard way of rendering the HTML content of a StreamField was through a simple variable template tag, such as ``{{ page.body }}``. This had the drawback that any templates used in the StreamField rendering would not inherit variables from the parent template's context, such as ``page`` and ``request``. To address this, a new template tag ``{% include_block page.body %}`` has been introduced as the new recommended way of outputting Streamfield content - this replicates the behaviour of Django's ``{% include %}`` tag, passing on the full template context by default. For full documentation, see :ref:`streamfield_template_rendering`. This feature was developed by Matt Westcott.
|
|
|
|
|
|
Unicode page slugs
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
Page URL slugs can now contain Unicode characters, when using Django 1.9 or above. This feature was developed by Behzad Nategh.
|
|
|
|
|
|
Minor features
|
|
~~~~~~~~~~~~~~
|
|
|
|
* Image upload form in image chooser now performs client side validation so that the selected file is not lost in the submission (Jack Paine)
|
|
* oEmbed URL for audioBoom was updated (Janneke Janssen)
|
|
* Remember tree location in page chooser when switching between Internal / External / Email link (Matt Westcott)
|
|
* ``FieldRowPanel`` now creates equal-width columns automatically if ``col*`` classnames are not specified (Chris Rogers)
|
|
* Form builder now validates against multiple fields with the same name (Richard McMillan)
|
|
* The 'choices' field on the form builder no longer has a maximum length (Johannes Spielmann)
|
|
* The wagtailimages.Filter model has been removed, and converted to a Python class instead (Gagaro)
|
|
* Multiple ChooserBlocks inside a StreamField are now prefetched in bulk, for improved performance (Michael van Tellingen, Roel Bruggink, Matt Westcott)
|
|
* Added new EmailBlock and IntegerBlock (Oktay Altay)
|
|
* Added a new FloatBlock, DecimalBlock and a RegexBlock (Oktay Altay, Andy Babic)
|
|
* Wagtail version number is now shown on the settings menu (Chris Rogers)
|
|
* Added a system check to validate that fields listed in ``search_fields`` are defined on the model (Josh Schneier)
|
|
* Added formal APIs for customising the display of StructBlock forms within the page editor - see :ref:`custom_editing_interfaces_for_structblock` (Matt Westcott)
|
|
* ``wagtailforms.models.AbstractEmailForm`` now supports multiple email recipients (Serafeim Papastefanos)
|
|
* Added ability to delete users through Settings -> Users (Vincent Audebert; thanks also to Ludolf Takens and Tobias Schmidt for alternative implementations)
|
|
* Page previews now pass additional HTTP headers, to simulate the page being viewed by the logged-in user and avoid clashes with middleware (Robert Rollins)
|
|
* Added back buttons to page delete and unpublish confirmation screens (Matt Westcott)
|
|
* Recognise Flickr embed URLs using HTTPS (Danielle Madeley)
|
|
* Success message when publishing a page now correctly respects custom URLs defined on the specific page class (Chris Darko)
|
|
* Required blocks inside StreamField are now indicated with asterisks (Stephen Rice)
|
|
|
|
|
|
Bug fixes
|
|
~~~~~~~~~
|
|
|
|
* Email templates and document uploader now support custom ``STATICFILES_STORAGE`` (Jonny Scholes)
|
|
* Removed alignment options (deprecated in HTML and not rendered by Wagtail) from ``TableBlock`` context menu (Moritz Pfeiffer)
|
|
* Fixed incorrect CSS path on ModelAdmin's "choose a parent page" view
|
|
* Prevent empty redirect by overnormalisation
|
|
* "Remove link" button in rich text editor didn't trigger "edit" event, leading to the change to sometimes not be persisted (Matt Westcott)
|
|
* ``RichText`` values can now be correctly evaluated as booleans (Mike Dingjan, Bertrand Bordage)
|
|
* wagtailforms no longer assumes an .html extension when determining the landing page template filename (kakulukia)
|
|
* Fixed styling glitch on bi-colour icon + text buttons in Chrome (Janneke Janssen)
|
|
* StreamField can now be used in an InlinePanel (Gagaro)
|
|
* StreamField block renderings using templates no longer undergo double escaping when using Jinja2 (Aymeric Augustin)
|
|
* RichText objects no longer undergo double escaping when using Jinja2 (Aymeric Augustin, Matt Westcott)
|
|
|
|
|
|
Upgrade considerations
|
|
======================
|
|
|
|
Form builder ``FormField`` models require a migration
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The ``choices`` field on the ``wagtailforms.models.AbstractFormField`` model has been changed from a ``CharField`` to a ``TextField``, to allow it to be of unlimited length. If you are using the ``wagtailforms`` module in your project, you will need to run ``python manage.py makemigrations`` and ``python manage.py migrate`` after upgrading, in order to apply this change to your form page models.
|
|
|
|
``wagtailimages.Filter`` model has been removed
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The ``wagtailimages.Filter`` model has been removed, and replaced with a ``Filter`` class instead. This class can be imported from the same location as the model: ``wagtail.wagtailimages.models.Filter``. The ``Filter`` class has the same API as the ``Filter`` model did, with the exception that Model methods such as ``Filter.save()``, and ``Filter.objects.get()`` have been removed.
|
|
|
|
``TagSearchable`` needs removing from custom image / document model migrations
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The mixin class ``wagtail.wagtailadmin.taggable.TagSearchable``, used internally by image and document models, has been deprecated. If you are using custom image or document models in your project, the migration(s) which created them will contain frozen references to ``wagtail.wagtailadmin.taggable.TagSearchable``, which must now be removed. The line:
|
|
|
|
.. code-block:: python
|
|
|
|
import wagtail.wagtailadmin.taggable
|
|
|
|
should be replaced by:
|
|
|
|
.. code-block:: python
|
|
|
|
import wagtail.wagtailsearch.index
|
|
|
|
and the line:
|
|
|
|
.. code-block:: python
|
|
|
|
bases=(models.Model, wagtail.wagtailadmin.taggable.TagSearchable),
|
|
|
|
should be updated to:
|
|
|
|
.. code-block:: python
|
|
|
|
bases=(models.Model, wagtail.wagtailsearch.index.Indexed),
|
|
|
|
``render`` and ``render_basic`` methods on StreamField blocks now accept a ``context`` keyword argument
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The ``render`` and ``render_basic`` methods on ``wagtail.wagtailcore.blocks.Block`` have been updated to accept an optional ``context`` keyword argument, a template context to use when rendering the block. If you have defined any custom StreamField blocks that override either of these methods, the method signature now needs to be updated to include this keyword argument:
|
|
|
|
.. code-block:: python
|
|
|
|
class MyBlock(Block):
|
|
|
|
def render(self, value):
|
|
...
|
|
|
|
def render_basic(self, value):
|
|
...
|
|
|
|
should now become:
|
|
|
|
.. code-block:: python
|
|
|
|
class MyBlock(Block):
|
|
|
|
def render(self, value, context=None):
|
|
...
|
|
|
|
def render_basic(self, value, context=None):
|
|
...
|