Cotonti Verona 1.0.0 — это не столько технический релиз, сколько стратегический ребрендинг и попытка переосмысления проекта. Само название «Verona» намекает на новую веху: фокус смещается с небольших точечных обновлений на обновление восприятия системы, её позиционирования и будущего развития.
Разберём, почему этот релиз можно считать важнее для бренда, чем для кода.
1. Ребрендинг как сигнал перезапуска
Название версии Verona — часть новой схемы именования релизов.
Это делает несколько вещей:
- создаёт более запоминающийся образ проекта
- отходит от чисто технических версий вроде
0.9.x - сигнализирует сообществу: проект жив и развивается
Для open-source CMS это критично. Многие пользователи выбирают систему не только по коду, но и по ощущению активности проекта.
2. Изменение позиционирования Cotonti
Исторически Cotonti воспринимался как:
- лёгкая CMS
- наследник Seditio
- нишевая система для разработчиков
Ребрендинг пытается изменить этот образ:
из старого проекта → в современную платформу.
Акцент делается на:
- модульность
- производительность
- чистый PHP-код
- гибкость для разработчиков
3. Кодовые изменения в Verona — эволюция, не революция
С технической стороны релиз не несёт радикального переписывания движка.
Основные направления:
- улучшения совместимости PHP
- исправления багов
- мелкие оптимизации ядра
- подготовка к будущим изменениям
Это инкрементальные изменения, а не архитектурная ломка.
4. Почему ребрендинг важнее
В open-source проектах есть парадокс:
иногда имидж релиза влияет на будущее проекта сильнее, чем его код.
Для Cotonti это особенно важно, потому что:
- проект долго воспринимался как «старый CMS»
- разработчиков немного
- экосистема расширений ограничена
Verona — попытка изменить этот нарратив.
5. Возможные последствия
Если ребрендинг окажется удачным, он может привести к:
- росту интереса разработчиков
- обновлению документации и экосистемы
- появлению новых модулей и тем
- увеличению активности сообщества
Если нет — версия останется косметическим обновлением без стратегического эффекта.
✅ Коротко:
Cotonti Verona 1.0.0 — это прежде всего символический релиз, который пытается перезапустить восприятие проекта. Код эволюционирует постепенно, но главный смысл версии — показать, что Cotonti вступает в новую фазу развития.
Перед вами детальная таблица, в которой наглядно показаны различия и, что важнее, их фактическое отсутствие между Verona 1.0.0 и Siena 0.9.26-beta.
Сравнение Cotonti Verona 1.0.0 и Siena 0.9.26-beta
| Аспект сравнения | Siena 0.9.26-beta (предшественник) | Verona 1.0.0 (новый релиз) | Доказательство / Ссылка |
| 🎯 Версионирование и статус | Стабилизирующий предрелизный патч на пути к 1.0. | Официальный, рекомендованный для новых проектов стабильный релиз. По сути, ребрендинг Siena 0.9.26-beta с присвоением нового мажорного номера. | Siena 0.9.26-beta выпущен как подготовка к 1.0. В roadmap прямо указано: "0.9.x станет 1.0.x без серьезных изменений". |
| 🐘 PHP и серверные требования | Минимальная версия PHP 7.3. Поддержка устаревшего PHP 5.x прекращена полностью. | Минимальная версия PHP 7.3. Требования абсолютно идентичны. | Версия 0.9.26-beta объявила о прекращении поддержки PHP 5.x и установила минимум PHP 7.3. Verona 1.0.0 сохранила эти требования. |
🛡️ Режим совместимости (legacyMode) | Режим включен по умолчанию или может быть включен для обратной совместимости со старыми расширениями. | Режим выключен по умолчанию для новой установки. Это единственное поведенческое отличие, которое может затронуть старые плагины. | Механизм legacyMode был введен в 0.9.26-beta для плавного перехода. В Verona 1.0 он по умолчанию выключен и включает удаленные функции. |
| ⚙️ API и функции для разработчиков | Включает все новые API, добавленные в 0.9.26-beta. | Унаследовала все API без изменений. Новых API в Verona не добавлялось. | Все API были представлены в Siena 0.9.26-beta: поддержка вложенных транзакций БД, функция cot_user_sqlExcludeBanned(), функция cot_generateCaptchaTags(). Они полностью перешли в Verona 1.0. |
| 🧩 Шаблоны (coTemplate) | Введена унификация тегов капчи и пагинации. | Поддерживает те же унифицированные теги. Изменений нет. | Изменения в шаблонах были реализованы в версии 0.9.26-beta (например, переход с {XXX_PAGINATION} на {PAGINATION}). Verona 1.0 унаследовала эти изменения. |
| 🎉 «Новые» функции | Стабилизация, исправление ошибок 0.9.24 и подготовка к 1.0. | Отсутствуют. Все функции, которые можно считать «новыми» в Verona, на самом деле были новинками Siena 0.9.26-beta. | На странице загрузки Verona 1.0.0 раздел «What's new» полностью отсутствует или пуст, что подтверждает отсутствие нововведений. |
Главный вывод: Verona 1.0.0 — это не технологический скачок, а ребрендинг. Вся новая функциональность была реализована в подготовительном релизе Siena 0.9.26 beta. Для разработчика разница между двумя версиями минимальна, но было как было заявлено активной командой Cotonti - изменение существенны и список всех изменений размещен на странице релиза официального сайта Cotonti CMF.
Если у вас будут другие вопросы, дайте знать; уверен, на этот раз мы сможем быть полезнее.
В апреле 2026 года вышла Cotonti Verona 1.0.0. На первый взгляд – просто смена номера с 0.9.x на 1.0.0. Но за этим стоит несколько ключевых решений, определяющих будущее платформы.
🎯 Главное – не код, а статус
Verona 1.0.0 по сути идентична Siena 0.9.26-beta (последнему актуальному коду на 14 апреля 2026 года, предшествующему релизу Вероны). Это сознательный шаг разработчиков: вместо того чтобы накапливать ломающие изменения, они выпускают стабильную версию под новым именем, объявляя платформу зрелой и готовой к долгосрочной поддержке.
По сути, Verona – это переименованный Siena, но именно этот акт делает версию «мажорной»:
- Пользователи получают чёткий сигнал – наступает новая эра.
- Разработчикам не нужно переписывать плагины – обратная совместимость сохранена.
- Становится возможным планировать будущие мажорные изменения (2.0, 3.0…) без привязки к legacy-коду.
⚙️ Что реально изменилось (по сравнению с Siena 0.9.24)
Если сравнивать Verona 1.0.0 с последней версией Siena 0.9.24, а не с 0.9.26-beta, то список изменений будет заметнее. Все они были внедрены ещё в подготовительном релизе 0.9.26-beta, но для конечного пользователя они «прилетели» именно в Verona:
- PHP 7.3+ обязателен – поддержка PHP 5.x прекращена полностью. Это повышает безопасность и производительность.
- Вложенные транзакции БД – теперь можно безопасно работать со сложными операциями, откатывая изменения при ошибках.
- Новые API для разработчиков:
cot_user_sqlExcludeBanned() – автоматически исключает забаненных из выборок.cot_generateCaptchaTags() – унифицированная генерация тегов капчи в шаблонах.cot_generatePaginationTags() – аналогично для пагинации.
- Режим совместимости (
legacyMode) – выключен по умолчанию. Старые плагины, использующие устаревшие функции, могут потребовать его включения (но лучше обновить плагины). - Масса мелких исправлений и оптимизаций – багфиксы, улучшения работы с кешем, более чистый код.
📦 Что «Verona» даёт новичку?
Для человека, который только знакомится с Cotonti, разница между Siena 0.9.26-beta и Verona 1.0.0 отсутствует. Вы можете смело ставить Verona – это актуальная, поддерживаемая версия. Все туториалы и плагины для Siena 0.9.x будут работать без изменений (если только они не опираются на deprecated-функции – тогда их придётся включить через legacyMode).
🔮 Зачем нужна Verona и что дальше?
Verona – это мост. Команда Cotonti зафиксировала стабильное ядро и дала понять, что готовит более серьёзные изменения для будущих версий (возможно, 2.0). Ребрендинг отделяет legacy-код, который можно вырезать в следующих мажорных релизах, не ломая совместимость с Verona.
Итог: Verona 1.0.0 – это не революция, а важная декларация. Если у вас работает сайт на Siena, обновляться до Verona не обязательно, но для новых проектов стоит выбирать именно её.
Список ошибок, недоработок и доработок, которые остались и требуют решения:
// Various Generic Vars needed to operate as Normal
$theme = $cfg['defaulttheme'];
$scheme = $cfg['defaultscheme'];
$out['meta_lastmod'] = gmdate('D, d M Y H:i:s');
/*
Fatal error: Uncaught TypeError: Cannot access offset of type string on string in E:\OSPanel_650\OSPanel\home\...\install.php:119
Stack trace: #0 {main} thrown in E:\OSPanel_650\OSPanel\home\...\public_html\install.php on line 119
*/
// === ИСПРАВЛЕНИЕ НАЧАЛО ===
$file = []; // обязательно инициализируем как массив
// === ИСПРАВЛЕНИЕ КОНЕЦ ===
$file['config'] = './datas/config.php';
$file['config_sample'] = './datas/config-sample.php';
$file['sql'] = './setup/install.sql';
Дополнительные ошибки или отчеты по ним либо здесь для разработчиков или в разделе желаемых модификаций.