Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move all usage of versioned_static to media methods #5694

Merged
merged 11 commits into from Jan 7, 2020

Conversation

tomkins
Copy link
Contributor

@tomkins tomkins commented Nov 9, 2019

To avoid staticfiles manifest file checking during loading of models, ensure that all versioned_static calls are only used inside media methods.

Change versioned_static so that the static() call is done after the test for hashed staticfiles being used.

Closes #5693.

To test:

pip install -e git+https://github.com/tomkins/wagtail.git@versioned-static#egg=wagtail
wagtail start versionedstaticdemo
cd versionedstaticdemo
echo "SECRET_KEY='secret'" > versionedstaticdemo/settings/local.py
cat > home/models.py <<EOF
from django.db import models

from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.models import Page
from wagtail.core.fields import RichTextField


class HomePage(Page):
    rich_text = RichTextField()

    content_panels = Page.content_panels + [
        FieldPanel("rich_text", classname="full"),
    ]
EOF
./manage.py makemigrations --settings=versionedstaticdemo.settings.production --dry-run --check

To avoid staticfiles manifest file checking during loading of models, ensure that all versioned_static calls are only used inside media methods.
@squash-labs
Copy link

squash-labs bot commented Nov 9, 2019

Manage this branch in Squash

Test this branch here: https://tomkinsversioned-static-lznic.squash.io

@frmdstryr
Copy link
Contributor

Related #5644, appears that was not fully complete.

@gasman gasman added this to the 2.7.1 milestone Nov 26, 2019
Copy link
Collaborator

@gasman gasman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tomkins!

wagtail/admin/rich_text/editors/hallo.py Show resolved Hide resolved
wagtail/images/wagtail_hooks.py Show resolved Hide resolved
@tomkins tomkins changed the title Move all usage of versioned_static to media methods WIP: Move all usage of versioned_static to media methods Nov 28, 2019
If a media URL starts with:

- /
- http://
- https://

Then we won't add a querystring version to the URL.

Also move the `static()` call further down to avoid hitting it when a storage backend with hashed filenames is used.
@tomkins tomkins changed the title WIP: Move all usage of versioned_static to media methods Avoid calling static too early with versioned_static Dec 1, 2019
@tomkins
Copy link
Contributor Author

tomkins commented Dec 1, 2019

My original intention was to avoid tweaking versioned_static as that felt like the right thing, so the main focus was to get anything which used it into a media method to avoid being called too early.

However we could just change that function and leave the rest alone. It's a much smaller PR - and feels a lot less invasive.

I'm happy to bring back the original code and address some more of the original feedback if you prefer.

@tomkins tomkins changed the title Avoid calling static too early with versioned_static WIP: Move all usage of versioned_static to media methods Dec 24, 2019
@tomkins tomkins changed the title WIP: Move all usage of versioned_static to media methods Move all usage of versioned_static to media methods Dec 26, 2019
@tomkins
Copy link
Contributor Author

tomkins commented Dec 27, 2019

Hopefully the third attempt should be a bit better:

  • versioned_static will now immediately return the exact string back if it's an absolute URL already - which matches Django's behaviour.
  • Updated DraftailRichTextArea a bit more, as plugin media can't be merged during __init__ - combining media together result in the manifest being checked.
  • Added versioned_static support to draftail features.
  • Added cached_property to both editors media methods.

Copy link
Collaborator

@gasman gasman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good to me - thanks for persevering with this, @tomkins!

@gasman gasman merged commit f4273fa into wagtail:master Jan 7, 2020
gasman added a commit that referenced this pull request Jan 7, 2020
gasman added a commit that referenced this pull request Jan 7, 2020
lb- pushed a commit to lb-/wagtail that referenced this pull request Apr 20, 2020
Convert local variables to instance variables in CreatePageView

This will allow us to break up dispatch into separate methods for GET and POST.

Convert local variables to instance variables in EditPageView

This will allow us to break up dispatch into separate methods for GET and POST.

Refactor CreatePageView and EditPageView into TemplateViews

Add overrideable methods for getting instance / edit handler / form class

Support registering custom add/edit views for specific page types

Document register_create_page_view and register_edit_page_view

Squashed commit of the following:

commit 4023a90d6e0b2876c560f0318c1cf6aea544e354
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Apr 26 17:19:04 2019 +0100

    Allow custom image model to have fields defined as required

    If validation rules prevent the multiple image upload view from
    creating Image objects from just the image file, an UploadedImage object is
    created instead, and turned into an image once the form is filled in.

    * Fixes #847
    * Add UploadedImage model and related views
    * Update custom image model docs

commit ef0c8f344684614d27d2f4e5cc8ba35794395e07
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Apr 15 15:34:52 2020 +0100

    Add documentation for reporting security issues

commit d0a0c804c25459bbf2161c5c53f10c37ba5b6b77
Author: Mitchel Cabuloy <mixxorz@gmail.com>
Date:   Fri Jan 24 11:44:54 2020 +0000

    Remove inappropriate banner landmarks & adopt main element in admin  404

    According to the ARIA spec:

    > A region that contains mostly site-oriented content, rather than page-specific content.

    > Site-oriented content typically includes things such as the logo or identity of the site sponsor, and a site-specific search tool. A banner usually appears at the top of the page and typically spans the full width.

    Where the `banner` role was applied was more page-specific than
    site-specific. In addition, tags with `banner` roles should not live
    under another landmark. To rectify, removed the misused banner roles.

    Remove inappropriate contentinfo landmarks

    According to ARIA spec 1.1

    > A large perceivable region that contains information about the parent document.

    > Examples of information included in this region of the page are copyrights and links to privacy statements.

    They don't apply to the action buttons on where this was applied to.

    Add main landmark to 404 page

commit 2dbd0a49f9e73ea4d39c5c9abc1b73207a79f3c9
Author: Rich Brennan <rich.brennan@torchbox.com>
Date:   Tue Apr 30 16:08:13 2019 +0100

    Fix document serve response filename when non-ascii characters used

    * url encode the document filename in the Content-Disposition header in the document serve view

commit ce815a5f0007fe9be77c20f569e0e28273046342
Author: LB Johnston <lb.johnston@virginaustralia.com>
Date:   Sun Mar 17 17:05:57 2019 +1000

    page.copy to use `exclude_fields_in_copy` child & parental m2m relations

    - fixes #5099
    - test_copy_page_with_excluded_parental_and_child_relations
    - ensure the tests are wrapped in a try/finally so that the model is always reset back even if tests fail
    - update page model tests

commit a69559174f24165d66b68e4d61e48b0b6eb33fba
Author: LB <mail@lb.ee>
Date:   Sat Apr 18 10:39:47 2020 +1000

    Add tutorials Q1 2020

