Вышел второй релиз Flox. FLOX – это фреймворк, предоставляющий инструментарий для построения информационно-торговых систем с фокусом на пропускную способность и низкие задержки.
В этом обновлении движок получил новые абстракции, включая универсальный интерфейс для WebSocket-клиентов, асинхронный HTTP-транспорт и систему отслеживания ордеров. Интерфейс трекинга исполнения расширен и теперь охватывает весь жизненный цикл ордера, включая отправку, подтверждение, исполнение, отмену и отклонение. Также добавлена поддержка типов инструментов (спот, фьючерсы, инверсные фьючерсы, опционы), настройка CPU affinity и новая конфигурируемая система логирования.
10 июня состоялся корректирующий выпуск 3.7.4 кроссплатформенного аудиоредактора Audacity.
Список изменений:
Добавлен новый экран приветствия/что нового.
Эффекты OpenVINO теперь доступны на macOS. Подробнее об этом можно прочитать в этом
блог-посте.
Эффекты OpenVINO теперь можно найти с помощью кнопки «Get Effects» (это медленное распространение – вы можете не увидеть их там в момент выпуска).
Эффекты OpenVINO были переведены в отдельную категорию в меню Effect. Это также касается функции транскрипции и генератора музыки, которые ранее находились в меню Generate и Analyze соответственно.
Исправлены ошибки.
Также в ветке master активно продолжается работа над переходом на фреймворк Qt.
FLOX это C++-фреймворк (стандарт C++23), предоставляющий компоненты и абстракции для построения событийных торговых систем с высокой пропускной способностью.
На его базе можно создавать торговые системы для высокочастотной торговли, агрегаторы сделок для сбора исторических данных, платформы визуализации, инструменты для тестирования на исторических данных и многое другое.
Архитектура модульная: компоненты связываются через шины данных, реализованные на базе lock-free очередей. Использование динамической памяти сведено к минимуму.
В FLOX уже реализованы две книги заявок (полная и оконная), агрегатор свечей, интерфейсы коннекторов, управления позициями, риском, стратегиями, а также подписочная модель через единую шину данных.
Код покрыт тестами, есть бенчмарки и документация. Включённое демо‑приложение демонстрирует работу ключевых подсистем и может служить шаблоном для разработки собственных стратегий.
Архитектура спроектирована с прицелом на расширяемость: любые модули можно дополнять без изменения ядра.
В планах встроить JS‑движок для быстрого прототипирования и проверки гипотез.
Проект распространяется по лицензии MIT, код полностью открыт.
6 июня состоялся выпуск 2.0.1 библиотеки QSchematic, предназначенной для создания интерактивных схем и диаграмм с использованием Graphics View фрейворка Qt 6.
Код проекта написан на языке C++ (начиная с версии 2.0.0 требуется компилятор с поддержкой стандарта C++23) и распространяется по лицензии MIT.
Библиотека предоставляет базовые классы для объектов, таких как узлы и провода, и реализует логику для перемещения объектов, сохраняя провода подключенными, генерируя список сетей и так далее. Типичное приложение включает в себя эту библиотеку и наследники класса Item для реализации пользовательских элементов.
Состоялся выпуск 5.4.0 высокопроизводительной библиотеки Glaze, предназначенной для чтения и записи JSON с удобными возможностями сериализации и десериализации данных.
Также поддерживаются форматы CSV, BEVE и EETF (Erlang External Term Format) (опционально, для компиляции требуются библиотеки Erlang).
Библиотека написана на языке C++ (header-only, стандарт C++23) и распространяется по лицензии MIT.
После девяти месяцев разработки состоялся выпуск 2.1 библиотеки TagLib, предназначенной для чтения и изменения метаданных (тегов) аудиофайлов различных форматов.
Библиотека написана на языке C++ и распространяется по лицензиям GNU Lesser General Public License (LGPL) и Mozilla Public License (MPL).
2 апреля состоялся выпуск 1.7.5 высокопроизводительной системы автоматического распознавания речи whisper.cpp, реализующей модель Whisper от OpenAI, написанной на языках C и C++ и распространяемой по лицензии MIT.
В проекте используется авторская тензорная библиотека машинного обучения GGML, написанная на языке C и оптимизированная для использования различных бэкендов (CUDA, Vulkan, BLAS, SYCL, OpenCL и др.).
Это довольно большое обновление с различными улучшениями сборки и CI, особенно для iOS и WASM. Также есть некоторый прирост производительности, особенно для бэкенда Metal и, возможно, для устройств на базе Arm.
Как всем известно, язык программирования С++, пожалуй, самый большой по объему из ЯП. Даже программисты, которые пишут на нем десятки лет не могут похвастаться, что знают его полностью. В связи с чем комитет по стандартизации С++ принял нелегкое решение: чтобы язык оставался конкурентоспособным перед напирающими новыми ЯП, например rust, нужно удалить из него все легаси фичи, написаные непонятно какими гоблинами в мохнатые восьмидесятые. В этом помогут хорошо известные на этом форуме разработчики Gnome, которые в свое время удалили все лишние фичи из своей DE, тем самым сделав ее вне конкуренции. Они будут удалять все фичи, пока не удалят все «плюсы» и не дойдут до С, из которого и вылез C++, но на этом не остановятся, оставят от языка только минимальный C--.
28 марта, после более полутора лет разработки, состоялись выпуски 6.0.0 и 6.0.1 кроссплатформенной библиотеки FTXUI, предназначенной для создания на C++ приложений с текстовым интерфейсом и распространяемой по лицензии MIT.
Возможности библиотеки:
функциональный стиль, наподобие React JS;
простой и элегантный стиль (по мнению автора библиотеки);
Естественный синтаксис, напоминающий языки внешних генераторов парсеров, с поддержкой атрибутов и семантических действий.
Возможность работы с контекстно-зависимыми грамматиками с таблицами символов, условиями и синтаксическими предикатами.
Сгенерированные парсеры компилируются в байткод и выполняются в виртуальной машине синтаксического анализа.
Чёткое разделение синтаксических и лексических правил с возможностью настройки неявного пропуска пробельных символов.
Поддержка прямой и косвенной левой рекурсии, с уровнями старшинства для разграничения подвыражений со смешанными левой и правой рекурсиями.
Полная поддержка разбора текста в формате UTF-8, включая уровень 1 и частичное соответствие уровню 2 технического стандарта UTS #18 Unicode Regular Expressions.
Обработка ошибок и восстановление с помощью помеченных сбоев, правил восстановления и обработчиков ошибок.
Автоматическое отслеживание номеров строк и колонок, настраиваемая ширина и выравнивание табуляции.
Header-only-библиотека, использующая только стандартную библиотеку и возможности стандарта C++17. Перспективно совместима со стандартами C++20 и C++23.
Относительно небольшой размер библиотеки, с целью содержания общего количества строк во всех заголовочных файлах на уровне менее 6000 строк лаконичного кода.
5 и 20 марта состоялись выпуски 5.0.0 и 5.0.1 высокопроизводительной библиотеки Glaze, предназначенной для чтения и записи JSON.
Также поддерживаются форматы CSV и BEVE.
Библиотека написана на языке C++ (header-only, стандарт C++23) и распространяется по лицензии MIT.
9 и 16 марта, после более года разработки, состоялись выпуски 10.1.0 и 11.0.0 небольшой, простой и эффективной C++ библиотеки TinyXML2, предназначенной для парсинга XML и распространяемой по лицензии Zlib.
Список изменений:
Устранена уязвимость CVE-2024-50615, связанная с проблемой разбора кодировок символов.
Исправлены некоторые внутренние типы (int -> size_t), в связи с чем нарушена совместимость c ABI прежних версий.
3 марта состоялся выпуск 7.3 быстрой кроссплатформенной консольной утилиты поиска текста ugrep.
Для более эффективного поиска в большом количестве файлов на медленных носителях, или при поиске во многих архивах (zip, zstd, tar, bzip2, bzip3, 7z, lzma, lz4, brotli и др.), можно предварительно выполнить индексирование утилитой ugrep-indexer (входит в поставку ugrep, начиная с версии 6.0).
Утилита написана на языке C++ и распространяется по лицензии BSD-3.
В этом выпуске произведены улучшения удобства использования, а также исправлена работа опций -i (--ignore-case) и -j (--smart-case). Теперь они используют собственные функции изменения регистра букв Юникода, не входящих в ASCII. Например, echo "Śrem" | ug -i "ś.*" теперь завершится успешным нахождением совпадения и напечатает 1: Śrem, как и ожидает пользователь.
27 февраля, после более года разработки, состоялся выпуск 2.5.0 кроссплатформенной header-only библиотеки для C++ CLI11, предназначенной для разбора параметров командной строки и распространяемой по лицензии BSD 3.
В этой версии добавлен новый форматтер с улучшенными возможностями контроля и выводом справки в соответствии со стандартами. Также добавлен модификатор, позволяющий использовать нестандартные имена опций и исправлено несколько ошибок, связанных с нестандартными ситуациями при разборе строк и файлов конфигурации.
25 февраля, после двух месяцев разработки, состоялись выпуски 5.4.3 и 5.5.5 кроссплатформенных библиотек для парсинга, редактирования и подсветки кода Lexilla и Scintilla соответственно, а также выпуск 5.5.5 основанного на них редактора текстов SciTE.
После года разработки состоялся релиз 2025-02-03 космической приключенческой игры Pioneer, действие которой происходит в нашей галактике на рубеже 33-го века.
Pioneer – это бесплатная кроссплатформенная видеоигра с открытым исходным кодом (С++ и Lua) в жанре симулятора космической торговли и боя, созданная по мотивам коммерческой игры Frontier: Elite 2.