LINUX.ORG.RU

C


345

5

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

MD4C 0.5.3

 , , md4c, ,

Группа Open Source

20-го апреля, после более чем двухлетней паузы, состоялся выпуск 0.5.3 быстрой библиотеки MD4C («Markdown for C»), предназначенной для парсинга данных в формате Markdown и конвертирования их в формат HTML. Поддерживаются спецификации Markdown CommonMark 0.31 и GitHub Flavored Markdown (GFM).

В комплект поставки также входит консольная утилита md2html.

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

>>> Почему MD4C такой быстрый?

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

Profanity 0.18.0

 , ,

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

Тихо и незаметно вышла новая версия консольного XMPP клиента Profanity, написанная на языке C.

Новые возможности:

  • Добавлена поддержка подсветки при проверке орфографии (#2132).
  • Реализована поддержка асинхронного вызова внешнего редактора (#2145) и (#1888).

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

>>> Источник (github.com)

XMPP
()

Kefir 0.5.1

 , c17, ,

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

Вышла новая версия компилятора Kefir для языка программирования Си. Kefir поддерживает стандарты C17 / C23, включая такие возможности, как:

  • комплексные числа _Complex;
  • десятичные числа _Decimal;
  • массивы переменной размерности на стеке VLA;
  • встроенный ассемблер;
  • генерация отладочных символов в формате DWARF5.

На текущий момент компилятор генерирует код под одну аппаратную платформу — System-V AMD64 ABI и реализованные на ней Unix-подобные операционные системы: Linux/glibc, Linux/musl, FreeBSD, OpenBSD, NetBSD и DragonflyBSD. Компилятор использует существующие сторонние компоновщик и ассемблер для целевой платформы. Kefir способен скомпилировать сам себя. Кроме того, он проходит набор тестов для gcc 15 и успешно собирает широкий набор ПО с открытыми исходными кодами. Компилятор поддерживает один уровень оптимизации.

Проект написан полностью «с нуля» в одиночку программистом Евгением Протопоповым и распространяется по лицензии GPL v3.

>>> Объявление о новой версии (protopopov.lv)

r--r--r--
()

jemalloc 5.3.1

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

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

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

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

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

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

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

dataman
()

htop 3.5.0

 , , , ,

Группа Open Source

9-го апреля, после года разработки, состоялся выпуск 3.5.0 интерактивной кроссплатформенной консольной утилиты htop, предназначенной для просмотра списка и информации о запущенных процессах и управления ими.

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

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

dataman
()

Solod — подмножество языка Go, транслируемое в язык Си

 , , , ,

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

Представлен язык программирования Solod (So), предоставляющий подмножество языка Go, транскомпилируемое в представление на языке Си (C11), пригодное для сборки компиляторами GCC, Clang и zig cc. Ключевым отличием Solod от Go является использование ручного управления памятью, работающего без применения сборщика мусора, без автоматического выделения памяти и без подсчёта ссылок. Транспайлер для Solod написан на языке Go и распространяется под лицензией BSD. Поддерживается работа в Linux, macOS и Windows.

Язык поддерживает структуры, методы, интерфейсы, слайсы, возврат функциями нескольких значений (например, результат + код ошибки), дженерики и отложенные вызовы (defer). C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания. При разработке на языке Solod могут использоваться существующие LSP-серверы, линтеры, интегрированные среды разработки и редакторы кода, поддерживающие язык Go, а также инструментарий «go test».

Написанный на Solod код может интегрироваться с приложениями на языке Си (язык Си может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на Си. На язык Си портированы Go-пакеты:

и т. п. Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной Си-библиотекой libc.

По умолчанию вся память выделяется в стеке, но через функции Alloc / Free стандартной библиотеки можно выделять память в куче. Сборка мусора и подсчёт ссылок не используются, но в Solod предоставляются возможности для проверки типов и аварийного завершения при обращении за границу массива. При этом проверки на возвращение висячих указателей dangling pointer и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью упоминается использование AddressSanitizer -fsanitize=address в современных компиляторах.

По производительности скомпилированные программы, написанные на Solod, в большинстве случаев быстрее программ на Go:

  • производительность работы функций из пакета Byte быстрее в полтора раза при идентичном потреблении памяти;
  • работа с байтовыми буферами быстрее в 1.3 раза при чтении и в 2-4 раза при записи;
  • в пакете Map выборка по целочисленному ключу быстрее в 3.4 раза, но модификация ключей медленнее в 1.6 раза;
  • выборка по строковым ключам на одном уровне с языком Go, но модификация медленнее в 1.5 раза;
  • парсинг и форматирование целых чисел быстрее в 2 раза, а с плавающей запятой - в 1.5/1.2 раза;
  • строковые функции быстрее в 1.3 раза, а создание строк быстрее в 2-4 раза при снижении потребления памяти на 10-20%.

>>> Подробности на OpenNET (opennet.ru)

PunkPerson
()

SQLite 3.53.0

 , ,

Группа Open Source

9-го апреля состоялся выпуск 3.53.0 компактной кроссплатформенной встраиваемой СУБД SQLite. Код проекта написан на языке C и распространяется как общественное достояние (public domain).

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

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

dataman
()

Компилятор Си в виде shell-скрипта

 , ,

Группа Open Source

На Гитхабе выложен компилятор C89 в ELF64 на языке shell (sh, не bash). 7796 строк, лицензия ISC (isc.org) (эквивалентна MIT).

>>> Новость на opennet.ru

>>> Скрипт на GitHub (github.com)

question4
()

Fossil SCM 2.28

 , , , ,

Группа Open Source

После пяти с половиной месяцев разработки состоялся выпуск 2.28 простой и высоконадёжной распределённой кроссплатформенной системы конфигурационного управления Fossil SCM, разрабатываемой автором SQLite, Дуэйном Ричардом Хиппом.

Fossil SCM выделяется среди систем контроля версий радикальной простотой развёртывания: весь проект — это один исполняемый файл без внешних зависимостей, который одновременно является VCS, встроенным веб-сервером, багтрекером, вики, форумом и чатом. Весь репозиторий со всей историей, тикетами и вики хранится в едином файле SQLite — его можно скопировать, забекапить или отправить коллеге одной командой scp. Проект используется самим автором для разработки SQLite — что само по себе говорит о надёжности инструмента. В отличие от Git, Fossil изначально проектировался с упором на целостность данных и простоту самостоятельного хостинга: поднять собственный сервер — это буквально одна команда fossil server. Философия проекта — «всё необходимое для жизни проекта в одном месте», без внешних сервисов и сложной инфраструктуры.

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

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

tis
()

ZXC 0.9.0

 , , , ,

Группа Open Source

Состоялся выпуск 0.9.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений. Формат разработан по принципу «один раз записать, многократно читать» (WORM).

В отличие от таких кодеков, как LZ4, ZXC жертвует скоростью сжатия ради максимальной пропускной способности при распаковке.

Декларируется скорость распаковки на 40%+ выше, чем у LZ4 на Apple Silicon, на 25%+ выше на Google Axion (ARM64) и на 5%+ выше на x86_64, при этом во всех случаях обеспечивается более высокий коэффициент сжатия.

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

Данный релиз содержит изменения, нарушающие ABI, поэтому SOVERSION увеличена до 2.

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

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

SQLite 3.51.3 с исправлением возможного повреждения базы данных в режиме WAL

 , ,

SQLite 3.51.3 с исправлением возможного повреждения базы данных в режиме WAL
Группа Open Source

13-го марта состоялся корректирующий выпуск 3.51.3 компактной встраиваемой СУБД SQLite. Код проекта написан на языке C и распространяется как общественное достояние (public domain).

В связи с проблемами обратной совместимости, связанными с некоторыми новыми функциями, версия 3.52.0 (вышедшая 6-го марта) была отозвана.

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

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

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

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

ZXC 0.8.0 и 0.8.1

 , , , ,

Группа Open Source

Состоялся выпуск 0.8.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений.

Декларируется на 40%+ более быстрая распаковка, чем LZ4 на ARM64, с лучшими коэффициентами сжатия.

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

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

dataman
()

krep 2.0.0

 , krep, , ,

Группа Open Source

11 февраля состоялся выпуск 2.0.0 krep — высокопроизводительной, многопоточной, SIMD-оптимизированной консольной утилиты для поиска строк.

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

  • В зависимости от типа шаблонов для оптимальной производительности используются алгоритмы Бойера—Мура—Хорспула, Кнута—Морриса—Пратта или Ахо—Корасик.
  • Использование отображаемого на память файла при обработке больших файлов.
  • Автоматическое распределение поиска по доступным ядрам процессора.
  • SIMD-оптимизация с поддержкой SSE4.2, AVX2 и NEON.

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

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

Linux 6.19

 , , ,

Linux 6.19
Группа Ядро Linux

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.19. Среди наиболее заметных изменений: подсистема Live Update Orchestrator, поддержка PCIe Link Encryption, системный вызов listns, режим Zero-Copy Receive в io_uring, поддержка ARM-расширения MPAM, klp-build для генерации live-патчей, поддержка архитектуры LoongArch32, QoS для s2idle, оптимизация подсистемы аудита, Intel LASS для защиты от Spectre, поддержка хэшей SHA-3 и BLAKE2b, механизм Confidential VMBus, TX-оптимизации в сетевой подсистеме, протокол CAN XL, API для аппаратного ускорения HDR-вывода.

В анонсе новой версии Линус сообщил, что следующему выпуску ядра будет присвоен номер 7.0, так как в ветке 6.x накопилось достаточного выпусков для смены первого числа в номере версии (в своё время выпуск 6.0 был сформирован следом за 5.19). Смена нумерации осуществляется из эстетических соображений и является формальным шагом, снимающим дискомфорт из-за накопления большого числа выпусков в серии. Линус пошутил, что его сбивают с толку большие числа для которых не хватает пальцев на руках и ногах. При этом формально повод для значительного изменения номера версии есть, так как начиная со следующего выпуска поддержку Rust решено перевести из экспериментальных в основные возможности ядра.

В новую версию принято 15657 исправлений от 2237 разработчиков, размер патча – 52 МБ (изменения затронули 13682 файла, добавлено 794649 строк кода, удалено 335498 строк). В прошлом выпуске было 15035 исправлений от 2217 разработчиков, размер патча – 45 МБ. Около 40% всех представленных в 6.19 изменений связаны с драйверами устройств, примерно 13% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% – с файловыми системами и 3% c внутренними подсистемами ядра.

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

>>> Подробности на OpenNET (opennet.ru)

dataman
()

Git 2.53

 , , ,

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

2 февраля представлен выпуск распределенной системы управления исходными текстами Git 2.53.

Git отличается высокой производительностью и предоставляет средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям «задним числом» используются неявное хеширование всей предыдущей истории в каждом коммите, а также удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.

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

>>> Подробности на OpenNET (opennet.ru)

dataman
()

GNU Nettle 4.0

 , , , ,

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

Niels Möller

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

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

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

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

splinter
()