LINUX.ORG.RU

Библиотека


1

0

Всего сообщений: 71

LDL 0.1

 , , , ,

Группа Open Source

Состоялся первый публичный релиз мультимедийной библиотеки LDL (Little DirectMedia Layer), позволяющей создавать графические приложения, способные работать, как на современных, так и на устаревших системах (Windows 95+, дистрибутивы с ядром Linux 2.0+, FreeBSD 3.0+). Предоставляется простой кроссплатформенный API для управления окнами и обработки событий с устройств ввода. Для отрисовки может использоваться OpenGL 1.0-4.6. Код поставляется под лицензией LGPL 3.0.

Выпуск примечателен переходом с использования языка C++98 на язык ANSI C (C89) для обеспечения максимальной переносимости и совместимости со старыми компиляторами и платформами, включая DOS, Windows 95 и PlayStation 1.

( читать дальше... )

>>> Репозиторий LDL (github.com)

JordanCpp
()

curl 8.20.0

 , , , ,

Группа Интернет

29-го апреля, после более месяца разработки, 521 коммита и исправления 282 ошибок, состоялся выпуск 8.20.0 (274-й) кроссплатформенной консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.

Основные изменения

Безопасность

Как уже упоминалось ранее («High quality chaos»), в последнее время наблюдается значительный рост числа сообщений о проблемах безопасности. На этот раз опубликована информация о восьми новых уязвимостях в curl:

( читать дальше... )

>>> Полный список изменений на curl.se (и в первой редакции этой новости)

>>> Видеопрезентация 8.20.0 на youtube

>>> Документация

>>> Страница загрузки

>>> Исходный код на GitHub

>>> Новость в блоге Даниэля Стенберга (haxx.se)

dataman
()

7-Zip 26.01

 , , , ,

Группа Open Source

Состоялся выпуск 26.01 библиотеки и консольной утилиты 7-Zip, предназначенных для работы с архивами в формате 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM и многих других.

Проект написан на языках C и C++ и распространяется по лицензии GNU LGPL.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

jemalloc 5.3.1

 , , аллокатор,

Группа Разработка

После почти четырёхлетней паузы (см. «jemalloc всё») состоялся выпуск 5.3.1 аллокатора jemalloc – реализации malloc(3), в которой особое внимание уделяется предотвращению фрагментации и поддержке масштабируемой параллельности.

Новый выпуск включает в себя более 390 коммитов с исправлением ошибок, новыми функциями, оптимизацией производительности и улучшением переносимости.

Проект написан на языке С и распространяется по лицензии BSD.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

libunicode 0.9.0

 , , ,

libunicode 0.9.0
Группа Разработка

Состоялся выпуск 0.9.0 библиотеки для языка C++ (стандарт C++20) libunicode. Проект разрабатывается командой разработчиков эмулятора терминала Contour и оболочки Endo (в активной разработке), и распространяется по лицензии Apache 2.0.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

cpp-peglib 1.10.0 и 1.10.1

 , cpp-peglib, , ,

Группа Разработка

12-го и 14-го марта, после длительного затишья, состоялись выпуски 1.10.0 и 1.10.1 библиотеки cpp-peglib, реализующей PEG (грамматику, разбирающую выражение).

Библиотека поддерживает синтаксис, подробно описанный Брайаном Фордом на странице 2 документа «Parsing Expression Grammars: A Recognition-Based Syntactic Foundation», со многими дополнительными улучшениями.

В отличие от таких проектов, как PEGTL, Lexy и многих других, cpp-peglib позволяет задать выражение PEG и во время выполнения.

( читать дальше... )

>>> Попробовать онлайн (пример грамматики JSON на скриншоте)

>>> Подробности на GitHub (github.com)

dataman
()

lexbor 2.7.0

 , , , ,

Группа Разработка

13 марта, после четырёх месяцев разработки, состоялся выпуск 2.7.0 высокопроизводительной библиотеки lexbor, предназначенной для обработки форматов HTML 5 и CSS.

