Skip to content

Version 14.7.0

Latest

Choose a tag to compare

@visavi visavi released this 26 Sep 19:56
· 42 commits to master since this release

✨ Новое

  • Виджеты статистики на главной админки — плитки с числом, графиком и сравнением с прошлым периодом, несколько серий на одном графике. Состав и порядок настраиваются перетаскиванием в
    /admin/widgets, модули добавляют свои через Registry::widget()
  • Письма через очередь — отправка вынесена в MailService, при QUEUE_CONNECTION=database письма уходят с тремя попытками, при sync — сразу. Таблица mailings и команда message:send
    удалены. Панель предупреждает, если почта сломалась, очередь встала или не запускается планировщик
  • Письма на blade-компонентах — у каждого письма есть текстовая версия, вёрстка тянется по ширине экрана, шрифт крупнее
  • Генератор модулей — php artisan make:module Name --model=Item --admin --api создаёт модуль с переводами, changelog, миграциями и настройками
  • Перетаскивание разделов в админке — дерево категорий плоским списком, уровень вложенности задаётся движением мыши
  • Язык интерфейса по Accept-Language — порядок выбора: сессия, профиль, браузер, язык сайта. Языковые модули работают без копирования файлов в ядро
  • Тема по умолчанию берётся из системы — пока посетитель не выбрал тему сам, она следует prefers-color-scheme. Переключатель — одна кнопка вместо выпадающего меню
  • Мультизагрузка файлов — несколько файлов за раз, у каждого свой спиннер, лишние сверх лимита отсекаются до отправки

🚀 Улучшения

  • Антимат вынесен в модуль — слова заменяются при выводе, в базе остаётся оригинал: убранное из списка слово возвращает старые тексты. antimat() помечен deprecated
  • Строгий MySQL — движок и тесты работают в STRICT режиме, пустые поля форм пишутся пустой строкой через касты HtmlCast и TextCast
  • Общая панель настроек для ядра и модулей — модули встраивают свою страницу в боковую навигацию. Настройки модулей доступны только владельцу, как и настройки ядра
  • Анкета переработана — компоненты, блок активности, новые точки хуков. «Мои данные» объединены с настройками во вкладках
  • Счётчик непрочитанных писем — колонка users.newprivat удалена, счётчик считается по переписке и больше не расходится с ней
  • Темы на rem и CSS-переменных — размер текста меняется одной строкой в custom.css, шапки держатся на флексе. Поправлены подсветка пунктов и выпадающие меню в fresh и nordic
  • Редактор — блочные кнопки работают целыми строками, списки не захватывают весь абзац с переносами, вставка сохраняет форматирование своих сообщений
  • Опрос реестров модулей уходит в очередь и не держит страницу при недоступном реестре
  • Длинные сообщения сворачиваются по реальной высоте, с учётом догрузившихся картинок
  • Картинки, которые уже подходят по размеру, не пересохраняются с потерей качества; screensize по умолчанию поднят до 1500
  • Вкладки листаются на мобильном, CSS почищен: общие плитки, аватары и подсветка на переменных

🐛 Исправления

  • Сбой SMTP на sync не обрывает рассылку и не роняет форму в 500
  • Курсор в редакторе не прыгает в конец при выделении
  • Сбой источника обновлений не затирает список релизов с GitHub
  • Правка комментария сбрасывает кеш ленты
  • Пустые поля в чёрном списке и реестрах больше не дают 500
  • Значок роли в списке сообщений стоит рядом с именем, аватар в списке пользователей — на общих отступах

⚠️ При обновлении

  • Антимат теперь модуль — установите Antimat из каталога модулей, иначе фильтр перестанет работать
  • $user->newprivat оставлен мостом до 15.0; в своих темах используйте $user->getCountNewMessages()
  • Для QUEUE_CONNECTION=database нужен крон планировщика — панель подскажет строку

Full Changelog: v14.6.0...v14.7.0