Dokuwiki - Release 2026-07-14 Mort - изменения - 2026
DokuWiki 2026-07-14 «Mort» — это 57-й стабильный релиз популярной вики-движка с открытым исходным кодом. Релиз получил кодовое имя «Mort» и содержит множество значительных изменений: от повышения системных требований до поддержки Markdown, переработки поискового индекса и важных исправлений безопасности. Версия была выпущена 14 июля 2026 года, а 22 июля вышло обновление 2026-07-14a (Mort hotfix), исправляющее ряд критических уязвимостей.
Требования к окружению
Начиная с версии «Mort», DokuWiki требует PHP 8.2 или выше. Это обусловлено необходимостью использования современных возможностей языка и поддержания безопасности. Пользователям, всё ещё использующим PHP 7.x или 8.0/8.1, необходимо обновить интерпретатор до актуальной ветки.
Поддержка Markdown
Ключевое нововведение релиза — встроенный парсер Markdown. Ранее Markdown был доступен только через сторонние плагины, теперь же он реализован на уровне ядра.
| Режим | Описание |
|---|---|
dokuwiki |
Классический синтаксис DokuWiki (по умолчанию) |
markdown |
Полный синтаксис Markdown (GFM) |
mixed |
Смешанный режим — поддержка обоих синтаксисов |
Режим задаётся через новую опцию конфигурации $conf['syntax']. Для большинства существующих вики с уже написанным контентом наиболее практичным будет смешанный режим (mixed).
Реализована поддержка GitHub Flavored Markdown (GFM):
- Заголовки ATX (
# текст—###### текст) - Выделение текста: курсив и жирный (включая вложенные варианты
***текст***) - Зачёркивание (
~~текст~~) - Кодовые блоки (одиночные и двойные обратные кавычки)
- Ограждённые блоки кода (fenced code blocks)
- Ссылки
[текст](url) - Изображения и медиафайлы
- Списки (нумерованные и маркированные)
- Таблицы в стиле GFM
- Экранирование обратной косой чертой
- Автоссылки (autolinks)
Добавлена инфраструктура для круглосуточного тестирования парсера Markdown (spec.txt-driven roundtrip tests), а также поддержка суб-парсеров в Handler/Parser/ModeRegistry.
Переработка поискового индекса
Полностью переписан механизм полнотекстового поиска. Новая реализация обеспечивает:
- Более высокую скорость поиска
- Повышенную надёжность и устойчивость индекса
- Возможность повторного использования индексации сторонними плагинами
- Исправление коррупции индекса в
updateTuple - Корректное чтение суффиксов разделённого индекса
- Размещение директорий блокировок индекса внутри
data/locks - Обработка невалидных коротких wildcard-термов (без фатальных ошибок)
- Восстановление метода
histogram()через BC-совместимую обёртку
Кнопка копирования кода
Добавлена удобная кнопка «Copy» для блоков кода — пользователи могут копировать содержимое в буфер обмена одним кликом. Это небольшое, но востребованное улучшение пользовательского опыта.
Безопасность
Релиз «Mort» содержит ряд важных исправлений безопасности. Особое внимание уделено горячему исправлению 2026-07-14a, вышедшему через неделю после первоначального релиза.
Исправления в версии 2026-07-14 (основной релиз)
- Исправлена XSS-уязвимость (#4305)
- Удалён устаревший заголовок
X-XSS-Protection - Добавлена возможность отключения действия diff/compare
- Улучшено кэширование фидов (ограничение флуда кэша)
- Добавлен заголовок
Referrer-Policyдля контроля исходящих запросов - Удалены устаревшие функции поиска и парсера (уменьшение поверхности атаки)
Исправления в горячем исправлении 2026-07-14a
authplain: экранирование имени пользователя вmodifyUser(предотвращение инъекций)authad: экранирование имени пользователя в LDAP-фильтре (предотвращение LDAP-инъекции)revert: экранирование пользователя и IP в логе изменений (предотвращение stored XSS)extension: валидация базового имени для предотвращения path traversal при установкеextension: валидация URL ссылок и экранирование удалённых данных (предотвращение XSS)extension: AJAX-переключатели возвращают plain-text (предотвращение XSS)extension: предотвращение DOM XSS при открытии lightbox со скриншотамиauth: строгое сравнение при проверке членства и ACLmedia: авторизация целевого пути операций записи медиафайловIp: валидация CIDR-маски (предотвращение фатальных ошибок и излишнего доверия к прокси)Remote: ограничениеcore.aclCheckдля других пользователей — только суперпользователям
Улучшения и исправления
Интерфейс и доступность
- Улучшена доступность (a11y) редактора, тулбара, формы логина и менеджера расширений
- Кнопкам тулбара и пикера явно задан тип
button - Исправлена проблема с перекрытием/закрытием пикера (race condition)
- Исправлено позиционирование текстовой области редактора относительно тулбара
Медиа-менеджер
- Добавлен предпросмотр изображений WEBP
- Исправлено отображение EXIF-повёрнутых изображений (больше не обрезаются) — #4482
- Исправлено масштабирование маленьких изображений в детальном предпросмотре
- Обработка массивов в EXIF-датах
- Пропуск слишком коротких JPEG-маркеров
Парсер
- Предотвращение совпадения инлайн-форматирования через границы абзацев
- Требование не-пробельного соседства для разделителей инлайн-форматирования
- Исправление потери контента документа после пустой строки с отступом
- Исправление BC для ручного создания Handler/Parser
- Исправление «проглатывания» списка с отступом таблицей
- Исправление разрешённых режимов (allowedModes) для модов, объявляющих категории
- Разделение
Parsing\Helpersна классы Link, Media, Code
Журнал изменений (changelog)
- Определение внешнего редактирования сохраняется при первом чтении
- Обнаружение восстановленной удалённой страницы как пересоздания
- Прекращение записи ложных внешних изменений при смене mtime медиафайлов
Фиды и подписки
- Исправлена агрегация RSS-фидов после обновления SimplePie 1.9
- Уплощение повторяющихся HTTP-заголовков при получении фидов
- Включение diff-ссылки в plain-text письма подписок
- Использование корректного разделителя & в diff-ссылках
Кэширование
- Ключ кэширования привязан к базовому URL, а не к сырому заголовку
Host
Прочее
- Новая опция
client_ip_headerдля продвинутой конфигурации (заменяетrealip) - Сброс таймера блокировки при вставке и других событиях ввода
- Исправление дублирования TOC из-за повреждённых постоянных метаданных (#3179)
- На странице информации администратора отображаются шаблон и синтаксис
- Корректная обработка Synology в
os-release - Предотвращение warning в authad при вызове initAdLdap до заполнения opts
- Экранирование аргументов git log для совместимости с Windows
- Актуализирован год в копирайте README
Инфраструктурные изменения
- Добавлена поддержка суб-парсеров (sub-parser support) в Handler/Parser/ModeRegistry
- Выделен абстрактный
AbstractListsRewriter - Константы regex-примитивов и хук
getInstructionName() - Удалён реестр
getLineStartMarkers - Параметр
$startдляlisto_open - Валидация CIDR-масок для IP
- Обновление зависимостей (dependencies update)
- Применение Rector и PHP Code Sniffer (автоматические исправления кода)
- Множественные обновления переводов (fr, cs, ro, sk и другие)
Резюме
DokuWiki 2026-07-14 «Mort» — это значительный релиз, который одновременно поднимает планку системных требований (PHP 8.2+), добавляет долгожданную поддержку Markdown, полностью перерабатывает поисковый индекс и исправляет множество уязвимостей безопасности. Горячее исправление 2026-07-14a закрыло ещё 11 уязвимостей, включая XSS, LDAP-инъекции и path traversal. Релиз затрагивает практически все подсистемы: парсер, медиа-менеджер, кэширование, фиды, подписки, аутентификацию и интерфейс. Настоятельно рекомендуется к обновлению всем пользователям DokuWiki.