commit 555adccc2a6ff22db63f5d943a2ded48688936cf
Author: Nick Smith <nick.smith@torchbox.com>
Date:   Tue Apr 7 10:20:23 2020 +0100

    Set TreeQueryset.delete.queryset_only = True (#5938)

    Fixes wagtail/wagtail#5937

    This reverts Wagtail's behaviour to match Django's, where an error is
    raised as a safety mechanism.

    Projects relying on the non-safe behaviour should update e.g.
    `MyModel.objects.delete()` to `MyModel.objects.all().delete()`.

commit 0017216a02b32e38b37e7dd4f18d914f423804cb
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Mar 19 11:54:54 2020 +0000

    Use queryset.model to get the queryset model class

commit 297f6638611e441b0b589c07ee5b5220290efd0f
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Apr 14 19:00:48 2020 +0100

    Rename _list_report.html to _list_page_report.html

commit abb6634d92848acbc3320ae1c0d47861d2cf3dd2
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Apr 14 18:58:34 2020 +0100

    Move default export_heading_overrides / list_export config to PageReportView

commit 1e4a3317662a903cd0ec1d418c7a62ee32e2b3e0
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Mar 19 10:55:51 2020 +0000

    Split out base report template into an empty base and a page-specific one

commit a1b09f65c97a8e0dd5ccf65e1ce8e52f9bc0ad19
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Mar 19 11:55:59 2020 +0000

    Rename export_heading_overrides to export_headings

commit 7ee943a9c08813a70ae73b652ede71f9b127a697
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Mar 12 17:30:25 2020 +0000

    Fix circular import

    Views shouldn't be imported directly by models files.

commit b7af1f48da397314113109d662ab4b43ad3c409d
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Apr 14 10:15:56 2020 +0100

    Fix migration numbering in test app

commit deb1213148ff7bbeb444ed4a6246e7766933eeb1
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Apr 14 02:04:16 2020 +0100

    Release notes for 2.8.1

commit 1d043914b435301102cefaa122f453f0498f958a
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Apr 14 01:53:38 2020 +0100

    Release notes for 2.7.2

commit 2223d6b23258ce1d790c85b71216f17c9f28cbd6
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Apr 6 13:24:41 2020 +0100

    Don't mark the translatable string 'None' as safe

commit b5aef748019f42fe8e596434f5a6014cc3bf7283
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Apr 3 14:10:47 2020 +0100

    Apply proper HTML escaping on StreamField block comparisons

    An individual StreamField block in the comparison view may be rendered as a plain value (for blocks that are unchanged, added or deleted) or a diff (for blocks that are changed). In both cases, the output is returned as HTML, but must not contain any unescaped editor-supplied HTML.

    For CharBlock, TextBlock and RawHTMLBlock, the block value is escaped so that any HTML tags in the content are shown verbatim.

    For RichTextBlock and any other block types that do not override the default comparison behaviour, we take the basic (non-templated) HTML rendering of the block and extract text-only content from it. This is then returned in HTML-escaped form for the plain view, and run through diff_text().to_html() for the diff view (which handles escaping itself).

commit 72e8d861b6163bb8cd0756d1eeadfbf4035a6156
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Mon Feb 17 00:06:38 2020 +0000

    Add README badges for LGTM (#5831)

    Based on our recent discussion in Slack. See #5821 for an example PR that uses the LGTM check.

commit 82cafd539ab77689ecf285b1191877fbf9faef0d
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Apr 8 12:12:52 2020 +0100

    Add Jacob to core team

commit 9d4009bebbc1d9171bde1c94e444c02b3aa2286b
Author: Karl Hobley <karl@torchbox.com>
Date:   Wed Apr 8 11:12:57 2020 +0100

    Changelog/release notes

commit 5afafa151c08ebc63c0d6144d827ae8e55d91637
Author: Michał (Quadric) Sieradzki <michal.sieradzki@blueservices.pl>
Date:   Fri Mar 20 11:00:00 2020 +0100

    fix invalid focal_point attribute on image edit view

commit 61af7e8d2aef60acc7e82c436e1fdc2968d808df
Author: Luiz Boaretto <32047234+luizboaretto@users.noreply.github.com>
Date:   Sat Mar 28 11:11:21 2020 -0300

    Allow actions translation

commit 7796a0cc4421bfbb165425a790cf02413fbd50a0
Author: Luiz Boaretto <luiz@2i9.com.br>
Date:   Tue Mar 31 15:49:25 2020 -0300

    Make 'All' translatable

commit f37da8f7d88701dffc6d4beb0e63270ec9470ad1
Author: Tom Dyson <tom@torchbox.com>
Date:   Thu Nov 1 23:26:40 2018 +0000

    Cache image renditions (#4883)

commit 23af29d35cc07b0e0923cf3ec7da01fb8f51a49b
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Apr 7 11:56:16 2020 +0100

    Use AdminOnlyMenuItem in both code samples in reports docs

commit 2b096419dcfdeff87f7fe0596a61a56c73ebf9a3
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Apr 7 11:10:17 2020 +0100

    Fix typo in import in reports documentation

commit 1442d7ddf2bf334c25feca31a171f9ae69c99561
Author: Matt Westcott <matthew@torchbox.com>
Date:   Sun Apr 5 16:38:44 2020 +0100

    Revert "Add README badges for LGTM (#5831)"

    This reverts commit 264ae1f9997e3800b4b839dbf377ba66682d93e2.

commit 9fa2ba939debd3a85c421fbe00b777dd3cb447b7
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 21:59:38 2020 +0100

    Release notes for #5932

commit db8ab0875d364a2db22d7d429e5f33289bdc7ce0
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 21:46:32 2020 +0100

    Update BaseSetting to make it easier to utilise QuerySet.select_related() for more complex settings which reference related objects (such as pages)

commit e9371f45c7d7b5e3ca1b55edaa98eb0054d00e24
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 21:22:22 2020 +0100

    Release notes for #5931

commit 18118f54b61f488655e9fd33e0627920489781db
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 16:35:23 2020 +0100

    Update docs

commit a574c336cf2ed25fd820f8ab1f6df838f23934e1
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 12:27:31 2020 +0100

    Preserve more of the existing context_processor behaviour, which delays the site query until necessary

commit 458b514194b76d534fcc3bb71163710019d7cb6b
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Apr 3 12:12:36 2020 +0100

    Add tests for new model methods, and refactor test_templates to utilise a new base class (with slightly more descriptive attribute names)

commit b023a3839045643d9a09d3250ee6f0fda6d24759
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Thu Apr 2 15:58:39 2020 +0100

    Update get_settings tag to initialise a SettingsProxy using the request (if available)

commit 255ad1f2a187668efdfa8c43cc69b53ac91635f4
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Fri Feb 14 10:34:12 2020 +0000

    Add BaseSetting.for_request() to facilitate efficient repeat access of settings when accessed before rendering

commit 3797132b4d943ba09ae104cb46923b509322c3a3
Author: Andy Chosak <andy@chosak.org>
Date:   Thu Apr 2 09:24:24 2020 -0400

    Allow ListBlocks to leverage child bulk_to_python

    Currently a select set of StreamField blocks like PageChooserBlock
    expose a bulk_to_python method that is used to optimize their
    retrieval from the database. As reported in issue 5926, ListBlock could
    take advantage of this so that its child items are loaded at once,
    instead of one at a time.

    This change modifies how ListBlock.to_python works so that it calls its
    child block's bulk_to_python, if defined. This allows for a single query
    instead of one query per child item.

    Note that this change doesn't add bulk_to_python to ListBlock itself,
    meaning that individual ListBlocks in a StreamField or StructBlock are
    still retrieved independently. But it does optimize the lookup for each
    ListBlock.

commit bb2e460c0b92fba802fc3f369730004d6b648e64
Author: Mohamed Feddad <mrf345@gmail.com>
Date:   Tue Mar 24 19:52:40 2020 +0300

    Replace deprecated ugettext, ungettext with gettext and ngettext. (#5907)

commit 8c1a234f139cdd77dd20cce9ee087ec309709851
Author: Tom Dyson <tom@torchbox.com>
Date:   Wed Mar 25 14:23:48 2020 +0000

    Remove our outdated preferences for deployment

commit 36e777418f308fd6aa359e1c953afcf4ab041571
Author: Karran Besen <karranrb@gmail.com>
Date:   Mon Mar 2 23:18:46 2020 -0300

    Fix: Hide empty 'view live' links

commit 3f86de27e0bf7e5e01031d9614e3a0a866232d03
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Mar 19 17:57:52 2020 +0000

    Document AdminOnlyMenuItem in hooks documentation

commit 205249b3174249e811a37a2391e13725981a44da
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Mar 19 17:49:33 2020 +0000

    Release note for #5884

commit 5e95e912262893a6ac838662d29b82568b74b209
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 19 17:05:39 2020 +0000

    Add AdminOnlyMenuItem and update custom report documentation to use it

commit 587ccdc8b0d2907996fdb07aae6906edda4c59b6
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Mon Mar 16 17:30:53 2020 +0000

    Add complete report example

commit 423165b7c0db2eb8502973e39357f45ded0dc4a6
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Fri Mar 13 21:00:26 2020 +0000

    Refactor templates to remove unneeded aspects of _list_explore template, and simplify the process of adding extra columns and data for custom report views

commit cbe30587942f5a78167e10739ca8c570a94c747a
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Fri Mar 13 12:00:04 2020 +0000

    Add documentation on how to add custom reports

commit 0d6f261a93cd40b99e78401526ca435a81f44625
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Fri Mar 13 11:59:39 2020 +0000

    Make ReportView use base_report template by default

commit 494260f8ee2619e9902a4d2abb9077bce2bd8b58
Author: Paulo <commonzenpython@gmail.com>
Date:   Sun Oct 27 19:34:41 2019 -0400

    Fixed #5537 -- Fetch deferred stream fields from db (#5661)

commit fc0cf64ac6615905ee6207314b935df3e979f287
Author: Frantisek Holop <fholop@ripe.net>
Date:   Mon Jan 6 18:00:25 2020 +0100

    Be more specific regarding the cached loader. (#5754)

    Be more explicit about not needing to enable the `cached.Loader`
    manually, unless using some custom loaders.

commit 5e2d12b518d38987b6f82bc1259dcd067a56d1a0
Author: Michał (Quadric) Sieradzki <quadmachine@wp.pl>
Date:   Sat Feb 29 00:26:29 2020 +0100

    Add scope attribute to TableBlock generated tables for visually impaired users (#5865)

commit 06fbde14b3b5f9ba2f39e7786858ba25bc32b7e7
Author: Michał (Quadric) Sieradzki <michal.sieradzki@blueservices.pl>
Date:   Fri Mar 13 12:02:49 2020 +0100

    fix display issue on snippet edit view (#5883)

commit 0ccfe9568f0c013798bc9b97dd4cfc47ea5e9b22
Author: Fidel Ramos <f@fidelramos.net>
Date:   Tue Mar 10 23:15:41 2020 +0000

    Fix image resizing failing on slim images

    Image operations sometimes calculate a target width or height of zero, which
    make Willow raise a ValueError.

    If an user uploads one such image it's possible to break the whole Wagtail
    image manager/picker/uploader for all users.

    The fix is to use a minimum of 1 pixel for either the target height or the
    width. The image might lose some aspect ratio, but it's better than an
    exception.

commit 526649008da4c58a5c9afed263932a8791a6e9ab
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Mar 19 16:12:40 2020 +0000

    Release note for #5870

commit 12d5edcef6af15fcfa1166983bb1a1653b924dfe
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 3 16:11:32 2020 +0000

    Add heading option to panels reference

commit 75597f4527f80e0504aea137d7ccf6ed300b184a
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 3 15:24:07 2020 +0000

    Fix test_override_heading test

commit cc430e2bb1e105def1ecdf5a0accceca03bb722e
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 3 15:05:56 2020 +0000

    flake8

commit ee0af7054572fc133ac040659999223b2ce87a65
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 3 14:51:58 2020 +0000

    Add test for overriding edit handler heading

commit d706c4f34368c89f8b280f9869eeb3e771840f2c
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 3 14:11:01 2020 +0000

    Allow FieldPanel heading kwarg to override its bound field label

commit f83977c29127281d7f78a9ff73c4d5f198aa23d8
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 25 23:00:33 2020 +0000

    Add cache to speed up compiling media declarations for stream blocks

    As proposed by @pimarc in https://github.com/wagtail/wagtail/issues/3062#issuecomment-586331423

commit a34d509f7ebf5578ce459194f7daf8377a01df7e
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Mar 13 17:42:11 2020 +0000

    Release note for #5880

commit 32de830427338bf8085933cb337e6987298686ae
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 12 17:45:56 2020 +0000

    Fix datetimes being forced to string for xlsx export when unnecessary

commit 54e5ed100afe8724096b08fdd4eee3315eaf4ca4
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 12 17:05:20 2020 +0000

    Move usual export fields (ie those identical to base report template) from LockedPagesView into ReportView

commit b3e5278a1ba05d750737f034f8257665b394d9fe
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 12 10:49:20 2020 +0000

    Remove spreadsheet export setting, and allow a user to select format via a dropdown instead

commit 00650e7311d7c4ad7c2f4a41120aeaf05fba876a
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Wed Mar 11 10:53:06 2020 +0000

    Reduce openpyxl version for Python 3.5 compatibility

commit 26ce5a5f738552ca7c9a06d220d97a973b42ed34
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Wed Mar 11 09:40:58 2020 +0000

    Isort

commit 4c7754e964fbfa69b0614a4b631088625c85f51c
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Wed Mar 11 09:35:54 2020 +0000

    Reformatting

commit 2ed86e25139655fd187085b9c2ed0af5154007cc
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Wed Mar 11 09:10:56 2020 +0000

    Remove unused imports

commit fbead4549b6e9fe5f2205fd67bb1fe5fdf8c58c1
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 17:49:27 2020 +0000

    Add documentation for spreadsheet format setting and new modeladmin features

commit 720593b077ad15f66a067ab10ae3c8cf5d289fbb
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 17:48:40 2020 +0000

    Add docstrings and make exported values for modeladmin spreadsheets mirror those in index listings

commit 41bf6010dff29c3990dbe6e6deed4a641ea0dd56
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 17:03:00 2020 +0000

    Add openpyxl for reading xlsx files in tests (xlsxwrites cannot, but is more performant and nicer to use, so is preferred outside testing rather than using openpyxl for both). Add tests for xlsx exports.

commit b852ffc914e8eff3478bb2df910543701f812225
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 15:25:16 2020 +0000

    Add tests for CSV export to modeladmin and locked pages report, and fix breaking forms tests

commit c94ba3a49027fd61c55b36d2e84cd060f0ea16d5
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 15:24:04 2020 +0000

    Rewrite preprocess function finding to allow varying function by both field and by value class (if field unspecified)

commit 1d107abc7d0f8c312a0a6d2a389c4acfedbe96f9
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Tue Mar 10 10:56:38 2020 +0000

    Alter forms spreadsheet export to use SpreadsheetExportMixin, enabling form submissions to be exported as xlsx as well

commit 8e88f3535c72a3f57825c1d22a06350ca9416201
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Mon Mar 9 17:54:26 2020 +0000

    Add spreadsheet export functionality to ModelAdmin

commit 877675bafb729e4f9fe35ab23e5578946519550d
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Mon Mar 9 13:10:40 2020 +0000

    Add download link to base report template, add a default date format, and
    allow callables in list_export

commit 72cd21e27ca02d701677d7c032e09913679fad5d
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Mon Mar 9 11:24:05 2020 +0000

    Add ability to override headings, and to access nested attributes for export

commit 7026ab3408389603eb2b25683e8a1fff3eab533c
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 5 11:33:05 2020 +0000

    Add xslxwriter dependency

commit 110a08b40bca4e509db3f7933b0123dec3b7c6b3
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Thu Mar 5 11:14:44 2020 +0000

    Initial implementation of SpreadsheetExportMixin, and new setting for spreadsheet export format

commit 98c2aefbe801b68346b4c345c44f840d60c911e8
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Mar 10 15:51:31 2020 +0000

    Revert "Allow url punctuation as defined in RFC 3986 section 2.3"

    This reverts commit 08ef3f4840b22878d006406c548b23144b526f21. Reverting as it breaks serving static files with whitenoise.

    Conflicts:
    	CHANGELOG.txt
    	docs/releases/2.9.rst

commit 26e2e5341a43df8db451e5d4fe01e80adec7556f
Author: Andy Chosak <andy@chosak.org>
Date:   Thu Mar 5 13:33:58 2020 -0500

    Fix minor typo in code comment

    funtion -> function

commit c76447246dda344067af502c44388470a0513a91
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Mar 4 15:04:34 2020 +0000

    Fix Javascript alerts reported by LGTM

commit 17e09fee76207da30343250f3492be30b17a9757
Author: Andy Chosak <andy@chosak.org>
Date:   Wed Mar 4 13:21:53 2020 -0500

    Fix quotes in ModelAdmin documentation

    Building the docs currently generates a warning:

    wagtail/docs/reference/contrib/modeladmin/indexview.rst:423: WARNING: Could not lex literal_block as "python". Highlighting skipped.

    This is due to use of backticks instead of single quotes on this page:

    https://docs.wagtail.io/en/v2.8/reference/contrib/modeladmin/indexview.html#modeladmin-get-queryset

    In practice this doesn't seem to actually break highlighting, but it's still good to fix.

commit 7dae758ea4eb98671bc2e692c01c75f29384cf55
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Mar 4 11:38:32 2020 +0000

    Release note for #5845

commit a8c7ce6c33fee6859ebd45cf8fe4676fc0ac6c14
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Mar 4 11:27:02 2020 +0000

    Fix tag indexing tests that were being skipped

    Tests were being skipped if the search backend did not exactly match wagtail.search.backends.elasticsearch, which was only elasticsearch version 1. Fixing this exposed the refresh_index bug fixed in #5845, and a secondary bug in document editing: uploading a new document file skipped saving tags.

commit deda5e7b17393988167d9e3031f92bee88a1b049
Author: Lars van de Kerkhof <lars@permanentmarkers.nl>
Date:   Wed Jan 22 17:48:24 2020 +0100

    get_indexed_models is a function, lets call it and loop through the results.

    Most likely nobody has ever called refresh_index, because I just tried it and found this bug.

commit 08ef3f4840b22878d006406c548b23144b526f21
Author: Storm Heg <storm.heg@torchbox.com>
Date:   Tue Feb 4 15:01:26 2020 +0000

    Allow url punctuation as defined in RFC 3986 section 2.3

commit babcbb7f802ab0fbbe04907dc51cbca956857ff4
Author: stevelyall <stevenlyall@gmail.com>
Date:   Mon Feb 3 13:36:45 2020 -0800

    Add Vidyard to oEmbed provider whitelist

commit 19f50c72ce4351b70941cd8611f6302bbb158c7f
Author: Casper <casper@fourdigits.nl>
Date:   Thu Jan 23 17:16:58 2020 +0100

    Hide preview button when preview_modes is empty

commit 92ba2c483257ad0086bed3bec741238bf65ec0f2
Author: Tom Dyson <tom@torchbox.com>
Date:   Fri Jan 24 15:23:58 2020 +0000

    Replace welcome page for Squash instances

commit 122575d2ee5a3f4bc3cf7c689b3972a666f0a8b9
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Feb 26 14:10:02 2020 +0000

    Release note for #5848

commit 09a2ccf8ccc282788298aa57012eb678ff4a5f46
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 24 20:40:57 2020 +0000

    Documentation for custom tag models

commit 163efe3753dea1f98aab6d9f1851202df1d5fcea
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Feb 20 16:08:51 2020 +0000

    Configure WagtailAdminModelForm to use TagField as standard for tag fields

commit c470b33d44987c4662bcb0bb8b184e984afc9ce7
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Feb 20 14:52:37 2020 +0000

    Support setting a free_tagging flag on tag models to be picked up by TagField / AdminTagWidget

commit 702a4b438f9898bdcaf61ed5b520790afe3585c0
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Feb 20 12:12:54 2020 +0000

    Implement TagField to apply tag whitelisting

commit 3957674fc2846dffe29db2e0b3ea9c374fb1832c
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Feb 19 10:59:44 2020 +0000

    Add option to AdminTagWidget to disable free tagging

    Also refactor JS initialiser to pass options as a dict, so we don't have an impenetrable list of booleans

commit d48d3dfc5b14ef6fd66a1aa5ce652f11f27fb3a1
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Feb 25 23:21:32 2020 +0000

    Fix documents tests on Windows (#5752)

    As documents are streamed, the files are not closed until the datastream
    has been fully consumed by the test. But most of the documents tests
    never do this.

    On Windows, files must be closed before deleting them. This change makes
    the tests always consume the file so that they are closed before
    deleting them.

commit 78cc81c505fc46f4bdaaa2bf35a1b5421aef9e51
Author: Maylon Pedroso <mpedroso@stackbuilders.com>
Date:   Mon Jan 27 09:47:31 2020 -0500

    Set context variable to None if no image provided to image templatetag

commit f52d3d89d18ff05b9158fb04a86df6134b706d7b
Author: Po-Chuan Hsieh <sunpoet@sunpoet.net>
Date:   Wed Feb 26 07:10:17 2020 +0800

    Relax pillow version restriction (#5829)

    It allows to build with Pillow 7.x.

commit a6fb0762a872b8a4691a8301416ccb241f30b8ba
Author: dt <dt42@welcomemedia.ru>
Date:   Tue Feb 25 11:18:58 2020 +0300

    Mention options for schema in sitemap

    Add clear way to change schema in `sitemap.xml` to https on `sitemap`
    documentation page

commit 7e8f8f893c55b814ce2c04001c770449fceb8607
Author: Karl Hobley <karl@torchbox.com>
Date:   Mon Feb 24 12:26:48 2020 +0000

    Add changelog entry for removing Django 1.11 support

commit 89313120257cfafe8a5a3d9132da9377b37a7de1
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Feb 21 17:29:07 2020 +0000

    Release note for #5827

commit 738572a5453844152a9fbca58ebe5e5c7760f682
Author: Storm Heg <storm.heg@torchbox.com>
Date:   Mon Feb 17 09:55:06 2020 +0000

    Optimise configure site warning conditional

commit 50f6b21a78016e1c33f572bf752ec9c8806db70c
Author: Storm Heg <storm.heg@torchbox.com>
Date:   Fri Feb 14 16:21:42 2020 +0000

    Fix regression where Page.get_site() was not not working

commit b13d8dc6c8a089c94369f6093026852ac3dc936f
Author: Storm Heg <storm.heg@torchbox.com>
Date:   Fri Feb 14 11:32:17 2020 +0000

    Fix get_urls_parts: return None if wagtail_serve is not registered

commit 4df455ea9ffed242432c6625603417a9d60d9c2b
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 18 13:55:53 2020 +0000

    Remove support for Django 2.1 (#5840)

commit a97256a4f74fa7bc4470da7e0c4fb858288d2260
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 18 11:45:53 2020 +0000

    Release note for #5837

commit 9f8cddca73f8d6d3ad6de8403e81f2ed7abc5c45
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 18 00:12:05 2020 +0000

    Respect custom tag models in WagtailAdminModelForm formfield_for_dbfield logic

commit 0099de92f641dee53941c42627d6809ac7366ad4
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 17 22:39:04 2020 +0000

    Allow passing a tag model to AdminTagWidget

commit 5d8b3435287cbbdb36e0629d10c89dc7ed70d460
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 17 22:21:07 2020 +0000

    Add autocomplete endpoint for custom tag models

commit 51d8433b6bd030a0b8e40811348e3f8dcb501e56
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 17 12:30:10 2020 +0000

    Release note for #5787

commit 96cd5c066d2c8aa400ed0da80497f5eeee4b7702
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Feb 5 19:46:49 2020 +0000

    Update wording

    Also move warning so it occurs on server startup rather than first request

commit 7b6a89c155c3c5494c7db39e529cf2e81f53df47
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 13:29:59 2020 +0000

    Upgrade consideration note re SiteMiddleware deprecation

commit 4950158e46f9d9b508a8c5f7b2188af9f0648e62
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:48:55 2020 +0000

    Remove remaining references to request.site

commit 76cd26b0990b3f2b7be28a5be32dec77b31d6a69
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:43:07 2020 +0000

    Remove remaining references to SiteMiddleware

commit 4279a17e87241daace319e9035b2072e4eabac4a
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:39:57 2020 +0000

    Remove unnecessary 'except AttributeError'

commit ad444584f5224710250b46dc93094374850a9f9d
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:36:53 2020 +0000

    Refactor get_base_url to avoid a redundant Site.find_for_request call

commit 3b493818840e88887eba609eff0720b985231408
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:29:53 2020 +0000

    Fix and test wagtail_site tag

commit f34891fbd3cca7cfd25458f0e8a7be62d98c26a4
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 12:21:17 2020 +0000

    Update docs to cover wagtail_site tag, find_for_request and deprecation of SiteMiddleware

commit ac84d8743b50a00c49a8ceb81ed69661841bce70
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 11:49:48 2020 +0000

    Revert SiteMiddleware to setting request.site

    This way, SiteMiddleware continues to support existing user / third-party code that has not yet been migrated from request.site to Site.find_for_request

commit 76b6a2a4d4f136fd73919e39bc8e27add05554ea
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 11:48:12 2020 +0000

    Set host headers properly in multi-site tests, rather than fiddling request._wagtail_site

commit 5eec4d954e0d37e06f966e09b21ebe53f6d0451e
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 24 10:55:25 2020 +0000

    Deprecate SiteMiddleware (#3834, #5332, #5673)

    Squashed commit of the following:

    commit 6ff78d0271ae9bb8be20edc77acc046b7ecd1190
    Merge: cbb5575 b7872e3
    Author: Matt Westcott <matt@west.co.tt>
    Date:   Fri Jan 24 10:41:00 2020 +0000

        Merge branch 'master' into sitemiddleware-rebase-2

        Conflicts:
        	docs/reference/settings.rst
        	wagtail/api/v2/endpoints.py
        	wagtail/api/v2/filters.py
        	wagtail/api/v2/serializers.py

    commit cbb5575fd8d07cb5fe2266e9acc1dda8a1bba531
    Author: timothy@bttrcode <timothy@bttrcode.nl>
    Date:   Sun Nov 3 02:30:00 2019 +0100

        Update branch, resolve conflicts, clean up

    commit 6188742cfe3fbd06129829f12b7ce4388931fa2a
    Merge: 4b4dee6 1c1341e
    Author: timothy@bttrcode <timothy@bttrcode.nl>
    Date:   Sun Nov 3 01:48:21 2019 +0100

        Resolve merge conflicts

    commit 4b4dee6c47dc384bfc58d4cd77891e0eb4efa7e8
    Author: timothy@bttrcode <timothy@bttrcode.nl>
    Date:   Sun Nov 3 01:42:37 2019 +0100

        Temporarily add Pipfile and yarn file

    commit 540dff380b02a20cd593f425003b78be820843a5
    Merge: 4a93424 0d2442f
    Author: timothy@bttrcode <timothy@bttrcode.nl>
    Date:   Fri Sep 27 20:22:00 2019 +0200

        Merge branch 'master' of https://github.com/aritas1/wagtail into aritasmaster

    commit 0d2442fc1fe72332aff9c1a39d72df374cdd92cc
    Author: Daniel <mail@aritas.de>
    Date:   Wed Jun 26 03:01:44 2019 +0200

        clean tests and add ALLOWED_HOSTS globally

    commit b7e6b8e655f8ffc0321a2ce4ccc07c8d87b9a6f9
    Author: Daniel <mail@aritas.de>
    Date:   Wed Jun 26 03:00:07 2019 +0200

        change context processor to be lazy

    commit b16250fce941b8d38257cef164f53c2fd8d7e870
    Author: Daniel <mail@aritas.de>
    Date:   Tue May 28 21:37:05 2019 +0200

        update SiteMiddleware documentation

    commit 4be243f64d544abc38a7906c4a6f2d8d264c09a4
    Author: Daniel <mail@aritas.de>
    Date:   Tue May 28 20:52:08 2019 +0200

        fix linting

    commit 33151817a0b2a9a5f4ab68104c39cb75709973b5
    Author: Daniel <mail@aritas.de>
    Date:   Tue May 28 19:11:47 2019 +0200

        add wagtail_site template tag

    commit 38b304105a50f2f4b8230bdea9354b318344fe43
    Author: Daniel <mail@aritas.de>
    Date:   Tue May 28 16:19:22 2019 +0200

        update tests for deprecated SiteMiddleware

    commit f745aae9d077256fa5c8f4e3e33df91fd30555b1
    Author: Daniel <mail@aritas.de>
    Date:   Tue May 28 16:11:58 2019 +0200

        change Site finding mechanism to be independent of deprecated SiteMiddleware

commit 264ae1f9997e3800b4b839dbf377ba66682d93e2
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Mon Feb 17 00:06:38 2020 +0000

    Add README badges for LGTM (#5831)

    Based on our recent discussion in Slack. See #5821 for an example PR that uses the LGTM check.

commit 1c2719720d92bdb9df77b266861df8b9b1af731c
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Sun Feb 16 21:39:20 2020 +0000

    Release notes for #5810

commit 9f5cd32e27c580a8be16e3581a19d68f364353ab
Author: Storm Heg <storm.heg@torchbox.com>
Date:   Wed Feb 5 17:34:43 2020 +0000

    Show InlinePanel non field validation errors

commit 061f0e2571ee1a83e20890b289bcc23e7ab4b86b
Author: Andy Babic <andyjbabic@gmail.com>
Date:   Sun Feb 16 21:18:11 2020 +0000

    Release notes for #5828

commit dd4a04f8439ce8b4d652627491215e3ebdf4d320
Author: Samir Shah <solaris.smoke@gmail.com>
Date:   Sat Feb 15 08:04:57 2020 +0300

    Skip field validation when unpublishing pages.

commit df89749d7613b86fcc4d4569edef89ccba54b25b
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Wed Feb 12 14:45:20 2020 +0000

    Remove empty line from comment block (#5821)

    A very crucial change, so I can try our new LGTM integration.

commit 676503023d54447fcd9f8658719125d4ca88549f
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Wed Feb 12 13:11:40 2020 +0000

    Mention docker-wagtail-develop in developing docs (#5820)

    Based on discussion in #bristol-sprint on Slack. See also https://github.com/wagtail/vagrant-wagtail-develop/pull/25.

commit 1f5761fc6c786de20cb9a234560240572b57b605
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 11 12:26:38 2020 +0000

    Remove duplicate of Jérôme Lebleu from contributors

commit d192bd1d44a1c3abd98929bafefce609069dd51a
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Feb 11 11:02:08 2020 +0000

    Version bump beautifulsoup to 4.8.x (#5817)

commit 3ac230f821c1a2ca8ef4cca3c2dbd97cbda25868
Author: jacobtoppm <jacobtm@torchbox.com>
Date:   Mon Feb 10 17:29:24 2020 +0000

    Prevent 'status' banners for page locking being doubled up on POST requests (#5818)

commit 4314f3d1a1419f7a184c858f8cc8afa1dbfb3d5c
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 10 22:24:49 2020 +0000

    Implement MultipleChoiceBlock (rebase of #5592) (#5819)

    * Implement MultipleChoiceBlock (squashed commits from #5592)

    * Omit widget from frozen kwargs

    * Rename get_callable_choices to indicate it is an internal method

    * Add release notes for MultipleChoiceBlock

commit 2b797f4a2e3b36523c405f4e6bcd3e190ca82e25
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Feb 7 20:48:33 2020 +0000

    Fix version number to 2.9a0

commit 47f677577e1df485c57cd6155b9e5fa68afbd69d
Author: Arkadiusz Ryś <Arkadiusz.Michal.Rys@gmail.com>
Date:   Wed Feb 5 13:18:17 2020 +0100

    Make server-side slug generation respect WAGTAIL_ALLOW_UNICODE_SLUGS (#5808)

commit afd707f6b40e63faaccbd743bdc0fc2111af0043
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 3 13:29:08 2020 +0000

    Fill in release date for 2.8

commit 8f6b3f8cba469e33d2316e200eb778ab96b9fcf6
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Feb 3 13:25:51 2020 +0000

    Fetch translations from Transifex

commit 2e23ef4ee45ee553d0f1647a7a2ecb09983a19a3
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Jan 28 09:07:01 2020 +0000

    Author specific locking docs changes (#5771)

    * Add to Dashboard docs

    * Replace Dashboard image to show locked pages

    * Add further explanatory text to Dashboard

    * Improve image readability, add missing bracket

    Co-authored-by: jacobtoppm <55137073+jacobtoppm@users.noreply.github.com>

commit 43acf24cc8cebe30bd2d72d856668e1ec67c2c7a
Author: Andy Chosak <andy@chosak.org>
Date:   Mon Jan 27 09:25:42 2020 -0500

    Always include contributor names in the CHANGELOG

    The CHANGELOG docs say that contributor names should only be included if
    they are not a core committer, but historical practice has been to
    always include names. Per discussion on the core team, we want to change
    this guidance to explicitly recommend always including contributor
    names.

    This not only encourages and recognizes contributions but also helps
    future contributors know who worked on different parts of the code. This
    record (along with git history) provides a good reference to understand
    who made certain changes or features.

commit 81d23fc8ab28486d79fc87a0ef730c4ba6e2907c
Author: Andy Chosak <andy@chosak.org>
Date:   Fri Jan 24 13:57:02 2020 -0500

    Support the rel attribute on ModelAdmin buttons

    Currently it is possible to pass the target attribute to a button
    created using ModelAdmin's ButtonHelper framework. This allows you to
    generate button links like <a ... target="_blank">.

    For example, if adding a new button and modeling it after the existing
    edit_button code [0], you can add {'target': "_blank"} to the returned
    dict and it'll get passed to the template when the button is rendered.

    To be consistent with PR 4844, and to be consistent with what seems to
    be the best practice ([1], [2]), we should also support passing the rel
    attribute, which would allow for creation of button links like <a ...
    target="_blank" rel="noopener noreferrer">.

    [0] https://github.com/wagtail/wagtail/blob/5e2f50403b093b651f19852e3cd1b4835b3b5125/wagtail/contrib/modeladmin/helpers/button.py#L61-L73
    [1] https://developers.google.com/web/tools/lighthouse/audits/noopener
    [2] https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/

commit 70da204eb1e8b2083e9a92af05ca895c2defa5dd
Author: Jack Paine <chat@jckpn.me>
Date:   Sat Jan 25 00:05:27 2020 +0000

    Reduce contrast of rich text toolbar. Fix #4997 (#5740)

commit 2933589680da41986aaf8757748a3b7e6d8a815d
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Fri Jan 24 20:51:30 2020 +0000

    Add release notes for #5467

commit 14a65612232ba4f25c386647599962a87a853567
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Fri Jan 24 19:11:25 2020 +0000

    Use data- attribute instead of class

commit 9aaed8db4c947b7dd105e5a0fe4386105c1fab41
Author: Simon Evans <simon.evans@torchbox.com>
Date:   Fri Jan 24 11:29:53 2020 +0000

    Refactor logo SVG partials and update bg colour

commit e0672d60b36a48b32eae02ae125720c809d3ee33
Author: Brian Edelman <bd.edelman@gmail.com>
Date:   Sat Jul 27 09:46:16 2019 -0400

    adds new image for accessible logo background, updates html and css for desktop and mobile to account for new image

commit eb0612c21ce887b2931f082f19c73fa03252ef2b
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Fri Jan 24 15:56:34 2020 +0000

    Add release notes for #5784

commit 8af6b4a555f4eee9b3bdf3459d471af87c5f3bed
Author: Casper Timmers <casper@fourdigits.nl>
Date:   Fri Jan 24 16:53:37 2020 +0100

    Add aria label for password reset. Fix #5782 (#5784)

commit b7872e3f2f0ea0e63023a0a418c98ca214621dea
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Thu Jan 23 16:21:43 2020 +0000

    Add release notes for #5773

commit 9b64b39f4b3a5df213df9a604e1e1ea0bd9d417d
Author: Sævar Öfjörð Magnússon <saevar@overcast.is>
Date:   Thu Jan 23 16:18:15 2020 +0000

    Show 'Close Explorer' button on mobile viewports. Fix #5396 (#5773)

    * Rework 'Close Explorer' button css so that it does not rely on u-hidden. Fixes issue #5396
    * Update tests due to changed css classes on 'close explorer' button

commit ef6ace6e98f6d24a23be07bcfa38d50d3ea25dda
Author: Thibaud Colas <thibaudcolas@gmail.com>
Date:   Thu Jan 23 15:59:43 2020 +0000

    Add release notes for #5775

commit 5dcc71799ede6dc03ba46ff08271a4bcc6710bc1
Author: Kjartan Sverrisson <kjartan@overcast.io>
Date:   Thu Jan 23 15:53:29 2020 +0000

    Reorder login form to match expected tab order. Fix #5274 (#5775)

    Addresses the issue of incorrect tab-order when logging on using keyboard. This change moves the password reset link to the very end of the form code, while maintaining the same visual location.

    * Fix lint issues
    * Refactor login position to remove unused media query

    Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>

commit 11ba755f63e124357cc64dbb899b8765269ab619
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 15:33:19 2020 +0000

    Release note for #5777

commit 53d2259fbee2a9d28e18618ea653e7c8d8a48f0b
Author: Casper Timmers <casper@fourdigits.nl>
Date:   Thu Jan 23 15:21:02 2020 +0100

    Add alert role to search results (#5777)

    * Add alert role to Page, Documents and Images search results
    * Add alert role to Choosers, Users, Groups and Redirects search results

commit 1547777a9bd7b1899f039a94dc2c08fdea86b0e4
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 12:15:59 2020 +0000

    Rotate deprecation warnings

commit 98e0dbcdabc33dfcfe9236ac67478a2dd4e56840
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 12:13:26 2020 +0000

    Remove wagtail.admin.decorators

commit 697bb128fb773b8e8284e2686cd5a5fcddf26ec5
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 12:10:54 2020 +0000

    Remove wagtail.admin.utils

commit be8cd8f8a91d82cffe95d74671029489da1da692
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 12:09:35 2020 +0000

    Remove dummy_request from Page

commit 8ad9f8ecf777d0a7fba9c0a692619ccd2cb5d3b6
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 11:56:35 2020 +0000

    Add changelog / release notes for 2.9

commit 8cdb9077d3ad46842515cce6279110a8733f93c8
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Jan 23 11:41:03 2020 +0000

    Version bump to start work on 2.9

commit d202195333e11faf5e1c42fc9a154cbe88d5e689
Author: LB Johnston <mail@lb.ee>
Date:   Wed Jan 22 07:27:34 2020 +1000

    fix minor typos in changelog/2.8 release notes

commit 968d77be4da711737802b2d1bdb0c59a32e874e3
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 20:28:40 2020 +0000

    Version bump to 2.8rc1

commit 42438e970ba537661711c44b55070df48e8563ae
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 20:13:35 2020 +0000

    Generate new source strings for translation

commit fb74944c90d339fe1f918f777f1ef109f641e915
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 20:11:03 2020 +0000

    Fetch new translations from Transifex

commit c4e5eb6afaacc37eea93e9bda9bd2ec4f0d2e88f
Author: Allen, Timothy <tallen@wharton.upenn.edu>
Date:   Fri Dec 27 18:26:40 2019 -0500

    Add an empty block area on the search results listing for adding extra fields after the title.

commit d2080ff892fc538089a72bafebbde1dc286ba7e0
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 16:11:23 2020 +0000

    Update docs to cover responsive HTML being disabled by default

commit 9332953f7e40a296e066c6d53de08141c40176ba
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 15:30:30 2020 +0000

    Set WAGTAILEMBEDS_RESPONSIVE_HTML to default to False and update tests for both cases

commit 25942a4467d887b0513e87ca0c4280d0914fe71a
Author: Matt Westcott <matt@west.co.tt>
Date:   Mon Jan 20 14:26:06 2020 +0000

    Rename WAGTAIL_ENABLE_RESPONSIVE_EMBED to WAGTAILEMBEDS_RESPONSIVE_HTML for consistency with other settings

commit eda098de588ed78512aec5a0d3f3f91ef95c4900
Author: Saptak S <saptak013@gmail.com>
Date:   Thu Dec 26 13:42:54 2019 +0530

    Abort unfinished ajax before new calls in all search ajax

commit f5f841ed5992d63c5c6f5b0ee0a56c7b75ca0cb9
Author: Eric Sherman <ericandrewsherman@gmail.com>
Date:   Thu Jan 9 20:58:38 2020 -0600

    dropdown on search page by initing dropdowns on ajax success

commit aefb0f9506fc1eb3615b4a189996e292e9e37464
Author: Kalob Taulien <kalob.taulien@gmail.com>
Date:   Thu Jan 9 18:22:05 2020 -0700

    Responsive emebed setting

commit 7a92ca5ad916d7e37de11a24080f5b0ca06dbd10
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 17 13:00:50 2020 +0000

    Mark nested InlinePanels as experimental for now

    See https://github.com/wagtail/wagtail/issues/5126#issuecomment-575607574, https://github.com/wagtail/wagtail/pull/5732#issuecomment-574753410

commit 590bea3b7b47f0bdf90a1557057bd37e04bfd0e8
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Jan 17 12:58:20 2020 +0000

    Revert "Fix submenu footer blocking items in admin" (#5606)

    This change causes the footer to no longer be bottom-aligned when the menu is shorter than window height.

    This reverts commit a459e91692659aba04e662978857d14061aecaee.

commit 349fca66f32ecf3df6316b0cffb4e5fd0d24d6c7
Author: Andy Chosak <andy@chosak.org>
Date:   Mon Dec 9 14:15:30 2019 -0500

    Fix: Properly save ordering of nested InlinePanels

    The order of nested InlinePanels (recently formally added in 5566)
    doesn't get saved properly due to some now-invalid assumptions in the JS
    selector code.

    Currently, Wagtail users can use the editor up/down arrows to order
    InlinePanel elements that contain child InlinePanels, but these may not
    be properly saved.

    Before InlinePanel nesting was supported, it was a safer bet that a
    child panel would only contain one hidden input named "-ORDER". With
    nesting, however, a parent panel will also contain hidden inputs named
    like this for its child panels. This breaks the logic used in the
    ordering code.

    This change modifies the logic to use the jQuery `.children()` selector
    instead of `.next()`, ensuring that we reference the correct adjacent
    panel item.

    An easy way to test this against current master is to use the Wagtail
    testapp test models that exercise this behavior:

    1. `wagtail start testwagtail` to create a new project.
    2. `cd testwagtail`
    3. Edit testwagtail/settings/base.py to add the Wagtail test
    application `'wagtail.tests.testapp'` to the list of `INSTALLED_APPS`.
    For the admin to work properly with this app, you also need to add
    `'wagtail.contrib.settings'` to that list and copy the definition of
    `WAGTAILADMIN_RICH_TEXT_EDITORS` from wagtail/tests/settings.py.
    4. `./manage.py migrate` to create your local database.
    5. `./manage.py createsuperuser` to create an admin user.
    6. Create a new Event Page
    (http://localhost:8000/admin/pages/add/tests/eventpage/3/).
    7. Fill in all required items, and then add multiple speakers under
    "Speaker Lineup". For each speaker, add at least one Award. Save the
    page.
    8. Try using the up/down arrows to reorder the speakers (the parent
    InlinePanel), and save the page.
    9. Note that when the page reloads, the ordering hasn't been saved. If
    you debug using the developer tools, you'll notice that this is because
    the code being modified here selects the child panel items instead of
    the adjacent parent panel item.

commit 4864920555d06432ed3849e9ac32f4c4daa440c5
Author: Ascani Carlo <carlo.ratm@gmail.com>
Date:   Thu Jan 9 17:53:09 2020 +0100

    Fix update_index throwing AttributeError when value is None (#5757)

commit c4a0ec2c4fcbbb3c9a3e1edf61352ed6054d2063
Author: Dan Braghis <dan.braghis@torchbox.com>
Date:   Fri Jan 10 14:58:22 2020 +0000

    Use sensitive_post_parameters on password reset form (#5760)

commit 1e44186f321089e1ea550e44594a2ce6d6ff9a4f
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:50:05 2020 +0000

    Reword upgrade note about removal of Page/Site from Django admin

commit e927f6269a10e3b319c90ad4351c015014109437
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:43:34 2020 +0000

    Release note for #5634

commit e5f2611cc14bca7a6e49a40d7634bb0da36e5183
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:20:25 2020 +0000

    Move edit locking upgrade considerations note to 2.8

commit 3f27014a8694af19d33b4d7ddde98580c06ed305
Merge: 8c456a4e1 9fbeff41b
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:05:59 2020 +0000

    Merge branch 'author-specific-locking' of https://github.com/jacobtoppm/wagtail into kaedroho-author-specific-locking

commit 8c456a4e176998017dd52933149798b92c86498b
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:05:28 2020 +0000

    Renumber migrations for author page locking

commit ee8eda83531fd3412263116f9e8e5e2c6cfb57d0
Merge: 7fdb06c86 13d80df0a
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 15:02:19 2020 +0000

    Merge branch 'author-specific-locking' of https://github.com/kaedroho/wagtail into kaedroho-author-specific-locking

commit 7fdb06c86cd7fd32e4ff6b85e012daffbe1637e4
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Jan 8 10:39:00 2020 +0000

    Fill in release date for 2.7.1

commit 8c49f2e68df6887689dd4d42cd9caab453e4e4d8
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Jan 7 17:03:09 2020 +0000

    Release notes for #5694

commit 9fbeff41b362d3138ecc8a3d48d68d58a73e2b59
Author: jacobtm <jacobtm@torchbox.com>
Date:   Tue Jan 7 17:00:17 2020 +0000

    Update reference to , add basic tests for locked pages report, and update  to cope with missing UserPagePermissionsProxy.permissions if inactive or superuser

commit f4273fa6833154c05e190c970cdf4ab6a72b9871
Author: Alex Tomkins <tomkins@darkzone.net>
Date:   Tue Jan 7 16:46:57 2020 +0000

    Move all usage of versioned_static to media methods (#5694)

commit ac72dec52a9ee8ee66bcdc68e96deb2d437a77e9
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Jan 7 15:12:28 2020 +0000

    Add test case for tag field inside InlinePanel

    Fixes #5414 - thanks to @johannesvogel for the original test case.

commit df194b40f348fcfe0b447286b7c57ac96b2a12d1
Author: jacobtm <jacobtm@torchbox.com>
Date:   Tue Jan 7 14:57:00 2020 +0000

    Display locked pages report only if user has 'unlock any page' permission for consistency with rfc

commit 8a6165add8a6f934b44d4131ec83ecad02913bf7
Author: jacobtm <jacobtm@torchbox.com>
Date:   Fri Jan 3 11:05:55 2020 +0000

    Account for missing locked_at

commit 3de77ba5d71845c4fc4afba01e96fce4a0dcecad
Author: jacobtm <jacobtm@torchbox.com>
Date:   Thu Jan 2 11:59:26 2020 +0000

    Add can_unlock_pages to UserPagePermissionsProxy and use to add permissions checks to locked pages report

commit 7a6ec88838700e9de96f2776394db21b8a241ef9
Author: jacobtm <jacobtm@torchbox.com>
Date:   Thu Jan 2 11:03:45 2020 +0000

    Make locked pages listing compatible with translation

commit 7421590dc723866e36ca3ba2f6f5d4e760306093
Author: jacobtm <jacobtm@torchbox.com>
Date:   Thu Jan 2 09:47:52 2020 +0000

    Document reports submenu hooks

commit 99cb3154ccf3ee03df925e4bbe2b77d2e664acd1
Author: jacobtm <jacobtm@torchbox.com>
Date:   Thu Jan 2 09:41:42 2020 +0000

    Correct model reference for page, page cannot be edited when locked is True, rather than False

commit f7530cf5e3a892613cca33aa8c284c6d67d88352
Author: Matt Westcott <matt@west.co.tt>
Date:   Sat Dec 28 20:35:51 2019 +0000

    Clarify that compatibility details seen on Github may not match the latest release

    Ref: #5747

commit c72a4e09413bc6fc3a9cac8ed173378aa8652925
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Dec 18 15:59:26 2019 +0000

    Fix test to accept both orderings of the cache-control header

commit 4a1b337461b68b355827ed6d0ca101a3a1ffb52d
Author: Johannes Vogel <jv@it-agenten.com>
Date:   Fri Dec 13 16:14:23 2019 +0100

    add etag support for documents

commit 110101d96eec4598ec378a8a2bbc1c8316b0f303
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Dec 17 12:51:23 2019 +0000

    Make Django 3.0 support official

commit c31d426910d746f23bb8346d69e8a5e2fa0f6b2d
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Dec 17 12:43:46 2019 +0000

    Update tox/travis test matrix for Django 3.0 final

commit 146853914eef6ddbd29233ea30c2346c3847ede8
Author: Janneke Janssen <j.janssen@lukkien.com>
Date:   Fri Dec 6 16:18:18 2019 +0100

    Add verbose_name_plural to form submission due to translation mismatch

commit 7acf4889dbbda55b726c6f8dd225d10e5583ba68
Author: Nick Smith <nick.smith@torchbox.com>
Date:   Thu Dec 12 15:34:17 2019 +0000

    Move wagtail_urls to the end of template urls.py (#5733)

    The `wagtail_urls` patterns is a catch-all list of urlpatterns, and will
    prevent any patterns later in the list from being matched. The default
    case when Django is in debug mode for local development is to use
    `django-admin.py runserver`, and in this case the static patterns in the
    example [are redundant][1]. However for anyone using a different server
    for local development, this makes them work again.

    [1]: https://docs.djangoproject.com/en/3.0/howto/static-files/#serving-static-files-during-development

commit cbd088235405dcba794907135cc9d3dfa3d5b638
Author: Andy Chosak <andy.chosak@cfpb.gov>
Date:   Mon Dec 16 16:51:44 2019 -0500

    Fixes minor typo in code comments

    Easiest PR I ever opened.

commit 8238a338888258554ed6eae0e25eaf903a0a5831
Author: Tom Usher <tom@tomusher.com>
Date:   Tue Dec 3 09:08:14 2019 +0000

    Add index on PageRevision approved_go_live_at field (#5725)

commit 5cfa3b09e576ee1f1f7c6fd86f9442380510c13e
Author: Karl Hobley <karl@torchbox.com>
Date:   Mon Dec 2 16:16:31 2019 +0000

    Added a missing merge migration

commit 4001516a275d88943be438d75582883b890b274d
Author: Matt Westcott <matt@west.co.tt>
Date:   Fri Sep 6 16:32:34 2019 +0100

    Add formal support for nested InlinePanels

    Fixes #1952 and #5511

commit 233e7f5189584962dedaacec4150176b2eed4e8d
Author: Benedikt Willi <benedikt.willi@unibas.ch>
Date:   Tue Nov 12 14:43:09 2019 +0100

    Add ability to filter image index by a tag

    - Fixed error when searching and filtering by tag at the same time

commit 749d0172e5e6391b2d58f1fb3c5bb03caa3802b5
Author: Dan Swain <dan@danswain.com>
Date:   Mon Nov 11 17:52:09 2019 -0500

    Documentation - include {{ block.super }}  example in modelAdmin

commit 5a8c4edba586784ff5521c19bac82084aed32b75
Author: Dan Swain <dan@danswain.com>
Date:   Tue Nov 12 09:52:07 2019 -0500

    Documentation - add StreamFieldPanel to available panel types

commit 4945acf2db97642ebbdf6452ca26039de34fb0c1
Author: Andreas Bernacca <hello@rinti.se>
Date:   Wed Nov 13 20:10:35 2019 +0100

    Update document size & hash when changing document file

    Resolves #5704

commit 5a8f468c2d62964e64c07448377b720f60392a5c
Author: Andreas Bernacca <hello@rinti.se>
Date:   Wed Nov 13 21:57:30 2019 +0100

    Fix layout issue when using FieldRowPanel with a heading

    Resolves #5691

commit abd8320dc3795324d6d782ebc4cd18c5dbaf8d96
Author: Pete Andrew <peter.andrew@torchbox.com>
Date:   Tue Nov 26 09:05:25 2019 +0000

    Update links in docs to point at stable Django version

commit d65532dd0f0bf297523a4925fd79286b1d403a5d
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Nov 28 12:35:30 2019 +0000

    Mention the need to inherit from PermissionsMixin in custom user model docs

commit dd664218b122c5c2b09c954cbba1b1f991fa89d7
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Nov 28 11:51:00 2019 +0000

    add clarifying comment about passing a single page type

commit 1d8f85c1c594399590c6a5b8a1e096dc134bbfa8
Author: Matt Westcott <matt@west.co.tt>
Date:   Thu Nov 28 11:21:18 2019 +0000

    Add upgrade considerations note for rename of API endpoint classes

commit f0de04f0bde0a9a727ee9ac2b18e14603e97c54d
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Nov 28 10:24:25 2019 +0000

    Refactor get_base_queryset to no longer take models as a parameter

commit 6af0b201525c89141c3c25c07d38157a2d6eb5b6
Author: Karl Hobley <karl@torchbox.com>
Date:   Thu Nov 28 09:05:39 2019 +0000

    Mention definition renaming feature in MovedDefinitionHandler docstring

commit 56a6fb17e83d5320566f08c41ebd9c7ba229350b
Author: Karl Hobley <karl@kaed.uk>
Date:   Fri Nov 15 14:51:53 2019 +0000

    Add back endpoints files with deprecation warnings

commit 36d440d2ddf6fdc3a7f0b40d8d9a8b6c66859c73
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 13:11:58 2019 +0000

    Rename `endpoints` modules to `views`

commit 673864d28bc0b5c566424d67594b227a3d6881fb
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 12:59:23 2019 +0000

    Use get_base_queryset in related pages fields

    Eg, children, descendants and parent

    This fixes a very minor bug in the admin API where the "parent" field
    wasn't being populated if it that page was outside of the default site.

commit a2b97737eb82fa5fa99df1a502c395323961a655
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 12:46:21 2019 +0000

    Add get_base_queryset method to PagesAPIEndpoint

    This method provides a single place to define a base queryset to be used
    as a base for filtering but also in the descendant_of and child_of
    filters.

    This improves parity between the Admin API and public API as well.

commit 05f2f14a3d2e43344b0957d9f0230a72effc3e47
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 11:50:36 2019 +0000

    Remove _v1 suffix from Admin API URL namespace

commit 33b6d82033142deab12ab32a6a0d0920be0fe6a8
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 11:39:48 2019 +0000

    Rename Admin API endpoint to "main"

commit 4e5587918af2121b9b5bedb255cb3712d3b3ad40
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 11:38:59 2019 +0000

    Move ForExplorerFilter into Admin API implementation

    Not generally useful in the Public API

commit 16d5b5c99e44c53e09ef35f876a76698bd17d6a9
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 5 11:30:43 2019 +0000

    Rename Endpoints to ViewSets

    For consistency with Django REST Framework

commit 13d80df0a4edd87ee6a415d794eecff03443f69c
Author: Karl Hobley <karl@torchbox.com>
Date:   Wed Nov 27 14:52:57 2019 +0000

    Add back page_locked template context variable

    This is used by edit.html to lock the fields

commit e9a20e618ff67b2c3bac6fd4e2b51df693841dd6
Author: Karl Hobley <karl@torchbox.com>
Date:   Wed Nov 27 12:19:20 2019 +0000

    Add fields to with_content_json

commit db0cf9b6eb9f6964be631185d71acef9432078be
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 16:27:48 2019 +0000

    Fix unlock tests

commit 17f61b5974d9c48556233f51e267de7e886acb91
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 16:23:08 2019 +0000

    fixup! Add user_has_lock to PagePermissionTester

commit c2318b48e67a2ea0cf0350859d6c2cb28a78d83e
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 16:20:05 2019 +0000

    Fixed crashes when Page.locked_at is None

commit 5f686279508d02226a03ee35cba0bb3533d7fd07
Merge: 5aa60e672 0dbe25c51
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 15:55:49 2019 +0000

    Merge branch 'master' into author-specific-locking

commit 0dbe25c5125cd5bc8550c92ecb685ba29338fa2b
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 15:50:44 2019 +0000

    Changelog/release note for #5721

commit fe350af94937b1751e06a5fa2f6a27a6be59bf67
Author: Tom Usher <tom@tomusher.com>
Date:   Tue Nov 26 15:48:23 2019 +0000

    Chunk Cloudflare frontend cache purging to fit within API limits (#5721)

    * Chunk Cloudflare frontend cache purging to fit within API limits

    * Add exception to tests to catch if Cloudflare chunking isn't working

commit 5aa60e672221c357066c26d464a529633e0387ee
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 26 14:25:52 2019 +0000

    Add user_has_lock to PagePermissionTester

commit 3cb59c2667ca8a466812046bd9fd3747dbe6e209
Author: Andreas Bernacca <hello@rinti.se>
Date:   Wed Nov 13 20:45:50 2019 +0100

    Remove Page & Site models from Django admin

    - added instructions to release notes on how to reinstate on a per project basis
    - Resolves #5703

commit 96965d2a3ae32e2ecfcde5b77c9df1304d663493
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Nov 20 17:54:43 2019 +0000

    Update link to settings reference doc

commit 633ad38925760e3e3835e26817e1066f243aff68
Author: Karl Hobley <karl@kaed.uk>
Date:   Sat Nov 9 15:47:58 2019 +0000

    Rename settings how-to guide

commit 23145382e96ad99ab4c00f6fa2b8c9c232b2063c
Author: Karl Hobley <karl@kaed.uk>
Date:   Sat Nov 9 15:46:11 2019 +0000

    Move settings reference into separate doc

commit 1b0aed7b20ed222744bbdcf741db8119c3483b3b
Author: Timothy Bautista <acarasimon96@users.noreply.github.com>
Date:   Wed Nov 13 15:03:58 2019 -0700

    use block.super in extra CSS/JS blocks

    - ensure templates that have extra css/js blocks call {{ block.super }} in them
    - wagtail.contrib.settings edit
    - modeladmin templates

commit dcf5722ebbd99e555664072c1fa6c2a6ead731cf
Author: Matt Westcott <matt@west.co.tt>
Date:   Tue Nov 19 23:33:37 2019 +0000

    Add Dawn Wages to core team

commit c54c4aa4eba63116d05a7f6bb7f5973a4f7575fc
Author: Tim Gates <tim.gates@iress.com>
Date:   Tue Nov 19 08:04:04 2019 +1100

    Fix simple typo: unpiblished -> unpublished

commit d37d5c1c60509e34c09add8ade94a07a87c3a867
Author: Karl Hobley <karl@kaed.uk>
Date:   Tue Nov 19 14:50:01 2019 +0000

    Changelog/release notes for #5676 and #5688

commit 644ee86e0092412ed7caa5db51f96c768d8e1a71
Author: Tom Usher <tom@tomusher.com>
Date:   Tue Nov 19 14:47:52 2019 +0000

    Add support for cloudflare API tokens (#5688)

commit 127dcd9634481eccc1c4b02431413c386a9a972d
Author: Karl Hobley <karl@torchbox.com>
Date:   Tue Nov 19 14:08:32 2019 +0000

    Implemented "ancestors" field in Admin API (#5676)

commit 9b64a8647ca89c28bfcbefe89df8c1a701851adf
Author: LB <mail@lb.ee>
Date:   Sat Nov 16 18:28:21 2019 +1000

    Update contributor name

commit 16bf4cac56684401734201c9bf2aa7d9ce583ac3
Author: Karl Hobley <karl@kaed.uk>
Date:   Sat Nov 9 15:34:51 2019 +0000

    Delete the internationalisation docs

commit f8c7d7f5f77b1bb933f0d6a7899e2450f01d373f
Author: Brady Moe <bmoe872@gmail.com>
Date:   Wed Nov 6 16:14:40 2019 -0600

    adds mark_safe to the render_form method on the structblock (#5687)

commit 229103ff2efd0fa5fe5e7555fc7e2f19e03d0072
Author: Martey Dodoo <martey@mobolic.com>
Date:   Fri Nov 8 04:15:01 2019 -0500

    Update links in documentation. (#5689)

    Use HTTPS links instead of non-secure HTTP links wherever possible in
    documentation.

commit 7fbdbb58d977d8e6bda2f085f82ce6e772ee1b68
Merge: d5f945186 eb9757483
Author: Karl Hobley <karl@kaed.uk>
Date:   Thu Nov 7 09:10:46 2019 +0000

    Merge pull request #52 from jacobtoppm/author-locking-ui

    Add button styling and text for lock/unlock button

commit 985e5b2274f2788bc1580cda28c7f55b838251ab
Author: LB <mail@lb.ee>
Date:   Thu Nov 7 12:35:55 2019 +1000

    Update deprecation warning for get_document_model

    - ensure warning is present for the next two releases

commit 06fb0764e09eddd52c0793fe909826cdd5045089
Author: WinterComes <andreysmirnou@gmail.com>
Date:   Wed Oct 23 23:41:37 2019 +0300

    Move get_document_model to __init__ & add get_document_model_string

    Avoids issues where models are not yet loaded and document model is needed.

    - apply isort
    - fix minor typos
    - fixes #5614

commit 01caaa0dc2a48f778964052a77d6c8d237790d3f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Nov 6 18:16:10 2019 +0000

    Bump eslint from 2.13.1 to 4.18.2 (#5665)

    * Bump eslint from 2.13.1 to 4.18.2

    Bumps [eslint](https://github.com/eslint/eslint) from 2.13.1 to 4.18.2.
    - [Release notes](https://github.com/eslint/eslint/releases)
    - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/eslint/eslint/compare/v2.13.1...v4.18.2)

    Signed-off-by: dependabot[bot] <support@github.com>

    * fix up linting issues

commit 94bb595d0c25c622fb8db36ab2b335ec5959c298
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Nov 6 16:29:41 2019 +0000

    Add Django stable/3.0.x to CI matrix (#5685)

commit e756a1879d980e616e8cb2191b038174bdf80a4f
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Nov 6 17:10:32 2019 +0000

    Add release note for dropping Django 2.0 support

commit 3e98563340db680a2941e6db032b8ace8e064b74
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Nov 6 17:05:04 2019 +0000

    Drop support for Django 2.0 (#5684)

commit e75b74911e883ad7c2cd3829e54776d860addf16
Author: Tom Readings <tom.readings@torchbox.com>
Date:   Tue Nov 5 17:48:59 2019 +0000

    Reference the embedly package requirement for embedly finder support (#5680)

commit b9f585a6c9ba157710838325ea5d7a5689975f36
Author: Fidel Ramos <f@fidelramos.net>
Date:   Tue Nov 5 22:25:00 2019 +0000

    Compare foreign keys using pk, not id (#5681)

    Trying to compare revisions of a page that includes changes to a foreign key
    field of a related model that declared a custom primary key failed with an
    uncaught exception.

    The root cause was ForeignObjectComparison filtering by the id field, which is
    not present in models that declare a custom primary key.

    The solution is simply to filter by pk instead of id, which always maps to the
    primary key of the corresponding model.

    Include a regression unit test.

commit 39422b259e8e3c5cc80381ebbba642f209455ddb
Author: Matt Westcott <matt@west.co.tt>
Date:   Wed Nov 6 13:04:30 2019 +0000…
huynhsontung added a commit to wethegit/wagtail that referenced this pull request Apr 22, 2020
* Adds Collections section to editor's guide

* Add form media to users/edit.html (wagtail#5390)

* Adds screen-reader-only text to the close button for modals (wagtail#5274, wagtail#5377)

* Adds clearer text to the close button for modals
* Use existing wagtailConfig.STRINGS to store the new translatable string for JS, rather than introducing a new library.
* Update list of string constants for translation in the tests file
* Remove aria-hidden on modal dialog close button

* Ensure the 'add child page' button displays when focused (wagtail#5274, wagtail#5382)

* Fix elasticsearch search backend tests broken by wagtail#5208

* Remove buggy tab order customisations in CMS admin (wagtail#5383, wagtail#5351)

* Fix spelling (wagtail#5393)

* Add labels to permission checkboxes for screen reader users (wagtail#5329, wagtail#5395)

- adds a fieldset around checkboxes with the same name
- add correct labels for object permissions table
- Ensure that image and document permissions labels display correctly, and ensure that labels for the dropdowns for document and image collections are not display:none
- Hide labels from sighted users in group edit / group add pages

* Optimization of UserPagePermissionsProxy.revisions_for_moderation (wagtail#5311)

revisions_for_moderation() was iterating over Page instances only
to use their path attribute. The optimization uses values_list()
over the GroupPagePermission queryset to retrieve only the page
paths without having to create the model instances in memory. This
saves roughly 50% of the runtime.

* Re-add loading of Wagtail icon font for userbar. Fix wagtail#5397 (wagtail#5398)

* Refactor submenu JS to remove jquery dep and move to wagtail-client (wagtail#5254)

* Add more contextual information for screen readers in the explorer menu’s links (wagtail#5335, wagtail#5386)

* Add dedicated accessibility section to v2.6 release notes (wagtail#5402)

* Add process_child_object method to Page.copy

* Add "exclude_fields" parameter to Page.copy

Also, make the excluded fields take effect on child relations as well

* Provide the original and copied pages to process_child_object()

* Add tests for Page.copy() process_child_object and exclude_fields

* Release notes for wagtail#5183

* Implement Page.with_content_json and add to docs (fixes wagtail#5199)

* Tests for wagtail#5203

* Release notes for wagtail#5203

* Improve screen-reader labels for action links in page listing (wagtail#5274, wagtail#5380)

* Move focus to the pages explorer menu when open (wagtail#5336, wagtail#5394)

* Ensure that when you open the explorer the focus moves to the first link of the menu, and add a label for the explorer navigation
* Add dialog role to pages explorer popup, and ensure that there is an option to close the dialog window when tabbing by making the close button visually hidden rather than display none

* Added CI config to generate nightly builds from master (wagtail#5320)

* Added CI config to generate nightly builds from master

* Fix typo

* Don't write __init__.py directly

We need to import the original in the script

* Update wagtail.utils.version

This is based off a copy from Django master made just now and adds
support for 'dev' versions.

* Try pip install --user

* Add screen-reader labels across multiple parts of the UI (wagtail#5274, wagtail#5339, wagtail#5372)

* Rename _utilities.hidden.legacy.scss to _utilities.visuallyhidden.scss (wagtail#5404)

We will always need visuallyhidden styles for screen readers.

* Update CONTRIBUTORS.rst

* added construction_hook_name to settings_menu (wagtail#5384)

* Clarify new three month release policy

* Adjust link label

* Update third_party_tutorials.rst

Add a detailed article about using GraphQL in Wagtail

* Nightly: Upload builds to 'dist' subfolder

* Nightly: Upload builds to 'dist' subfolder

* Nightly: Keep latest.json public when updating

* Nightly: Add script for testing nightly builds

* Document the workaround for broken wagtailimages.Filter references in custom image migrations

* Added missing is_stored_locally() to AbstractDocument

* Datetime picker dispatches 'change' event

* Also add change event to timepicker and datepicker

* Search query normalisation no longer removes punctuation wagtail#5416

* Don't make assumptions about the username field

The USERNAME_FIELD exists to allow customisation. Therefore we should make an assumption that `.username` exists on the model. Instead, we need to pull the required value from the USERNAME_FIELD and add in a fallback default.

* Optimize admin.navigation.get_explorable_root_page

Testing the queryset in the if clause was causing the whole queryset
to be retrieved and populated from DB, all to check whether it was empty
or not.

The optimization is to rely on the strict behavior of
first_common_ancestor, which raises an exception if the queryset is
empty.

* Fetch new translations from Transifex

* Generate new strings for translation

* Version bump to start work on 2.7

* Add 2.7 section to changelog and release notes

* Fix update docs typo

Only two Ss in accessor. Also make quotes consistent.

* Remove features deprecated in 2.7

* Rotate deprecation warnings for 2.7

* Pin Squash docker image to a specific version (wagtail#5441)

Recent builds have been breaking due to the following error: `/post_build.sh: line 2: npm: command not found`. I’m not entirely sure this is the fix, but it looks like this `latest` tag is now resolving to `3.7.4-buster` (https://hub.docker.com/_/python). Debian Buster got released 2 weeks ago. It feels safer to have a pinned dependency, and Stretch is probably what it was resolving to before.

* Add a `construct_page_listing_buttons` hook

This hook mimics the functiolity provided by `construct_page_action_menu`
in that it constructs the final list of buttons to be shown in the wagtail
admin interface.  This means that within this function button's can be
removed, added or re-ordered.

See wagtail#4925

* Updated feature detection notes

* Fix broken pipenv/docutils dependency on CircleCI

* Break long file titles on multi file upload listing

* Fix docs title to break for long filenames

* Release note for wagtail#5431

* Add https support for scribd oembed provider (wagtail#739)

Currently scribd defaults to https for their sharing links - http still works but if you copy&paste quickly you may think it's broken

* Fix the required styles on title fields (wagtail#5440)

* Change StreamField group labels color so labels are visible. Fix wagtail#5455 (wagtail#5462)

* use lighter grey for streamfield group label for accessible contrast

* Fix jcrop holder image having no alt tag

* Pass down process_child_object when copying recursively

* Delay dirty form check data snapshot to avoid race conditions. Fix wagtail#4978 (wagtail#5469)

User interaction with the form within the 10s delay also won’t trigger the confirmation message. There will still be race condition issues if form widgets like rich text take 10+ seconds to initialise – but that doesn’t seem likely.

* Add release notes for 2.5.2

* Fetch new translations from Transifex

* Fill in release date for 2.5.2

* Fill in release date for 2.6

* Make image fallback work for images with big/small aspect ratios. Fix wagtail#5472 (wagtail#5474)

* Add support for phone links in rich text

This is mainly copy paste of Liam Brenner work (wagtail#3776) but with
a few fixes to make it work with Draftail. Since mailto:-links
is supported i think it is reasonable to support tel:-links as
well

* Apply escaping to JS translation strings. Fixes wagtail#5477

* Add release notes for 2.6.1

* Prevent exception when attempting to delete a model with a protected 1-to-1 relation

Modeladmin handles notification to the user if a model instance has protected ForeignKey
relationships. However, if the protected relation is a OneToOneField it raises an exception:

  File ".../wagtail/wagtail/contrib/modeladmin/views.py", line 742, in post
    for obj in qs.all():
AttributeError: 'MyRelatedModel' object has no attribute 'all'

because qs in this case is the related instance rather than a queryset of related instances
(as is the case for a ForeignKey).

This commit handles the OneToOneField case as well.

* Move and refactor upgrade notification JS

* Clarify CHANGELOG instructions in "Committing code" docs (wagtail#5483)

* Fill in release date for 2.6.1

* Add labels to snippet bulk edit checkboxes for screen reader users. Fix wagtail#5328 (wagtail#5463)

* Resolve DeprecationWarning (wagtail#5485)

Resolves "DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working" - see wagtail#5484

* Use xenial for all travis builds

* Test against Python 3.8 dev build

* Add (failing) test for middleware responses during preview

Responses returned by middleware (e.g. authentication failure) while creating the dummy request for a page preview. However, the current (broken) behaviour is to ignore the response, and attempt to serve the preview using the resulting request - which is likely to have incompletely-applied middleware, leading to hard-to-debug issues (usually involving a missing request.site).

* Introduce make_preview_request method to supersede dummy_request

Django-1.10-style middleware inherently doesn't support applying middleware to the request independently of running the view function, as the design of dummy_request requires. The current implementation of dummy_request unwittingly works around this by running the entire request/response cycle on the page's live URL (regardless of whether the page actually exists there at that moment), throwing away the response, and returning the request object to be used a second time (at which point it will be hopefully be populated with middleware-supplied attributes such as request.user and request.site - unless something caused the middleware to abort).

The new make_preview_request method wraps the call to serve_preview inside the middleware processing, so there is no longer a bogus 'background' request and no response has to be thrown away (meaning that any response returned by middleware will be correctly returned).

Fixes wagtail#3546

* Update dummy_request tests to use make_preview_request

* Deprecation note for dummy_request

* Release note for wagtail#5427

* Don't use page admin title when editing rich text (wagtail#5491)

When editing a rich text field and entering a link to a page whose Page
type overrides get_admin_display_title, the custom admin display title
is used both when browsing to select the page to link to and also when
viewing the rich text editor.

The first behavior is consistent with how custom admin display titles
are used throughout the admin, but the second behavior is not. The
Wagtail user should be able to use the rich text field as a reasonable
preview of what the rendered content will look like for the end user. To
do this, the "real" page title should be used, not the admin one.

This commit alters the data that gets passed to the rich text editor so
that its title is the real page title and not the admin one.

Fixes issue 5131.

* Properly check permissions when viewing revisions (wagtail#5490)

Currently any user with any page permission can view any page revision.
This commit fixes that, and ensures that the user has publish or edit
permission on the page before showing a page revision. If not, the user
is presented with a 403.

This maintains the current behavior if the user has no page permissions,
which is to redirect to the admin home page.

New tests have been added to cover these changes.

Fixes issue 5426.

* Fix pageurl and slugurl handling of situations where request.site is null (wagtail#5501)

* Add caption field to TableBlock

* Create caption field added to table block widget

Caption allows for users users with screen readers to be
able to understand the contents of a table.

* Fixed bugs in javascript and typos

* Updated documentation and change log

* Fixed table caption bug and requested pr edits

* Fixed table caption bug and request pr edits

* Removed changes in changelog.txt

* Fixed bug and requested PR edits

* Output form media on add/edit/chooser image forms with custom models

* Add tests for custom image on multiple image uploader
* Output form media on image add/edit views
* Output form media for 'add image' form within image chooser modal
Note: this won't work reliably if the media is hosted on a CDN, because script tags inserted as part of a jQuery DOM insertion (as modals are) are loaded asynchronously and not guaranteed to complete loading before inline scripts are run. It's better than not having the includes there at all though...

* Upgrade minimum 6.x release for Elasticsearch to 6.4.0

Fix doc and test on ES6 python client compat

This commit changes the statement that version < 6.3.1 of the
elasticsearch python client should be used to instead state
that 6.4.0 is fine.

It also update the tests to reflect the statement.

Initially the `update_all_types` argument has been used to work
around an issue described in:
wagtail#2968

This argument was removed in elasticsearch-py 6.3.1 and making
use of it was raising an error.

With 6.4.0 nothing is raising anymore.

* Add ability to create anchor link tab within rich text link

- add tests

- Update changelog & release notes

* Update Changelog

* Upgrade django-taggit to 1.x

django-taggit 1.x drops Python 2.x support and thus the dependency on django.utils.six; this is a prerequisite for supporting Django 3.0.
The signature of TaggableManager.value_from_object has changed to return a list of Tags (previously it was a QuerySet of TaggedItems) and so search indexing and comparison need to be updated accordingly. There is a corresponding fix to ClusterTaggableManager in django-modelcluster 5.0.

* Fix failing tests due to different HTML escaping in Django 3.0

- Fix password reset tests
- Fix test for invalid-slug message
- Update changelog/release notes

* Fixes layout for the FileField

* Allow users to change their first and last name

* Move locale-related functions from wagtail.admin.utils to wagtail.admin.locale

* Move model-related functions from wagtail.admin.utils to wagtail.admin.models

* Move authentication-related functions from wagtail.admin.utils to wagtail.admin.auth

* Move authentication-related functions from wagtail.admin.decorators to wagtail.admin.auth

* Move email functions from wagtail.admin.utils to wagtail.admin.mail

* Move get_site_for_user to wagtail.admin.navigation

* Update docs with new locations of wagtail.admin.utils definitions

* Fix MovedDefinitionHandler deprecation warnings to point to the import location

* Update wagtail.admin.utils and wagtail.admin.decorators imports to new locations. Fixes wagtail#5507

* Make try/catch AttributeError less all-encompassing

* Update references to wagtailadmin in comment

* Fix mention of non-existing PageLinkHandler.get_identifier

Refs wagtail#5184

* fix(docs/customization): Add models import to fix example (wagtail#5520)

* Remove Unidecode from postgres_search. Fix wagtail#5001 (wagtail#5514)

* Updated contributors & changelog

* Add telephone number links to release notes

* Replace streamfield CSS with react-streamfield CSS

* Update list / struct / stream block markup to match react-streamfield CSS

* Fix streamfield tests for updated markup

* Updates broken JS tests.

* Updates to react-streamfield 0.9.5.

* Release note for StreamField design update (wagtail#5476)

* Update release schedule info and move dates table to the wiki

Document release schedule in readme

* update docs for TabbedInterface (wagtail#5374)

* Allow content to define the tab width on xs screens to stop cutting off text (wagtail#5392)

* Break listing titles by word so action buttons are visible on smaller screens (wagtail#5429)

* Changed Snippet Chooser AJAX delay from 50ms to 200ms, to remove laggy typing. (wagtail#5439)

50ms is the equivalent of about 200 words per minute, so typing slower than that
meant that the javascript would send an AJAX request between every single
keystroke. This change makes the javascript wait for 200ms between keystrokes,
which lets you finish typing the word you're looking for before it sends an AJAX
request.

* Update CONTRIBUTORS.rst

Correction to contributor's name per request by email

* Add wagtail nightly to readme

* Add note about CurrentSiteMiddleware incompatibility

As per wagtail#2840 (comment)

* fix: Language chosen in user preferences persists on subsequent requests (wagtail#4310)

* Add SECURITY.md (wagtail#5536)

Adds security.md to be consistent with github's interface

* Fix compatibility with pylint-django (wagtail#5538)

It's not possible to use wagtail in a project with pylint and the
pylint-django plugin.

Pylint-django does not work with foreign keys that are referenced by
their string names. See: https://github.com/PyCQA/pylint-django#known-issues

If we simply replace the string name with the foreign-key class, linting
on wagtail projects is fixed.

Also see:
pylint-dev/pylint#2995
pylint-dev/pylint-django#241

* Add setting to disable email management

This commit adds WAGTAIL_EMAIL_MANAGEMENT_ENABLED setting that defaults
to True, but when disabled, hides the 'Change email' button in account
management view, and disables the associated route. This is useful when
using external authentication method like LDAP or OpenID Connect where
email management is handled elsewhere.

Wagtail already includes WAGTAIL_PASSWORD_MANAGEMENT_ENABLED setting.
This is almost exact copy of that implementation.

* Replaced SafeText with SafeString.

* Replaced use of force_text with force_str.

* Updated the block id initialization (wagtail#5552)

The current block id generation only sets the id as the block is serialized for storage in the database, which means that the id is unavailable in the block until it is pulled back from the database. In my debugging this caused the id to be set to new values up to 3 times when saving a brand new page (each time with a new id).
This updated logic applies the new id to the actual block which makes it available right away and prevents the id from being regenerated.

* Stopped inheriting from object.

* Fixed broken email header when hosting static files remotely (wagtail#5543)

Fixes wagtail#5525

* Split up wagtail.admin.tests.test_pages_views

* Fix Postgres search indexing on Postgres 9.4 and Django >=2.2.1

Fixes wagtail#5547
As of Django 2.2.1, Value expressions within a SearchVector must specify an output_field: https://code.djangoproject.com/ticket/30446

* Release note for wagtail#5559

* Fix soundcloud embed regex

* Update core team list in CONTRIBUTORS.rst

* Fill in release date for 2.6.2

* Fetch new translations from Transifex

* Add translator credits

* Add core team alumni section to contributors

* Marks preview models for translation

* Fix class selector mapping (wagtail#5571)

The markup is wrong which results in code not working properly.

* add WAGTAILDOCS_SERVE_METHOD setting to allow serving files from underlying storage

* Documentation tweaks for WAGTAILDOCS_SERVE_METHOD

As suggested by @chosak - wagtail#5296 (comment) , wagtail#5296 (comment)

* Additional tests for document.url and serve view behaviour

* Release note for wagtail#5296

* Update configuration.rst (wagtail#5576)

* Add ability to hide 'Submit for Moderation' in action menu using setting WAGTAIL_MODERATION_ENABLED. When set to false, SubmitForModerationMenuItem method is_shown returns false (wagtail#5574)

* allow image page sizes to be configurable (wagtail#5568)

* Updating FieldDoesNotExist imports to all be django.core.exceptions. (wagtail#5581)

* Test Django master against django-modelcluster master

* Eliminate dependency on default User model from style guide

Fixes wagtail#5442. Building a User object for david@torchbox.com may cause problems if a custom user model is in use, and is redundant anyhow because there's no longer a registered gravatar for that email - we should just hard-code the default blank avatar instead.

* Update more FieldDoesNotExist imports as per wagtail#5581

* Add role="table" to TableBlock output

As per https://twitter.com/SaraSoueidan/status/1177622630763028480, certain browsers apply heuristics to decide whether `<table>` elements exist for layout or data purposes, and adjust the behaviour of their accessibility features accordingly. Given that TableBlock intentionally doesn't allow markup within cells, we can be reasonably sure that any tables created with it are genuine data tables, and should therefore indicate that using `role="table"`.

* Make DraftailRichTextArea be considered as visible (wagtail#5583)

* Make it possible to override the url used by Page._get_dummy_headers()

* Changed height's description to match  width's. (wagtail#5593)

* Add a note on 'Previewing and Submitting for Moderation' page about potential disabled moderation

* Add new docs page 'Changing rich text representation' (wagtail#5579)

* Add new docs page 'Changing rich text representation' describing how to subclass Format to provide a custom image html representation in rich text

* Output form media on add/edit/chooser document forms with custom models

Similar to eaad013, but for Document

* Deduplicate creation of fake file in document tests

* Add separate GitHub issue templates for feature requests and bugs. Fix wagtail#5560 (wagtail#5594)

* Add cache-busting parameter to admin static files

Fixes wagtail#5493

* Disable querystrings if a storage backend with hashed filenames is active

* Added upgrade note about disabling version strings

* Release note for wagtail#5527

* Implements ES7 support (wagtail#5611)

* Implements ES7 support

* Linter fix

* Adds docs

* isort fix

* Fixes typo

* Release notes for wagtail#5611

* Allow default item in action menu to be overridden with construct_page_action_menu hook

Fixes wagtail#5438

* Add 'Page locked' as a distinct menu item

* Revise action menu ordering so that the first (not last) item is picked as the default

Addresses backwards compatibility of existing action menu hooks, as per wagtail#5500 (review)

* Update construct_page_action_menu example

Now avoids redefining the whole list, and reflects the fact that the first (rather than last) item is picked as the default.

* Add release note about template change for action menu items

* Clarify that menu item order attribute is ignored in construct_page_action_menu

* Release note for wagtail#5500 / wagtail#5612

* Add acknowledgement to The Motley Fool

* Remove mentions of Django 3.0 compatibility from release notes

Work on compatibility is ongoing while Django 3.0 is still in development; we don't want this to be misinterpreted as a statement of formal Django 3.0 support (which we can't promise until the final release)

* Add example of template rendering to TableBlock docs

Addresses wagtail#5540

* Added 'image uploads in forms' to third party tutorials

* Fix multiple minor documentation issues

- Typo in readme (verb did not agree with the subject)
- Grammatical error in topics/pages
- wagtail#5364 - Update URL config code block in getting-started/integrating-into-django

* Replace format() placeholders in translatable strings with % formatting

Fixes wagtail#5539. Transifex and Django's makemessages command have validation to catch invalid placeholder variables within translated strings - for example, where the translator has translated the variable name - but these only recognise old-style `%` formatting, not the `format` method, and so it's better for us to standardise on % formatting.

To reduce the burden on translators having to re-translate these strings, only the ones using named placeholders (`"Edited page {title}"`) rather than numeric ones (`"Edited page {0}"`) have been changed - hopefully the latter give less room for error.

Also fixed some incorrect use of plurals (verbose_name vs verbose_name_plural) in snippet confirmation messages.

* Docs - Add AbstractUser import to custom user model

- `from django.contrib.auth.models import AbstractUser`
- revise a previous changelog entry to clarify 'clean up' vs 'fix'

* Recommend signals rather than hooks for model-level customisations

As per wagtail#5620 - signals are often overlooked as a way of customising model-level behaviour. We should recommend them over admin hooks where possible, as they aren't reliant on users taking one particular path through the admin - for example, an 'add document' signal will be triggered regardless of whether a document is created through the single uploader, multiple uploader, chooser model or a scripted task, whereas a hook would not catch all of these cases.

* Formalise Python 3.8 support

* Make copy of ES6 settings before setting max_ngram_diff (wagtail#5625)

* Change string based reference to class based

* Add model to PersonAdmin in documentation

* Replace rawgit.com links with jsdelivr

rawgit will be shut down soon

* Add thanks to squash.io

* [5225] Take number of frames into account when limiting image size

* Revert "Formalise Python 3.8 support"

This reverts commit ddbbaea.

* Add webp support

* Support format-webp and allow changing default formatting

* Add tests for webp format conversion

* Release note for wagtail#5249 / wagtail#5629

* Add documentation for how to use alternative image tags

This adds documentation for alternative image tags such as `<picture>`
and `<amp-img>`.

* Improvements to "Alternative HTML tags" based on review feedback

* syntax => keyword

* Rename wagtail/admin/locale.py to localization.py

Having a module called locale interferes with Django's makemessages / compilemessages commands :-(

* Changelog cleanup

* note Python 3.8 support as provisional
* Remove mentions of minor doc fixes (there are many more fixes beyond the ones mentioned here, and including them all in the release notes would add too much noise...)

* Fetch new translations from transifex

* Remove redundant ugettext_lazy from non-text labels

* Generate new strings for translation

* Version bump to 2.7rc1

* Ensure admin API always uses SessionAuthentication backend

Fixes wagtail#5585 and (at least partly) wagtail#5628

* Release note for wagtail#5643 in 2.6.3

* Release note for wagtail#5643 in 2.7

* Version bump to 2.7rc2

* Formalise Python 3.8 support

* Mark Python 3.8 support as official in changelog

* Avoid calling versioned_static from static form media definitions (wagtail#5644)

* Avoid calling versioned_static from static form media definitions

Fixes wagtail#5632

Defining media definitions with `class Media:` means that those lines are evaluated on application startup; this means that they cannot contain calls to the Django static file finder, because ManifestStaticFilesStorage doesn't work until collectstatic has completed. Fix this by making those definitions into `def media(self):` methods.

* Add test to confirm that inheritance still works with dynamic form media definitions

* Fetch new translations from Transifex

* Fixed 2.6.3 date in Changelog and updated username on Contributors

* Added label 'URL' for external link

- Regression - missing label for external link URL field in link chooser
- Resolves wagtail#5656

* Fix contributor name

- incorrectly added the issue creator not the PR creator
- updated name to the correct one - Stefani Castellanos

* Fetch new translations from Transifex

* Fill in release date for 2.7

* Version bump to 2.7 final

* Version bump to 2.7.1

* Move all usage of versioned_static to media methods (wagtail#5694)

* Release notes for wagtail#5694

* Fill in release date for 2.7.1

* Apply proper HTML escaping on StreamField block comparisons

An individual StreamField block in the comparison view may be rendered as a plain value (for blocks that are unchanged, added or deleted) or a diff (for blocks that are changed). In both cases, the output is returned as HTML, but must not contain any unescaped editor-supplied HTML.

For CharBlock, TextBlock and RawHTMLBlock, the block value is escaped so that any HTML tags in the content are shown verbatim.

For RichTextBlock and any other block types that do not override the default comparison behaviour, we take the basic (non-templated) HTML rendering of the block and extract text-only content from it. This is then returned in HTML-escaped form for the plain view, and run through diff_text().to_html() for the diff view (which handles escaping itself).

* Don't mark the translatable string 'None' as safe

* Release notes for 2.7.2

* Version bump to 2.7.2

* fix syntax

* bug fix

* remove invalid import

* fix more imports

* fix testapp migrations

* fix images and core migrations

* fix image field help text

* add js to AdminImageRenditionChooser

* fix image chooser

* continue fixing image chooser

* add missing js files back to image chooser

* add onload to image chooser

* fix search backend

Co-authored-by: Eric Dyken <eric.dyken@gsdesign.com>
Co-authored-by: Matt Westcott <matt@west.co.tt>
Co-authored-by: Helen Chapman <helen.chapman@torchbox.com>
Co-authored-by: Andy Babic <andyjbabic@gmail.com>
Co-authored-by: jordan-bauer <31709951+jordan-bauer@users.noreply.github.com>
Co-authored-by: Coen van der Kamp <coen@fourdigits.nl>
Co-authored-by: John Carter <john@therefromhere.org>
Co-authored-by: Fidel Ramos <f@fidelramos.net>
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
Co-authored-by: Jonny Scholes <jonnyscholes@gmail.com>
Co-authored-by: Karl Hobley <karl@torchbox.com>
Co-authored-by: Karl Hobley <karl@kaed.uk>
Co-authored-by: Mikalai Radchuk <m1kola@users.noreply.github.com>
Co-authored-by: jordan_bauer <jordan@corecreative.com>
Co-authored-by: Tom Dyson <tom@torchbox.com>
Co-authored-by: Jaroslaw Zabiello <hipertracker@gmail.com>
Co-authored-by: Jonny <jonny@jonnybarker.com>
Co-authored-by: Michael Hearn <git@mikehearn.net>
Co-authored-by: William Blackie <william.blackie96@gmail.com>
Co-authored-by: Andrew Miller <info@akmiller.co.uk>
Co-authored-by: Michael van Tellingen <michael@mvantellingen.nl>
Co-authored-by: Daniele Procida <daniele@vurt.org>
Co-authored-by: kevinhowbrook <kbhowbrook@gmail.com>
Co-authored-by: Rodrigo <matematica.a3k@gmail.com>
Co-authored-by: Cameron Lamb <jafacakes2011@hotmail.co.uk>
Co-authored-by: Catherine Farman <Catherine.Farman@cfpb.gov>
Co-authored-by: Kalob Taulien <4743971+KalobTaulien@users.noreply.github.com>
Co-authored-by: Iman Syed <52247241+imansyed000@users.noreply.github.com>
Co-authored-by: mien <mikael.pj.engstrom@gmail.com>
Co-authored-by: Neal Todd <neal.todd@torchbox.com>
Co-authored-by: Martey Dodoo <martey@mobolic.com>
Co-authored-by: John Carter <john.carter@prismaticdigital.com>
Co-authored-by: Andy Chosak <andy@chosak.org>
Co-authored-by: Samir Shah <solaris.smoke@gmail.com>
Co-authored-by: rjpruitt16 <rjpruitt16@gmail.com>
Co-authored-by: Jonathan Liuti <liuti.john@gmail.com>
Co-authored-by: Iman Syed <iman.syed@torchbox.com>
Co-authored-by: Mikalai Radchuk <mikalai.radchuk@torchbox.com>
Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
Co-authored-by: Sanyam Khurana <8039608+CuriousLearner@users.noreply.github.com>
Co-authored-by: Pavel Denisov <rsedoy@gmail.com>
Co-authored-by: Kalob Taulien <kalob.taulien@gmail.com>
Co-authored-by: Bertrand Bordage <bordage.bertrand@gmail.com>
Co-authored-by: Zac Connelly <zac.connelly@neuraum.com>
Co-authored-by: Robert Rollins <rrollins@caltech.edu>
Co-authored-by: pvetch <paul.vetch@torchbox.com>
Co-authored-by: Bojan Mihelac <bmihelac@mihelac.org>
Co-authored-by: Sarath Kumar Somana <sarathsomana@gmail.com>
Co-authored-by: Dani Hodovic <dani.hodovic@gmail.com>
Co-authored-by: Janne Alatalo <janne.alatalo@jamk.fi>
Co-authored-by: Mads Jensen <mje@inducks.org>
Co-authored-by: Colin Klein <40399371+colink-eb@users.noreply.github.com>
Co-authored-by: Edy <luca.eduard@ymail.com>
Co-authored-by: Kiril Staikov <kstaikov@gmail.com>
Co-authored-by: Saptak S <saptak013@gmail.com>
Co-authored-by: Dawid Bugajewski <buugaj@gmail.com>
Co-authored-by: Tobias McNulty <tobias@caktusgroup.com>
Co-authored-by: Dawn Wages <dawn.wages@gmail.com>
Co-authored-by: jacobtm <jacobtm@torchbox.com>
Co-authored-by: Brian Whitton <me@brianwhitton.com>
Co-authored-by: Tim White <tim@cyface.com>
Co-authored-by: Mike Janger <inchingforward@gmail.com>
Co-authored-by: jacobtoppm <55137073+jacobtoppm@users.noreply.github.com>
Co-authored-by: Prithvi MK <32909711+pmk21@users.noreply.github.com>
Co-authored-by: pySilver <silveroff@gmail.com>
Co-authored-by: a-mere-peasant <50142453+a-mere-peasant@users.noreply.github.com>
Co-authored-by: David Thompson <david.thompson86@gmail.com>
Co-authored-by: LB (Ben Johnston) <mail@lb.ee>
Co-authored-by: Thijs Baaijen <Thijss@users.noreply.github.com>
Co-authored-by: Andreas Bernacca <hello@rinti.se>
Co-authored-by: frmdstryr <frmdstryr@protonmail.com>
Co-authored-by: David <2297074+dwasyl@users.noreply.github.com>
Co-authored-by: Stefani Castellanos <scct95@hotmail.com>
Co-authored-by: Alex Tomkins <tomkins@darkzone.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

versioned_static problems with ManifestStaticFilesStorage
4 participants