Основные особенности проекта:

  • полная поддержка спецификаций WHATWG, W3C и Unicode: HTML5, CSS Syntax 3, Encoding, URL​, Unicode Standard Annex #15, Unicode Technical Standard #46, Punycode, Unicode Standard Annex #15, Unicode Technical Standard #46;
  • манипулирование элементами и атрибутами DOM: добавление, изменение, удаление и прочее;
  • поддержка разбора фрагментов HTML;
  • прохождение всех тестов построения деревьев DOM;
  • протестирована на более чем 200 миллионах HTML-страниц с помощью ASAN;
  • поддержка определения кодировки по потоку байтов;
  • анализ стилей CSS в атрибутах тегов и в теге <style>;
  • поиск HTML-элементов с помощью CSS-селекторов;
  • поддержка 40 кодировок при кодировании и декодировании;
  • поддержка небуферизованного и буферизованного кодирования и декодирования;
  • написан на языке C (стандарт C99) без сторонних зависимостей и распространяется по лицензии Apache 2.0;
  • библиотека разделена на модули (Core, CSS, DOM, Encoding, Engine, HTML, NS, Punycode, Selectors, Tag, Unicode, URL, Utils), которые могут быть скомпилированы и использованы как раздельные библиотеки (с опцией CMake LEXBOR_BUILD_SEPARATELY=ON);
  • сторонние биндинги и врапперы для языков Crystal, ​​D​​, Elixir, Julia, PHP​, Python и Ruby.

( читать дальше... )

>>> Сайт проекта

>>> Исходный код

>>> Документация

>>> Сделанные и запланированные возможности

>>> Подробности о версии 2.7.0 на GitHub (github.com)

dataman
()

smath 1.0.0 — библиотека линейной алгебры для языка C++ (стандарт C++23)

 , ,

Группа Разработка

Состоялся выпуск 1.0.0 библиотеки линейной алгебры для языка C++ (стандарт C++23) smath, распространяемой по лицензии Apache 2.0 в виде единственного небольшого заголовочного файла.

Возможности библиотеки:

  • дженерик-класс Vec<N, T> с полезными алиасами Vec2/Vec3/Vec4 и аксессорами (x/y/z/w, r/g/b/a). Векторы поддерживают приблизительное сравнение и кортежные/структурированные привязки;
  • тип Quaternion<T> на основе Vec4;
  • дженерик-класс Mat с полезными алиасами Mat2/Mat3/Mat4;
  • вспомогательные функции для углов rad/deg/turns с учётом настраиваемой базовой единицы измерения макросом SMATH_ANGLE_UNIT.
  • поддержка cвиззлинга во время компиляции (swizzle<"...">);
  • поддержка std::format;
  • опциональные неявные преобразования;
  • вспомогательные функции упаковки нормализованного RGBA (pack_unorm4x8, unpack_snorm4x8 и др.);
  • поддержка модулей C++20;
  • также предоставляются дополнительные адаптеры взаимодействия с библиотеками Eigen, GLM (OpenGL Mathematics), Handmade-Math, raylib и SFML.

>>> GitHub (github.com)

dataman
()

curl 8.19.0

 , , , ,

Группа Интернет

11-го марта, после более двух месяцев разработки и 538 коммитов, состоялся выпуск 8.19.0 (273-й) кроссплатформенной консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.

Основные изменения

Безопасность

  • Прекращена программа поощрений за обнаружение уязвимостей, но это не помешало людям находить уязвимости в curl:
    • CVE-2026-1965 – неправильное повторное использование соединения HTTP Negotiate;
    • CVE-2026-3783 – утечка токенов с перенаправлением и netrc;
    • CVE-2026-3784 – неправильное повторное использование прокси-соединения с учетными данными;
    • CVE-2026-3805 – использование памяти после освобождения в повторном использовании SMB-соединения.

( читать дальше... )

>>> Полный список изменений на curl.se

>>> Видеопрезентация 8.19.0 на youtube

>>> Документация

>>> Страница загрузки

>>> Исходный код на GitHub

>>> Новость в блоге Даниэля Стенберга (haxx.se)

dataman
()

Glaze 7.2.0

 , , , ,

Группа Разработка

Состоялся выпуск 7.2.0 высокопроизводительной, SIMD-оптимизированной и многопоточной библиотеки Glaze, предназначенной для быстрой сериализации и десериализации данных с поддержкой форматов JSON RFC 8259, CSV, CBOR, BEVE, MessagePack, TOML, EETF (Erlang External Term Format) (опционально, для компиляции требуются библиотеки Erlang), YAML 1.2, Stencil и Mustache.

Библиотека написана на языке C++ (header-only, стандарт C++23 и выше) и распространяется по лицензии MIT.

