InstantCMS 2.17.0 релиз-кандидат

+19
2.15K
InstantCMS 2.17.0 релиз-кандидат

Всем привет!

Выкладываю для тестирования релиз-кандидат InstantCMS 2.17.0.

От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза. Прошу всех неравнодушных присоединиться к тестированию.

Цель релиз-кандидатов

  1. Тестирование участниками сообщества заявленной новой функциональности чистого движка новой версии;
  2. Тестирование участниками сообщества обновления с предыдущей версии на копиях сайтов, чтобы по выходу релиза спокойно обновить;
  3. Дать возможность разработчикам дополнений неспешно ознакомиться с новшествами и при необходимости обновить свои разработки.

Что не нужно делать с релиз-кандидатами

  • Создавать новый сайт на нём;
  • Обновлять рабочий сайт, работающий на предыдущей версии;
  • НЕ нужно при тестировании искать что-то иное, кроме багов (ошибок).

Что такое баг?

Баг — это ошибка при которой движок ведет себя не так, как от него ожидается. Т.е. когда какая-либо функция есть, но не работает или работает неправильно. Пожелания, предложения и замечания писать не нужно. Их оставим на следующие релизы.

Как тестировать

Установите движок на локальную машину или реальный хостинг. InstantCMS теперь можно кастомизировать, создавая собственные сборки: об этом ниже опишу подробнее.

Включите режим отладки в общих настройках.

Поставьте себя на место пользователя вашего сайта и попробуйте проделать все типовые операции (регистрация, редактирование профиля, загрузка фото, добавление статей, комментариев и тд). Проделайте все операции в админке, которые вы обычно делаете. Если что-то сделать не получилось — записывайте в список. Если нашли баг — не публикуйте его сразу, а поищите еще и потом напишите обо всем найденном одним комментарием. Так удобнее обрабатывать.

По мере обработки комментарии будут удаляться, чтобы не путаться. Поэтому не пугайтесь если ваш комментарий пропал — это значит его приняли к сведению.

Еще один очень важный момент: когда пишите сообщение о баге, описывайте ошибку максимально подробно. В случае, если вы в процессе тестирования увидели «белый экран», прочитайте, пожалуйста, этот пост, чтобы понять, как вместо белого экрана увидеть текст ошибки.

Как тестировать процесс обновления

В первую очередь убедитесь, что вы сделали всё правильно. Если у вас свой шаблон, то убедитесь, что обновили файлы шаблонов от новой версии. Если во время загрузки пакета обновления и самого процесса возникли ошибки — напишите об этом — не продолжайте дальнейшее тестирование, т.к. оно уже будет некорректным.

На что обратить внимание при тестировании

Из ключевых моментов я прошу обратить отдельное внимание на;

  1. новый компонент Content Security Policy;
  2. поскольку библиотека PHPMailer обновлена до версии 6.9.2, проверьте работу почтовых уведомлений;
  3. установку дополнений в админке;
  4. работу под PHP 8.3 и выше.

Примерный список изменений:

  • Исправлен баг с набором «Участие в группах» компонента «Группы»;
  • Исправлен баг с опцией сортировки полей-списков;
  • Управление MIME-типами в админке. Все проблемы с ними решены;
  • Исправлен баг со сменой языка при ремапе;
  • В компонент подписок добавлены опции «Показывать кнопку подписки в списке», «Показывать кнопку подписки в фильтре» и управление позицией показа кнопки;
  • Mobile Detect 3.74.3;
  • ScssPhp 1.13.0;
  • TinyMCE 7.5.1 + исправлены баги;
  • Редактор Ace обновлён до версии 1.36.5;
  • jQuery UI, CroppeJS, jquery.inputmask, VueJS актуальных версий;
  • Минимальная версия PHP: 7.2.0;
  • Исправлена XSS в exif параметрах;
  • Автоспойлер для больших описаний фотографий в фотоальбомах;
  • Добавлен опциональный показ кол-ва записей в категориях ТК;
  • В опцию «Тип вывода» в связях добавлен пункт «Список в поле»;
  • Добавлена поддержка отрицательных масок для конкретного виджета;
  • Новый класс cmsResponse для работы с HTTP ответом, функция header теперь не вызывается нигде в коде напрямую;
  • Класс cmsRequest дополнен для работы с HTTP заголовками запроса, с массивом $_SERVER и методом HTTP запроса;
  • Опции полей свойств, опции валидации для свойств, фильтры для свойств в админке, поддержка разных файлов email писем об успешной модерации для типов контента;
  • События от пользователей, помеченных как удалённые, теперь не выводятся в активности;
  • Исправлена ошибка в быстром подборе масок;
  • Добавлены хуки: content_category_before_delete, users_profile_before_update_notices;
  • Добавлен трейт fieldsParseable для единой обработки полей в ТК, профилях и группах;
  • Исправлена фильтрация по скрытым родителям записей ТК;
  • Добавлена мультиязычность для кнопки виджета «All news by the author»;
  • Исправлено отсутствие языковой константы в уведомлении об оценке материала;
  • Тег video теперь может быть пустым в типографе;
  • Исправлены некоторые проблемы при работе на Windows-системах;
  • Добавлено отображение имени файла в email-письме при отправке формы конструктора форм;
  • В трейте formItem теперь можно использовать свойство submit_title;
  • Исправлена работа некоторых WYSIWYG-редакторов в комментариях и на стенах в Firefox;
  • В поле «список изображений» добавлен CSS для блока загрузки DnD;
  • Новый компонент Content Security Policy;
  • Атрибут nonce для script тегов;
  • Большое количество правок по избавлению от инлайновых onclick (для Content Security Policy);
  • Отделение инлайнового js кода от многих шаблонов админки;
  • Опция placeholder для редактора Tiny;
  • Для забытых разделов админки добавлен csrf_token;
  • Почти вся админка приведена к единому набору иконок;
  • Экспериментальная поддержка прав доступа для разделов админки (управление не реализовано, только через БД);
  • Единый CSS класс icms-click-select для инпутов, которые должны по клику выделять свой текст;
  • Новое свойство use_default_tool_buttons для трейта icms\traits\controllers\actions\formItem (для кнопок сохранить и отмена);
  • Токены через random_bytes;
  • Метод $request->getContent() для получения php://input;
  • Вкладка формы с полем ошибки HTML валидации теперь становится автоматически активной;
  • В манифестах установочных пакетов добавлена возможность указывать минимальную версию PHP;
  • Добавлены опции CSS классов для полей в записи и в списке;
  • Поддержка виртуальных полей в группах, профилях и виджетах;
  • Исправлено отсутствие расширения файла во вложениях из конструктора форм;
  • Исправлена работа уведомления в модальном окне конструктора форм;
  • Магия с cms_users/model_content и т.п. вынесена в трейт и доступна теперь в том числе и в виджетах;
  • Полное наследование в SCSS для дочерних шаблонов, включая внутренний импорт;
  • CSS класс для ссылок icms-action-confirm, наличие которого вместе с атрибутом data-confirm делает переход по ссылке с автоматическим подтверждением;
  • Добавлены описания для тегов;
  • Аватарка в админке в меню ограничена в размерах;
  • Для поля связей «Родитель» добавлена опция вывода только в глубиномере;
  • В разделе виджеты и страницы админки добавлен показ подсказки на фантомном виджете с названием страницы, к которой он привязан;
  • Добавлен механизм смены автора записи ТК;
  • Увеличено кол-во символов для полей SEO;
  • Добавлен hookAfterUpdate для полей свойств;
  • Исправлена ошибка с валидацией параметров подписок для гостей;
  • Добавлен шаблон вывода виджета списка записей для ТК фотоальбомы;
  • В админке в списке комментариев добавлена фильтрация по ТК и вывод имени комментируемой записи;
  • Исправлено формирования SEO паттернов компонентов при включенной мультиязычности;
  • Для TinyMCE добавлены опции «Блочный элемент» (вместо Перевод каретки) и «Поведение новой строки»;
  • Для комментариев добавлена опция «Скрывать комментарии удалённых пользователей»;
  • Добавлена поддержка мультиязычности для связки Запись ТК -> Группа;
  • Убран вызов mysqli->ping() как устаревший и неработающий с php8.2;
  • PHPMailer 6.9.2;
  • Корректная версия SQL сервера в разделе «Информация о системе»;
  • Поддержка переменной окружения ICMS_CONFIG_DIR для пути к директории конфигураций;
  • Всё, что лежит в system/config/ теперь можно выносить за корневую директорию;
  • Поддержка массового удаления пользователей в админке;
  • При удалении виджетов теперь вызывается методы полей $field>delete();
  • Классы google_authenticator и idna_convert теперь совместимы с php8.3+;
  • Новый класс cmsAutoloader и механизмы автозагрузки;
  • Поддержка английского языка для каталога дополнений в админке;
  • В компоненте «Авторизация и Регистрация» а также в поле «Защита от спама» добавлена опция выбора конкретной капчи;
  • Опция «Показывать капчу после неудачной авторизации» переименована в «Показывать капчу при авторизации», т.е. при включении её, капча будет всегда;
  • Переписан механизм установки пакетов дополнений, добавлен класс cmsInstaller для работы с ними;
  • Исправлен баг с utf8_general_ci;
  • Добавлены фильтры по пользователям для массовой рассылки сообщений;
  • Много рефакторинга и исправление мелких ошибок.

Так же изменения вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза и взглянуть на закрытые тикеты / пулреквесты.

Кастомизация установочного архива InstantCMS

Начиная с этого релиза вы можете делать свои сборки. В комплекте установщика теперь есть скрипт для кастомной сборки, InstantCMS можно установить без 16 компонентов, что бывает полезно для некоторых разработок. Кроме того, это теперь позволит нам интегрировать в официальную сборку любое количество своих компонентов (так проще поддерживать).

Но это ещё не всё. Вы можете добавлять любое бесплатное дополнение из нашего каталога в сборку, всё так же, используя скрипт.

Сложно в скрипт? Без проблем. Мы сделали отдельную страницу генерации сборок на этом сайте. Она в тестовом режиме и на основе текущей версии релиз-кандидата. В выбор сторонних дополнений в форме мы добавляем сами, помечая проверенные. Пока что для тестов там выведены только мои дополнения, но, честно говоря, я не тестировал их на совместимость ;) Обязательно займусь в ближайшее время.

Механизмы сборки желательно тоже протестировать.

Скачать для тестирования

Пакет обновления 2.16.3 => 2.17.0RC
Чистый релиз InstantCMS 2.17.0 RC

Приглашаем всех, кому не безразлична стабильность новой версии InstantCMS, принять участие в тестировании.

Спасибо тем, кто откликнется.

UPD

Тестирование завершено. Всем спасибо за участие.

Еще от автора

Как собрать обновление и релиз InstantCMS
Небольшой экскурс в сборку дистрибутива установки и обновления InstantCMS с GitHub.
InstantCMS 2.14.0 release candidate
Здравствуйте Тестируем релиз-кандидат InstantCMS 2.14.0. От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза.
Черная пятница, скидки на премиум компоненты
Привет, друзья! Сегодня день, которого многие давно ждали - Черная пятница!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.