XenForo 2.4: Статус XenForo 2.4 и что нового под капотом?

Где мы находимся сейчас?

Кратко: Мы усердно работаем над выпуском XenForo 2.4 как можно быстрее, но это занимает больше времени, чем ожидалось, из-за изменений в объеме работ и стратегических решений дождаться определенных обновлений, которые положительно скажутся на долгосрочном развитии. Объясню причину на наглядном примере:

Процесс разработки программного обеспечения подобен путешествию по стране с множеством пунктов назначения.

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

Но сложность в том, что ландшафт постоянно изменяется по мере продвижения:
  • Открываются новые дороги (появляются лучшие технологии),
  • Мосты смываются наводнениями (зависимости ломаются или устаревают),
  • Находятся живописные маршруты, полезные будущим путешественникам (возможности архитектурных улучшений),
  • Меняются погодные условия (эволюционируют рыночные требования и потребности пользователей),
  • Автотранспорт неожиданно нуждается в ремонте (необходимо устранить техническую неполадку).

Нельзя фокусироваться только на достижении ближайшей остановки. Необходимо оценивать, как каждое принятое решение отразится на дальнейшем маршруте. Сокращение маршрута ради ускорения выпуска 2.4 может привести к проблемам при попытке добраться до версий 3.0, 4.0 или даже 5.0.

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

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

Будем чуть менее загадочными и поясним конкретные сложности, с которыми столкнулись:

Выход новой версии Tiptap​

Когда мы объявили, что Tiptap войдет в состав XenForo 2.4, работа над ним была завершена на 95%. Затем мы сделали небольшую паузу, сосредоточившись на других проектах, о которых сообщали ранее и будем обсуждать в этой ветке форума. Позднее команда Tiptap объявила о выходе версии Tiptap V3, которая сейчас находится в стадии бета-тестирования. Учитывая центральную роль редактора в опыте пользования форумом, логичнее поставить XenForo 2.4 на рельсы Tiptap V3, а не Tiptap V2, как планировалось изначально. Необходимые изменения не слишком масштабны, но мы не хотим выпускать версию 2.4 с нестабильной зависимостью, подверженной изменениям. Хотя мы не планируем ждать стабильного релиза Tiptap V3, мы хотим дать ей немного больше времени, чтобы повысить уверенность в стабильности предоставляемого опыта редактирования.

Рассмотрели возможность переписать ядро (снова)​

Хотя это направление мы пока не приняли окончательно, ответственным шагом было бы хотя бы рассмотреть все возможные пути для успешного завершения экспедиции.

Почти спустя 8 лет после релиза XenForo 2.0 многие используемые нами технологии заметно устарели, принятые ранее решения стали тормозить разработку больше, чем хотелось бы, и в целом, XenForo как фреймворк перестал быть таким же эффективным инструментом, как раньше. Решение могло бы заключаться в полном перезапуске с нуля, но мы пришли к выводу, что на данном этапе это не обязательно.

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

Некоторые лучшие функции пока не завершены​

Есть одна или две функции, которые пользователи регулярно запрашивают на форуме сообщества и в каналах отзывов, и мы рады подтвердить, что они появятся в версии 2.4! Однако преждевременный выпуск ожидаемых функций, не доведенных до необходимого уровня качества, полировки и расширяемости, никому не принесет пользы. Лучше уделить дополнительное время на доведение их до совершенства, чем торопиться и разочаровывать пользователей посредственными реализациями, требующими немедленных патчей или лишёнными гибкости для дальнейшей кастомизации. Детали этих функций и принципы их работы будут раскрыты в ближайшие недели, следите за новостями!

Мы не успеваем рассказать обо всём!​

Только что посчитал: примерно 15 функций уже объединены или ожидают объединения в XenForo 2.4, о которых мы пока не объявляли. Некоторые из них мелкого масштаба и не достойны отдельного анонса (скорее всего, они попадут в рубрику "разное"), другие же описаны ниже. Между тем, пока мы "готовились" (как нынче говорят молодые), нам сложно было сбалансировать проведение проверок кода и публикацию новостей.