Glaze также предоставляет поддержку REPE RPC и сервер и клиент HTTP, используя современные возможности C++, включая автоматическую генерацию REST API, поддержку WebSocket и шифрование SSL/TLS.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

libunicode 0.8.0

 , , ,

Группа Разработка

17 февраля состоялся выпуск 0.8.0 библиотеки для языка C++ (стандарт C++20) libunicode. Проект разрабатывается командой разработчиков эмулятора терминала Contour и распространяется по лицензии Apache 2.0.

Возможности библиотеки:

  • поддержка стандартов Unicode 17.0:
  • API для получения свойств Юникод;
  • SIMD-оптимизация некоторых функций (с использованием std::simd или std::experimental::simd при их наличии);
  • оптимизированное конвертирование UTF8 <-> UTF32;
  • эквивалент функции wcwidth (int unicode::width(char32_t));
  • сегментирование текста по графемам, символам, эмодзи и письменностям;
  • преобразование регистра и сравнение строк;
  • высокоуровневый API сегментирования текста, подходящий для реализации шейпинга текста.
  • покрытие тестами большинства возможностей библиотеки (ширина символа и сегментирование).

В комплект поставки также входит консольная утилита unicode-query для получения подробной информации о строках.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

7-Zip 26.00

 , , , ,

Группа Open Source

12 февраля, после полугода разработки, состоялся выпуск 26.00 библиотеки и консольной утилиты 7-Zip, предназначенных для работы с архивами в формате 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM и многих других.

Проект написан на языках C и C++ и распространяется по лицензии GNU LGPL.

Список изменений:

  • улучшен код для ZIP, CPIO, RAR, UFD, QCOW и Compound;
  • исправлена ошибка извлечения из архивов TAR, содержащих разрежённые файлы;
  • в 7-Zip File Manager улучшена сортировка списка файлов с использованием имени файла как второго ключа сортировки;
  • в 7-Zip File Manager улучшен тест производительности для систем с более чем 64-мя потоками CPU;
  • исправлены некоторые ошибки.

>>> Подробности на GitHub (github.com)

dataman
()

TGUI 1.12

 , , , ,

Группа Разработка

26 января состоялся релиз 1.12 кроссплатформенной библиотеки виджетов TGUI, написанной на языке C++ и распространяемой по лицензии Zlib.

Минимальная версия стандарта — C++14. Для компиляторов GCC >= 11, Clang >= 16 и IntelLLVM по умолчанию используется стандарт C++17.

Библиотека поддерживает несколько бэкендов ввода-вывода (параметр CMake TGUI_BACKEND):

  • SFML_GRAPHICS – sfml-graphics
  • SFML_OPENGL3 – sfml-window + OpenGL + FreeType
  • SDL_GPU – SDL + SDL_ttf
  • SDL_RENDERER – SDL + SDL_ttf
  • SDL_OPENGL3 – SDL + OpenGL + FreeType
  • SDL_GLES2 – SDL + OpenGL ES + FreeType
  • SDL_TTF_OPENGL3 – SDL + OpenGL + SDL_ttf
  • SDL_TTF_GLES2 – SDL + OpenGL ES + SDL_ttf
  • GLFW_OPENGL3 – GLFW + OpenGL + FreeType
  • GLFW_GLES2 – GLFW + OpenGL ES + FreeType
  • RAYLIB – raylib

В комплект поставки также входит простой дизайнер GUI.

( читать дальше... )

>>> Подробности на tgui.eu (tgui.eu)

dataman
()

ThorVG 1.0

 , , , ,

Группа Разработка

31 января, после полутора лет непрерывной разработки, состоялся выпуск 1.0 лёгкой и портативной кроссплатформенной библиотеки векторной графики ThorVG, предназначенной для визуализации векторных сцен и анимаций. Поддерживается загрузка файлов в форматах Lottie и SVG Tiny 1.2 (список реализованных возможностей SVG Tiny в Wiki проекта).

Библиотекой предоставляются удобные API для импорта, создания и отображения векторной графики, а также для её экспорта в различные графические форматы, что делает её универсальной для использования в различных программных платформах и приложениях для визуализации графического контента. Также поставляются консольные утилиты lottie2gif и svg2png.

ThorVG используется для рендеринга векторной графики в таких проектах, как Tizen OS, Godot Engine, LVGL и плеерах dotLottie.

