SObjectizer-5.6.0 и so_5_extra-1.3.0

2019.05.22

Стали доступны новые версии SObjectizer и сопутствующего проекта so5extra.

С 2014-го года мы развивали ветку 5.5, в рамках которой совместимость между релизами SObjectizer-а поддерживалась на очень высоком уровне. В большинстве случаев для перехода со старой версии SObjectizer-5.5 на новую версию SObjectizer-5.5 было достаточно просто перекомпилировать написанный с использованием SObjectizer-а код.

За более чем 4 года последовательного развития ветка 5.5 вобрала в себя много новых возможностей, большинство из которых не планировались изначально. Это сказалось на сложности кода SObjectizer-5.5 и стоимости его развития. Также при создании ветки 5.5 мы ориентировались на компиляторы C++ с поддержкой лишь подмножества C++11, а сейчас такое ограничение уже неактуально.

Поэтому мы решили открыть следующую страницу в развитии SObjectizer-а и начать ветку 5.6, в которой:

* отказались от поддержки совместимости с SObjectizer-5.5. Версия 5.6.0 содержит ряд ломающих совместимость изменений из-за которых для перехода с SObjectizer-5.5 на SObjectizer-5.6 потребуется модификация использующего SObjectizer кода. Возможно даже, что где-то понадобится перепроектирование из-за удаления из SObjectizer-5.6 некоторых возможностей SObjectizer-5.5;

* было выброшено множество вещей, которые были признаны устаревшими еще в SObjectizer-5.5;

* были удалены или серьезно переработаны вещи, которые за время эксплуатации SObjectizer-а зарекомендовали себя отрицательно или неоднозначно. Например, синхронное взаимодействие между агентами в самом SObjectizer-е теперь не поддерживается (его аналог реализован в so5extra). А у коопераций агентов больше нет строковых имен;

* используется C++17. Мы считаем, что уже нет смысла оглядываться на C++11, а с учетом того, что ветка 5.6 будет развиваться в течении длительного времени, лучше прямо сейчас заложиться на наиболее свежий стандарт C++. Впрочем, если кому-то нужно иметь SObjectizer-5.6 для C++14, то это можно обсудить;

* разработка SObjectizer и so5extra перенесена с SourceForge на BitBucket. На GitHub теперь созданы официальные, а не экспериментальные, зеркала для SObjectizer и so5extra.

SObjectizer-5.6.0 — это первая стабильная версия из ветки 5.6. Список изменений в версии 5.6.0 можно найти здесь. Исходные коды версии 5.6.0 находятся в основном репозитории на BitBucket. А также же в зеркале на GitHub. Архивы с версией 5.6.0 можно взять на BitBucket или SourceForge.

Документацию по SObjectizer-5.6.0 можно найти в Wiki проекта на BitBucket.

so5extra-1.3.0 — это первая версия so5extra для SObjectizer-5.6. Список изменений в версии 1.3.0 можно найти здесь. Исходные коды версии 1.3.0 находятся в основном репозитории на BitBucket. А также же в зеркале на GitHub. Архивы so5extra-1.3.0 можно взять на BitBucket или SourceForge.

Документацию по so5extra-1.3.0 можно найти в Wiki проекта на BitBucket.