Вполне вероятно, что к выходу версии добавятся новые функции от уважаемых разработчиков, таких как Xon и @digitalpoint, если у нас будет время реализовать их. Иначе они дождутся следующей версии.

Итак, подведём итоги​

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

Очень важно сохранять перспективу. Версия XenForo 2.2 вышла в сентябре 2020 года, а 2.3 — почти четыре года спустя. Версия 2.4 выйдет гораздо раньше, чем через три года.

Но, полагаю, вы открыли эту страницу, чтобы узнать, что нового, верно? Давайте разбираться!

Использование PDO для взаимодействия с базой данных вместо mysqli​

Одной из первых принятых нами мер стало изменение библиотеки для работы с базой данных с mysqli на PDO. Как мы обсудим позже, PDO облегчает написание новых адаптеров базы данных, что полезно для поддержки импортирования данных из других баз данных или для третьих лиц, желающих интегрироваться с локально размещёнными внешними базами данных. PDO на данный момент является фактическим стандартом для PHP. Многие провайдеры хостинга предоставляют поддержку PDO по умолчанию, в то время как библиотека mysqli часто требует ручной активации. Нам неоднократно встречались случаи, когда при переходе на другой хост или при обновлении версии PHP люди забывали проверить включение расширения mysqli.

Чтобы установить или обновить XenForo до версии 2.4, вам необходимо убедиться, что в вашем хостинговом окружении установлена библиотека PDO с драйвером mysql.

Кроме того, в PDO реализовано несколько полезных улучшений качества жизни, таких как привязка именованных параметров, например:

PHP:
$activeUsers = \XF::db()->fetchAll("
   SELECT *
    FROM xf_user AS user
    INNER JOIN xf_user_profile AS profile ON
        (user.user_id = profile.user_id)
    WHERE user.user_state = :user_state
        AND user.last_activity > :min_activity
    ORDER BY user.last_activity DESC
    LIMIT 10
", ['user_state' => 'valid', 'min_activity' => time()]);

Хотя, оглядываясь назад, это может оказаться менее полезным, чем казалось вначале... (об этом подробнее позже).

Родная поддержка SQLite​

На данный момент SQLite является самой распространённой базой данных в мире (используется на смартфонах, встроенных устройствах, приложениях и т.д.), причём некоторые используют её даже в крупных высокопроизводительных производственных средах. SQLite привлекательна для разработчиков благодаря своей широкой распространённости, отсутствию сложной настройки, портативности (всего один файл) и отличным показателям производительности на локальных дисках. Несмотря на свою простоту, SQLite полностью соответствует стандартам ACID и удивительно надёжна. Это не просто удобство, это корпоративный уровень надежности.

Особенно ценна SQLite для опытных разработчиков, особенно тех, кто занимается автоматизированным развертыванием (DevOps), так как она великолепно подходит для автоматического тестирования — вы можете мгновенно запустить полную изолированную базу данных для каждого теста. Официально мы продолжим рекомендовать MySQL для производственного окружения, но SQLite для тестов и разработки очень привлекательна, и мы рады предложить её вам уже в составе XenForo 2.4.

Но как быть со всеми существующими SQL-запросами в коде?

Совершенно новый Fluent Query Builder​

Новая база данных предполагает необходимость поддерживать другой диалект запросов. Но никто не хочет писать запросы дважды. Более того, их написание и единожды вызывает раздражение. Новый билдер запросов призван облегчить жизнь. Давайте перепишем предыдущий запрос, используя новый Query Builder:

PHP:
$activeUsers = \XF::query('xf_user AS user')
    ->join('xf_user_profile AS profile', 'user.user_id', '=', 'profile.user_id')
    ->where('user.user_state', 'valid')
    ->where('user.last_activity', '>', time() - 86400)
    ->orderByDesc('user.last_activity')
    ->limit(10)
    ->fetchAll();

Экземпляр этого билдера запросов автоматически компилирует правильный SQL-диалект в зависимости от используемой базы данных. Мы переписали все существующие запросы в приложении (включая официальные плагины), чтобы использовать новый билдер запросов, включая запросы, генерируемые компонентами Finder и SchemaManager, для обеспечения поддержки SQLite.

Впрочем, вы не обязаны использовать его. Вы можете продолжать писать запросы напрямую для поддержки как MySQL (так, как это делается сейчас), так и SQLite или же вообще забыть о поддержке SQLite (правда, это может затруднить использование вашего плагина пользователями, выбравшими SQLite).

Это также открывает перспективы для поддержки других баз данных в будущем. Хотя конкретных планов пока нет, теперь возможна поддержка Microsoft SQL Server и PostgreSQL. Любой желающий может легко написать собственные адаптеры и грамматические классы для билдера запросов, чтобы добавить необходимую поддержку, если это понадобится.

Плагин для PhpStorm для разработчиков​

Мы осознаём, что хотя билдеры запросов полезны, иногда они могут замедлять разработку, так как при написании сырых SQL-запросов IDE, такие как PhpStorm, могут быть настроены на распознавание схемы базы данных через встроенные инструменты.

Чтобы решить эту проблему, мы рады сообщить, что выпустим бесплатный и открытый плагин для PhpStorm (помогите нам поддерживать его 🙏), который обеспечит автодополнение названий таблиц и столбцов.

Вот как это выглядит в действии:

Посмотреть вложение 322589-b08f75fa3cba8f63c60da2845e10201d.mov

Отладка запросов​

Мы реализовали несколько методов, которые помогут разработчикам проверять, какой именно SQL-запрос собирается выполняться при вызове билдера запросов, что полезно для целей отладки.

PHP:
$pairs = \XF::query('xf_user')
    ->dump()
    ->select('user_id', 'username')
    ->limit(5)
    ->fetchPairs();

Мы поддерживаем методы dump, dd, dumpSimple, ddSimple, dumpToFile и dumpToFileNamed в любом месте цепочки вызовов билдера запросов. Эти методы регистрируют событие, срабатывающее непосредственно перед выполнением итогового запроса, что также работает с агрегатными методами, такими как count и sum.

SQL:
SELECT "user_id", "username" FROM "xf_user" LIMIT 5

Кстати, о средствах отладки запросов — мы также обновили внешний вид вывода отладочной информации. Теперь он улучшился за счёт лучшего использования цветов как в светлом, так и в тёмном режиме, а также подсветки синтаксиса и форматирования для запросов к базе данных:

1749747940866.jpg

Встроенная поддержка веб-сервера PHP​

Выбор подходящей среды для разработки и тестирования может вызвать трудности. Существует множество различных решений для разных операционных систем. Порой непросто подобрать подходящее именно вам, иногда возникают проблемы после обновлений, а однажды утром вы включаете ноутбук и понимаете, что ваши базы данных вдруг перестали быть доступны. Ранее мы уже рассказывали, как SQLite может упростить ситуацию — отсутствие необходимости самостоятельной установки и обслуживания сервера MySQL или MariaDB является значительным преимуществом. Но что если вам не придётся беспокоиться и о настройке Nginx или Apache?

Код:
# php cmd.php xf:serve
Starting XenForo development server...
XenForo development server started: http://localhost:8080
Document root is: /Users/chrisdeeming/Herd/24x
Press Ctrl-C to quit.

13:26:20 GET 200 / (432.84ms)
13:26:21 GET 200 /css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=1&d=1747965566&k=975f8f0746a2cbf3a7f3ee7c96f538e9a2bf61e6 (488.67ms)
13:26:21 GET 200 /css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=1&l=1&d=1747965566&k=b21bffa3ee848ff6a7384493bd4c8b387d4a511e (58.2ms)
13:26:21 GET 200 /js/xf/preamble.js?_v=e361daff
...

Используя встроенный веб-сервер PHP, вы можете быстро поднять сервер для разработки, не прикасаясь к конфигурациям веб-сервера или полнофункциональным окружениям вроде Herd, WAMP, MAMP или Docker.

Консольный интерпретатор для разработки XenForo (REPL)​

Добавлена новая команда командной строки xf-dev:tinker, предоставляющая интерактивную оболочку (REPL — Read–Eval–Print Loop) для разработки на XenForo. Реализована на основе прекрасной библиотеки , предоставляя удобное пространство для выполнения фрагментов кода, тестирования сервисов и интерактивного осмотра среды.

Интерпретатор заранее загружает общие переменные, такие как $app, $db, $em и многие другие, которые могут пригодиться. Полный список переменных можно просмотреть командой ls -l --vars, а поведение предварительной загрузки отключить флагом --without-vars.

Можно использовать опцию --execute, чтобы передать код для непосредственного выполнения, что удобно для быстрых одноразовых скриптов. Или передавать пути файлов в качестве аргументов, чтобы включить их при старте REPL, что полезно для общего кода начальной настройки. REPL также поддерживает флаг --with-commands, позволяющий вызывать другие команды XenForo CLI прямо из оболочки.

Документация сайта Psysh может стать хорошим справочным руководством для начала работы с этим инструментом:

1749822698547.jpg
 
Особое внимание уделяем реализации функциональных возможностей, ставших стандартом в других фреймворках, таких как Laravel.
Давайте перепишем предыдущий запрос, используя новый Query Builder
Добавлена новая команда командной строки xf-dev:tinker, предоставляющая интерактивную оболочку (REPL — Read–Eval–Print Loop) для разработки на XenForo.
Ну наконец-то хорошие новости.

В идеале XF 4 полностью на Laravel переписать :D
 
Нээээт, надеюсь господь бог (Кир) защитит от этого
Ну хз, мне нравится куда движется Laravel. Если снизится также порог входа и в XF, то будет только лучше. Комьюнити очень важно в этом вопросе, а у кого как не у Laravel самое большое комьюнити? Я думаю Тейлор шарит в этом вопросе.
 
1749917600499.png
Ну если не надо, то будете сидеть без развития. Будет одно и тоже.
 
Ну хз, мне нравится куда движется Laravel. Если снизится также порог входа и в XF, то будет только лучше. Комьюнити очень важно в этом вопросе, а у кого как не у Laravel самое большое комьюнити? Я думаю Тейлор шарит в этом вопросе.
MrFallen, ну хз, мне не нравится Лара. Физически неприятно даж прогать на ней)
Мне не нравится общий концепт, всякий синтаксический сахар и прочее. Если что, это имхо. То что оно развивается и двигает что-то вперёд - збс, но пихать лару везде такое себе

