# Wagtail 2.1 release notes

*May 22, 2018*

> * [What’s new](#what-s-new)
> * [Upgrade considerations](#upgrade-considerations)

## What’s new

### New `HelpPanel`

A new panel type `HelpPanel` allows you to easily add HTML within an edit form.
This new feature was developed by Kevin Chung.

### Profile picture upload

Users can now upload profile pictures directly through the Account Settings menu, rather than using Gravatar. Gravatar is still used as a fallback if no profile picture has been uploaded directly; a new setting [WAGTAIL_GRAVATAR_PROVIDER_URL](../reference/settings.md#wagtail-gravatar-provider-url) has been added to specify an alternative provider, or disable the use of external avatars completely. This feature was developed by Daniel Chimeno, Pierre Geier and Matt Westcott.

### API lookup by page path

The API now includes an endpoint for finding pages by path; see [Finding pages by HTML path](../advanced_topics/api/v2/usage.md#apiv2-finding-pages-by-path). This feature was developed by Karl Hobley.

### User time zone setting

Users can now set their current time zone through the Account Settings menu, which will then be reflected in date / time fields throughout the admin (such as go-live / expiry dates). The list of available time zones can be configured via the [WAGTAIL_USER_TIME_ZONES](../reference/settings.md#wagtail-user-time-zones) setting. This feature was developed by David Moore.

### Elasticsearch 6 support

Wagtail now supports Elasticsearch 6. See [Elasticsearch Backend](../topics/search/backends.md#wagtailsearch-backends-elasticsearch) for configuration details. This feature was developed by Karl Hobley.

### Other features

* Persist tab hash in URL to allow direct navigation to tabs in the admin interface (Ben Weatherman)
* Animate the chevron icon when opening sub-menus in the admin (Carlo Ascani)
* Look through the target link and target page slug (in addition to the old slug) when searching for redirects in the admin (Michael Harrison)
* Remove support for IE6 to IE9 from project template (Samir Shah)
* Remove outdated X-UA-Compatible meta from admin template  (Thibaud Colas)
* Add JavaScript source maps in production build for packaged Wagtail (Thibaud Colas)
* Removed `assert` statements from Wagtail API (Kim Chee Leong)
* Update jquery-datetimepicker dependency to make Wagtail more CSP-friendly (unsafe-eval) (Pomax)
* Added error notification when running the `wagtail` command on Python <3.4 (Matt Westcott)
* `update_index` management command now accepts a `--chunk_size` option to determine the number of items to load at once (Dave Bell)
* Added hook register_account_menu_item to add new account preference items (Michael van Tellingen)
* Added change email functionality from the account settings (Alejandro Garza, Alexs Mathilda)
* Add request parameter to edit handlers (Rajeev J Sebastian)
* ImageChooser now sets a default title based on filename (Coen van der Kamp)
* Added error handling to the Draftail editor (Thibaud Colas)
* Add new wagtail_icon template tag to facilitate making admin icons accessible (Sander Tuit)
* Set ALLOWED_HOSTS in the project template to allow any host in development (Tom Dyson)
* Expose reusable client-side code to build Draftail extensions (Thibaud Colas)
* Added `WAGTAILFRONTENDCACHE_LANGUAGES` setting to specify the languages whose URLs are to be purged when using `i18n_patterns` (PyMan Claudio Marinozzi)
* Added `extra_footer_actions` template blocks for customizing the add/edit page views (Arthur Holzner)

### Bug fixes

* Status button on ‘edit page’ now links to the correct URL when live and draft slug differ (LB (Ben Johnston))
* Image title text in the gallery and in the chooser now wraps for long filenames (LB (Ben Johnston), Luiz Boaretto)
* Move image editor action buttons to the bottom of the form on mobile (Julian Gallo)
* StreamField icons are now correctly sorted into groups on the ‘append’ menu (Tim Heap)
* Draftail now supports features specified via the `WAGTAILADMIN_RICH_TEXT_EDITORS` setting (Todd Dembrey)
* Password reset form no longer indicates whether the email is recognized, as per standard Django behavior (Bertrand Bordage)
* `UserAttributeSimilarityValidator` is now correctly enforced on user creation / editing forms (Tim Heap)
* Focal area removal not working in IE11 and MS Edge (Thibaud Colas)
* Rewrite password change feedback message to be more user-friendly (Casper Timmers)
* Correct dropdown arrow styling in Firefox, IE11 (Janneke Janssen, Alexs Mathilda)
* Password reset no indicates specific validation errors on certain password restrictions (Lucas Moeskops)
* Confirmation page on page deletion now respects custom `get_admin_display_title` methods (Kim Chee Leong)
* Adding external link with selected text now includes text in link chooser (Tony Yates, Thibaud Colas, Alexs Mathilda)
* Editing setting object with no site configured no longer crashes (Harm Zeinstra)
* Creating a new object with inlines while mandatory fields are empty no longer crashes (Bertrand Bordage)
* Localization of image and apps verbose names
* Draftail editor no longer crashes after deleting image/embed using DEL key (Thibaud Colas)
* Breadcrumb navigation now respects custom `get_admin_display_title` methods (Arthur Holzner, Wietze Helmantel, Matt Westcott)
* Inconsistent order of heading features when adding h1, h5, or h6 as default feature for Hallo RichText editor (Loic Teixeira)
* Add invalid password reset link error message (Coen van der Kamp)
* Bypass select/prefetch related optimisation on `update_index` for `ParentalManyToManyField` to fix crash (Tim Kamanin)
* ‘Add user’ is now rendered as a button due to the use of quotes within translations (Benoît Vogel)
* Menu icon no longer overlaps with title in Modeladmin on mobile (Coen van der Kamp)
* Background color overflow within the Wagtail documentation (Sergey Fedoseev)
* Page count on homepage summary panel now takes account of user permissions (Andy Chosak)
* Explorer view now prevents navigating outside of the common ancestor of the user’s permissions (Andy Chosak)
* Generate URL for the current site when multiple sites share the same root page (Codie Roelf)
* Restored ability to use non-model fields with FieldPanel (Matt Westcott, LB (Ben Johnston))
* Stop revision comparison view from crashing when non-model FieldPanels are in use (LB (Ben Johnston))
* Ordering in the page explorer now respects custom `get_admin_display_title` methods when sorting <100 pages (Matt Westcott)
* Use index-specific Elasticsearch endpoints for bulk insertion, for compatibility with providers that lock down the root endpoint (Karl Hobley)
* Fix usage URL on the document edit page (Jérôme Lebleu)

## Upgrade considerations

### Image format `image_to_html` method has been updated

The internal API for rich text image format objects (see [Image Formats in the Rich Text Editor](../advanced_topics/customization/page_editing_interface.md#rich-text-image-formats)) has been updated; the `Format.image_to_html` method now receives the `extra_attributes` keyword argument as a dictionary of attributes, rather than a string. If you have defined any custom format objects that override this method, these will need to be updated.
