2017-10-09 19:34:43 +02:00
==========================================
Wagtail 2.0 release notes - IN DEVELOPMENT
==========================================
.. contents ::
:local:
:depth: 1
What's new
==========
2017-11-27 02:09:42 +01:00
Reorganised modules
~~~~~~~~~~~~~~~~~~~
The modules that make up Wagtail have been renamed and reorganised, to avoid the repetition in names like `` wagtail.wagtailcore.models `` (originally an artefact of app naming limitations in Django 1.6) and to improve consistency. While this will require some up-front work to upgrade existing Wagtail sites, we believe that this will be a long-term improvement to the developer experience, improving readability of code and reducing errors. This change was implemented by Karl Hobley and Matt Westcott.
2017-10-09 19:34:43 +02:00
Other features
~~~~~~~~~~~~~~
2017-10-26 14:54:17 +02:00
* Moved Wagtail API v1 implementation (`` wagtail.contrib.api `` ) to an `external app <https://github.com/wagtail/wagtailapi_legacy> `_ (Karl Hobley)
2017-10-30 11:17:12 +01:00
* The page chooser now searches all fields of a page, instead of just the title (Bertrand Bordage)
2017-10-26 14:54:17 +02:00
* Implement ordering by date in form submission view (LB (Ben Johnston))
2017-10-25 16:28:32 +02:00
* Elasticsearch scroll API is now used when fetching more than 100 search results (Karl Hobley)
2017-02-03 13:14:35 +01:00
* Added hidden field to the form builder (Ross Crawford-d'Heureuse)
2017-10-26 17:53:09 +02:00
* Usage count now shows on delete confirmation page when WAGTAIL_USAGE_COUNT_ENABLED is active (Kees Hink)
* Added usage count to snippets (Kees Hink)
* Moved usage count to the sidebar on the edit page (Kees Hink)
2017-10-31 01:03:30 +01:00
* Explorer menu now reflects customisations to the page listing made via the `construct_explorer_page_queryset` hook and `ModelAdmin.exclude_from_explorer` property (Tim Heap)
2017-11-03 14:14:10 +01:00
* "Choose another image" button changed to "Change image" to avoid ambiguity (Edd Baldry)
2017-07-14 02:46:33 +02:00
* Added hooks `` before_create_user `` , `` after_create_user `` , `` before_delete_user `` , `` after_delete_user `` , `` before_edit_user `` , `` after_edit_user `` (Jon Carmack)
2017-11-10 12:14:27 +01:00
* Added `` exclude_fields_in_copy `` property to Page to define fields that should not be included on page copy (LB (Ben Johnston))
2017-11-14 21:12:32 +01:00
* Improved error message on incorrect `` {% image %} `` tag syntax (LB (Ben Johnston))
2017-11-22 18:06:25 +01:00
* Optimized preview data storage (Bertrand Bordage)
2017-11-30 13:43:29 +01:00
* Added `` render_landing_page `` method to `` AbstractForm `` to be easily overridden and pass `` form_submission `` to landing page context (Stein Strindhaug)
* Added `` heading `` kwarg to `` InlinePanel `` to allow heading to be set independently of button label (Adrian Turjak)
2017-12-11 06:34:56 +01:00
* The value type returned from a `` StructBlock `` can now be customised. See :ref: `custom_value_class_for_structblock` (LB (Ben Johnston))
2017-10-09 19:34:43 +02:00
Bug fixes
~~~~~~~~~
2017-10-09 12:17:38 +02:00
* Do not remove stopwords when generating slugs from non-ASCII titles, to avoid issues with incorrect word boundaries (Sævar Öfjörð Magnússon)
2017-10-25 12:56:39 +02:00
* The PostgreSQL search backend now preserves ordering of the `` QuerySet `` when searching with `` order_by_relevance=False `` (Bertrand Bordage)
* Using `` modeladmin_register `` as a decorator no longer replaces the decorated class with `` None `` (Tim Heap)
2017-10-26 14:54:17 +02:00
* Fixed crash in XML sitemap generator when all pages on the site are private (Stein Strindhaug)
2017-10-26 17:53:09 +02:00
* The `` {% routablepageurl %} `` template tag no longer generates invalid URLs when the `` WAGTAIL_APPEND_SLASH `` setting was set to `` False `` (Venelin Stoykov)
2017-10-30 11:17:12 +01:00
* The "View live" button is no longer shown if the page doesn't have a routable URL (Tim Heap)
2017-11-03 15:43:32 +01:00
* API listing views no longer fail when no site records are defined (Karl Hobley)
2017-11-03 19:12:41 +01:00
* Fixed rendering of border on dropdown arrow buttons on Chrome (Bertrand Bordage)
2017-11-07 17:45:55 +01:00
* Fixed incorrect z-index on userbar causing it to appear behind page content (Stein Strindhaug)
2017-11-22 17:04:48 +01:00
* Form submissions pagination no longer looses date filter when changing page (Bertrand Bordage)
2017-11-23 10:48:19 +01:00
* PostgreSQL search backend now removes duplicate page instances from the database (Bertrand Bordage)
2017-08-29 15:11:22 +02:00
* `` FormSubmissionsPanel `` now recognises custom form submission classes (LB (Ben Johnston))
2017-12-01 10:33:20 +01:00
* Prevent the footer and revisions link from unnecessarily collapsing on mobile (Jack Paine)
2017-11-18 17:24:06 +01:00
* Empty searches were activated when paginating through images and documents (LB (Ben Johnston))
2017-12-01 16:24:05 +01:00
* Summary numbers of pages, images and documents were not responsive when greater than 4 digits (Michael Palmer)
2017-12-04 13:17:58 +01:00
* Project template now has password validators enabled by default (Matt Westcott)
2017-12-06 06:29:41 +01:00
* Alignment options correctly removed from `` TableBlock `` context menu (LB (Ben Johnston))
2017-12-14 12:36:12 +01:00
* Fix support of `` ATOMIC_REBUILD `` for projects with Elasticsearch client `` >=1.7.0 `` (Mikalai Radchuk)
2017-10-09 12:17:38 +02:00
2017-10-09 19:34:43 +02:00
Upgrade considerations
======================
2017-10-11 18:31:08 +02:00
Removed support for Python 2.7, Django 1.8 and Django 1.10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Python 2.7, Django 1.8 and Django 1.10 are no longer supported in this release. You are advised to upgrade your project to Python 3 and Django 1.11 before upgrading to Wagtail 2.0.
2017-11-06 15:30:04 +01:00
2017-11-27 02:09:42 +01:00
Wagtail module path updates
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many of the module paths within Wagtail have been reorganised:
+-----------------------------------------+-----------------------------------+-----------------------------------+
| Old name | New name | Notes |
+=========================================+===================================+===================================+
| wagtail.wagtailcore | wagtail.core | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailadmin | wagtail.admin | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtaildocs | wagtail.documents | 'documents' no longer abbreviated |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailembeds | wagtail.embeds | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailimages | wagtail.images | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailsearch | wagtail.search | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailsites | wagtail.sites | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailsnippets | wagtail.snippets | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailusers | wagtail.users | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailforms | wagtail.contrib.forms | Moved into 'contrib' |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.wagtailredirects | wagtail.contrib.redirects | Moved into 'contrib' |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailapi | *removed* | API v1, removed in this release |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailfrontendcache | wagtail.contrib.frontend_cache | Underscore added |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailroutablepage | wagtail.contrib.routable_page | Underscore added |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailsearchpromotions | wagtail.contrib.search_promotions | Underscore added |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailsitemaps | wagtail.contrib.sitemaps | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
| wagtail.contrib.wagtailstyleguide | wagtail.contrib.styleguide | |
+-----------------------------------------+-----------------------------------+-----------------------------------+
References to these module paths within your Wagtail project need to be updated when you upgrade to Wagtail 2.0. This includes:
* `` import `` lines
* Paths specified in settings, such as `` INSTALLED_APPS `` , `` MIDDLEWARE `` and `` WAGTAILSEARCH_BACKENDS ``
* Fields and blocks referenced within migrations, such as `` wagtail.wagtailcore.fields.StreamField `` and `` wagtail.wagtailcore.blocks.RichTextBlock ``
2017-12-04 12:18:30 +01:00
However, note that this only applies to dotted module paths beginning with `` wagtail. `` . App names that are *not* part of a dotted module path should be left unchanged - in this case, the `` wagtail `` prefix is still required to avoid clashing with other apps that might exist in the project with names such as `` admin `` or `` images `` . The following should be left unchanged:
2017-11-27 02:09:42 +01:00
2017-12-04 12:18:30 +01:00
* Foreign keys specifying a model as `` 'app_name.ModelName' `` , e.g. `` models.ForeignKey('wagtailimages.Image',...) ``
2017-11-27 02:09:42 +01:00
* App labels used in database table names, content types or permissions
* Paths to templates and static files, e.g. when :ref: `overriding admin templates with custom branding <custom_branding>`
* Template tag library names, e.g. `` {% load wagtailcore_tags %} ``
2017-11-06 15:30:04 +01:00
Removed support for Elasticsearch 1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elasticsearch 1.x is no longer supported in this release. Please upgrade to a 2.x or 5.x release of Elasticsearch before upgrading to Wagtail 2.0.
2017-12-03 01:10:38 +01:00
2017-12-14 12:29:36 +01:00
Removed version 1 of the Wagtail API
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Version 1 of the Wagtail API (`` wagtail.contrib.wagtailapi `` ) has been removed from Wagtail.
If you're using version 1, you will need to migrate to version 2. Please see
:doc: `/advanced_topics/api/v2/configuration` and :doc: `/advanced_topics/api/v2/usage` .
If migrating to version 2 is not an option right now (if you have API clients that you don't
have direct control over, such as a mobile app), you can find the implementation of the
version 1 API in the new `wagtailapi_legacy <https://github.com/wagtail/wagtailapi_legacy> `_ repository.
This repository has been created to provide a place for the community to collaborate on supporting
legacy versions of the API until everyone has migrated to an officially supported version.
2017-12-03 01:10:38 +01:00
`` wagtail.images.views.serve.generate_signature `` now returns a string
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `` generate_signature `` function in `` wagtail.images.views.serve `` , used to build URLs for the :ref: `dynamic image serve view <using_images_outside_wagtail>` , now returns a string rather than a binary string. This ensures that any existing user code that builds up the final image URL with `` reverse `` will continue to work on Django 2.0 (which no longer allows binary strings to be passed to `` reverse `` ). Any code that expects a binary string as the return value of `` generate_string `` - for example, calling `` decode() `` on the result - will need to be updated. (Apps that need to preserve compatibility with earlier versions of Wagtail can call `` django.utils.encoding.force_text `` instead of `` decode `` .)