( читать дальше... )

>>> Подробности на thorvg.org (thorvg.org)

dataman
()

GNU Nettle 4.0

 , , , ,

Группа Разработка

Niels Möller

Я рад объявить о новом крупном релизе GNU Nettle, низкоуровневой библиотеки криптографических функций. Этот релиз включает в себя несколько изменений API, некоторые из которых довольно существенны, а также удаление устаревших функций. Есть одна заметная новая функция: поддержка SLH-DSA подписей (алгоритм цифровой подписи на основе хеширования без сохранения состояния).

Это новый крупный релиз. Он включает в себя поддержку SLH-DSA. Внесены несколько изменений в API Nettle, а также удалены устаревшие функции. Кроме того, улучшен ABI, в результате чего API остался практически неизменным, в частности, уменьшены контекстные структуры для ряда алгоритмов...

( читать дальше... )

>>> Подробности (gnu.org)

splinter
()

simdutf 8.0.0

 , , , ,

simdutf 8.0.0
Группа Разработка

Состоялся выпуск 8.0.0 библиотеки simdutf.

Библиотека предоставляет быстрые SIMD-оптимизированные функции Unicode:

  • проверка строк ASCII, UTF-8, UTF-16LE/BE и UTF-32, с идентификацией ошибок и без неё;
  • транскодирование Latin1 в UTF-8, UTF-16LE/BE и UTF-32, с идентификацией ошибок и без неё;
  • подсчет символов в строках UTF-8 и UTF-16LE/BE;
  • перекодирование binary <-> base64, с URL-кодированием или без него;
  • изменение порядка байтов строк.

Библиотекой также предоставляются консольные утилиты fastbase64 и sutf.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

libunicode 0.7.0

 , , ,

libunicode 0.7.0
Группа Разработка

Состоялся выпуск 0.7.0 библиотеки для языка C++ (стандарт C++20) libunicode. Проект разрабатывается командой разработчиков эмулятора терминала Contour и распространяется по лицензии Apache 2.0.

Возможности библиотеки:

  • поддержка стандартов Юникод:
  • API для получения свойств Юникод;
  • SIMD-оптимизация некоторых функций (с использованием std::simd или std::experimental::simd при их наличии);
  • оптимизированное конвертирование UTF8 <-> UTF32;
  • эквивалент функции wcwidth (int unicode::width(char32_t));
  • сегментирование текста по графемам, символам, эмодзи и письменностям;
  • покрытие тестами большинства возможностей библиотеки (ширина символа и сегментирование);
  • высокоуровневый API сегментирования текста, подходящий для реализации шейпинга текста.

В комплект поставки также входит консольная утилита unicode-query для получения подробной информации о строках.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

curl 8.17.0

 , , , ,

Группа Интернет

После почти месяца разработки состоялся выпуск 8.17.0 (271-й) консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.

( читать дальше... )

>>> Полный список изменений на curl.se

>>> Видеопрезентация на youtube

>>> Документация

>>> Страница загрузки

>>> Исходный код на GitHub

>>> Новость в блоге Даниэля Стенберга (haxx.se)

dataman
()

Brotli 1.2.0

 , , , ,

Группа Разработка

27 октября, после более двух лет разработки, состоялся выпуск стабильной версии 1.2.0 проекта Brotli (официальный сайт и документация API), распространяемого по лицензии MIT.

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

Спецификация формата Brotli определена в RFC 7932.

Основная часть проекта написана на языке C. Также предоставляются биндинги для C#, Go, Java, JavaScript и Python.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

QuickJS-NG 0.11.0

 , , , ,

Группа Open Source

После более пяти месяцев разработки состоялся выпуск 0.11.0 QuickJS-NG – небольшого встраиваемого движка JavaScript и предназначенный для поддержки последней спецификации ECMAScript.
Это форк оригинального проекта QuickJS Фабриса Белларда и Чарли Гордона, и создан после того, как QuickJS перестал развиваться, с целью возобновить его разработку.

Проект сосредоточен на следующих аспектах (но не ограничивается ими):

  • Развитие сообщества
  • Тестирование
  • Кроссплатформенность
  • Функции ECMAScript

Отличия от оригинального проекта можно посмотреть здесь. Проект написан на языке C и распространяется по лицензии MIT.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()