Компания Базальт СПО представила мобильную платформу ALT Mobile 11.0 ("Альт Мобильный"), предназначенную для смартфонов, планшетов и встраиваемых устройств с сенсорным экраном, таких как считыватели штрихкодов, контрольно-кассовые аппараты и терминалы сбора данных. Платформа построена на пакетной базе репозитория Сизиф (p11) и укомплектована графической оболочной Phosh, основанной на технологиях GNOME и использующей композитный сервер Phoc, работающий поверх Wayland.
Для загрузки подготовлены образы для архитектур x86_64 и ARM64, которые можно использовать для установки на устройства PinePhone, PinePhone Pro, PineTab 2 и планшеты "MIG" на архитектуре x86-64, а также для запуска в QEMU. Платформа также портирована для работы на игровых приставках Anbernic, PowKiddy, Retroid на базе SoC Rockchip, Allwinner и Qualcomm.
Свободно использовать загруженную версию могут только физические лица, в том числе - индивидуальные предприниматели. Коммерческие и государственные организации могут скачивать и тестировать платформу, но для постоянной работы в корпоративной инфраструктуре юридическим лицам необходимо приобретать лицензии или заключать лицензионные договоры в письменной форме. При этом разработка ALT Mobile ведётся в соответствии с принципами свободного программного обеспечения и кодовая база полностью открыта.
Платформа предоставляет возможность работы с системой нескольких пользователей, для переключения между которыми задействован менеджер входа Phrog. При необходимости можно использовать Waydroid и Wine для запуска приложений, собранных для Android и Windows, а также открытие эмулятора терминала для работы в командной строке. Поддерживается полнодисковое шифрование на базе LUKS.
При подключении мобильного устройства с монитору, клавиатуре и мыши платформа позволяет использовать систему в качестве полноценной рабочей станции с GNOME. Возможна установка приложений, имеющихся в репозиториях для десктоп-редакций ALT Linux, а также пакетов в формате flatpak.
Среди задействованных в платформе приложений:
Типовые приложения GNOME: конфигуратор GNOME Control Center 48.4,
центр приложений GNOME Software 49.2, эмулятор терминала GNOME Console 48.0.1, ведение списка дел Errands 46.2.9, переводчик Dialect 2.5.0, генератор кодов двухфакторной аутентификации GNOME Authenticator, Калькулятор, Календарь, Часы, Текстовый редактор, Погода, Камера, Файловый менеджер.
Программы, созданные командой ALT Linux Team: менеджер ярлыков в меню приложений Folder Manager 5.1, подсчёт хеш-сумм файлов Hashsum 4.0.9, дополнительные настройки ALT Tweaks 0.2.1, аутентификация в домене Mobile Auth 1.1.
Комитет ISO по стандартизации языка C++ утвердил финальный вариант спецификации, образующей международный стандарт "C++26". Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.
В следующие два месяца утверждённая спецификация будет находиться на стадии подготовки документа к публикации, на которой будет проведена работа по редакторской правке орфографических ошибок и опечаток. В начале ноября результирующий вариант документа будет направлен в ISO для публикации под формальным именем ISO/IEC 14882:2026.
Реализованы элементы контрактного программирования (Contracts), позволяющие определять формальные спецификации интерфейсов при помощи трёх новых операторов: pre (предусловие), post (постусловие) и contract_assert (проверка утверждения). Оператор "pre" определяет предварительные условия, которые должны быть выполнены перед вызовом (проверка входных данных); "post" - условия, которые должны соблюдаться после выполнения (требования к выходным данным); contract_assert - условия возникновения исключений. Возможность появится в GCC 16.
int f(const int x)
pre (x != 1) // требования ко входным данным
post (r : r == x && r != 2) // требования к результату; r - значение с результатом
{
contract_assert (x != 3);
return x;
}
Добавлена поддержка рефлексии (Reflection), позволяющей отслеживать и модифицировать элементы программы на стадии компиляции. Добавлены новые операторы "^^" для получения метаинформации о грамматической конструкции и "[:…:]" для выполнения обратного преобразования. Для преобразования и обработки полученной в ходе инспектирования информации предложена библиотека std::meta и доступны такие возможности, как вычисления с константами. Поддержка рефлексии будет добавлена в GCC 16.
constexpr int i = 42, j = 42;
constexpr std::meta::info r = ^^i, s = ^^i;
static_assert(r == r && r == s);
static_assert(^^i != ^^j); // 'i' и 'j' имеют различные значения.
static_assert(constant_of(^^i) == constant_of(^^j)); // 'i' и 'j' одинаковы
static_assert(^^i != std::meta::reflect_constant(42)); // отличается от значения 42
Добавлен оператор "template for" для перебора элементов, таких как пакеты параметров, похожие на кортежи объекты и результаты рефлексии (метаобъекты), на этапе компиляции в стиле обычного цикла. При выполнении "template for" тело цикла раскрывается для каждого элемента и каждая итерация обрабатывается в отдельной области видимости, в которой меняющаяся в цикле переменная является константой. В контексте рефлексии "template for" может применяться для обхода свойств классов или перечислений. Возможность появится в GCC 16.
void f() {
template for (constexpr int I : std::array{1, 2, 3}) {
static_assert(I < 4);
}
}
будет раскрыто в:
void f() {
{
constexpr auto&& __range = std::array{1, 2, 3};
constexpr auto __begin = __range.begin();
constexpr auto __expansion-size = __range.end() - __begin; // 3
{
constexpr int I = *(__begin + 0);
static_assert(I < 4);
}
{
constexpr int I = *(__begin + 1);
static_assert(I < 4);
}
{
constexpr int I = *(__begin + 2);
static_assert(I < 4);
}
}
}
Добавлен фреймворк std::execution для асинхронного и параллельного выполнения кода. Предоставляются объекты scheduler, определяющий планировщик выполнения работ (поток, пул потоков, GPU, event loop), sender, определяющий выполняемую работу, и receiver - обработчик результата.
using namespace std::execution;
scheduler auto sch = thread_pool.scheduler();
sender auto begin = schedule(sch);
sender auto hi = then(begin, []{
std::cout < "Hello world! Have an int.";
return 13;
});
sender auto add_42 = then(hi, [](int arg) { return arg + 42; });
auto [i] = this_thread::sync_wait(add_42).value();
Добавлена библиотека std::simd для распараллеливания выполнения операций над данными при помощи наборов инструкций SIMD, таких как AVX-512 и NEON, с использованием стандартной системы типов C++.
std::simd<float> a = {1.0f, 2.0f, 3.0f, 4.0f};
std::simd<float> b = {5.0f, 6.0f, 7.0f, 8.0f};
std::simd result = a + b;
Предложена реализация вектора (массива) переменного размера std::inplace_vector, размещаемого в стеке, размер которого определяется на этапе компиляции. API близок к std::vector, но элементы массива хранятся не в "куче", а внутри объекта.
Реализована структура данных std::hive для неупорядоченного хранения данных и обеспечения повторного использования памяти, освободившейся после удалённых элементов. Структура оптимизирована для нагрузок с высокой интенсивностью добавления и удаления элементов в произвольном порядке. В отличие от массивов, удаление элемента в std::hive не вызывает сдвига других элементов, а приводит к пометке удалённого элемента пустым с последующим заполнением освободившейся позиции при добавлении нового элемента.
Добавлена библиотека std::linalg c API для линейной алгебры, основанный на BLAS.
Добавлена поддержка механизма синхронизации Hazard pointer, позволяющего без выставления блокировок предотвратить освобождение памяти объектов, с которыми продолжается работа в других потоках. При удалении объекта, он лишь помечается удалённым, но занимаемая объектом память освобождается только когда все потоки снимут hazard-указатель, выставляемый во время работы с объектом.
Добавлена поддержка механизма синхронизации RCU (Read-Copy Update) - при операциях записи создаётся новый экземпляр объекта, а операции чтения не блокируются, а продолжают работать со старым экземпляром. После завершения изменения новый экземпляр становится активным и новые операции чтения уже производятся с ним, а старый экземпляр удаляется после завершения читающих его потоков.
Внесены изменения для усиления безопасности стандартной библиотеки, такие как проверки допустимых значений и выхода за границы буфера. Например, при доступе к элементу "constexpr reference operator[](size_type idx) const;" добавляется проверка условия "idx < size()".
Предоставлена возможность использования ключевого слова "constexpr" с разновидностью оператора "new" (placement new) для размещения объекта в заранее выделенной памяти во время компиляции.
Добавлена поддержка структурированных привязок (structured binding) в контексте "constexpr", т.е. ссылки на константные выражения теперь сами могут быть константными выражениями. Поддержка реализована для массивов и простых структур.
constexpr int arr[] = {1, 2};
constexpr auto [x, y] = arr;
В структурированные привязки добавлена возможность использования синтаксиса "..." для указания пакетов (pack), захватывающих оставшееся число элементов из присваиваемой последовательности.
auto [x,y,z] = f(); // в переменные x, y, z будут записаны три элемента, возвращённые f().
auto [...xs] = f(); // в пакет xs будут записаны все элементы, возвращённые f().
auto [x, ...rest] = f(); // В x будет записан первый элемент, а в rest - остальные.
auto [x, y, ...rest] = f(); // В x будет записан первый элемент, в y - второй, а в rest - третий.
auto [x, ...rest, z] = f(); // в x - первый, в rest - второй, в z - третий.
Добавлена поддержка "тривиальной перемещаемости" типов (Trivial Relocatability), позволяющей оптимизировать перемещения объектов заданного типа через их клонирование в памяти без вызова конструкторов или деструкторов. Для классов реализованы свойства memberwise_trivially_relocatable и memberwise_replaceable, а для низкоуровневого перемещения одного или нескольких объектов добавлены функции trivially_relocate_at и trivially_relocate.
Реализована поддержка прикрепления функции main() к глобальному модулю и определения функции main() в именованных модулях.
Предоставлена возможность применения структурированного связывания (structured binding) в качестве условия в операторах if и switch.
Добавлена возможность использования сразу нескольких переменных-заполнителей с именем "_" в одной области видимости, например, теперь являются корректными конструкции:
struct S {
int _, _;
};
void func() {
int _, _;
}
void other() {
int _; // ранее выводилось предупреждение в режиме -Wunused
}
Предоставлена возможность использования строковых литералов в контексте, в котором они не используются для инициализации массива символов и не попадают в результирующий код, а применяются только во время компиляции для диагностических сообщений и препроцессинга, например, в качестве параметров директив и атрибутов _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]].
Добавлены встроенные функции: "__builtin_is_within_lifetime" для проверки активности альтернативы в объединениях (union) и "__builtin_is_virtual_base_of" для проверки является ли базовый класс виртуальным.
Обеспечен вывод ошибки при удалении указателя на неполный тип.
Объявлен устаревшим синтаксис определения вариативных параметров с многоточием без предшествующей запятой (например, когда указывается "void e(int...)" вместо "void e(int, ...)").
Запрещено использование макросов для объявления модулей.
Переведено в разряд устаревших выполнение неявных преобразований перечисляемых значений в арифметических вычислениях.
int main() {
enum E1 { e };
enum E2 { f };
bool b = e <= 3.7; // устарело
int k = f - e; // устарело
int x = +f - e; // OK
}
Прекращена поддержка прямого сравнения массивов.
int arr1[5];
int arr2[5];
bool same = arr1 == arr2;
Мартин Вимпрес (Martin Wimpress), сооснователь и лидер дистрибутива Ubuntu MATE, в 2019-2021 годах занимавший пост директора по разработке десктоп-систем в компании Canonical, объявил, что его участие в проекте подходит к концу и он ищет разработчиков, готовых продолжить работу над дистрибутивом Ubuntu MATE и способных сопровождать в репозитории Ubuntu пакеты, связанные со средой рабочего стола MATE.
Отмечается, что Мартин не испытывает былого энтузиазма, у него поменялись интересы и больше нет времени уделять внимание проекту Ubuntu MATE. В связи с этим он хотел бы передать управление проектом разработчикам, у которых есть время и энергия для работы над Ubuntu MATE.
Ubuntu MATE всё ещё остаётся на ветке MATE 1.26, сформированной в 2021 году, имеет нерешённые проблемы и испытывает нехватку разработчиков. Выпуску Ubuntu MATE 26.04 решено не присваивать статус LTS, а публикация релиза находится под вопросом - несмотря на начало бета-тестирования Ubuntu 26.10, сборки бета-версии Ubuntu MATE 26.04 до сих пор не сформированы. Разработка среды рабочего стола MATE с весны 2024 года находится в стагнации.
Разработчики VoIP-платформы Telnyx предупредили пользователей о компрометации пакета telnyx в репозитории PyPI, насчитывающего 756 тысяч загрузок в месяц и предоставляющего SDK для обращения к API Telnyx из программ на языке Python. 27 марта атакующие смогли опубликовать два вредоносных выпуска telnyx 4.87.1 и 4.87.2, получив доступ к PyPI после захвата учётных данных сопровождающего. Вредоносные версии распространялись с 6:51 до 13:13 (MSK), после чего были заблокированы администрацией PyPI. Инфраструктура, API, голосовые сервисы и платформа Telnyx не пострадали.
Компрометация была произведена в ходе более масштабной supply chain атаки TeamPCP, в ходе которой на днях были скомпрометированы Python-пакеты LiteLLM и Trivy, а также интегрирован вредоносный код в OpenVSX-дополнение Checkmarx и внедрён вредоносный червь в 68 пакетов в репозитории NPM. Используемый для шифрования отправляемых данных RSA-ключ совпадал с ключами, применявшимися в других атаках группы TeamPCP.
В сформированные атакующими версии был
встроен вредоносный код, который был интегрирован в файл "_client.py" и активировался при импорте модуля. После активации с серверов атакующих загружался звуковой файл ringtone.wav для Unix-подобных систем и hangup.wav для Windows. Данные файлы успешно воспроизводились как звуковые, но содержали интегрированные при помощи стеганографии скрытые вредоносные обработчики.
На платформе Windows вредоносный обработчик сохранялся в систему как "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe" и запускался при каждом входе.
В macOS и Linux осуществлялись поиск и отправка SSH-ключей, учётных данных, содержимого переменных окружения, токенов доступа к API, параметров подключения к облачным сервисам AWS, GCP, Azure и K8s, ключей от криптокошельков, паролей к СУБД и т.п. Обнаруженные данные шифровались с использованием алгоритмов AES-256-CBC + RSA-4096 и отправлялись HTTP POST-запросом на внешний хост.
Доступен релиз SystemRescue 13.0, специализированного Live-дистрибутива на основе Arch Linux, предназначенного для восстановления системы после сбоя. В качестве графического окружения используется Xfce. Размер iso-образа - 1.3 ГБ (amd64).
В новом выпуске добавлен скрипт для изменения уровня масштабирования для экранов с высокой плотностью пикселей. Решена проблема с показом слишком мелких шрифтов в консоли на экранах HiDPI.
В состав включены пакеты fatsort и nss-mdns, а также новая утилита yq для обработки файлов в форматах YAML, XML и TOML. Написанная на Python утилита iotop заменена на iotop-c. Ядро Linux обновлено до ветки 6.18 (ранее поставлялась ветка 6.12). Обновлены версии bcachefs 1.37.3 и GParted 1.8.1.
Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.
Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который по заявлению Apple до 2.6 раз быстрее Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.
Предложен первый официальный релиз Swift SDK для платформы Android, позволяющий использовать язык Swift для разработки приложений для Android, а также встраивать отдельные компоненты на Swift в существующие Android-приложения, написанные на Java и Kotlin.
Добавлен атрибут "@c", позволяющий экспортировать написанные на Swift функции и перечисления (enum) для использования в коде на языке Си (генерируется заголовочный файл для Си с соответствующими объявлениями функций и определениями перечислений).
Реализованы селекторы модулей, позволяющие явно указывать, из какого модуля использовать API, если несколько импортированных модулей предоставляют API с одинаковым именем.
import ModuleA
import ModuleB
let x = ModuleA::getValue() // вызов 'getValue' из ModuleA
let y = ModuleB::getValue() // вызов 'getValue' из ModuleB
Добавлены новые атрибуты для управления оптимизациями, применяемыми компилятором: @specialize - специализация обобщённых (generic) API для часто используемых типов; @inline - inline-развёртывание функции по месту вызова; @export(implementation) - экспорт реализации функции в стабильный ABI библиотеки.
Предложена предварительная реализация варианта сборочной системы Swift Build, интегрированного в пакетный менеджер SwiftPM (Swift Package Manager).
Джон Сигер (Jon Seager), вице-президент компании Canonical по инжинирингу и технический лидер проекта Ubuntu, объявил о намерении интегрировать в осенний выпуск Ubuntu 26.10 NTP-сервер ntpd-rs, написанный на языке Rust и уже применяемый в инфраструктуре удостоверяющего центра Let's Encrypt. Проект ntpd-rs станет третьим компонентом, после Rust Coreutils и sudo-rs, интегрированным в Ubuntu в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность.
На стадии обсуждения также находится замена библиотеки zlib на zlib-rs и задействование пакета Sequoia вместо GnuPG в пакетном менеджере APT. Пакет ntpd-rs намерены задействовать по умолчанию в качестве сервера и клиента синхронизации точного времени, который со временем заменит собой ныне применяемые пакеты chrony, linuxptp и возможно gpsd. Предложенный для внедрения план подразумевает поставку актуальной версии пакета ntpd-rs в репозитории Ubuntu 26.10 в качестве опции для тестирования. В Ubuntu 27.04 планируют задействовать ntpd-rs по умолчанию в качестве унифицированного сервера и клиента с поддержкой протоколов NTP, NTS и PTP.
Проект ntpd-rs развивается организацией Trifecta Tech Foundation, которая также отвечает за разработку уже интегрированной в Ubuntu утилиты sudo-rs. Компания Canonical профинансирует разработку новых возможностей и усиления безопасности в ntpd-rs. Среди прочего, в ntpd-rs намерены интегрировать наработки проекта Statime, развивающего реализацию протокола PTP (Precision Time Protocol) на языке Rust, чтобы унифицировать поддержку актуальных протоколов синхронизации времени в одном пакете и использовать ntpd-rs не только как замену chrony, но и linuxptp.
Из дополнительных возможностей, которые предстоит реализовать в ntpd-rs до внедрения, отмечается реализация протоколов gPTP и CSPTP, поддержка IP-сокета gpsd, многопоточный режим работы NTP-серверов, возможность использования в режиме multi-homed, создание профилей изоляции на базе AppArmor и seccomp, предоставление инструментария для тестирования и оценки производительности, внесение улучшений, связанных в ведением логов и настройкой, усовершенствование утилиты ntp-cli.
Помимо совместных проектов с организацией Trifecta Tech Foundation компания Canonical также вошла в число "золотых" участников организации Rust Foundation, занимающейся развитием и поддержкой языка Rust и связанной с ним экосистемы. Кроме компании Canonical, которая стала единственным золотым участником, ключевое финансирование разработки Rust оказывают 6 платиновых участников - Google, Microsoft, Amazon, ARM, Meta и Huawei. Размер взноса золотого участника составляет 150 тысяч долларов в год, платинового - 325 тысяч долларов.
Дополнительно можно отметить объявление Джулиана Андреса Клоде (Julian Andres Klode) из компании Canonical, сопровождающего проект APT, о намерении сокращения числа парсеров в загрузчике GRUB c целью снижения поверхности атаки. В Ubuntu 26.10 предложено удалить из заверенных цифровой подписью сборок GRUB поддержку форматов изображений jpeg и png, таблицы разделов part_appleа и возможности использования ФС btrfs, hfsplus, xfs и zfs для раздела /boot. Помимо этого, намерены удалить поддержку использования в /boot разделов LVM, md-raid (кроме raid1) и шифрованных разделов LUKS.
Отмечается, что в инсталляторе Ubuntu для /boot всегда используется только ФС ext4, а другие системы не тестируются и представляют угрозу обхода режима верифицированной загрузки на фоне периодического выявления уязвимостей в GRUB (1, 2, 3, 4, 5, 6, 7). Что касается удаления поддержки шифрования раздела /boot, то такая операция рассматривается как бесполезная (security by obscurity) - в данном контексте важно обеспечить проверку целостности в разделе /boot, что осуществляется при помощи TPM FDE, а не скрытие данных. В разделах, отличных от /boot, как и раньше можно будет использовать LUKS, LVM и MD-RAID. Ограничения также не будут применяться при загрузке не в режиме UEFI Secure Boot.
Опубликован выпуск сканера сетевой безопасности Nmap 7.99, предназначенного для проведения аудита сети и выявления активных сетевых сервисов. Код проекта поставляется под лицензией NPSL (Nmap Public Source License), основанной на лицензии GPLv2, которая дополнена рекомендациями (не требованиями) по использованию программы OEM-лицензирования и покупке коммерческой лицензии, если производитель не желает открывать код своего продукта в соответствии требованиями копилефт-лицензии или намерен интегрировать Nmap в продукты, несовместимые с GPL.
Для распространения графического интерфейса Zenmap вместо rpm-пакетов задействован универсальный формат whl, который может быть установлен на любых системах с Python 3.
На платформе Windows реализована поддержка сканирования поверх виртуальных VPN-интерфейсов, таких как OpenVPN TAP.
Улучшена совместимость сборочного процесса с различными платформами.
В NSE-скрипт http-internal-ip-disclosure, предназначенный для выявления внутреннего адреса web-сервера через отправку запроса HTTP/1.0 без заголовка Host, добавлена поддержка IPv6 и HTTPS, а также повышена точность обработки ответов.
Представлен проект cssDOOM, подготовивший реализацию игры DOOM, использующую для отрисовки только CSS, без применения элемента canvas и WebGL. Всё что выводится на экран, включая спрайты, текстурированные стены, уровни и эффекты, оформлено через стилизованные при помощи CSS элементы <div>, размещаемые в 3D-пространстве при помощи CSS-свойств "transform" и"transform-style: preserve-3d". Игровая логика написана на JavaScript, используя в качестве эталона оригинальный код игры DOOM, открытый компанией id Software. Наработки проекта опубликованы под лицензией GPLv2.
Группа независимых энтузиастов опубликовала проект Monogram, развивающий новый открытый клиент мессенджера Telegram для мобильной платформы Android. Проект написан на языке Kotlin с задействованием декларативного UI-фреймворка Jetpack Compose. Код открыт под лицензией GPLv3 (также у проекта есть свой Telegram-канал).
Основным мотивом для создания альтернативного приложения заявлена необходимость обеспечения прозрачности разработки и решение накопившихся проблем оригинального клиента. Авторы проекта отмечают, что кодовая база официального приложения Telegram для Android со временем превратилась в переусложнённый монолит, в запутанном коде которого сторонним разработчикам стало практически невозможно разобраться. Кроме того, критике подверглась текущая практика создателей мессенджера, выражающаяся в систематическом замедлении публикации исходных текстов, при которой изменения в открытых репозиториях появляются со значительной задержкой после выхода бинарных сборок в каталогах приложений.
Дополнительным катализатором для развития независимого проекта стала многочисленная критика недавнего редизайна официальной Android-версии, в которой разработчики начали агрессивно внедрять визуальные элементы, свойственные iOS (такие как эффекты размытия фона и полупрозрачность в стиле "Liquid Glass"), игнорируя при этом рекомендации по дизайну Android.
За сетевое взаимодействие, работу с протоколом MTProto и сквозное шифрование в новом клиенте отвечает официально поставляемая библиотека TDLib (Telegram Database Library), ядро которой реализовано на языке C++. Сама разработка клиентской части ведётся с упором на использование современных встроенных инструментов платформы, высокую производительность и минимизацию потребления системных ресурсов.
Среди ключевых особенностей проекта выделяются:
Пользовательский интерфейс, построенный в строгом соответствии с концепцией Material Design 3, выступающей стандартом нативного визуального оформления Android, в сочетании с использованием встроенных компонентов платформы для работы с медиафайлами, что позволяет добиться высокой плавности и ощутимо уменьшить потребление ресурсов телефона.
Интеграция свободного картографического стека MapLibre для отрисовки геоданных и работы с местоположениями.
Поддержка базовых средств защиты сессии, включая возможность блокировки приложения с использованием системной биометрии.
Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлены изменения для ветки KDE Plasma 6.7, релиз которой ожидается в июне. Среди недавно внесённых изменений:
Добавленафункция для проверки настроек микрофона, позволяющая записать себя, а потом воспроизвести запись для оценки выставленной чувствительности микрофона.
В композитный менеджер KWin добавлена возможность использования замещающих друг друга виртуальных фреймбуферов при работе с несколькими GPU (multi-GPU swapchain), а также реализована поддержка графического API Vulkan в DRM-бэкенде (Direct Rendering Manager), что после внесения оптимизаций в будущем позволит добиться увеличения производительности в конфигурациях с несколькими GPU. На текущем этапе производительность связок из встроенных GPU AMD и Intel с дискретными видеокартами AMD и NVIDIA при использовании Vulkan примерно соответствует OpenGL.
Добавлена поддержка xdg-портала Notification для настройки и вывода уведомлений из изолированных приложений, например, поставляемых в формате Flatpak.
В диалоге выбора экрана для его трансляции на другие системы или предоставления совместного доступа улучшена визуализация эскизов и обеспечен показ обоев рабочего стола в качестве фона.
Предоставлена возможность добавления дополнительных виджетов с часами для разных часовых поясов, которые среди прочего будут показывать отличия времени от текущего часового пояса.
В менеджере приложений Discover по умолчанию включена сортировка приложений по числу отзывов (сортировку по рейтингу можно вернуть в настройках). С главной страницы убран показ элементов, не связанных с приложениями.
В виджете с глобальным меню скруглены углы подсвечиваемых элементов меню.
Предоставлена возможность определения отдельной клавиши-модификатора для перевода фокуса на панель.
Диалог для выбора каталогов унифицирован с диалогом, применяемым при сохранении и открытии файлов (вместо отдельного диалога для каталогов в штатный диалог открытия файлов добавлен режим показа только каталогов).
В инструмент для шифрования каталогов Plasma Vault добавлена индикация монтирования в режиме только для чтения.
В апплете настройки сети предоставлена возможность ограничения диапазона частот Wi-Fi (2.4 GHz или 5 GHz).
При отключении активации KRunner при попытке набора с клавиатуры на рабочем столе, реализован вызов обработчика для выделения файлов по первым набранным буквам.
В виджет System Tray добавлена опция для сортировки элементов в обратном порядке.
На системах с несколькими GPU обеспечена корректная запись содержимого экрана в Spectacle и приложениях на базе KPipeWire (раньше могло использоваться не то устройство отрисовки).
В утилиту System Monitor и виджет показа информации о системе добавлено определение конфигураций с несколькими GPU, а так же предоставление статистики о полнодисковом шифровании и RAID.
В KWin добавлена поддержка 3D LUTs (3D Lookup Tables) для переназначения цветов, что снизило потребление ресурсов на GPU, предоставляющих функции для ускорения преобразования цветов.
Прекращено создание контекстов OpenGL для приложений, не использующих OpenGL, что позволило снизить потребление памяти на 10-15 MB для каждого подобного приложения и сократить время запуска.
В KWin внесены оптимизации, повышающие производительность интерфейса переключения между окнами по Alt+Tab при включении эффекта "Highlight Window" и большом числе свёрнутых окон.
В состав готовящегося к релизу пакета wayland-protocols 1.48 принят финальный вариант Wayland-протокола xdg-session-management, поддержка которого реализована в KWin для организации восстановления состояния окон прерванного сеанса в окружениях на основе протокола Wayland, например, после аварийного завершения композитного сервера или приложения.
Компания Google представила третью бета-версию открытой мобильной платформы Android 17, которая ознаменовала стабилизацию платформы и прекращение внесения изменений в API перед предстоящим релизом. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold и Pixel Tablet. Релиз Android 17 запланирован на второй квартал 2026 года.
Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение.
Включён по умолчанию механизм Certificate Transparency, ведущий публичный лог всех выданных и отозванных сертификатов,
Добавлен API PhotoPickerUiCustomizationParams для изменения интерфейса выбора фотографий, что позволяет приблизить его к стилю вызывающего приложения. Например, можно изменить соотношение сторон эскизов фотографий с 1:1 (квадрат) на 9:16 (портрет).
Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал
Производителям оборудования предоставлен API для создания расширений для камер, позволяющих использовать в приложениях специфичные возможности, такие как механизм улучшения детализации Super Resolution, режимы подавления шумов и AI-оптимизаторы качества.
Добавлен API для получения информации о типе камеры (встроенная камера, подключаемая через USB web-камера или виртуальная камера).
Добавлена поддержка слуховых аппаратов, подключаемых через интерфейс Bluetooth Low Energy (BLE). Подобные устройства отнесены к новой категории TYPE_BLE_HEARING_AID, что позволяет приложениям разделять слуховые аппараты и наушники, а также отдельно управлять воспроизведением системных звуков (например, можно воспроизводить звуки уведомлений, звонков и будильника на встроенном динамике телефона, а не на слуховом аппарате).
Добавлен программный кодировщик звукового формата HE-AAC (High-Efficiency Advanced Audio Coding), поддерживающий как низкие, так и высокие битрейты.
Добавлено полномочие USE_LOCATION_BUTTON, позволяющее встроить в интерфейс приложения системную кнопку предоставления доступа к точным данным о местоположении. Кнопка отрисовывается системой и после нажатия пользователем открывает доступ к местоположению только на время действия текущего сеанса.
Добавлены раздельные настройки для включения показа пароля, вводимого на физической клавиатуре и на сенсорном экране. По умолчанию символы пароля, вводимые при помощи физической клавиатуры, сразу скрываются.
Предоставлена возможность заверения APK-пакетов цифровой подписью на базе гибридного алгоритма, сочетающего классический алгоритм с алгоритмом ML-DSA, стойким от подбора на квантовом компьютере.
Улучшено отображение виджетов приложений на внешних экранах, за счёт учёта разницы в DPI при масштабировании.
Добавлена настройка, позволяющая убрать показ названий приложений под их пиктограммами.
Реализованы интерактивные закреплённые окна, которые в отличие от традиционных окон в режиме "картинка в картинке" (Picture-in-Picture) остаются интерактивными при закреплении поверх других приложений в десктоп-режиме.
Изменено оформление панели инструментов для записи скринкастов.
Добавлен запрос ACTION_VPN_APP_EXCLUSION_SETTINGS, при помощи которого можно вызвать системный экран с настройками, позволяющими открыть приложению сетевой доступ в обход VPN-туннеля.
Добавлена поддержка доступных в OpenJDK 25 возможностей языка и Java-классов.
Доступен выпуск проекта MicroPythonOS 0.9.0, разрабатывающего операционную систему для микроконтроллеров, таких как ESP32, написанную с использованием инструментария MicroPython. Операционная система оснащена графическим интерфейсом, развиваемым с оглядкой на Android и iOS, и поддерживающим управления через сенсорные экраны. Из областей применения MicroPythonOS упоминаются устройства интернета вещей (IoT), системы управления домашней автоматизацией, интерактивные панели, роботы и умные носимые устройства с управлением экранными жестами. Проект также может применяться для быстрой разработки прототипов новых устройств. Код написан на языках Си и Python и распространяется под лицензий MIT.
MicroPythonOS предлагает минимальную базовую систему, отвечающую за инициализацию и взаимодействие с аппаратным обеспечением, монтирование накопителей, многозадачность и интерфейс пользователя. Вся остальная функциональность, такая как настройка Wi-Fi и установка обновлений, вынесена в приложения. В базовый набор входит меню приложений, конфигуратор, виджет для настройки Wi-Fi, программа установки и обновления приложений.
Для приложений предлагается использовать язык MicroPython (урезанная редакция Python 3) и подмножество библиотек Python. Возможна установки внешних приложений, распространяемых через централизованный каталог App Store (например, через App Store распространяются просмотрщик изображений и программа для работы с камерой). Обновления доставляются по сети в режиме OTA (over-the-air). Имеется поддержка Wi-Fi, Blutooth, датчиков IMU (Inertial Measurement Unit), сенсорных экранов и камер.
В новой версии
В конфигураторе подгруппы настроек вынесены в отдельные приложения (например, создано отдельное приложение для настройки Wi-Fi). Добавлены новые подгруппы с настройками беспроводной точки доступа (Hotspot) и web-сервера.
Улучшено воспроизведение и запись звуковых файлов - добавлено отображение прогресса операции и добавлена поддержка аппаратных кнопок изменения громкости.
Переработаны IMU-драйверы для датчиков, добавлен драйвер для магнитометра.
Добавлен инструменатрий для запуска web-сервера. Для плат ESP32 реализован компонент WebREPL (не активирован по умолчанию), предоставляющий оболочку для удалённого доступа к окружению MicroPython через браузер.
Реализована возможность создания беспроводных точек доступа.
Добавлена поддержка плат LilyGo T-Display-S3,
LilyGo T-Watch S3 Plus, M5Stack Fire, ODroid Go и unPhone 9.
Представлен бета-выпуск дистрибутива Ubuntu 26.04 "Resolute Raccoon", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз запланирован на 23 апреля. Ветка 26.04 отнесена к категории выпусков с длительным сроком поддержки (LTS), обновления для которых формируются в течение 15 лет (5 лет - общедоступные, плюс ещё 10 лет для пользователей сервиса Ubuntu Pro). Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.
Рабочий стол обновлён до выпуска GNOME 50, в котором удалён код для поддержки X11, реализована новая система сохранения сеансов, переработан интерфейс родительского контроля, улучшена поддержка нецелых уровней масштабирования и механизма VRR (Variable Refresh Rate), реализована поддержка Wayland-протокола color-management-v2 для управления цветом. По умолчанию задействованы видеопроигрыватель Showtime (вместо Totem) и GNOME Resources (вместо старого приложения для отслеживания потребления ресурсов).
В конфигуратор в секцию "Privacy & Security" добавлена панель "Telemetry" для настройки системы накопления и отправки телеметрии Ubuntu Insights, через которую реализован периодический сбор метрик. В панели можно проконтролировать статус отправки телеметрии и просмотреть отправляемые отчёты. Система является опциональной и включается по желанию пользователя в мастере начальной настройки (GNOME Initial Setup). При обновлении версии Ubuntu реализован вывод запроса активации телеметрии.
Повышена стабильность и производительность при использовании Wayland на системах с GPU NVIDIA. Улучшена поддержка датчиков отпечатков пальцев.
Улучшена интеграция с рабочим столом приложений, поставляемых в формате snap.
Расширены возможности по использованию полнодискового шифрования, не требующего ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module). Реализованы возможности для восстановления ключей, применяемых при полнодисковом шифровании на базе TPM. Добавлена поддержка добавления и удаления PIN-кодов или паролей после установки. В конфигуратор добавлена опция для перешифровки диска.
Изменено оформление диалогов, выводимых системой вывода запросов полномочий, требующих у пользователя подтверждения доступа, например, при обращении из snap-пакетов к файлам в домашнем каталоге. Динамическое предоставление доступа организовано с использованием механизма AppArmor.
Проведена работа по унификации установки и обновления пакетов. App Center рассматривается как единое приложение для управления всеми видами приложений, независимо от формата, в котором они поставляются.
В репозиторий добавлен пакет authd для настройки централизованной аутентификации через облачных провайдеров идентификации, таких как MS Entra ID и Google Cloud Identity.
В утилите sudo-rs, поставляемой вместо sudo, включена по умолчанию индикация ввода пароля (появление звёздочек по мере набора). Для возвращения старого поведения в /etc/sudoers следует выставить настройку "Defaults !pwfeedback".
В ядре cgroupfs по умолчанию теперь монтируется с опциями "nsdelegate, memory_recursiveprot, memory_hugetlb_accounting". В systemd удалена поддержка cgroup v1 и переведены в разряд устаревших скрипты сервисов System V (прослойка для совместимости с подобными скриптами пока сохранена).
По умолчанию обеспечено монтирование внешних носителей в каталог /run/media вместо /media.
Удалены сервисы blkmapd и nfs-blkmap, применявшиеся для NFS.
Прекращена поддержка систем IBM Z z14 (LinuxONE II) и более ранних поколений.
В репозиторий добавлены пакеты с СУБД DocumentDB 0.108, открытой компанией Microsoft. В репозитории "main" обеспечена полная поддержка СУБД MariaDB. Прекращена сборка пакетов с PostgreSQL для архитектуры i386.
В Kerberos добавлена поддержка загрузки файлов конфигурации из каталога "/etc/krb5.conf.d".
В Kubuntu задействованы выпуски KDE Plasma 6.6, KDE Gear 25.12.3, Qt 6.10 и KDE Frameworks 6.24.0. По умолчанию используется сеанс KDE на основе Wayland. В репозитории остаётся пакет "plasma-session-x11" для создания сеанса на базе X-сервера, но он больше не поддерживается командой Kubuntu.
В Edubuntu полностью переписаны инсталлятор и меню администратора, которые теперь включают два бэкенда (GTK4 и Qt6), выбираемых в зависимости от типа рабочего стола, а также содержат модуль Cockpit для web-интерфейса. В поставку включены программа для чтения электронных книг Foliate, rss-ридер Paperboy, видеопроигрыватель GNOME Showtime (вместо Totem), Arduino IDE, Raspberry Pi Imager, редактор химических структур GChemPaint, система заметок GNOME Notes (вместо Gnote). Удалены завязанные на GTK2 пакеты, такие как chemtool.
В Ubuntu Studio предложены три переключаемые варианта компоновки рабочего стола - классический с верхней панелью, в стиле macOS с глобальным меню и в стиле Windows 10 с нижним меню. Инсталлятор и система настройки звука переписаны на Python с раздельными бэкендами для GTK4 и Qt6. В конфигуратор звука добавлена поддержка FFADO для устройств FireWire и возможности для настройки частоты дискретизации и размера буферов для PipeWire.
Добавлен звуковой плагин Loopino (LV2/CLAP/VST2) для загрузки, обрезки и зацикливания звуковых файлов. Добавлен апплет для изменения настроек PipeWire из системного лотка. Добавлен драйвер snd-hdspe для звуковых карт AIO, AIO Pro, RME HDSPe MADI, AES и RayDAT. Добавлен пакет DistroAV для передачи звука и видео в OBS Studio, используя технологию NDI. Обновлены версии пакетов OBS Studio 32.1.0, FreeShow 1.5.9, QPrompt 2.0.1,
RaySession 0.17.4,
Patchance 1.3.2,
Geonkick 3.7.0,
BChoppr 1.12.8,
harpwise 6.34.4 и
blender 5.0.1.
Команда CLE (Community Linux Engineering Team), учреждённая в компании Red Hat для решения технических задач проектов Fedora и CentOS, таких как предоставление инфраструктуры, подготовка релизов и обеспечение качества, объявила о готовности к использованию платформы совместной разработки Fedora Forge, построенной на базе проекта Forgejo. Проект Fedora Forge создан для замены собственной платформы Pagure, применяемой в Fedora для совместной работы c кодом и метаданными пакетов. От Pagure решено отказаться, так как данная платформа требует больших ресурсов для сопровождения, находится в состоянии стагнации и не получила широкого распространения вне Fedora.
Командам, участвующим в разработке Fedora Linux, дано время на переход с pagure.io на Fedora Forge до июня 2026 года. После конференции Flock 2026, которая состоится 14-16 июня, содержимое pagure.io будет переведено в архивный режим, допускающий только чтение. После этого до релиза Fedora 46 в 2027 году планируют вывести из обихода и все остальные сервисы, использующие Pagure, включая репозитории с исходным кодом пакетов на src.fedoraproject.org.
В Fedora Forge будет выполняться работа, связанная с:
поддержанием инфраструктуры проекта (управление конфигурацией, разработка инструментов и скриптов развёртывания);
подготовкой релизов и поддержанием пакетов (инструменты, утилиты и шаблоны для сборки, формирования и распространения релизов Fedora);
организацией работы проекта (подготовка документации и спецификаций, совместная работа команд);
Разработка специфичных для Fedora приложений, таких как Fedora Badges, Bodhi и fedmsg.
В Fedora Forge запрещено развивать личные проекты, напрямую не связанные с Fedora. Fedora Forge также не должен применяться в качестве основной площадки для разработки сторонних проектов, даже если пакеты с ними распространяются в репозиториях Fedora.
Отмечается, что в Forgejo пока реализована не вся функциональность
Pagure. Например, отсутствуют необходимые средства для ведения конфиденциальных обсуждений в публичных репозиториях (приватные issue для обсуждения исправления уязвимостей до раскрытия информации). В настоящее время представители Fedora работают с разработчиками Forgejo над реализацией недостающих функций.
Платформа Forgejo является форком проекта Gitea, который в свою очередь ответвился от платформы Gogs. Ключевыми особенностями Forgejo является низкое потребление ресурсов (может использоваться в дешёвых VPS) и простой процесс установки. Предоставляются типовые возможности работы с проектами, такие как управление задачами, отслеживание проблем (issues), pull-запросы, wiki, средства для координации групп разработчиков, подготовка релизов, автоматизация размещения пакетов в репозиториях, управление правами доступа, сопряжение с платформами непрерывной интеграции, поиск кода, аутентификация через LDAP и OAuth, доступ к репозиторию по протоколам SSH и HTTP/HTTPS, подключение web-хуков для интеграции со Slack, Discord и другими сервисами, поддержка Git-хуков и Git LFS, инструменты для миграции и зеркалирования репозиториев.