LINUX.ORG.RU

C++


364

18

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

GCC 16

 , , ,

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

После года разработки опубликован выпуск свободного набора компиляторов GCC 16.1, первый значительный выпуск в новой ветке GCC 16.x. В соответствии со схемой нумерации выпусков, версия 16.0 использовалась в процессе разработки, а незадолго до выхода GCC 16.1 уже ответвилась ветка GCC 17.0, на базе которой будет сформирован следующий значительный релиз GCC 17.1.

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

>>> Источник: OpenNET (opennet.ru)

dataman
()

NotepadNext 0.14

 , , , ,

Группа Open Source

28 апреля состоялся выпуск 0.14 кроссплатформенного редактора кода NotepadNext, называемого автором «кроссплатформенной переработкой Notepad++».

Проект написан на языке C++ (стандарт C++20) с использованием фреймворка Qt 6 (минимальная версия – 6.5) и распространяется по лицензии GNU GPL 3.0.

Изменения:

  • вместо QMake теперь используется CMake, а вместо субмодулей Git – CPM.cmake;
  • изменено определение размеров диалогового окна «Найти и заменить»;
  • добавлены параметры сортировки строк;
  • добавлен обратный поиск;
  • сохранение положения курсора при перезагрузке файла;
  • обработка BOM в UTF-8;
  • исправление уязвимости, позволяющей выполнить произвольный код посредством внедрения Lua при обработке расширений имён файлов (CVE-2026-42214);
  • обновлены библиотеки Scintilla and Lexilla;
  • обновлены локализации;
  • файл .ico для Windows обновлён до большего размера;
  • исправления сборки для macOS;
  • исправлена иконка в доке macOS.

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

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
()

Dillo 3.3.0

 , , ,

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

После более года разработки состоялся выпуск 3.3.0 минималистичного кроссплатформенного браузера Dillo.

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

  • написан на языках C и C++ с минимальным количеством зависимостей;
  • использует собственный движок рендеринга в реальном времени;
  • низкое потребление памяти и быстрый рендеринг даже при работе с большими страницами;
  • использует быструю и лёгкую библиотеку графического интерфейса FLTK;
  • поддерживает HTTP, HTTPS, FTP и локальные файлы;
  • возможность расширения с помощью плагинов, написанных на любом языке;
  • распространяется по лицензии GNU GPL 3.

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

>>> Репозитории Git

>>> Баг-трекер

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

>>> Подробности на dillo-browser.org (dillo-browser.org)

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
()

Endo 0.1.0

 , endo, , ,

Группа Open Source

Состоялся первый публичный выпуск 0.1.0 кроссплатформенной интерактивной командной оболочки и интерпретатора функционального языка в стиле F# Endo.

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

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

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

dataman
()

FARS 1.0.0 Beta

 , , , sui,

Группа Open Source

После более года разработки, 32-го марта, состоялся выпуск 1.0.0 Beta кроссплатформенного, многопоточного, SIMD-оптимизированного менеджера файлов FARS.

Особенности:

  • Для работы требуется любой эмулятор терминала с поддержкой форматов Sixel, Kitty Graphics Protocol или iTerm2.
  • Желательно, чтобы ЭТ поддерживал Kitty Keyboard Protocol, тогда станет доступно большее количество сочетаний клавиш.
  • Парсинг ESC-последовательностей ЭТ осуществляется библиотекой Lug 0.5.0.
  • Для пользовательского интерфейса используется мой значительно переписанный форк FTXUI 6.0.0 и 6.0.1) с бэкендом constixel.hpp для отрисовки в ЭТ.
  • Так как интерфейс уже не текстовый, я назвал эту концепцию SUI – Sixel User Interface (хотя constixel.hpp поддерживает все три формата).
  • Для быстрой работы с ФС используется библиотека llfio, вызывающая syscall напрямую.
  • Встроенный редактор на основе Lexilla и Scintilla (на базе редактора turbo).
  • Конфигурация хранится в формате TOML, так что Glaze 7.2.0 подошла идеально.

Код проекта написан на C++ (стандарт C++23) и распространяется по лицензии WTFPL.

Просьба сообщать обо всех найденных ошибках!

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

dataman
()

Утверждён стандарт C++26

 ,

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

Комитет ISO по стандартизации языка C++ утвердил финальный вариант спецификации, образующей международный стандарт «C++26». Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC (gnu.org), Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.

В следующие два месяца утверждённая спецификация будет находиться на стадии подготовки документа к публикации, на которой будет проведена работа по редакторской правке орфографических ошибок и опечаток. В начале ноября результирующий вариант документа будет направлен в ISO для публикации под формальным именем ISO/IEC 14882:2026.

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

