Новости «Разработка»
Mettle 0.17.0
1 сентября состоялся выпуск 0.17.0 компилятора языка системного программирования Mettle и библиотеки libmtlc.
Основные возможности:
- Без LLVM, виртуальной машины и сборки мусора.
- Нативная генерация кода CPU: x86-64 (+ AVX2), ARM64.
- Нативная генерация кода GPU: NVIDIA PTX, SPIR-V (подробнее: gpu.md).
- Нативная компоновка Windows PE и ELF (подробнее: linker-build-pipelines.md).
- Без сторонних runtime (подробнее: runtime-model.md).
- Собственный промежуточный язык (подробнее: ir.md).
- Классические оптимизаторы кода и экспериментальная оптимизация на обученной нейросети (подробнее: ml-opt.md).
- Встроенный ассемблер.
- Собственный отладчик на уровне исходного кода:
- без внешних форматов;
- точки останова, пошаговая отладка, а также чтение и запись переменных в реальном времени с опцией компилятора
--debug-hooks; - без gdb, PDB и DWARF.
- Тестирование во время компиляции: функции с атрибутом
@testзапускаются в интерпретаторе компилятора командойmettle test, без создания бинарного файла. Командаmettle traceинтерпретирует одну функцию и выводит построчное отслеживание значений. Команда--pgoинтерпретирует функциюmain()на этапе сборки и передаёт измеренные частоты вызовов обратно в оптимизатор (подробнее: testing.md). - Проверка безопасности памяти командой
--safe(подробнее: memory-safety.md). - Проверка заимствований (подробнее: borrow checker.md).
Проект написан на языке C и распространяется по лицензии Apache 2.0.
( читать дальше... )
>>> Исходный код на GitHub
>>> Документация
>>> Бенчмарки
>>> Подробности на GitHub (github.com)
PCRE2 10.48
После 10 месяцев разработки состоялся выпуск 10.48 библиотеки PCRE2, реализующей PERL-совместимые регулярные выражения, с исправлениями ошибок безопасности, а также с исправлениями и небольшими улучшениями в работе библиотеки. Проект написан на языке C и распространяется по лицензии BSD 3.
В состав библиотеки также входит консольная утилита pcre2grep.
( читать дальше... )
>>> Подробности на GitHub (github.com)
LLVM 23
После шести месяцев разработки представлен релиз проекта LLVM 23.1.0, развивающего инструментарий (компиляторы, оптимизаторы и генераторы кода), компилирующий программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован в машинный код для заданной целевой платформы или использован JIT-компилятором для формирования машинных инструкций непосредственно во время выполнения программы. На базе технологий LLVM проектом развивается компилятор Clang, поддерживающий языки программирования C, C++ и Objective-C.
Начиная с ветки 18.x проект перешёл на новую схему формирования номеров версий, в соответствии с которой нулевой выпуск («N.0») используется в процессе разработки, а первая стабильная версия снабжается номером «N.1». Код проекта распространяется под лицензией Apache 2.0.
( читать дальше... )
>>> Источник: OpenNET (opennet.ru)
Gram 3.3.0
После почти месяца разработки состоялся выпуск 3.3.0 IDE и редактора кода Gram — форка Zed (linux.org.ru). Проект написан на языке Rust и распространяется по лицензии GNU GPL 3.
Проект начинался не с идеи создания идеального редактора, а как реакция на то, что происходило и происходит в мире разработки программного обеспечения, в мире в целом, а также в таких редакторах, как VS Code, Zed и Vim. Основная идея проекта заключается в том, что писать код от руки, тщательно следя за процессом, — это правильно и хорошо, и Gram стремится стать хорошим инструментом именно для этого.
Gram появился как сильно переработанный форк редактора Zed. Цель автора проекта — сделать так, чтобы Gram стал редактором, который сможет скачать, установить и использовать «из коробки» любой, кто впервые пробует себя в программировании. Не нужно будет настраивать редактор или устанавливать расширения, а сам редактор не должен предлагать пользователю что-то потенциально вредоносное, отвлекающее или сбивающее с толку.
( читать дальше... )
>>> Документация
>>> Исходный код на codeberg.org
>>> Подробности на gram-editor.com (gram-editor.com)
Bun 1.4
Представлен выпуск платформы Bun 1.4, предназначенной для обособленного выполнения приложений, написанных на языках JavaScript и TypeScript, и нацеленной на использование в качестве прозрачной замены платформы Node.js. Ветка 1.4 примечательная переводом кодовой базы с языка Zig на язык Rust, осуществлённым с использованием AI-инструментов Claude. Код продолжает распространяться под лицензией MIT.
В качестве причины переписывания на Rust отмечается желание устранить проблемы в Bun, вызванные утечками памяти, а также наличие разногласий с авторами Zig в плане применения AI для написания кода и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость. В качестве главного преимущества перехода на Rust упоминается возможность отлавливания и предотвращения ошибок при работе с памятью, диагностика которых последние годы отнимала у разработчиков Bun много времени.
Судя по проведённым тестам, версия на Rust потребляет на 13-48% меньше памяти, запускается в два раза быстрее и до 5 раз меньше нагружает CPU в режиме простоя. Размер исполняемого файла в версии на Rust сократился на 17%. При запуске при помощи Bun 1.4 приложения Claude Code нагрузка на CPU уменьшилась в два раза.
( читать дальше... )
>>> Источник: OpenNET (opennet.ru)
Zed 1.15
12 августа состоялся стабильный выпуск Zed 1.15.0, высокопроизводительного редактора кода. Zed разрабатывается создателями Atom и Tree-sitter, поддерживает Linux, macOS и Windows, а его исходный код преимущественно распространяется под лицензией GPL-3.0-or-later. Предварительная сборка Zed 1.15.0 появилась 5 августа, а спустя неделю изменения были перенесены в стабильный канал.
Zed написан преимущественно на Rust и распространяется по лицензии GPL 3+ (отдельные компоненты распространяются по лицензии Apache 2). Используется собственный GUI-фреймворк GPUI с аппаратным ускорением через Vulkan / Metal / DirectX.
Одним из основных новшеств этой версии стала настройка git.diff_base, позволяющая выбрать базу для отображения изменений Git. По умолчанию Zed, как и прежде, сравнивает незакоммиченные изменения с HEAD, но теперь редактор можно переключить в режим сравнения всей текущей ветки с точкой её расхождения с основной веткой репозитория. Настройка влияет на индикаторы изменений на полях редактора, цвета состояния файлов и команду git: diff, а в графическом интерфейсе доступна под названием Diff Against Default Branch.
Дополнительно появилась настройка gutter.git_gutter_width, позволяющая менять ширину индикаторов Git diff на полях редактора.
Для пользователей Linux заметным изменением стала поддержка перетаскивания файлов из Project Panel во внешние приложения при работе в Wayland. Аналогичная возможность реализована для macOS. Ранее drag-and-drop из панели проекта во внешние Wayland-приложения не поддерживался.
( читать дальше... )
>>> Источник (zed.dev)
mold 2.42.0
После четырёх месяцев разработки состоялся выпуск 2.42.0 высокопроизводительного кроссплатформенного линкера mold.
Проект написан на языке C++ (стандарт C++20) и распространяется по лицензии MIT.
( читать дальше... )
>>> Подробности на GitHub (github.com)
GCLI 2.13.0
5 августа состоялся выпуск 2.13. 0 консольной утилиты GCLI, поддерживающей API нескольких популярных сервисов хостинга Git-проектов, и позволяет создавать, просматривать и взаимодействовать с проблемами, запросами на слияние, метками и комментариями к ним, проверять состояние CI и конвейеров, искать репозитории и многое другое.
В отличие от GitHub CLI, GCLI поддерживает не только API GitHub, но и API Codeberg, Forgejo, Gitea, GitLab и Bugzilla.
Утилита написана на языке C и распространяется по лицензии BSD-2.
( читать дальше... )
>>> Подробности на GitHub (github.com)
Mojo 1.0
Представлен стабильный релиз языка программирования Mojo 1.0, который ознаменовал стабилизацию языка и реализацию всех базовых возможностей. Выпуск оценивается как готовый к повсеместному использованию и позволяющий начать разрабатывать крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость.
В состав платформы включены компоненты, необходимые для разработки приложений на языке Mojo, включая компилятор, runtime, интерактивную REPL-оболочку для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) с поддержкой автодополнения ввода, форматирования кода и подсветки синтаксиса, модуль для интеграции с Jupyter для сборки и запуска Mojo notebook. Исходный код стандартной библиотеки Mojo открыты под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Исходный код компилятора планируют открыть после завершения стабилизации внутренней архитектуры.
( читать дальше... )
>>> Источник: OpenNET (opennet.ru)
Mettle 0.15.0 и 0.15.1
31 июля состоялись выпуски 0.15.0 и 0.15.1 Mettle — языка системного программирования со статической типизацией:
-
Нативная поддержка x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0).
-
Собственный линкер для Windows PE.
-
Собственный отладчик на уровне исходного кода:
- Без внешних форматов.
- Точки останова, пошаговая отладка, а также чтение и запись переменных в реальном времени через
--debug-hooks. - Без gdb, PDB и DWARF.
-
Бэкенд CUDA.
-
Без LLVM, виртуальной машины и рантайма.
-
Выполнение на этапе компиляции: функции с атрибутом
@testзапускаются в интерпретаторе компилятора командойmettle test, без создания бинарного файла. Командаmettle traceинтерпретирует одну функцию и выводит построчное отслеживание значений. Команда--pgoинтерпретирует функциюmain()на этапе сборки и передаёт измеренные частоты вызовов обратно в оптимизатор. -
Проверка заимствований (borrow checker):
Описание Пример Аналог Rust Use-after-free (direct) free(p); p[0]ownership / DropDouble free free(p); free(p)ownership Use-after-free through an alias q = p; free(q); p[0]move semantics Use-after-free across a call (inferred) consume(p); p[0]whereconsumefreespmove semantics Borrow outliving its stack scope { var x; g = &x[0]; } use(g)lifetimes ( 'a)Interior pointer after reallocq = &buf[i]; realloc(buf,..); q[0]iterator invalidation Interior pointer after freeq = &buf[i]; free(buf); q[0]dangling reference Returning the address of a stack local return &localfn() -> &Tlifetime errorLeak (no owner on any path) var p = malloc(n); return 0(Rust frees via Drop)
Компилятор основан на библиотеке libmtlc:
- Собственный промежуточный язык (IR).
- Классические и GNN оптимизаторы кода.
- Нативная генерация кода (x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0)).
- Нативная компоновка.
Проекты написаны кейптаунским программистом suidvandiewereld на языке C (стандарт C99) и распространяются по лицензии Apache-2.0.
>>> Подробности на GitHub (github.com)
Wild 0.10
4 августа состоялся выпуск Wild 0.10 — свободного компоновщика, написанного на Rust и предназначенного прежде всего для быстрой сборки программ в Linux. Компоновщик выполняет заключительный этап сборки: объединяет объектные файлы и библиотеки в готовый исполняемый файл или разделяемую библиотеку. Wild может использоваться как замена GNU ld, LLD и Mold, хотя заявленная разработчиками конечная цель — инкрементальная компоновка — пока не реализована.
Одним из главных новшеств стала поддержка параметров --gdb-index и --no-gdb-index. При включении этой возможности Wild создаёт в выходном файле секцию .gdb_index с индексом отладочной информации. Благодаря этому GDB может быстрее находить необходимые символы в крупных программах, не формируя индекс отдельно после сборки. Реализация поддерживает девятую версию формата GDB Index; операции сканирования, объединения и записи индекса были распараллелены.
Значительно расширена работа со сценариями компоновщика. Добавлена поддержка:
( читать дальше... )
>>> Источник (github.com)
Обновился эмулятор архитектуры Эльбрус на основе QEMU
Эмулятор пользовательских приложений системы команд Эльбрус (qemu-e2k) обновился до версии 1.2. Скорректирован список неподдерживаемых операций.
Эмулятор qemu-e2k обеспечивает возможность, используя операционную систему семейства Linux запускать прикладные программы для операционных систем семейства Linux в машинных кодах Эльбрус (e2k) на компьютере архитектуры x86-64.
Эмулятор qemu-e2k (release 1.2) соответствует срезу версии 11.0.1 из основного репозитория проекта.
Версия qemu-e2k (release 1.2) поддерживает работу с приложениями, собранными под платформу Эльбрус версий системы
команд elbrus-v2 - elbrus-v6. По умолчанию задаётся версия системы команд elbrus-v6.
Версия qemu-e2k (release 1.2) имеет следующие ограничения:
( читать дальше... )
>>> Зеркало QEMU с патчами поддержки архитектуры Эльбрус (openelbrus.ru)
Perl 5.44
После года разработки опубликован релиз новой стабильной ветки языка программирования Perl — 5.44. При подготовке нового выпуска было изменено около 270 тысяч строк кода (без документации и автоматически сгенерированного кода — 110 тысяч), изменения затронули 860 файлов, в разработке принял участие 71 разработчик.
Ветка 5.44 выпущена в соответствии с утверждённым тринадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов — раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.44.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.44.0. Одновременно с выходом Perl 5.44 прекращена поддержка ветки 5.40, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. Начался процесс разработки экспериментальной ветки 5.45, на базе которой в первой половине 2027 года будет сформирован стабильный релиз Perl 5.46, если не будет принято решение перейти к нумерации 7.x.
( читать дальше... )
>>> Источник: OpenNET (opennet.ru)
Git 2.55
Представлен релиз распределенной системы управления исходными текстами Git 2.55. Среди ключевых изменений: включение по умолчанию сборки с Rust, реализация для Linux процесса fsmonitor, новая стратегия переупаковки инкрементального MIDX-индекса, команда git history fixup для исправления коммита, оптимизация генерации битовых карт доступности объектов, поддержка параллельного выполнения хуков, команда git format-rev. Код Git распространяется под лицензией GPLv2+.
( читать дальше... )
>>> Источник: OpenNET (opennet.ru)
pugixml 1.16
16 июня, после почти полутора лет разработки, состоялся выпуск 1.16 pugixml — быстрой кроссплатформенной библиотеки для парсинга и обработки XML (лицензия MIT).
Библиотека предоставляет DOM-подобный интерфейс с возможностями обхода узлов документа и их изменения. Также поддерживается XPath 1.0 и полная поддержка Юникода (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) и UCS-2), с автоматическим преобразованием кодировок.
Поддерживается использование без стандартной библиотеки и исключений C++, и режим «только заголовочные файлы».
( читать дальше... )
>>> Подробности на pugixml.org (pugixml.org)
Qt Creator 20
Вышел Qt Creator 20 — новая версия IDE для разработки приложений на Qt, C++, QML и смежных технологиях. В официальном анонсе Qt Company называет ключевыми новшествами поддержку AI coding agents, новый режим Zen Mode, поддержку системы сборки GN и набор улучшений для CMake, QML, Android, iOS и удалённой разработки под Linux.
Главное изменение выпуска — интеграция с AI-агентами через ACP Client. Новый компонент добавляет в Qt Creator панель чата с агентами, которые могут понимать кодовую базу и выполнять действия от имени разработчика: анализировать код, редактировать файлы, запускать команды и инициировать сборки. Интеграция построена на Agent Client Protocol, а готовые шаблоны подключения берутся из публичного ACP Registry. Среди поддерживаемых конфигураций в анонсе упомянуты Claude Code, Codex, Gemini CLI и GitHub Copilot.
Основные изменения Qt Creator 20
( читать дальше... )
Скачать исходный код и бинарные файлы
>>> Источник: qt.io (qt.io)
LDL 0.3 — графическая библиотека, оптимизированная для маломощных систем
Опубликован новый выпуск мультимедийной библиотеки LDL 0.3. Она помогает создавать графические приложения для старых и новых операционных систем. Код написан на языке Си под свободной лицензией LGPL 3.0.
Главные особенности библиотеки
- Поддержка систем. Код работает на Windows 95+, macOS 10.6+, Linux 2.0+ и FreeBSD 3.0+.
- Простой API. Помогает управлять окнами и собирать сигналы от мышки и клавиатуры.
- Любой OpenGL. Для отрисовки графики подходят версии от 1.0 до 4.6.
Что нового в версии LDL 0.3
( читать дальше... )
>>> Репозиторий LDL (github.com)
FTXUI 7.0.0
13 июня, после более года разработки, состоялся выпуск 7.0.0 кроссплатформенной библиотеки FTXUI, предназначенной для создания на C++ приложений с текстовым интерфейсом и распространяемой по лицензии MIT.
( читать дальше... )
>>> Подробности на GitHub и в первой редакции новости (github.com)
OpenCV 5.0.0
Опубликован OpenCV 5.0.0 — крупный выпуск открытой библиотеки компьютерного зрения и обработки изображений. Релиз состоялся 6 июня 2026 года и уже отмечен как актуальный в репозитории проекта на GitHub. OpenCV распространяется под лицензией Apache-2.0.
Суть релиза — переход OpenCV от «классической библиотеки компьютерного зрения» к более современной платформе для CV/AI-задач: проект вычистил старое API, переработал модуль нейросетевого инференса, расширил поддержку ONNX, добавил задел для VLM/LLM-сценариев и обновил 3D/калибровочный стек. Разработчики описывают OpenCV 5.0 как ветку, теперь тоже считающуюся стабильной, а новая функциональность будет попадать преимущественно туда.
Основные изменения
( читать дальше... )
>>> Источник (github.com)
| следующие → |
