| · | 28.09.2026 | В 2025 году выручка компании Canonical достигла 345 млн долларов (67 +2) |
Компания Canonical раскрыла финансовые показатели за 2025 год. Выручка за 2025 год составила 345 млн долларов, а чистая прибыль - 22.8 млн долларов при валовой маржинальности 89%. Для сравнения в 2024 году размер выручки был 292 млн долларов, а чистая прибыль - 18.1 млн долларов. Что касается затрат, то 27% полученных средств было потрачено на организацию продаж и маркетинг, 11% (в 2024 году 13%) на исследования и разработку, а 47% на общие расходы и административные нужды. Среднее число сотрудников за год увеличилось с 596 до 607 человек.
![]()
| ||
|
Обсуждение (67 +2) |
Тип: К сведению |
| ||
| · | 28.09.2026 | Выпуск видеоредактора Shotcut 26.9 (19 +11) |
|
Опубликован релиз видеоредактора Shotcut 26.9, развиваемого автором проекта MLT и использующего данный фреймворк для редактирования видео. Поддержка форматов видео и звука реализована через FFmpeg. Возможно использование плагинов с реализацией видео и аудио эффектов, совместимых с Frei0r и LADSPA. Из особенностей Shotcut можно отметить возможность многотрекового редактирования с компоновкой видео из фрагментов в различных исходных форматах, без необходимости их предварительного импортирования или перекодирования. Имеются встроенные средства для создания скринкастов, обработки изображения с web-камеры и приёма потокового видео. Код написан на C++ с использованием фреймворка Qt и распространяется под лицензией GPLv3. Готовые сборки доступны для Linux (AppImage и snap), macOS и Windows.
Среди изменений в новом выпуске:
| ||
|
Обсуждение (19 +11) |
Тип: Программы |
| ||
| · | 28.09.2026 | Выпуск Wifibox 0.17, окружения для использования WiFi-драйверов Linux во FreeBSD (32 +2) |
|
Доступен выпуск проекта Wifibox 0.17, нацеленного на решение проблемы с использованием во FreeBSD беспроводных адаптеров, для которых отсутствуют необходимые драйверы. Работа проблемных для FreeBSD адаптеров в Wifibox обеспечивается через запуск гостевой системы с Linux, в которой загружаются родные для Linux драйверы беспроводных устройств. Окружение потенциально может применяться для любых WiFi-карт, поддерживаемых в Linux, и протестировано на чипах Intel, AMD/MediaTek, Realtek, Qualcomm и Broadcom.
Установка гостевой системы с драйверами автоматизирована, а все необходимые компоненты оформлены в виде готового пакета wifibox, который запускается при загрузке при помощи поставляемого в комплекте rc-сервиса. Гостевая система запускается при помощи гипервизора Bhyve, в котором организуется проброс доступа к беспроводной карте. Для работы требуется система с поддержкой аппаратной виртуализации (AMD-Vi или Intel VT-d). Начинка гостевой системы основана на дистрибутиве Alpine Linux, построенного на базе системной библиотеки Musl и набора утилит BusyBox. Для подключения к беспроводной сети используется пакет wpa_supplicant, файлы конфигурации для которого синхронизируются с настройками из основного окружения FreeBSD. Создаваемый для wpa_supplicant управляющий Unix-сокет пробрасывается в хост-окружение, что позволяет использовать штатные утилиты FreeBSD для подключения и работы с беспроводной сетью, такие как wpa_cli и wpa_gui (net/wpa_supplicant_gui). В новом выпуске прекращено использование для загрузки grub-bhyve, оставлена только возможность запуска гостевых систем с поддержкой UEFI. Прекращено использование сетевых мостов (для корректной работы во FreeBSD 15 сетевой интерфейс tap теперь используется напрямую без заворачивания через интерфейс bridge). Прекращена поддержка ветки FreeBSD 13. Обеспечено завершение управляющего процесса в случае завершения выполнения гостевой системы.
| ||
|
Обсуждение (32 +2) |
Тип: Программы |
| ||
| · | 28.09.2026 | Выпуск программы для ведения заметок OutWiker 4.1 (23 +3) |
Опубликован выпуск программы для хранения заметок OutWiker 4.1. Программа хранит заметки в виде каталогов с текстовыми файлами, к каждой заметке можно прикреплять произвольное количество файлов. Заметки можно создавать с использованием разметки HTML, вики и Markdown (если установлен соответствующий плагин). С помощью плагинов можно добавить возможность размещения на викистраницах формул в формате LaTeX и вставки блоков кода с подсветкой синтаксиса различных языков программирования. Программа написана на языке Python (интерфейс на wxPython), распространяется под лицензией GPLv3 и доступна в сборках для Linux (snap и flatpak) и Windows.
![]() Изменения в версии 4.1:
Началась работа над следующей версией OutWiker 5.0, в которой для Windows задействован более новый HTML-движок Edge, но прекращена поддержка Windows 7.
| ||
| · | 27.09.2026 | Первый выпуск osu!cpp, неофициального клиента для игры osu! на C++23 и Skia (33 +9) |
|
Опубликован первый выпуск osu-cpp, неофициального клиента ритм-игры osu!, написанного на C++23 в виде модулей и использующего для отрисовки библиотеку Skia. Код распространяется под лицензией AGPLv3. Клиент собирается для Linux (обычная сборка, Flatpak, Nix, Guix), для браузера (WebAssembly), для Android и для Ubuntu Touch. Браузерную версию можно запустить без установки. Вместе с клиентом под лицензией AGPLv3 развиваются библиотеки для построения графического интерфейса skiff и skiff-widgets.
Основные возможности:
Выпуск собирается дважды, второй раз без кеша компилятора, и результаты сравниваются для проверки воспроизводимости сборок: у 0.1.0 все сборки полностью совпали. Для Android используется сборка минимального Android NDK посредством minimal-android-ndk.cpp (AGPLv3), так как официальные бинарные сборки Android NDK распространяются под проприетарной лицензией. Весь код распространяется под AGPLv3, но при первом запуске опционально скачивается несвободный скин под лицензией CC-BY-NC-4.0. Приложение может работать и без него. ![]() ![]() ![]() ![]()
| ||
| · | 25.09.2026 | Опубликован менеджер установки приложений F-Droid 2.0 (140 +49) |
|
Проект F-Droid, развивающий каталог открытых приложений для Android, опубликовал официальное мобильное приложение F-Droid 2.0, в котором задействовано современное оформление в стиле Material Design, переписаны ключевые компоненты, переработана система разделения приложений на категории, упрощены процессы поиска и установки приложений, но при этом сохранены привычные методы работы. Код проекта распространяется под лицензией GPLv3.
По умолчанию осуществляется навигация по каталогу свободных программ f-droid.org, но поддерживается подключение к любому другому совместимому с F-Droid репозиторию. Программа выполняет такие задачи, как уведомление о появлении обновлений, автоматическая загрузка и установка обновлений, отсеивание программ, несовместимых с установленной версией Android, поиск нужных программ, проверка целостности по цифровой подписи. ![]()
Среди изменений:
| ||
|
Обсуждение (140 +49) |
Тип: Программы |
| ||
| · | 24.09.2026 | Выпуск среды рабочего стола COSMIC 1.9.0 (78 +23) |
|
Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, опубликовала выпуск среды рабочего стола COSMIC 1.9.0. Пакеты с COSMIC 1.9.0 доступны в дистрибутиве Pop!_OS 24.04 и в ближайшее время ожидаются в Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox и CachyOS. Код написан на языке Rust и распространяется под лицензиями GPLv3 (приложения) и MPL-2.0 (библиотеки).
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland. Среди изменений:
| ||
|
Обсуждение (78 +23) |
Тип: Программы |
| ||
| · | 23.09.2026 | Дистрибутив Peppermint OS переходит с X.Org Server на XLibre (73 +19) |
|
Разработчики Linux-дистрибутива Peppermint OS, построенного на пакетной базе Debian GNU/Linux и предлагающего пользовательское окружение на основе рабочего стола Xfce и файлового менеджера Thunar, анонсировали переход на использование по умолчанию XLibre, форка X.Org Server. XLibre будет задействован в следующем обновлении iso-образов PeppermintOS, до публикации которых для тестирования предложены экспериментальные сборки.
В обозримом будущем Peppermint OS планирует оставаться на стеке X11, так как в среде рабочего стола Xfce намерены продолжать полноценную поддержку X11. По мнению разработчиков Peppermint OS, проект XLibre отлично подходит для пользователей, предпочитающих использовать X11 вместо Wayland, так как в нём продолжена работа по исправлению ошибок, сопровождению, чистке и модернизации оригинальной кодовой базы X.Org Server.
| ||
|
Обсуждение (73 +19) |
Тип: Программы |
| ||
| · | 23.09.2026 | Выпуск музыкального проигрывателя Fooyin 0.13 (181 +15) |
|
Состоялся выпуск музыкального проигрывателя Fooyin 0.13, нацеленного на предоставление расширенных возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3. Готовые пакеты сформированы для Fedora, Debian и Ubuntu, а также в формате flatpak.
Поддерживается воспроизведение файлов в формате FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey's Audio, VGM и различных трекерных форматов. Среди возможностей Fooyin: извлечение сведений о порядке и длительности звуковых треков из CUE-файлов, воспроизведение без пауз (gapless), создание, импорт и экспорт списков воспроизведения в форматах M3U/M3U8, фильтрация содержимого музыкальной библиотеки по любым полям, древовидное представление коллекции, редактирование тегов, визуализации при помощи спектрограмм, навигация на уровне каталогов в файловой системе с возможностью прямого воспроизведения выбранных файлов. Для внешнего управления проигрывателем может использоваться D-Bus-интерфейс MPRIS (Media Player Remote Interfacing Specification). Наиболее заметные улучшения:
![]() ![]()
| ||
|
Обсуждение (181 +15) |
| ||
| · | 23.09.2026 | Первый выпуск scan, библиотеки разбора текста для C++ с построением конечного автомата при компиляции (96 +14) |
Опубликован первый выпуск библиотеки scan
(0.1.0), разбирающей текст в значения по шаблону, известному на этапе
компиляции. Шаблон или формат записывается как аргумент шаблона C++ и
превращается при компиляции в размеченный детерминированный конечный автомат (tagged deterministic finite automaton, TDFA), обход которого разворачивается по состояниям в код на этапе компиляции с использованием шаблонов C++. Результатом выполнения является значение запрошенного типа. Код проекта написан на C++23 и распространяется под лицензией GPLv3.
import scan;
// Совпадает ли вся строка. Каждая точка входа - ещё и адаптор диапазона.
scan::match<"[a-z]+@[a-z.]+">(address);
address | scan::match<"[a-z]+@[a-z.]+">;
// С группами.
const auto found = scan::match<"([0-9]+)-([a-z]+)">("42-abc");
found.get<1>().to_view(); // "42"
// Начало строки, занятое шаблоном, и первое совпадение где угодно.
scan::starts_with<"[a-z]+">("abc123").whole().to_view(); // "abc"
scan::search<"[0-9]+">("id=4210x").to_view(); // "4210"
// Все совпадения и куски между ними - ленивые представления.
for (const auto& one : text | scan::search_all<"[a-z]+">) { ... }
const auto fields = "a,bb,,ccc" | scan::split<","> | std::ranges::to<std::vector>();
// Значения, а не текст.
struct row { int id; std::string_view name; };
const row one = scan::scan<"{},{[a-z]+}">(line);
// Список, сумма типов, вложенная форма.
struct all { std::vector<int> values; std::variant<int, std::string_view> tail; };
const all got = scan::scan<"{{}{*,?}} {{[0-9]+}|{[a-z]+}}">("1,2,3 abc");
// Начало ввода и то, что от него осталось.
const auto [value, rest] = scan::scan_prefix<"{},{}">(line).take<point>();
// По записи за раз, из чего угодно.
for (const row& one : scan::each<"{},{[a-z]+}\\n">(text).of<row>()) { ... }
Диапазон, который можно прочитать лишь однажды, читается без буферизации, поля собираются по мере поступления символов. Сколько символов придётся удержать, шаблон задаёт при компиляции; там, где такого числа нет, чтение отклоняется при компиляции.
std::istringstream source("set speed 42\\nset gain 7\\n");
source > std::noskipws;
struct command { scan::held<16> name; int value; };
for (const command& one :
scan::each<"set {[a-z]+} {[0-9]+}\\n">(std::views::istream<char>(source))
.of<command>()) { ... }
Производительность.
Замеры проведены на Ryzen 9 9950X, clang 22.1.8 с libc++, -O3 -march=native,LTO. Тридцать две записи за проход, медиана семи проходов.
"([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+)" "alpha,bravo,charlie,delta,echo"
scan::scan<f>.sentinel() 477 нс
re2c 554 нс
scan::scan<f> 659 нс
CTRE 717 нс
RE2 15986 нс
те же пять полей, по двести букв каждое
scan::scan<f>.sentinel() 57.8 нс
re2c 637 нс
CTRE 692 нс
RE2 11751 нс
"first.last@subdomain.example.com" распознавание, ничего не извлекается
scan::match<p>.sentinel().scalar() 436 нс
scan::match<p>.scalar() 545 нс
re2c 1186 нс
RE2 2616 нс
CTRE 14339 нс
Свёртка групп по ходу разбора
Типу сообщается, к какой из его групп относится очередной символ, и вычисление выполняется на месте: ни одна итерация цикла не сохраняется, ни одной подстроки не создаётся.
struct tally { unsigned long value = 0; };
struct reading { tally number; std::string_view tail; };
template <>
struct scan::scanner<tally> {
static constexpr std::string_view pattern() { return R"(\\(((_+)(X|Y)*)*\\))"; }
struct state_type { unsigned long total = 0; unsigned place = 0, marks = 0; };
static constexpr state_type begin_groups() { return {}; }
static constexpr void opened_group(state_type& one, scan::group_at<0>) {
one.place = 0; one.marks = 0;
}
static constexpr void closed_group(state_type& one, scan::group_at<0>) {
unsigned long weight = 1;
for (unsigned step = 1; step < one.place; ++step) weight *= 10;
one.total += weight * one.marks;
}
static constexpr void push_group(state_type& one, scan::group_at<1>, char) {
++one.place;
}
static constexpr void push_group(state_type& one, scan::group_at<2>, char letter) {
one.marks += letter == 'Y' ? 2u : 1u;
}
static constexpr tally finish_groups(state_type one) { return {one.total}; }
};
const reading got =
scan::scan<"value={}{[a-z]*}">("value=(__X_XX)abcdefgh").of<reading>();
// got.number.value == 12, got.tail == "abcdefgh"
Контексты и аллокаторы Любой объект вызывающей стороны - аллокатор, пул, арену, что угодно ещё - можно передать в тот вызов, который создаёт значение. Тип контекста при этом не теряется: состояние сканера и каждый его хук могут быть шаблонами по нему, так что в сканере не упомянут ни один тип вызывающей стороны.
struct arena {
std::pmr::memory_resource* where = nullptr;
std::pmr::memory_resource* resource() const { return where; }
};
struct numbers { std::pmr::vector<int> values; };
struct both { numbers left; numbers right; };
template <>
struct scan::scanner<numbers> {
static constexpr std::string_view pattern() { return "([0-9]+)(?:,([0-9]+))*"; }
template <class Told>
struct state { std::pmr::vector<int> values; int running = 0; };
static state<scan::default_context_t> begin_groups() { return {}; }
template <class Told>
requires requires(const Told& one) { one.resource(); }
static state<Told> begin_groups(const Told& told) {
return {std::pmr::vector<int>(told.resource()), 0};
}
template <class Told, std::size_t Which>
static void push_group(state<Told>& one, scan::group_at<Which>, char digit) {
one.running = one.running * 10 + (digit - '0');
}
template <class Told, std::size_t Which>
static void closed_group(state<Told>& one, scan::group_at<Which>) {
one.values.push_back(one.running);
one.running = 0;
}
template <class Told>
static numbers finish_groups(state<Told> one) { return {std::move(one.values)}; }
};
std::pmr::monotonic_buffer_resource bytes;
const arena mine{&bytes};
scan::scan<"{} {}">(text).of<both>(mine); // один на оба места
scan::scan<"{} {}">(text).of<both>(mine, scan::default_context); // по одному на место
scan::scan<"{} {}">(text).of<both>({mine, scan::default_context}); // то же в скобках
const both got = scan::scan<"{} {}">(text).with(mine);
// Контексту не обязательно быть своим типом: аллокатор доходит до того,
// что строит чтение.
struct two { std::pmr::string name; std::pmr::string tail; };
const two kept = scan::scan<"{[a-z]+} {[a-z]+}">(text).of<
Хук получает сам объект вызывающей стороны, а не копию, поэтому состояние
может хранить его адрес: контекст живёт столько же, сколько вызов, а всё чтение происходит внутри этого вызова.
Собирается в clang и GCC. Модули C++ не обязательны: доступны заголовочные файлы (include/), которые генерирует из тех же модулей утилита demodulizer - каждый push в main пересобирает, линкует и коммитит их обратно. Единственная зависимость, Boost.PFR, не нужна при включённых binding packs из C++26.
FetchContent_Declare(scan
GIT_REPOSITORY https://github.com/j4niwzis/scan.git
GIT_TAG v0.1.0)
FetchContent_MakeAvailable(scan)
target_link_libraries(mine PRIVATE scan::scan)
| ||
| · | 22.09.2026 | Релиз операционной системы NetBSD 10.2 (47 +18) |
|
Опубликован релиз операционной системы NetBSD 10.2, который отнесён к категории корректирующих обновлений и включает в основном исправления проблем и уявзимостей, выявленных с момента публикации NetBSD 10.1 в декабре 2024 года. Ветка NetBSD 10 будет поддерживаться до релиза NetBSD 12.0. Для загрузки подготовлены установочные образы размером 639 МБ, доступные в сборках для 57 системных архитектур и 16 различных семейств CPU. Для новых установок рекомендуется использовать недавно опубликованный релиз NetBSD 11.0.
Из не связанных с исправлением ошибок изменений отмечается поддержка новых версий компиляторов, повышение стабильности работы WiFi-драйвера iwm, решение проблем при работе на системах Olimex A64 и MIPS R5000SC, реализация возможности загрузки ядра для amd64 при вызове qemu с опцией "-kernel". Добавлена поддержка устройств ASIX AX88179A USB Ethernet, Asus USB-N10 Nano B1 Wi-Fi, Realtek RTL8126 5Gbps Ethernet, RTL8125D (rev 0x6890000), RIoTboard i.MX6S IOMUX, VMware PV SCSI. Устранены уязвимости в ipfilter, telnet, TCP-стеке ядра, OpenSSL, Unbound и X.Org. Обновлены версии openssl 3.0.21, tmux 3.6a и xkbcomp 1.5.0.
| ||
|
Обсуждение (47 +18) |
Тип: Программы |
| ||
| · | 22.09.2026 | Выпуск операционной системы Solaris 11.4 SRU95 (48 +10) |
|
Компания Oracle опубликовала выпуск операционной системы Solaris 11.4 SRU 95 (Support Repository Update), в котором предложена серия значительных изменений и улучшений для ветки Solaris 11.4. Для установки предложенных в обновлении исправлений достаточно выполнить команду 'pkg update'. Пользователи также могут воспользоваться бесплатной редакцией Solaris 11.4 CBE (Common Build Environment), развиваемой с использованием модели непрерывной публикации новых версий.
Среди изменений в новой версии:
| ||
|
Обсуждение (48 +10) |
Тип: Программы |
| ||
| · | 22.09.2026 | Выпуск медиаплеера VLC 3.0.24 с устранением 130 уязвимостей (74 +27) |
|
Представлен выпуск мультимедийного проигрывателя VLC 3.0.24. Код написан на языке Си и распространяется под лицензией LGPLv2.1. В VLC и во встроенных библиотеках устранено более 130 проблем с безопасностью, вызванных переполнениями буфера, обращением к памяти после её освобождения, целочисленными переполнениями и двойным освобождением памяти (детали пока не раскрываются). Некоторые из уязвимостей могут эксплуатироваться при обработке специально оформленного контента.
Среди изменений, не связанных с уязвимостями и исправлением ошибок:
| ||
|
Обсуждение (74 +27) |
Тип: Программы |
| ||
| · | 21.09.2026 | Проект Convey развивает форк почтового клиента Geary (72 +3) |
|
Опубликован почтовый клиент Convey, продолжающий развитие проекта Geary, новые версии которого не публиковались с мая 2024 года. Наиболее заметным отличием от Geary является переход на использование библиотек GTK4 и libadwaita. Код написан на языке Vala и распространяется под лицензией LGPL.
Среди изменений:
![]()
| ||
|
Обсуждение (72 +3) |
Тип: Программы |
| ||
| · | 21.09.2026 | Выпуск дистрибутива MX Linux 25.3 (49 +15) |
|
Опубликован релиз легковесного дистрибутива MX Linux 25.3, созданного в результате совместной работы сообществ, образовавшихся вокруг проектов antiX и MEPIS. Выпуск основан на пакетной базе Debian с улучшениями от проекта antiX и пакетами из собственного репозитория. В дистрибутиве на выбор можно использовать системы инициализации sysVinit и systemd. Поставляются собственные инструменты для настройки и развёртывания системы. Для загрузки доступны 64-разрядные сборки (x86_64) с рабочим столом Xfce (2.7 ГБ), а также сборки с рабочим столом KDE (3.4 ГБ) и сборки (2.3 ГБ) с оконным менеджером Fluxbox.
В новом выпуске:
| ||
|
Обсуждение (49 +15) |
Тип: Программы |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить новость, Поддержать |