>>> Источник: OpenNET (opennet.ru)

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
()

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
()

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
()

GoldenDict-ng 26.3.0

 , , , ,

Группа Open Source

26 февраля состоялся выпуск 26.3.0 кроссплатформенного мультиформатного электронного словаря GoldenDict-ng – форка словаря GoldenDict.

Возможности словаря:

  • Поддержка локальных словарей в форматах: MDict, StarDict, ABBYY Lingvo DSL и .lsa/.dat, XDXF, Zim, Aard и Aard 2 (Slob), DictD, Epwing, SDictionary, Babylon и Babylon glossary builder, файлов со звуками в директориях и объединённых в архив zip.
  • Поддержка сетевых источников: Wikipedia и Wiktionary, протокол DICT, LinguaLibre и Forvo, любые сайты, поддерживающие поиск слов, заданных в адресной строке.
  • Поддержка других источников: из других приложений, текст-в-речь, словари морфологии, транслитерация.
  • Поиск сразу по нескольким источникам.
  • Полнотекстовый поиск в локальных словарях с использованием библиотеки Xapian.
  • Интеграция с Anki.
  • И многое другое.

Словарь написан на языке C++ с использованием фреймворка Qt 6 и распространяется по лицензии GNU GPL 3.

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

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

dataman
()

Shotcut 26.1 и 26.2 BETA

 , , , ,

Группа Мультимедиа

30 января состоялся выпуск 26.1 кроссплатформенного видеоредактора Shotcut с поддержкой большого количества аудио- и видеоформатов благодаря использованию библиотек FFmpeg.

Проект написан на языке С++ с использованием фреймворков MLT (mltframework.org) и Qt, и распространяется по лицензии GPL 3.0.

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

>>> Список изменений версии 26.2 BETA на GitHub – там же можно скачать сборки в различных форматах.

>>> Список изменений версии 26.1 на shotcut.org (shotcut.org)

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
()

FocusWriter 1.9.0

 , , focuswriter, ,

Группа Open Source

Состоялся выпуск 1.9.0 FocusWriter — простого текстового процессора без отвлекающего внимание интерфейса, который становится доступен при перемещении «мыши» к краям экрана.

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

При открытии программы ваша текущая работа автоматически загрузится и откроется на том месте, где вы остановились, чтобы вы могли сразу же вернуться к ней.

Поддерживаются форматы OpenDocument, XML, Office Open XML, Rich Text Format и TXT.

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

>>> Подробности на 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
()

libzim 9.5.0

 , , , ,

Группа Open Source

Состоялся выпуск 9.5.0 библиотеки libzim, предназначенной для работы с файлами в формате ZIM (openzim.org). Разработка библиотеки ведётся и спонсируется проектом Kiwix.

ZIM — формат, предназначенный для офлайн-хранения информации, полученной из Интернета, в виде одного файла. В ZIM-файле в сжатом виде находятся логически связанные между собой HTML-страницы (а иногда и образы сайтов целиком) с работающими гиперссылками, изображениями, звуком и видео.

Проектом Kiwix разрабатывается набор консольных утилит zim-tools, десктопный и мобильные клиенты, и скрипты для создания файлов ZIM из дампов проектов Wikimedia или из HTML.

Также libzim используется в форке словаря GoldenDict – GoldenDict-NG.

Краткий список возможностей библиотеки:

  • создание файлов ZIM cо сжатием данных в формате Zstandard (ранее также поддерживались форматы ZIP, LZMA и Bzip2);
  • поиск по названиям статей;
  • опциональная поддержка Xapian для полнотекстового поиска. Множество файлов ZIM можно скачать здесь.

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

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

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
()

plocate 1.1.24

 , , plocate, ,

plocate 1.1.24
Группа Open Source

13 января, после более годового перерыва, состоялся выпуск 1.1.24 набора консольных утилит plocate для поиска файлов, полностью заменяющих locate(1) гораздо более быстрым и компактным индексом.

plocate работает путём создания инвертированного индекса из триграмм (комбинаций из трёх байтов) поисковых строк, что позволяет быстро сузить набор кандидатов до очень небольшого списка, вместо линейного сканирования каждой записи. Утилита выполняет почти все операции ввода-вывода асинхронно, используя API io_uring, если он доступен (Linux 5.1+), что снижает влияние задержки поиска в системах без SSD. Как и mlocate и slocate, возвращаемый набор файлов зависит от прав пользователя, то есть, пользователь увидит файл только в том случае, если find(1) его отображает (все каталоги из корня имеют права +rx).

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

>>> Список изменений в файле NEWS архива (sesse.net)

dataman
()