LINUX.ORG.RU

Сообщения dataman

 

whisper.cpp 1.7.5

Новости — Open Source
whisper.cpp 1.7.5
Группа Open Source

2 апреля состоялся выпуск 1.7.5 высокопроизводительной системы автоматического распознавания речи whisper.cpp, реализующей модель Whisper от OpenAI, написанной на языках C и C++ и распространяемой по лицензии MIT.

В проекте используется авторская тензорная библиотека машинного обучения GGML, написанная на языке C и оптимизированная для использования различных бэкендов (CUDA, Vulkan, BLAS, SYCL, OpenCL и др.).

Это довольно большое обновление с различными улучшениями сборки и CI, особенно для iOS и WASM. Также есть некоторый прирост производительности, особенно для бэкенда Metal и, возможно, для устройств на базе Arm.

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

>>> Подробности на GitHub

 , , , ,

dataman
()

mlterm 3.9.4

Новости — Open Source
mlterm 3.9.4
Группа Open Source

После двух лет разработки состоялся выпуск 3.9.4 кроссплатформенного эмулятора терминала mlterm.

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

>>> Подробности на GitHub

 , mlterm, , ,

dataman
()

FTXUI 6.0.0 и 6.0.1

Новости — Разработка
FTXUI 6.0.0 и 6.0.1
Группа Разработка

28 марта, после более полутора лет разработки, состоялись выпуски 6.0.0 и 6.0.1 кроссплатформенной библиотеки FTXUI, предназначенной для создания на C++ приложений с текстовым интерфейсом и распространяемой по лицензии MIT.

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

  • функциональный стиль, наподобие React JS;
  • простой и элегантный стиль (по мнению автора библиотеки);
  • обработка событий клавиатуры и «мыши»;
  • поддержка UTF8 и Unicode;
  • поддержка True Color;
  • поддержка изменения стиля курсора;
  • поддержка анимаций;
  • поддержка рисования;
  • отсутствие сторонних зависимостей;
  • кроссплатформенность (Linux/MacOS, WebAssembly, Windows).

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

>>> Подробности на GitHub

 , , , ,

dataman
()

Lug 0.5.0

Новости — Разработка
Lug 0.5.0
Группа Разработка

19 марта состоялся выпуск C++ библиотеки Lug, реализующей встраиваемый предметно-ориентированный язык для выражения синтаксических анализаторов в виде расширенных грамматик синтаксических выражений, и распространяемой по лицензии MIT.

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

  • Естественный синтаксис, напоминающий языки внешних генераторов парсеров, с поддержкой атрибутов и семантических действий.
  • Возможность работы с контекстно-зависимыми грамматиками с таблицами символов, условиями и синтаксическими предикатами.
  • Сгенерированные парсеры компилируются в байткод и выполняются в виртуальной машине синтаксического анализа.
  • Чёткое разделение синтаксических и лексических правил с возможностью настройки неявного пропуска пробельных символов.
  • Поддержка прямой и косвенной левой рекурсии, с уровнями старшинства для разграничения подвыражений со смешанными левой и правой рекурсиями.
  • Полная поддержка разбора текста в формате UTF-8, включая уровень 1 и частичное соответствие уровню 2 технического стандарта UTS #18 Unicode Regular Expressions.
  • Обработка ошибок и восстановление с помощью помеченных сбоев, правил восстановления и обработчиков ошибок.
  • Автоматическое отслеживание номеров строк и колонок, настраиваемая ширина и выравнивание табуляции.
  • Header-only-библиотека, использующая только стандартную библиотеку и возможности стандарта C++17. Перспективно совместима со стандартами C++20 и C++23.
  • Относительно небольшой размер библиотеки, с целью содержания общего количества строк во всех заголовочных файлах на уровне менее 6000 строк лаконичного кода.

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

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

 , , , ,

dataman
()

mpv 0.40

Новости — Мультимедиа
Группа Мультимедиа

После полугода разработки состоялся выпуск 0.40 популярного кроссплатформенного медиаплеера с открытым исходным кодом mpv.

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

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

 , , , ,