Ну если не надо, то будете сидеть без развития. Будет одно и тоже.
Развитие не только в ларе. Там уже тоже слишком много упрощенностей и приходят всякие ебланы, которые не умеют писать код. Зато Лара им это позволяет. В принципе, это особенность пхп, но тут из какой-то крайности в крайность
 
Физически неприятно даж прогать на ней
Я как-то занимался онанизмом хотел написать свой движок из говна и палок.
Решил взять в качестве DI контейнера ларовский, ибо он относительно простой.

Также решил взять компонент БД от лары, чтобы основе QueryBuilder сделать простенькую ОРМ`ку.
И на этом моменте меня ожидал сюрприз. Дело в том, что в ларе БД зависит от DI контейнера.

Ты либо прокидываешь существующий объект контейнера, либо она создаст его сама.
Если ты прокидываешь объект - ты просто обязан повторить конфиг лары.
Либо упарываться ещё дальше

Почему это так - вопрос открытый. Но это меня дико вымораживает.
Конечно, имхо, но лара - это огромный кусок связанного говна монолит.
 

Я так понял он будет 2024+3 в 2027 году. А по факту наверно еще +1 год.

Я не жду. Ничего "такого" я не уивдел.

1) Возможность загружать файлы 128 Гб в обход ограничению PHP, Апача, CloudFlare. Вот спасибо! 🤣

2) Опять что-то про Featured content. Бла бла бла

3) Какие-то мелкие изменения в PWA. Стыдно даже писать про это. Добавьте их сегодня в 2.3.8. Зачем ждать 3 года?

4) Всплывающие "Флеш уведомления" в правом верхнем углу (или неважно где). Да они появились много лет назад.
Странно, что XenForo только в 2025 году обратили на них внимание.
Наоборот, мне кажется люди уже ушли от них.
Я не вижу их ни на одном полуярном сайта. Gmail, Facebook, Ebay, Amazon, Instagram - не используют их.
Их использует какие-то мелкие интернет магазины чтобы сообщить пользователю "Товар добавлен в корзину".

5) Новый редактор текста от компании ТипТоп. А со старым что было не так?
"Мы прекращаем отображение сырого синтаксиса BB-кода в редакторе". Вангую что первое дополнение для 2.4 будет дополнение которое возврщает ББ-код синтаксис.

Мое мнение пользователей будет сильно раздражать "умный" редактор, который увидев слово "спойлер" будет включать спойлер сразу.

Они сами пишут что работа идёт медленно, потому что пока работали над одним, редактор ТипТоп обновился с v2 до v3.
И им надо опять переделывать что-то, т.к. они не хотят оставлять старую версию в релизе 2.4

Странная у них политика...
Сделали возможность загрузки 128 Гб - выкатите 2.3.8
Через месяц сделали всплывающие уведомления - выкатите 2.3.9
Они несколько лет делают сразу 10 новых фич, и несколько лет рассказывают о них.

Их подача материала и политика очень напоминает Apple. Очень. Особенно фраза где-то "Станет лучше. Как никогда ранее..."
 
Последнее редактирование:
со старым что было не так?
Мое мнение пользователей будет сильно раздражать "умный" редактор, который увидев слово "спойлер" будет включать спойлер сразу.
Почему вы решили что будет именно так?
Заблуждение как по мне, новый редактор - это новые функции, исправление недочётов старого, поддержка новшеств которые появляются можно сказать почти каждую неделю в разных сферах, возможно увеличены возможности простого изменения редактора сторонними разработчиками дополнений.


Опять что-то про Featured content
Может для тебя эта функция бесполезна, но для крупных форумов в определённых сферах полезно показывать пользователю какой-то популярный или "трендовый" контент, который сейчас на их форуме более просматриваемый или актуальный - который можно рекомендовать и пользователи будут чаще его видеть и взаимодействовать с ним.
 
Последнее редактирование:
Почему вы решили что будет именно так?
Я не заметил маленькую кавычку перед словом "спойлер".


Не знаю как другим, но мне проще мышкой нажать на иконку спойлера, чем искать эту кавычку и писать слово "спойлер".

Они еще иконки вниз пернесли 🤪

П.С. На самом деле они молодцы. Они медленно но делают
vBulletin вангую вообще закроется не сегодня завтра.
 
Последнее редактирование:
Я не заметил маленькую кавычку перед словом "спойлер".


Не знаю как другим, но мне проще мышкой нажать на иконку спойлера, чем искать эту кавычку и писать слово
А вас не кто не заставляет это использовать, тем более, я уверен что это можно будет отключить - если не отдельным пунктом в настройках, то модификацией :)
 
1) Возможность загружать файлы 128 Гб в обход ограничению PHP, Апача, CloudFlare. Вот спасибо! 🤣
Научитесь читать и не искажайте информацию. Проблема состоит в том, что cloudflare не позволяет лить за раз больше 100 МБ, разбитие файла на куски решает эту проблему. Улучшение очень полезное.


Их использует какие-то мелкие интернет магазины чтобы сообщить пользователю "Товар добавлен в корзину".
Они поменяли тупую всплывашку на более лаконичное окошко с более гибким API для разработчиков. Минусы будут?

5) Новый редактор текста от компании ТипТоп. А со старым что было не так?
Старый - говно с рядом багов и закрытыми исходниками, что конкретно не позволяло мне, как разработчику, эти баги отлаживать и чинить.
Мое мнение пользователей будет сильно раздражать "умный" редактор, который увидев слово "спойлер" будет включать спойлер сразу
Ну вы себе сами нафантазировали механизм работы и сами его критикуете. С чего вы вообще взяли что это будет так работать?

"Мы прекращаем отображение сырого синтаксиса BB-кода в редакторе". Вангую что первое дополнение для 2.4 будет дополнение которое возврщает ББ-код синтаксис.
Никуда он не денется. И если внимательно посмотреть, то кнопка режима бб кодов никуда не делась тоже, пользуйтесь на здоровье. Имелось ввиду то, что теперь все бб коды отрисовываются прямо в редакторе, вместо того чтобы отображаться просто как текст.

У разрабов сейчас фокус на 3.0. Никто нигде не обещал что 2.4 будет большим релизом.
В этом релизе больше плюшек для разработчиков, нежели для пользователей и я очень рад видеть эти улучшения. Перелопачен немалый кусок движка, в частности слой работы с БД.
В целом, наблюдая за тем что они делают складывается впечатление что данный релиз это мостик, который даст время разрабам обновить аддоны под новые системы, что в последствии обеспечит более мягкий переезд на 3.0. Ряд этих обнов это скорее всего бекпорт с 3.0, который уменьшает разницу между ветками технически.
 
Последнее редактирование:
Они поменяли тупую всплывашку на более лаконичное окошко с более гибким API для разработчиков. Минусы будут?
Какая конечному пользователю разница?
Он нажал отправить личное сообщение. Появилось уведомление в правом верхнем углу "Сообщение отправлено"

Никуда он не денется. И если внимательно посмотреть, то кнопка режима бб кодов никуда не делась тоже, пользуйтесь на здоровье.
Дело в не в картинке или в видео, где вы увидели кнопку, а в том, что написал разработчик.
"Мы прекращаем отображение сырого синтаксиса BB-кода в редакторе"
 
Какая конечному пользователю разница?
На таком уведомлении легче сфокусироваться, в отличии от плашки на всю ширину экрана со здоровыми буквами.
Дело в не в картинке или в видео, где вы увидели кнопку, а в том, что написал разработчик.
"Мы прекращаем отображение сырого синтаксиса BB-кода в редакторе"
Так и в чем проблема?
 
Я не ради спора поднял. Я выше написал что они молодцы. Просто политика странная с версиями.
Вот ради интереса пошел посмотреть что делает vbulletin в последних версиях 6.1.0 - 6.1.3
Выборка.

Префиксы тем
При редактировании каналов в менеджере каналов администраторы могут настроить обязательное указание префикса темы для нового контента. Если для каналов задано обязательное указание префикса и назначен один или несколько наборов префиксов (менеджер каналов > префиксы тем), для публикации новых тем необходимо выбрать префикс. Исключения из этого требования включают темы, созданные через RSS или перенесённые на канал модератором.

Обсуждение нарушений
Разработчики усовершенствовали процесс ответа на нарушения. Благодаря этому изменению ответы в обсуждении появляются быстрее. Чтобы начать обсуждение нарушения, администраторы и модераторы могут перейти на вкладку «Нарушение» в Центре сообщений и нажать на заголовок, чтобы просмотреть сообщение.

Поиск IP-адреса
Администраторы и модераторы теперь могут искать IP-адреса пользователей в их профилях. Функция поиска IP-адресов предлагает те же функции, что ранее были доступны в панели управления модератора.

Проверка возраста
В систему добавлена новая опция ограничения минимального возраста регистрации. Ранее это было жёстко заданное значение 13 лет в соответствии с требованиями COPPA. Теперь администраторы могут указать минимальный возраст для регистрации отдельно. Значение по умолчанию — 0. Вы можете установить это значение в панели администратора в разделе «Настройки» -> «Параметры» -> «Параметры конфиденциальности».

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


Такое впечатление что те-жи люди, что были 20 лет назад, делают то что умеют - добавляют изменение цифры "13" в админке.
А оптимизация прошла как-то мимо

1756159720424.png
 
Последнее редактирование:
Я не ради спора поднял. Я выше написал что они молодцы. Просто политика странная с версиями.
SemVer. Слышали о таком?
Не могу сказать, что XF прямо стопроцентно его придерживается, но визуально - стараются. Хоть и не без факапов.
Идея в том, что:
  • Мажорная версия (первая цифра) увеличивается только когда делаются изменения, которые несовместимы обратно по API банально.
  • Минорная версия (вторая цифра) увеличивается при добавлении нового функционала, который при этом не ломает старый.
  • Третья версия (третья цифра) при внесении обратно совместимых изменений (баг-фиксы).
Подробнее о самом семвере можете в интернете почитать, я лишь вкратце его основную идею выше озвучил.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу