Прекращена поддержка базы данных MongoDB. Осталась только MySQL и она стала основной базой данных для проекта.
Переход на PHP 7.4, но в планах и на PHP 8.3.
Class (классы) теперь наследуются от класса IO\MySQL_Class. Именование файлов также изменилось. Файл должен начинаться с большой буквы и иметь постфикс .php (пример: Example.php). Имя класса должно быть таким же, как и название файла, без формата файла .php (пример: Example).
Model (модели) переименованы в Api. Поддержка обращения к моделям фреймворка ниже 7 версии осталась. Причем обращаться можно как с ключевым словом model, так и с новым api (пример: app.model.user.getData и app.api.user.getData равнозначны). Именование файлов также изменилось. Файл должен начинаться с большой буквы и иметь постфикс Api.php (пример: ExampleApi.php). Имя класса должно быть таким же, как и название файла, без формата файла .php (пример: ExampleApi). Наследование теперь происходит от класса IO\Api\CoreApi, но также класс может не наследоваться ни от какого класса (если в этом есть необходимость). Изменена переменная $result в do функциях, возвращение результата в моделях происходит другим способом. Функция rcp_rules() переименована в rules(). Функции params(), getParams(), event() удалены. Добавлены функции show_error(), show_success(), permission(), permissions(), onBefore(), onAfter(). Связывание модели с классом теперь происходит в функции struct(). В модели прописывать путь к самой себе теперь не нужно.
Controller (контроллеры) переименованы в Route (маршруты). Именование файлов также изменилось. Файл должен начинаться с большой буквы и иметь постфикс Route.php (пример: ExampleRoute.php). Имя класса должно быть таким же, как и название файла, без формата файла .php (пример: ExampleRoute). Наследование теперь происходит от класса IO\Route. Класс маршрута по умолчанию стал DefaultRoute вместо старого MainController. Добавлена функция routes() для регистрации маршрутов класса. Рендер twig шаблонов теперь происходит через функцию $this->render(). Функции setLayout(), renderPlain(), render() удалены. Добавлена функция actionPageNotFound(), хотя ее нужно объявлять самостоятельно в каждом проекте. action функции перестали быть статичными. Стандартное использование layout view удалено.
Автоматическая генерация и регистрация маршрутов была удалена. Теперь маршруты нужно регистрировать самостоятельно, но уже под любым именем и путем. Причем регистрировать нужно как сами маршруты, так и классы маршрутов. Маршруты регистрируются в классе маршрута, а классы маршрутов регистрируются в файле настроек модуля. При регистрации маршрутов можно использовать regexp выражения.
Классы, от которых наследуются Class, Api, Route были созданы на основе файлов из 6 версии фреймворка и были значительно переписаны.
Views (вьюшки) переименованы в Templates (шаблоны). Формат twig шаблонов изменен на *.twig. Обращение к template файлам теперь не через "точку" как в "общалке", а через "слэш".
Cron-скрипты теперь наследуются от класса IO\CronTemplate. Именование файлов также изменилось. Файл должен начинаться с большой буквы и иметь постфикс Cron.php (пример: ExampleCron.php). Имя класса должно быть таким же, как и название файла, без формата файла .php (пример: ExampleCron).
У классов функция dbsearch2() была заменена на search().
Функция xarr() была модернизирована. Из нее убрана поддержка извлечения букв из срок. Удалена функция xarrj() (так как теперь xarr() выполняет ее функции).
Базовый класс IOSession был изменен. Удалены устаревшие функции. Удалена переменная user, вместо нее добавлены функции получения данных пользователя.
Добавлена поддержка модулей.
Фреймворк выделен как отдельный модуль, но он обязательный.
Backend и Frontend были отделены путем использования Vue 3 и vue-router. Хотя первоначально страница рендерится через index.php шаблонизатором Twig, но дальше по умолчанию управление отдается vue-router. При необходимости через маршруты можно организовать рендеринг требуемых маршрутов без использования Vue 3, а через шаблонизатор Twig.
В связи с добавлением модулей, поддержки vue 3 и vue-router, был сильно изменен процесс разработки.