dataman
()

Linux 6.14

Новости — Ядро Linux
Linux 6.14
Группа Ядро Linux

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.14. Среди наиболее заметных изменений: драйвер ntsync c примитивами синхронизации Windows NT, настройка балансировки операций чтения в Btrfs RAID1, поддержка reflink в XFS в режиме realtime, возможность некэшируемого буферизированного ввода/вывода, dmem cgroup для ограничения памяти GPU, задействование io_uring в FUSE, делегирование атрибутов в NFS, поддержка атомарной записи в Device mapper, ускорение символических ссылок, управление возможностью выполнения скриптов, поддержка чипов Qualcomm Snapdragon 8 Elite, драйвер для NPU AMD.

В новую версию принято 12115 исправлений от 1984 разработчиков, размер патча – 39 МБ (изменения затронули 10170 файлов, добавлено 531586 строк кода, удалено 235999 строк). В прошлом выпуске было 14172 исправлений от 2086 разработчиков, размер патча – 46 МБ. Около 41% всех представленных в 6.14 изменений связаны с драйверами устройств, примерно 13% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 7% – с файловыми системами и 4% c внутренними подсистемами ядра.

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

>>> Подробности на OpenNET

 , , ,

dataman
()

Растогруб

Форум — Talks

https://www.opennet.ru/opennews/art.shtml?num=62945

Разработчики GRUB2 рассматривают возможность использования языка Rust.

Владимир Сербиненко, один из трёх мэйнтейнеров загрузчика GRUB2, внёсший в кодовую базу более пяти тысяч изменений, выставил на обсуждение возможность написания модулей для GRUB2 c использованием языка Rust. Владимир представил первые результаты экспериментов с добавлением поддержки Rust в GRUB2 и созданием необходимых обвязок. Для GRUB также подготовлены изменения, позволяющие использовать разделяемые библиотеки («.so», ET_DYN) для модулей, вместо связывания на уровне объектных файлов («.o», ET_REL).

Инициатива пока позиционируется как отдельный эксперимент, который не будет влиять на разработку GRUB2. В качестве оптимального применения Rust в GRUB упоминается написание модулей для новых файловых систем. Также не исключается переписывание на Rust кода для работы с дисковыми разделами и GPT.

Предполагается, что использование Rust поможет проекту уменьшить вероятность появление некоторых видов ошибок, особенно в коде модулей, содержащем множество больших и сложных процедур парсинга. В феврале в результате аудита кодовой базы GRUB были выявлены 72 проблемы с безопасностью, 21 из которых признаны опасными уязвимостями, пригодными для обхода механизма верифицированной загрузки UEFI Secure Boot. 20 из 21 уязвимостей вызваны ошибками при работе с памятью, приводившими к переполнению буфера или обращению к памяти после её освобождения.

Дополнительно можно отметить выпуск проекта GNU Boot 0.1 RC6, в состав которого вошли вышеотмеченные исправления уязвимостей (в самом GRUB2 исправления продолжают распространяться в виде патчей без формирования отдельного релиза). Проект GNU Boot развивает замену проприетарным прошивкам UEFI и BIOS, основанную на CoreBoot, но применяющую более жёсткие требования к включению бинарных компонентов. GNU Boot преподносится как «coreboot-libre», т.е. как редакция CoreBoot, избавленная от блобов и несвободных компонентов, по аналогии с тем, как проект Linux-libre развивает очищенный вариант ядра Linux. Отдельно развиваются похожие проекты Libreboot и Canoeboot.

 ,

dataman
()

Glaze 5.0.0 и 5.0.1

Новости — Разработка
Группа Разработка

5 и 20 марта состоялись выпуски 5.0.0 и 5.0.1 высокопроизводительной библиотеки Glaze, предназначенной для чтения и записи JSON.
Также поддерживаются форматы CSV и BEVE. Библиотека написана на языке C++ (header-only, стандарт C++23) и распространяется по лицензии MIT.

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

>>> Подробности на GitHub

 , , , ,

dataman
()

BLAKE3 1.7.0

Новости — Open Source
Группа Open Source

