Сегодня вышел WordPress 5.4.1, технический релиз, включающий в себя исправления безопасности. Он решает 7 проблем, которые были ответственно раскрыты команде разработчиков WordPress. Разработчики также внесли несколько исправлений, связанных с кодом версии 5.4, и перенесли баг-фиксы в редактор блоков плагина Gutenberg.
Пользователи с включенными автообновлениями должны были уже получить новую версию. Остальным пользователям рекомендуется обновить WordPress как можно скорее, чтобы использовать максимально безопасную версию WP.
Команда поддержки WordPress опубликовала полную документацию по релизу, с которой вы можете всегда ознакомиться.
Исправления безопасности были добавлены во все крупные версии WordPress с 5.4 до 3.7. Были устранены следующие уязвимости:
- Проблема с токенами сброса пароля, которые не были правильно аннулированы.
- Некоторые приватные посты могли быть просмотрены без аутентификации.
- Две XSS-уязвимости в кастомайзере.
- XSS-проблема в блоке поиска.
- XSS-проблема в объектном кэше WordPress.
- XSS-проблема с загрузками файлов.
- XSS-проблема в редакторе блоков для WordPress4 RC1 и RC2 (исправлена в 5.4 RC5).
Обновления редактора блоков
Некоторые фиксы, связанные с плагином Gutenberg, имели высокий приоритет, а потому были портированы в WordPress 5.4.1. Самыми главными проблемами, с которыми сталкивались пользователи, были неработающие сочетания клавиш для дублирования блоков, неправильно выровненные блоки кнопок и странное поведение скроллинга при попытке редактирования текста в длинном блоке.
Ниже приведен полный список проблем, решенных командой разработчиков:
- Исправлено сочетание клавиш Ctrl + Shift + D для дублирования блоков.
- Добавлены правильные поля при выравнивании блока кнопок слева или справа.
- Предотвращена прокрутка редактора вверх при нажатии на редактирование длинного блока (к примеру, длинного списка).
- Больше не скрывается тулбар для плагинов, которые имеют в нем текстовые поля.
- Больше нет краша JavaScript с блоком последних записей, когда изображения имеют отсутствующие размеры.
- Правильно обрабатывается HTML-класс для RSS и поисковых блоков, чтобы предотвратить неправильную разметку.
Чтобы ознакомиться с изменениями кода к редактору блоков, вы можете посмотреть список всех тикетов.
Другие изменения WordPress
Пользователи, которые работают в темных режимах в браузерах, теперь могут наслаждаться светлым favicon WordPress. В результате этого небольшого улучшения логотип WP выглядит более профессионально.
Были изменена иерархия заголовков на странице wp-admin/freedoms.php.
Для пользователей браузеров Edge или iOS Safari был введен долгожданный фикс, позволяющий выбирать файлы в медиатеке (раньше была проблема с CSS, из-за которой кнопка загрузки файлов блокировалась).
В WordPress 5.4.1 были применены и другие улучшения. Из-за изменения кода в WordPress 5.4 постинг через email был нарушен при отсутствии заголовка статьи – в таком случае заголовком должна становиться тема письма, однако этого не происходило. Связано это было с тем, что хуки фильтров category_link и tag_link были ошибочно признаны устаревшими (deprecated), но теперь их снова можно использовать.
Разработчикам плагинов стоит обратить внимание на следующие фиксы. Объект WP_Site_Health теперь инстанцируется после хуков plugins_loaded и after_setup_theme, а потому все необходимые действия с помощью этих хуков можно выполнять до проверки работоспособности сайта. Устаревшая функция wp_get_user_request_data() теперь грамотно загружается во фронтэнде, что ранее приводило к ошибкам с плагинами, такими как BuddyPress.
Авторы плагинов, которые добавляли произвольный контент в свои руководства по политике конфиденциальности, теперь могут использовать еще больше HTML-элементов. В WordPress 5.4 дизайн руководства был обновлен — появились белые фоны для некоторых элементов. Теперь можно использовать таблицы, списки и другие популярные элементы. Неупорядоченные списки получили буллеты, чтобы их можно было отличить от абзацев.
Команда разработчиков исправила две проблемы с REST API. Во-первых, была исправлена проблема с проверкой прав доступа get_item. Во-вторых, была исправлена фильтрация _fields. Код ядра теперь использует функцию rest_is_field_included(), чтобы определить, для каких полей будет производиться фильтрация по вложенным свойствам.
Источник: wptavern.com