Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В последний раз статья, целиком посвященная открытому проекту RESTinio, вышла на Хабре в декабре 2020-го года, без малого три года назад. Это был рассказ о релизе версии 0.6.13. По сути, это был последний релиз, в котором в RESTinio появилось что-то новое и важное. Потом были только небольшие корректирующие релизы, исправляющие ошибки или адаптирующие RESTinio к свежим версиям зависимостей.
И вот спустя три года нам удалось выпустить новое существенное обновление. А посему есть повод поговорить о том, что было удалено/добавлено/изменено в этой версии. Ну и о причинах паузы в развитии и перспективах проекта вообще.
Кому интересно, милости прошу под кат.
Для тех же, кто про данную разработку слышит в первый раз: это наша попытка сделать встраиваемый в C++ приложения HTTP(S)/WebSocket сервер, который бы обладал и большой гибкостью, и нормальной производительностью, освобождал бы пользователя от рутины, но не прятал бы абсолютно все детали "под капот", и удовлетворял бы нашим представлениям о том, как подобные вещи должны выглядеть...
Вроде бы получилось. Мне кажется, что раз уж RESTinio сумел набрать тысячу звезд на GitHub, результат понравился и пригодился не только нам. Впрочем, это уже совсем другая история. Давайте вернемся к рассказу об изменениях в версии 0.7.0 и к тому, почему этих изменений пришлось ждать так долго...
Что нового в 0.7.0
Переход на C++17
В версии 0.7.0 мы перешли с C++14 на C++17. Вероятно, это не самое лучшее из наших решений, ведь кто-то все еще вынужден оставаться на C++14 не имея возможности обновиться до C++17, однако мы для себя больше не видели смысла держаться за C++14.
Выгода от перехода на C++17 заключалась прежде всего в том, что удалось избавиться от таких зависимостей, как optional-lite, string_view-lite и variant-lite, т.к. теперь это все доступно в стандартной библиотеке. Так что остается сказать большое спасибо Martin Moene за его труд по написанию и сопровождению этих библиотек, они нам здорово помогали в течении шести лет, но дальше мы пойдем с stdlib