18 марта состоялся выпуск 1.7.0 библиотек BLAKE3, реализующих криптографический алгоритм хеширования BLAKE3 на языках C и Rust, и распространяемых как общественное достояние или по лицензии Apache 2.0.

Проектом также предоставляется консольная утилита b3sum, написанная на языке Rust.

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

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

 , , , ,

dataman
()

Git 2.49

Новости — Разработка
Git 2.49
Группа Разработка

14 марта, после двух месяцев разработки, состоялся выпуск 2.49 распределённой системы управления версиями Git, написанной на языке C и распространяемой по лицензии GNU GPL 2.

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

>>> Основные изменения в блоге GitHub

>>> Полный список изменений версии 2.49 на GitHub

 , ,

dataman
()

TinyXML2 10.1.0 и 11.0.0

Новости — Разработка
Группа Разработка

9 и 16 марта, после более года разработки, состоялись выпуски 10.1.0 и 11.0.0 небольшой, простой и эффективной C++ библиотеки TinyXML2, предназначенной для парсинга XML и распространяемой по лицензии Zlib.

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

  • Устранена уязвимость CVE-2024-50615, связанная с проблемой разбора кодировок символов.
  • Исправлены некоторые внутренние типы (int -> size_t), в связи с чем нарушена совместимость c ABI прежних версий.
  • Исправлены ошибки сборки и опечатки.

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

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

 , , ,

dataman
()

GIMP 3.0

Новости — Мультимедиа
Группа Мультимедиа

16 марта, после семи лет активной разработки, состоялся значительный выпуск 3.0 графического редактора GIMP. Несмотря на то, что изначально основное внимание уделялось обновлению библиотеки графического интерфейса, этот релиз содержит множество новых функций и улучшений.

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

>>> Подробности на gimp.org

 

dataman
()

PlutoVG 1.0.0

Новости — Разработка
Группа Разработка

11 марта состоялся первый значительный выпуск 1.0.0 библиотеки двухмерной векторной графики PlutoVG, написанной на языке C и распространяемой по лицензии MIT. У библиотеки нет сторонних зависимостей.

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

  • стили рисования линий;
  • сплошное, градиентное и текстурное закрашивание;
  • шрифты и текст;
  • обрезка и композиция;
  • трансформации;
  • изображения.

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

>>> Список изменений на GitHub

 , , ,

dataman
()

ugrep 7.3

Новости — Open Source
ugrep 7.3
Группа Open Source

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, как и ожидает пользователь.

>>> Список изменений версии 7.3 на GitHub

 , , , ,

dataman
()

Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью

Форум — Talks

https://www.opennet.ru/opennews/art.shtml?num=62821

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения инициатив по переходу на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже содержит все возможности, необходимые для безопасной работы с памятью. Остаётся только предоставить средства, гарантирующие, что код написан с использованием только безопасных возможностей.

По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры, так как Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью. До 2026 года производителям ПО рекомендовано разработать план по применению в своих продуктах технологий, защищающих от ошибок при работе с памятью, или переходу на использование языков, безопасно работающих с памятью.

Стандартизация возможностей для безопасной разработки на C++ позволит сохранить интерес к языку С++, особенно с учётом того, что разработчики существующих проектов на С и C++ смогут постепенно наращивать безопасность своих продуктов, не прибегая к инициативам по переписыванию на другом языке. В частности, проекты на C можно преобразовать в код С++, а за тем поэтапно переводить код на безопасные конструкции, следуя рекомендациям из руководства «C++ Core Guidelines».

Для обеспечения разработки безопасного кода Страуструп предлагает стандартизировать систему профилей C++, вводящих дополнительные требования к коду. Профили близки к применению флагов -Wall и -Wextra при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики. Привязку к профилям можно задавать не только для проекта и файлов (например, [[profile::enforce(type)]]), но и включать/отключать на уровне отдельных конструкций (например, [profile::suppress(lifetime))] this->succ = this->succ->succ;).

Работа по повышению безопасности будет сводится к включению профиля для определённого кода и переписыванию частей, использующих небезопасные возможности языка, охватываемые выбранным профилем. Например, использование профилей поможет уйти от применения в коде сырых указателей и массивов, избавиться приведения типов и защититься от обращений к неинициализированным объектам. Вместо сырых указателей можно использовать, например, умные указатели std::unique_ptr и std::shared_ptr с отслеживанием владения. При наличии в коде циклов «for», перебирающих отдельные элементы Си-массива, потребует заменить данные циклы на вариант с обработкой диапазонов for(type variable : vector), использующий std::vector.

Предложены следующие профили:

  • type – каждый объект должен быть инициализирован, не допускается приведение типов.
  • lifetime – запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
  • bounds – требуется проверка допустимых диапазонов при работе с указателями, запрещены арифметические операции с указателями.
  • arithmetic – блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение.
  • concurrency – исключает операции, приводящие к взаимным блокировкам и состояниям гонки.
  • RAII (Resource Acquisition Is Initialization) – требует проверки владения для каждого ресурса.

Гарантии, реализуемые при использовании профилей:

  • Обращение к объекту допускается только в соответствии с типом, под которым этот объект был определён.
  • Каждый объект должен быть корректно создан и освобождён.Каждый объект должен быть корректно создан и освобождён.
  • Каждый указатель должен указывать на корректный объект или нулевой указатель.
  • Каждая ссылка через указатель не должна переходить по нулевому указателю.
  • Каждое обращение через индексированный указатель должно находиться в пределах допустимого диапазона.

 , , ,

dataman
()

Clifm 1.24

Новости — Open Source
Группа Open Source

2 марта, после более месяца разработки, состоялся выпуск 1.24 (названный в честь Herman Toothrot из серии игр Monkey Island) консольного менеджера файлов Clifm, Clifm – это менеджер файлов c текстовым интерфейсом, созданный с учётом принципов дизайна интерфейса командной строки, а не дизайна TUI, как, например, превосходные Midnight Commander и Ranger.

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

>>> Список изменений версии 1.24 на GitHub

 , , , ,

dataman
()

Свершилось! На GitHub можно обсуждать Midnight Commander!

Форум — Talks

https://github.com/MidnightCommander/mc-old

Midnight Commander’s Legacy Repository

⚠️ This repository has been archived! ⚠️

It reflects the state just before we switched from Trac to GitHub for issue tracking on Feb 28, 2025.

Please use the new repository at MidnightCommander/mc instead!

– Maintainers


MidnightCommander/mc

Уже:

Issues 620

https://github.com/MidnightCommander/mc/discussions/4658

Welcome to Midnight Commander Discussions!

 , ,

dataman
()

CLI11 2.5.0

Новости — Разработка
CLI11 2.5.0
Группа Разработка

27 февраля, после более года разработки, состоялся выпуск 2.5.0 кроссплатформенной header-only библиотеки для C++ CLI11, предназначенной для разбора параметров командной строки и распространяемой по лицензии BSD 3.

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

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

>>> Подробности на GitHub

 , , ,

dataman
()

Lexilla 5.4.3, Scintilla 5.5.5, SciTE 5.5.5

Новости — Open Source
Группа Open Source

25 февраля, после двух месяцев разработки, состоялись выпуски 5.4.3 и 5.5.5 кроссплатформенных библиотек для парсинга, редактирования и подсветки кода Lexilla и Scintilla соответственно, а также выпуск 5.5.5 основанного на них редактора текстов SciTE.

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

>>> Подробности на scintilla.org

 , , , ,

dataman
()

Gifsicle 1.96

Новости — Мультимедиа
Gifsicle 1.96
Группа Мультимедиа

После годового перерыва состоялся выпуск 1.96 консольной утилиты Gifsicle, предназначенной для создания и редактирования изображений и анимаций в формате GIF, а также для получения информации о файлах в этом формате. В комплект поставки также входят утилиты gifdiff и gifview (для X11) для сравнения и просмотра файлов GIF, соответственно.

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

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

>>> Список изменений на lcdf.org/gifsicle

 , , , ,

dataman
()

RSS подписка на новые темы