Компания Epic Games открыла код централизованной системы управления версиями Lore, которая ранее поставлялась в составе инструментария UEFN (Unreal Editor for Fortnite) под именем Unreal Revision Control. Система оптимизирована для использования при разработке проектов, сочетающих исходный код с очень большими нетекстовыми файлами. Например, Lore подходит для разработки компьютерных игр, при создании которых приходится совместно работать над такими ресурсами, как текстуры, 3D-модели и звуковые данные. Так как организация слияния разных версий нетекстовых файлов проблематична, совместная работа над ними организована на уровне выставления эксклюзивной блокировки, не позволяющей одновременно редактировать ресурс нескольким участникам. Код проекта написан на языке Rust и распространяется под лицензией MIT.
Система масштабируется для команд разного размера и может быть запущена как на компьютере разработчика через запуск одного исполняемого файла без внешних зависимостей, так и развёрнута в форме централизованного сервера для координации работы очень больших команд.
Lore состоит из двух систем - подсистема хранения данных и подсистема управления версиями, отвечающая за создание ревизий, веток и операции слияния.
Подсистема хранения формируется из двух хранилищ - постоянное (immutable) хранилище контента с адресацией по хэшам и хранилище в формате ключ/значение для меняющихся метаданных, таких как указатели на ветки. Для хранения данных на централизованном сервере и обеспечения отказоустойчивости могут подключаться различные бэкенды, например, для постоянного хранения можно использовать AWS S3, а для метаданных DynamoDB.
Для отражения состояния репозитория и гарантирования неизменности цепочки ревизий задействована структура "дерево Меркла" (Merkle Tree), в которой каждая ветка верифицирует все нижележащие ветки и узлы благодаря древовидному хешированию. Данные в репозитории адресуются по хэшам содержимого, что упрощает операции сравнения и контроль целостности. Хэш каждой ревизии охватывает связанное с ней состояние, хэши родительских ревизий и хэши данных. Большие файлы хранятся разделёнными на фрагменты.
Предоставляются типичные для систем управления версиями возможности, такие как коммиты, staging-черновики, создание веток и оценка изменений. Среди расширенной функциональности: разграничение доступа участников; разрешение конфликтов; дедупликация на уровне фрагментов; возможность работы с неполной копией рабочего дерева (недостающие данные подгружаются по мере появления необходимости в них); кэширование хранимых данных; легковесные операции создания веток и быстрое переключение между ветками (ветки реализованы через ссылки, которые не приводят к дублированию данных).
Жан-Батист Лальман (Jean Baptiste Lallement), директор по инжинирингу в компании Canonical, представил проект Myna, развивающий приложение распознавания речи, которое намерены использовать для организации голосового ввода и распознавания команд на естественном языке в Ubuntu Desktop. Проект распространяется под лицензией GPLv3, но в репозитории пока присутствуют только наброски с описанием модульной архитектуры проекта и его интеграции с Ubuntu.
К выпуску Ubuntu 26.10 приложение планируют довести до пригодности к голосовому вводу текста. Сеанс работы с приложением сводится к активации через клавиатурную комбинацию, диктовки вслух и вставки распознанного текста в текущее приложение через симуляцию клавиатурного ввода по мере его произнесения. Во время включения микрофона в панели будет показываться специальный индикатор.
В качестве базового тестируемого окружения заявлен GNOME на базе Wayland, но приложение изначально проектируется с расчётом возможности адаптации для различных сред рабочего стола.
Для распознавания в Myna будет задействована AI-модель, выполняемая локально. Среди требований к приложению: возможность работы без подключения к интернету; включение микрофона только после явной активации режима диктовки горячей клавишей; обработка звука в памяти, очищаемой после каждого использования; запрет на передачу записей звука во внешние сервисы.
Компоненты для распознавания речи, взаимодействия с пользователем, управления диктовкой и подстановки текста развиваются в форме модулей.
Окружение для выполнения AI-моделей будет оформлено в виде snap-пакета. В качестве возможных моделей для распознавания упоминаются Whisper, Parakeet, NemoTron и Qwen3-ASR.
Сервис управления диктовкой отслеживает нажатие горячей клавиши, активирует микрофон, обращается через API к AI-модели в snap-пакете, перенаправляет в неё звуковой поток из звукового сервиса и координирует потоки данных.
Звуковой сервис обращается к звуковому устройству, как напрямую, так и через звуковые серверы PulseAudio или PipeWire, подавляет шум и выравнивает громкость. Генерируемый моделью текст передаётся в модуль постобработки для чистки, нормализации, форматирования и расстановки знаков препинания. Финальный текст подставляется в приложение через подстановку ввода, например, через Wayland-протокол input-method или IBus.
После стабилизации начальной функциональности не исключается реализация таких возможностей, как работа в роли голосового ассистента, выполнение голосовых команд, голосовое управление рабочим столом и перевод диктуемого текста с автоматическим распознаванием языка.
Линус Торвальдс принял в состав ядра Linux 7.2, релиз которого ожидается в середине августа, набор патчей с изменениями для сетевой подсистемы, в котором продолжена чистка ядра от устаревших драйверов и подсистем. Наиболее значимым стало удаление из ядра реализации стека протоколов AppleTalk. AppleTalk использовался в компьютерах Apple с 1985 года и в 1990-е годы был заменён на TCP/IP. Поддержка AppleTalk была прекращена Apple в выпуске Mac OS X 10.6 "Snow Leopard", сформированном в 2009 году.
В качестве причины удаления называется наличие неисправленных ошибок в реализации AppleTalk. Разработчикам поступила серия исправлений, подготовленных при помощи AI-ассистентов, но их некому проверять, так как подсистема осталась без сопровождающих. Для тех кому может потребоваться код удалённых из ядра модулей, реализации AppleTalk, ATM, AX.25, ISDN и hamradio вынесены в отдельный репозиторий на GitHub.
Помимо AppleTalk из кодовой базы ядра 7.2 также удалены компоненты технологии передач данных ATM, не связанные с PPPoATM, а также код для интеграции TLS с sockmap и поддержки диапазонов частот 5/10 MHz в беспроводном стеке cfg80211/mac80211. Из-за наличия нерешаемых проблем с блокировками и отсутствия сопровождающих удалена специфичная реализация ускорения обработки TLS на базе TCP Offload Engine (более распространённая реализация TLS offload сохранена). Отключён и запланирован для удаления код совместимости с 32-разрядными x_tables на 64-разрядных системах.
Организация Trifecta Tech Foundation, развивающая такие проекты, как ntpd-rs, sudo-rs, zlib-rs и bzip2-rs, рассказала о переходе Firefox на использование библиотеки zlib-rs для сжатия и распаковки c использованием метода gzip. Кроме защиты от проблем, вызванных ошибками при работе с памятью, переход с zlib на zlib-rs привёл к заметному повышению производительности - в проведённых тестах ускорение составило от 3.3 до 32.5 раз при единичных операциях декодирования и от 2.7 до 10.86 раз при декодировании непрерывного потока.
Библиотека zlib-rs была задействована в выпуске Firefox 151, но после её интеграции некоторые пользователи столкнулись с проблемой, приводившей к аварийному завершению из-за выхода за допустимые границы. Отмечается, что в коде на языке Rust проблема приводила к аварийной остановке, в то время как в Си подобная ситуация привела бы к незаметному повреждению данных без остановки работы. В качестве решения в выпуске 151.0.1 было возвращено использование старой библиотеки zlib.
Первое проявление проблемы было замечено в процессе тестирования ранних сборок более года назад, но на системах разработчиков её не удавалось воспроизвести. В конечном счёте, после года тестирования на пользователях бета-выпусков было решено активировать zlib-rs в релизе Firefox 151. После новой серии отчётов о проблемах и разбора закономерности было выяснено, что сбой вызван ошибкой в микрокоде CPU Intel на базе микроархитектуры Raptor Lake 13 и 14 поколений, связанной с использованием не того регистра.
Проблема возникала из-за того, что генератор кода LLVM использовал инструкцию "mov byte ptr [rsi + rdi + 1], ch" при записи в память результатов кодирования Хаффмана. При выполнении данной инструкции на CPU Raptor Lake вместо 8-15 битов из регистра RCX, соответствующих указанному в инструкции регистру CH, в память записывались биты 0-7, соответствующие регистру CL. При подготовке выпуска Firefox 152 ошибка была устранена обходным путём и патч перенесён в основной состав zlib-rs. Генерация проблемной инструкции замечена в LLVM 22 (в находящейся в разработке ветке LLVM 23 она не генерируется).
Компания Oracle опубликовала плановый выпуск обновлений своих продуктов (Critical Patch Update), нацеленный на устранение критических проблем и уязвимостей. В июньском обновлении устранено 245 уязвимостей.
Некоторые проблемы:
1 уязвимость в сервере MySQL, которая может быть эксплуатирована удалённо без прохождения аутентификации. Проблема связана с обработкой соединений и имеет уровень опасности 7.5 из 10. Уязвимость устранена в выпусках MySQL Community Server 9.7.1 и 8.4.10.
10 уязвимостей в VirtualBox, три из которых помечены как опасные (7.5 из 10).
Детали о характере уязвимостей не раскрываются, упоминается лишь, что они вызваны проблемами в реализации VMM, общих каталогов и устройства VMSVGA. Проблемы устранены в выпуске VirtualBox 7.2.10.
Три уязвимости в Solaris. Одной из проблем (CVE-2026-46978) присвоен критический уровень опасности (10 из 10). Уязвимость присутствует в Remote Administration Daemon и может использоваться для удалённого получения прав администратора через отправку специальной оформленного запроса по HTTPS. Менее опасные уязвимости затрагивают файловую систему (опасность 7.1 из 10) и стандартные библиотеки (4.4 из 10). Уязвимости устранены в обновлении Solaris 11.4 SRU93.
Разработчики проекта GrapheneOS, развивающего защищённую свободную прошивку на базе Android, объявили о готовности порта на базе выпущенной вчера платформы Android 17. В настоящее время осуществляется перенос порта в публичный репозиторий с исходным кодом (разработчики GrapheneOS получили доступ к коду и патчам Android до передачи в открытый доступ, благодаря партнёрству с одним из OEM-поставщиков).
Сегодня планируют выпустить финальный релиз GrapheneOS на базе Android 16 QPR2, после чего завтра предложить начальную версию на базе Android 17. В версии GrapheneOS на базе Android 17 обеспечена поддержка всех устройств, для которых формировались сборки на базе ветки Android 16, но протестированы сборки пока только на смартфонах Pixel 6a, 7, 7a, 8, 10a, 10 и 10 Pro Fold.
GrapheneOS развивает ответвление от кодовой базы AOSP (Android Open Source Project), включающее многие экспериментальные технологии, связанные с усилением изоляции приложений, управлением доступом, блокированием проявления уязвимостей и усложнением работы эксплоитов. Среди прочего, в платформе задействована собственная реализация malloc, модифицированный вариант libc с защитой от повреждения памяти и более жёсткое разделение адресного пространства процессов. В ядре Linux включены дополнительные механизмы защиты, такие как канареечные метки в slub для блокирования переполнения буферов. Для усиления изоляции приложений задействованы SELinux и seccomp-bpf. Пользователь может выборочно ограничивать доступ приложений к сетевым операциям, датчикам, адресной книге и периферийным устройствам (USB, камере).
В дополнения для гостевых систем и хост-окружений с Linux добавлена начальная поддержка ядра Linux 7.1, включены дополнительные исправления для дистрибутива RHEL 9.8, устранён сбой при при сборке модулей ядра в openSUSE 16.0. Добавлена поддержка сборки исходного кода с использованием ассемблера NASM вместо YASM.
В дополнениях для хост-окружений с Linux решена проблема, мешавшая запуску виртуальных машин из-за сбоев в ядре.
В дополнения для гостевых систем с Linux добавлена начальная поддержка протокола Extended Data Control для доступа к буферу обмена в гостевых системах с KDE Plasma, использующих Wayland. Налажена сборка модуля vboxvideo при использовании ядер 7.0 и 7.1.
Устранён сбой загрузки виртуальных машин с CentOS 10 с сообщением об отсутствии в CPU поддержки субархитектуры x86-64-v3.
Решены проблемы с загрузкой на системах ARM виртуальных машин, которым назначено менее 1024 MiB ОЗУ.
Устранена проблема, из-за которой устройство VIRTIO-SCSI не распознавалось в гостевой системе как SSD.
Решены проблемы в коде эмуляции сетевого адаптера E1000, не позволявшие загрузить OS/2 в гостевой системе.
В дополнения для гостевых систем с OS/2 исправлены проблемы с автоматическим монтированием совместно используемых каталогов и неработой буфера обмена.
Дополнение: Помимо перечисленных изменений в новой версии устранено 10 уязвимостей (максимальный уровень опасности 7.5 из 10), подробности о которых пока не раскрываются, упоминается лишь, что они вызваны проблемами в реализации VVM, общих каталогов и устройства VMSVGA.
Компания Google опубликовала релиз открытой мобильной платформы Android 17. Связанные с новым выпуском исходные тексты размещены в Git-репозитории проекта (ветка android-17.0.0_r1). Сборки прошивки подготовлены для устройств 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. Предварительные сборки прошивок доступны для устройств HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo и Xiaomi. В процессе формирования универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64.
Добавлен новый режим многооконной работы - "Bubbles", позволяющий запускать любые приложения в плавающих окнах, напоминающих отображаемые поверх другого контента уведомления для отправки сообщений ("пузыри"), но не привязанные к специализированному API. Открытие приложения в плавающем окне осуществляется через удержание нажатия на пиктограмму приложения. На больших экранах пиктограммы плавающих окон отображаются в отдельной области на панели задач. Подобные окна можно группировать, перемещать и закреплять на экране.
Продолжено развитие платформы для устройств с большими экранами, такими как планшеты, ноутбуки, настольные системы и смартфоны со складными экранами. Убраны ранее действовавшие опции для отключения нового поведения на устройствах с экранами шириной более 600 условных пикселей (dp), связанного с игнорированием некоторых API для управления изменением размера и ориентацией экрана (screenOrientation, resizeableActivity, [min|max]AspectRatio), а также адаптивным размещением приложений в окнах, допускающих изменение размера и перемещение по экрану.
Добавлен системный API EyeDropper API, при помощи которого приложение может получить информацию о цвете любого пикселя на экране без необходимости получения полномочий на захват экрана. Безопасность обеспечивается благодаря тому, что пользователь сам выбирает область для определения цвета через управляемый платформой интерфейс c "пипеткой, не подконтрольный приложению, т.е. приложение не может запросить информацию о конкретном пикселе и попиксельно воссоздать содержимое экрана.
Добавлен системный интерфейс выбора контакта из адресной книги, доступ к которому предоставляется при получении полномочия ACTION_PICK_CONTACTS. Интерфейс позволяет обойтись без предоставления полномочия READ_CONTACTS, позволяющего прочитать все контактные данные. При вызове нового интерфейса пользователь принимает решение о том, какую именно информацию из адресной книги передать приложению с возможностью выбора только отдельных полей.
Добавлен API PhotoPickerUiCustomizationParams для изменения интерфейса выбора фотографий, что позволяет приблизить его к стилю вызывающего приложения. Например, можно изменить соотношение сторон эскизов фотографий с 1:1 (квадрат) на 9:16 (портрет).
Добавлено полномочие USE_LOCATION_BUTTON, позволяющее встроить в интерфейс приложения системную кнопку предоставления доступа к точным данным о местоположении. Кнопка отрисовывается системой и после нажатия пользователем открывает доступ к местоположению только на время действия текущего сеанса.
Добавлена настройка, позволяющая убрать показ названий приложений под их пиктограммами.
Изменено оформление панели инструментов для записи скринкастов.
Добавлена поддержка экранных реакций (Screen Reactions), совмещающих запись видео с передней камеры с созданием скринкаста для наложения своих комментариев к действиям на экране.
Добавлен режим для игр на устройствах со складными экранами, при котором одна половина раскладного экрана используется для отображения игрового процесса, а другая для виртуального геймпада.
Добавлен API Handoff, позволяющий передать состояние приложения на находящееся поблизости другое Android-устройство (например, планшет) и продолжить там работу.
Реализованы интерактивные закреплённые окна, которые в отличие от традиционных окон в режиме "картинка в картинке" (Picture-in-Picture) остаются интерактивными при закреплении поверх других приложений в десктоп-режиме.
Добавлены два новых API: API UWB DL-TDOA - определение позиции устройства внутри здания при помощи Wi-Fi для навигации в помещениях; API Proximity Detection для обнаружения находящихся поблизости устройств через Wi-Fi.
Добавлена поддержка формата видео VVC (Versatile Video Coding), известного также как стандарт сжатия видео H.266, разработанный совместно рабочими группами MPEG (ISO/IEC JTC 1) и VCEG (ITU-T), при участии таких компаний, как Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm и Sony. H.266 идёт на смену H.265 (HEVC) и обеспечивает высокую эффективность передачи и хранения всех экранных разрешений (от SD и HD до 4K и 8K), поддерживает видео с расширенным динамическим диапазоном (HDR, High Dynamic Range) и панорамное видео в режиме 360 градусов.
Добавлена возможность записи видео с постоянным уровнем качества. Режим настраивается в объекте MediaRecorder, используя метод setVideoEncodingQuality(), позволяющий зафиксировать уровень качества без привязки к битрейту.
Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
Добавлено поддержка формата HDR-видео Eclipsa Video.
Добавлен программный кодировщик звукового формата HE-AAC (High-Efficiency Advanced Audio Coding), поддерживающий как низкие, так и высокие битрейты.
Добавлено новое полномочие ACCESS_LOCAL_NETWORK для ограничения доступа приложений к локальной сети. Наличие данного полномочия позволяет приложениям определять и подключаться к устройствам в локальной сети, например, к устройствам умного дома и мультимедийным системам. Полномочие добавлено чтобы блокировать сканирование вредоносными приложениями ресурсов в локальной сети, например, для скрытой идентификации окружения пользователя.
Расширена защита от перехвата одноразовых паролей (OTP) и кодов подтверждения, отправляемых через SMS. Прямой доступ к подобным сообщениям теперь открывается большинству приложений лишь спустя три часа после поступления сообщения. В штатном приложении для чтения SMS подобные сообщения показываются сразу.
Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение.
Включён по умолчанию механизм Certificate Transparency, ведущий публичный лог всех выданных и отозванных сертификатов,
Предоставлена возможность заверения APK-пакетов цифровой подписью на базе гибридного алгоритма, сочетающего классический алгоритм с алгоритмом ML-DSA, стойким от подбора на квантовом компьютере.
Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
Добавлена поддержка гибридного шифрования на основе механизма HPKE (Hybrid Public Key Encryption, RFC 9180), совмещающего простоту передачи ключа в шифровании с открытым ключом с высокой производительностью симметричного шифрования (данные шифруются быстрым симметричным ключом, а сам ключ шифруется медленным асимметричным).
При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
Для упрощения реализации поддержки тачпадов в играх унифицирована обработка событий от мыши и тачпада - по умолчанию события тачпада, связанные с перемещением указателя и жестами прокрутки, теперь преобразуются в формат с относительными координатами, как для мыши. Доступ к абсолютным координатам предоставляется при явном указании режима POINTER_CAPTURE_MODE_ABSOLUTE.
В объект ChooserSession добавлен метод getInitialRestingBounds(), позволяющий узнать финальную позицию и размер диалога выбора (Chooser) после прекращения анимации и загрузки данных.
Производителям оборудования предоставлен API для создания расширений для камер, позволяющих использовать в приложениях специфичные возможности, такие как механизм улучшения детализации Super Resolution, режимы подавления шумов и AI-оптимизаторы качества.
Добавлен API для получения информации о типе камеры (встроенная камера, подключаемая через USB web-камера или виртуальная камера).
Добавлена поддержка слуховых аппаратов, подключаемых через интерфейс Bluetooth Low Energy (BLE). Подобные устройства отнесены к новой категории TYPE_BLE_HEARING_AID, что позволяет приложениям разделять слуховые аппараты и наушники, а также отдельно управлять воспроизведением системных звуков (например, можно воспроизводить звуки уведомлений, звонков и будильника на встроенном динамике телефона, а не на слуховом аппарате).
Добавлены раздельные настройки для включения показа пароля, вводимого на физической клавиатуре и на сенсорном экране. По умолчанию символы пароля, вводимые при помощи физической клавиатуры, сразу скрываются.
Улучшено отображение виджетов приложений на внешних экранах, за счёт учёта разницы в DPI при масштабировании.
Добавлен запрос ACTION_VPN_APP_EXCLUSION_SETTINGS, при помощи которого можно вызвать системный экран с настройками, позволяющими открыть приложению сетевой доступ в обход VPN-туннеля.
Добавлена поддержка доступных в OpenJDK 25 возможностей языка и Java-классов.
Расширены возможности программных интерфейсов для работы с камерой. В объект CameraCaptureSession добавлен метод updateOutputConfigurations() для прикрепления или отключения на лету областей вывода без необходимости перенастройки всего сеанса захвата данных с камеры. На практике изменение позволяет реализовать плавное переключение между разными режимами работы камеры (например, записью видео и съёмкой фотографий). При работе с логическими камерами, охватывающими несколько физических сенсоров, добавлена возможность получения метаданных о каждом сенсоре, а не только о первичном.
Объявлен устаревшим атрибут android:usesCleartextTraffic, разрешавший приложению передачу незашифрованного трафика, например, обращения по "http://". При необходимости использования незашифрованного трафика следует использовать отдельные файлы с настройками безопасности.
Добавлены настройки для управления историей VoIP-вызовов, позволяющие управлять сохранением сведений в логах и показом в интерфейсе информации о совершённых вызовах.
В API Wi-Fi RTT (Round-Trip-Time) расширены возможность непрерывного определения приблизительного расстояния до точек доступа и безопасного определения узлов для P2P-соединений (peer-to-peer).
В CompanionDeviceManager добавлены новые профили для запроса полномочий и взаимодействия приложений с медицинскими устройствами и фитнес-трекерами.
В Android Runtime (ART) реализован поколенческий сборщик мусора (Generational Concurrent Mark-Compact Garbage Collector), использующий раздельную обработку "старых" и "молодых" объектов, что повышает эффективность очистки недавно созданных объектов с небольшим временем жизни. Применение поколенческого сборщика мусора уменьшает риск приостановок во время выделения ресурсов и снижает нагрузку на CPU, что повышает эффективность потребления энергии.
Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен R8 Optimizer, упаковывающий имена классов, методов и полей, а также удаляющий неиспользуемый код и ресурсы.
При сборке ядра Linux включена оптимизация AutoFDO (Auto-Feedback-Directed Optimization), использующая результаты профилирования c информацией о частоте выполнения различных участков кода для повышения производительности часто выполняемых операций. В проведённых тестах включение AutoFDO для ядра привело к сокращению времени загрузки на 2.1%, ускорению первого запуска программ на 4.3%, повышению эффективности системных вызовов на 9.3%, сокращению времени выполнения mmap-транзакций Binder на 12.3%, HwBinder на 20% и Binder RPC на 21.7%.
Предложена новая реализация очереди сообщений android.os.MessageQueue, работающая без блокировок. Новая реализация позволяет повысить производительность и снизить потерю кадров.
Приложениям, заявляющим о поддержке Android 17 и более новых выпусков, запрещено изменять значения полей, помеченных как "static final", что позволяет задействовать более агрессивные оптимизации производительности в runtime.
Для снижения потребления памяти ограничен размер собственных раскладок оформления уведомлений (notification view).
В профилировщик ProfilingManager добавлены дополнительные триггеры TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM и TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE для сбора данных, полезных при отладке проблем с производительностью.
Переработан интерфейс конфигуратора, в котором расширены возможности поиска настроек, крупные секции разделены на несколько отдельных страниц, улучшена навигация, обновлены метки и описание настроек.
Добавлена экспериментальная поддержка формата изображений JPEG XL, который стандартизирован в 2021 году (ISO/IEC 18181) как универсальная замена JPEG, превосходящая WebP, JPEG, PNG и GIF по эффективности сжатия и поддерживающая сжатие существующих JPEG-файлов без потери качества, HDR, анимацию, прозрачность, режим прогрессивной загрузки и многослойные изображения. Включение JPEG XL осуществляется в конфигураторе в секции "Firefox Labs".
В режиме приватного просмотра предоставлена возможность временного отключения блокировки кода отслеживания перемещений для сайтов, с которыми возникли проблемы из-за блокировки. Наличие возможных проблем определяется по перезагрузке пользователем страницы. Для перезагруженных страниц, на которых заблокированы трекеры, в верхней части появляется уведомление с предложением временно отключить блокировку трекеров в текущей вкладке.
Обеспечено дублирование в контекстном меню кнопок управления воспроизведением видео (воспроизведение, остановка, отключение звука, зацикливание и открытые в полноэкранном режиме), что позволяет сохранить возможность управления воспроизведением даже на сайтах, блокирующих кнопки в своих видеоплеерах (например, в Instagram и TikTok).
Добавлена возможность отключения звука разом во всех окнах через набор в адресной строке команд "mute", "shush" или "sssh"
В сборках для Linux и Windows появилась возможность копирования ссылки на страницу во вкладке через выбор "Share > Copy Link" в контекстном меню, показываемом при клике правой кнопкой мыши на вкладке (позволяет скопировать ссылку не переходя на вкладку). Если выделено несколько вкладок подобным образом можно сразу скопировать несколько ссылок.
В интерфейсе настройки содержимого панели (More Tools > Customize Toolbar) появилась возможность закрепления кнопки "Send tab".
Изменение масштаба страницы при помощи клавиатуры или мыши теперь производится меньшими шагами.
В случае закрытия страницы или переключения на другую вкладку после инициирования загрузки PDF-документа или другого напрямую показываемого файла, загруженное содержимое теперь открывается в фоновой вкладке.
В контекстное меню боковой панели со списком вкладок на других устройствах пользователя добавлены кнопки для открытия содержимого в новой вкладке или в новой группе вкладок.
В инструменты для web-разработчиков добавлена опция "Show comments" для включения и отключения показа комментариев (<!-- -->) в HTML при инспектировании страницы.
В API Notifications предоставлена возможность добавления кнопок с собственными действиями, показываемых под текстом уведомления.
Добавлено CSS-свойство field-sizing, позволяющее сделать размер элементов формы зависимым от их содержимого, например, для автоматического увеличения размера текстового поля по мере ввода данных.
В API Pointer Lock реализована опция unadjustedMovement, при установке которой данные о событиях движения мыши передаются в чистом виде, без корректировок и ускорения. Например, unadjustedMovement позволяет добиться более качественного движения в шутерах от первого лица.
В Firefox для Android добавлена AI-функция для резюмирования длинных статей одним касанием (пока поддерживается только английский язык). Реализована функция отправки просматриваемого PDF-файла или ссылки на него. Повышена производительность масштабирования щипком. Добавлен виджет World Cup для отслеживания текущего счёта, расписания и результатов матчей.
Кроме новшеств и исправления ошибок в Firefox 152 устранено 77 уязвимостей (17 собрано под CVE-2026-12328, 12 под CVE-2026-12327 и 11 под CVE-2026-12326). 60 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
Опубликован выпуск мультимедийной библиотеки LDL 0.3 (Little DirectMedia Layer), позволяющей создавать графические приложения, способные работать как на современных, так и на устаревших системах (Windows 95+, macOS/OS X/Mac OS X 10.6+, дистрибутивы с ядром Linux 2.0+, FreeBSD 3.0+). Предоставляется простой кроссплатформенный API для управления окнами и обработки событий с устройств ввода. Для отрисовки может использоваться OpenGL 1.0-4.6. Код написан на языке Си и поставляется под лицензией LGPL 3.0.
В новом выпуске:
Добавлена поддержка TrueType-шрифтов с использованием библиотеки FreeType.
Через интеграцию библиотеки stb_image обеспечена поддержка различных форматов изображений.
Проект стал модульным - по умолчанию в составе движка теперь собираются три библиотеки: LDL, LDL_Image и LDL_Ttf.
Добавлены новые примеры для работы со шрифтами.
Началась подготовка полноценной документации.
Проведён рефакторинг кода для повышения стабильности и производительности.
Исправлен ошибки и и недоработки в 2D- и 3D-рендерах.
В следующих выпусках планируется завершить работу над документацией, расширить возможности 3D-рендера и предоставить обвязки для языков Python, C# и Object Pascal.
После четырёх месяцев разработки опубликован релиз среды рабочего стола KDE Plasma 6.7. Для оценки работы новых выпусков KDE можновоспользоваться сборками от проектов KDE Linux, KDE Neon и openSUSE (Argon, основанный на openSUSE Leap, и Krypton, основанный на openSUSE Tumbleweed).
Интегрирован унифицированный движок стилей Union, позволяющий использовать разные технологии стилевого оформления приложений, доступные в KDE. По умолчанию для стилей задействован формат CSS вместо ранее используемого SVG. Подготовлена новая реализация темы Breeze, оформленная в формате CSS.
Движок Union состоит из трёх слоёв:
Входной слой реализуется через подключаемые плагины, обеспечивающие разбор входных форматов файлов со стилями и их преобразование в абстрактное описание для отрисовки. Например, в качестве входного формата могут использоваться темы оформления в формате SVG или CSS.
Промежуточный слой оформлен в виде библиотеки, описывающей модель данных и методы для применения стилей к каждому элементу.
Выходной слой содержит плагины для преобразования сформированного промежуточным слоем универсального стиля в команды для отрисовки, специфичные для конкретного графического стека. Например, на выходе могут формироваться стили для QtQuick или Qt Widgets.
Реализована полноценная поддержка сохранения и восстановления сеансов при использовании Wayland, позволяющая восстановить состояние, привязку к виртуальным рабочим столам и позицию окон прерванного сеанса после перезагрузки или аварийного завершения работы. Реализация основана на добавленной в KWin поддержке протокола xdg-session-management, предложенного в выпуске Wayland-Protocols 1.48.
Добавлена возможность независимого переключения между виртуальными рабочими столами на каждом экране (ранее виртуальные рабочие столы переключались синхронно на всех мониторах, а теперь в привязке к каждому монитору).
Добавлен режим ввода с клавиатуры диакритических знаков и спецсимволов, отсутствующих на физической клавиатуре. При удержании нажатия клавиши, связанной со спецсимволом, теперь показывается всплывающая подсказка, позволяющая во время ввода быстро выбрать нужный спецсимвол. Выбор осуществляется клавишами управления курсором, нажатием упомянутых в подсказке цифр или кликом мыши. Режим реализован в модуле plasma-keyboard и требует включения виртуальной клавиатуры (System Settings > Keyboard > Virtual Keyboard).
Предоставлена возможность установки собственных звуковых тем из загруженных архивов, без необходимости их предварительной ручной распаковки в каталог .../share/sounds.
Добавленафункция для проверки настроек микрофона, позволяющая записать себя, а потом воспроизвести запись для оценки выставленной чувствительности микрофона.
В виджеты управления яркостью и цветопередачей добавлены кнопки для быстрого переключения между светлым и тёмным режимами оформления.
В виджет управления выводом на печать добавлена индикация числа активных и находящихся в очереди заданий вывода на печать по отдельности для каждого из принтеров.
Старый диалог для управления очередью вывода на печать заменён на вызов отдельного приложения plasma-print-queue, позволяющего наглядно управлять несколькими очередями для разных локальных или внешних принтеров.
В размещаемый на панели виджет вывода на печать добавлены метки о числе активных и находящихся в очереди работ.
В обзорном режиме, вызываемом комбинацией клавиш Meta + W, реализована возможность использования прокрутки или клавиш Page Up/Page Down для переключения между виртуальными рабочими столами.
В меню добавлена поддержка перемещения приложений в секцию "Избранное" и удаления из неё, путём перемещения мышью ярлыка из виджетов Application Launcher, Application Menu и Application Dashboard.
Изменён порядок секций на главной странице менеджера приложений Discover - секция "выбор редакции" перемещена на второе место и теперь следует после списка наиболее популярных пакетов. На странице обновлений задействован поиск без учёта регистра символов, а на странице со списком установленных программ по умолчанию включена разбивка на категории для упрощения поиска искомого приложения. Добавлена опция для автоматического выхода из программы после завершения установки обновлений. По умолчанию включена сортировка приложений по числу отзывов (сортировку по рейтингу можно вернуть в настройках). С главной страницы убран показ элементов, не связанных с приложениями. Переделано оформление области с параметрами приложений, в которую перенесена кнопка для установки.
Предоставлена возможность добавления дополнительных виджетов с часами для разных часовых поясов, которые среди прочего будут показывать отличия времени от текущего часового пояса.
Возвращена возможность выбора темы оформления Air Plasma, более легковесной, чем тема Oxygen.
Реализован скруглённый стиль выделения элементов в приложениях на базе QtWidgets, таких как Dolphin, Okular и KMail. Изменение позволило унифицировать внешний вид и повсеместно перейти к стилю выделения, ранее задействованному в приложениях на базе QtQuick.
Изменена анимация появления уведомлений, которые теперь выезжают из ближайшего края экрана. В уведомлениях, генерируемых рабочим столом Plasma, изменена пиктограмма и сокращён заголовок.
Предоставлена возможность выставления глобальной комбинации клавиш для очистки истории уведомлений.
В состав включён пользовательский интерфейс Plasma Bigscreen, предназначенный для использования на мультимедийных устройствах, подключаемых к телевизорам и проекторам. Окружение оптимизировано для работы с большими экранами и управления без клавиатуры c использованием пультов дистанционного управления или голосового помощника.
Реализована возможность выставления для дисплея цветового профиля ICC при включённом режиме HDR.
В композитный менеджер KWin добавлена возможность использования замещающих друг друга виртуальных фреймбуферов при работе с несколькими GPU (multi-GPU swapchain), а также реализована поддержка графического API Vulkan в DRM-бэкенде (Direct Rendering Manager), что после внесения оптимизаций в будущем позволит добиться увеличения производительности в конфигурациях с несколькими GPU. На текущем этапе производительность связок из встроенных GPU AMD и Intel с дискретными видеокартами AMD и NVIDIA при использовании Vulkan примерно соответствует OpenGL.
Добавлена поддержка портала (xdg-desktop-portal) "Background apps" (org.freedesktop.background.Monitor), позволяющего графическим приложениям переходить в фоновый режим со скрытием окон, оставляя лишь индикатор о своём состоянии в системном лотке.
Добавлена поддержка xdg-портала Notification для настройки и вывода уведомлений из изолированных приложений, например, поставляемых в формате Flatpak.
В KWin добавлена поддержка Wayland-протокола ext-background-effect-v1, дающего возможность
создавать такие эффекты, как размытие фона.
В композитном менеджере KWin реализована поддержка экспериментального Wayland-протокола xx-fractional-scale-v2, благодаря которому удалось избавиться от излишних зазоров между соседними элементами на экранах с высокой плотностью пикселей, например, между развёрнутым на весь экран окном и панелью. Протокол xx-fractional-scale предоставляет возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования в KDE.
В KWin внесены оптимизации, повышающие производительность и эффективность энергопотребления в программах, осуществляющих отрисовку при помощи CPU. Оптимизация заметна в большинстве программ KDE и в приложениях, использующих QtWidgets (в QtWidgets для отрисовки применяется CPU, а в QtQuick задействовано ускорение через GPU). Например, при работе в KDevelop теперь всегда плавно двигается указатель, а нагрузка на CPU при прокрутке снизилась с 80-90% до 20%.
В KWin продолжена работа по реализации поддержки графического API Vulkan
в DRM-бэкенде (Direct Rendering Manager). Ожидается, что использование
Vulkan позволит добиться увеличения производительности в конфигурациях с несколькими GPU. Реализована возможность использования Vulkan для загрузки текстур из GPU в CPU.
На системах с драйверами i915 и Intel XE для GPU Intel в KWin включена поддержка аппаратных overlay-плоскостей (overlay plane), позволяющих отображать содержимое напрямую без прохождения через композитинг. Изменение повысило производительность и сократило энергопотребление приложений и игр, поддерживающих добавленную функциональность.
В KWin добавлена эвристика, определяющая целесообразность применения прямого вывода (direct scan-out) для повышения производительности и снижения энергопотребления при раскрытии окон на весь экран.
Для многих ноутбуков с процессорами AMD реализована возможность отключения драйвера адаптивной модуляции подсветки экрана или ручной регулировки параметров при его использовании. Указанный драйвер изменяет цвета на экране для улучшения видимости информации при низком уровне яркости.
В KWin добавлена поддержка 3D LUTs (3D Lookup Tables) для переназначения цветов, что снизило потребление ресурсов на GPU, предоставляющих функции для ускорения преобразования цветов.
В KWin добавлены оптимизации, снижающие энергопотребление при работе с полноэкранными окнами и эффектами, на которые не влияет применение прямого вывода (direct scan-out).
Прекращено создание контекстов OpenGL для приложений, не использующих OpenGL, что позволило снизить потребление памяти на 10-15 MB для каждого подобного приложения и сократить время запуска.
В KWin внесены оптимизации, повышающие производительность интерфейса переключения между окнами по Alt+Tab при включении эффекта "Highlight Window" и большом числе свёрнутых окон.
В Kwin реализовано запоминание для каждого экрана отступов между окнами в мозаичном режиме.
Упрощён интерфейс показа QR-кода в виджете работы с буфером обмена (кнопка копирования перенесена в заголовок).
Повышена точность позиционирования виджетов на рабочем столе. При перемещении виджета в область, в которую он не помещается, теперь выводится эскиз, показывающий ближайшее свободное место, в котором фактически окажется виджет.
В виджетах Task Manager и System Tray удалена опция для использования более крупных пиктограмм и увеличенных отступов на сенсорных экранах и планшетах. Указано, что данная опция не работала корректно и приводила к проблемам при отображении.
В виджетах и приложении System Monitor реализована поддержка отслеживания сетевой активности на платформе FreeBSD.
В виджете определения цвета пикселя (Color Picker) обеспечен вывод подсказки об отсутствии выбранного цвета (ранее показывалось, что выбран цвет #000000).
На рабочем столе обеспечено появление панели управления виджетами (Widget Explorer) рядом с указателем мыши, а не рядом с левым краем экрана.
В виджете "Disks & Devices" улучшена обработка устройств, примонтированных в loop-режиме.
В виджет с часами добавлена поддержка вьетнамского лунного календаря.
В виджетах для управления буфером обмена и сетевым подключением реализована унифицированная кнопка возврата на прошлую страницу (на вложенных страницах теперь не показываются две кнопки "Назад").
В виджете с реализацией глобального меню обеспечен показ меню для активного окна, даже если это окно размещено на другом экране. Для возвращения старого поведения, при котором меню пропадает после перемещения окна на другой экран, в настройки добавлена специальная опция.
В виджете с глобальным меню скруглены углы подсвечиваемых элементов меню.
В виджет System Tray добавлена опция для сортировки элементов в обратном порядке.
Виджет для вставки в панель разделителя теперь доступен через кнопку добавления новых элементов на странице настройки панели, а не через боковую панель со списком виджетов.
В виджет управления сетью добавлена поддержка создания дубликатов профилей сетевых соединений.
Убрано ограничение, отводившее 25 секунд на выбор цвета после вызова виджета с пипеткой (Color Picker).
В апплет, вызываемый при клике средней кнопки мыши на часах, добавлена опция для открытия календаря-планировщика.
В апплете настройки сети предоставлена возможность ограничения диапазона частот Wi-Fi (2.4 GHz или 5 GHz).
В меню, использующих тему оформления Breeze, реализовано изменение фона элементов при клике.
В меню приложений Kicker по аналогии с Kickoff появилась возможность использования не квадратных кнопок в панели.
В меню приложений Kickoff обеспечено мерцание секции меню "избранное" сразу после добавления приложения в "избранное" через контекстное меню, чтобы наглядно показать где теперь можно быстро найти приложение.
В KRunner по умолчанию включён плагин вывода информации о глобальных комбинациях клавиш.
При отключении активации KRunner при попытке набора с клавиатуры на рабочем столе, реализован вызов обработчика для выделения файлов по первым набранным буквам.
В контекстное меню, показываемое при клике правой кнопкой мыши на обоях рабочего стола, добавлен пункт для просмотра информации об изображении.
В меню приложений Kicker обеспечена маркировка специальным значком недавно установленных программ, по аналогии с тем как это делается в интерфейсе Kickoff.
В KRunner расширены возможности вычисления произвольных математических выражений, например, теперь можно вводить не только "sqrt(2) + 2", но и "2 + sqrt(2)".
Уменьшен размер анимированных GIF-изображений, создаваемых в приложениях, использующих библиотеку KPipeWire.
В меню приложений Kicker добавлена опция для отображения списка недавно открытых каталогов.
В конфигураторе реализована поддержка предпросмотра видео для тем оформления экрана входа SDDM.
В конфигураторе реализован показ страниц настройки игровых контроллеров, мыши и тачпада только при наличии данных устройств.
В конфигураторе страница с настройками удалённого рабочего стола (Remote Desktop) перенесена в группу "Безопасность и приватность".
Добавлена настройка для изменения задержки перед появлением интерфейса переключения между окнами после начала удержания Alt+Tab.
В настройки виджета просмотра списка окон добавлены опции для изменения порядка сортировки и группировки по виртуальным рабочим столам и комнатам (activitie).
В конфигураторе на странице настройки курсора при предпросмотре обеспечено приведение изображений курсоров к выбранному размеру.
При повторном открытии интерфейса выбора обоев рабочего стола обеспечен переход к тому месту, на котором пользователь остановился в прошлый раз.
В конфигураторе задействована более традиционная кнопка "< Back" для возвращения из подкатегорий (ранее было "< Название категории").
Добавлен отдельный интерфейс для конфигурирования сетевых принтеров, совместно используемых в Windows-сетях.
В конфигураторе на странице с настройками уведомлений реализована поддержка воспроизведения выбираемых звуков уведомлений, независимо от включения звука уведомлений.
В конфигураторе на страницу настройки сети добавлены опции для VPN L2TP.
Обновлён интерфейс для настройки OpenVPN, в который добавлена поддержка параметров для управления сжатием, MTU, NCP, TLS, таймаутами и шифрами.
В конфигураторе на странице настройки сетевого соединения объединены вкладки "Wi-Fi" и "Wi-Fi Security".
В конфигураторе на странице управления правами доступа приложений появилась кнопка для отзыва разом всех полномочий на запись приложениями скринкастов.
В конфигураторе на странице "Default Applications" появилась возможность выбора вызываемого по умолчанию приложения с реализацией календаря-планировщика.
В утилиту System Monitor и виджет показа информации о системе добавлено определение конфигураций с несколькими GPU, а так же предоставление статистики о полнодисковом шифровании и RAID.
В приложении System Monitor и виджете для отслеживания состояния системы учтён выбор единиц измерения информации, например, GB (миллиард байт) или GiB (2^30).
При поиске по слову "память" (memory) теперь в числе рекомендаций предлагается запустить приложение System Monitor.
В System Monitor обеспечено разделение GPU по названиям. Через контекстное меню, показываемое для приложения System Monitor, теперь можно напрямую вызвать конкретные режимы мониторинга, например, просмотр списка запущенных процессов.
При выводе информации о системе (Info Center) показания датчиков температуры теперь выводятся в единицах измерения, заданных в системных настройках.
Обеспечено изменение стиля всплывающих подсказок в соответствии с активной темой оформления.
Улучшена реализация эффекта Mouse Marks (превращение курсора в маркер, оставляющий линии на экране) на сенсорных экранах. Добавлена поддержка рисования одновременно нескольких линий на экранах с поддержкой мультитач.
В синхронизированные с Plasma Login Manager настройки добавлены параметры раскладки клавиатуры.
Реализован глобальный режим push-to-talk, при котором микрофон включается только во время нажатия и удержания определённой комбинации клавиш.
Улучшено редактирование элементов на рабочем столе на системах с сенсорным экраном.
В диалог завершения зависших процессов добавлен индикатор прогресса выполнения операции.
На системах с Wayland обеспечена синхронизация изображения указателя стилуса с указателем мыши и тачпада.
В KWin реализована возможность определения постоянных правил, исключающих содержимое определённых окон при записи скринкастов.
В программу для создания скриншотов Spectacle добавлена опция "--release-capture", эквивалентная опции "Accept on click-and-release" в настройках (создание скриншота сразу после отпускания кнопки мыши после выделения прямоугольной области, без отдельного подтверждения операции).
Реализовано округление уровня масштабирования экрана, близкого к 100%, 200% и 300%, до данных величин для повышения производительности.
В интерфейсе выбора Emoji варианты значков с разным цветом кожи сгруппированы в отдельный всплывающий диалог.
Подготовлен обработчик KIO S3, позволяющий напрямую из Dolphin и приложений KDE работать с файлами, хранимыми в S3-совместимых облачных хранилищах, таких как Amazon S3, Cloudflare R2, DigitalOcean Spaces и MinIO.
При мозаичной компоновке двух смежных окон они теперь равномерно центрируются во всём доступном экранном пространстве с учётом панелей (раньше ближайшее к панели окно сжималось больше, чем другое окно).
В изолированных приложениях повышена надёжность инициирования записи скринкастов и запросов к удалённым рабочим столам.
Налажено задействование 3D-ускорения в конфигурациях с несколькими GPU, один из которых не поддерживает OpenGL.
Решены проблемы работы с буфером обмена в некоторых приложениях на базе фреймворка wxWidgets, таких как KiCad и Audacity. Исправление включено в состав находящейся в разработке ветки wxWidgets 3.3.3.
В утилиту kscreen-doctor добавлена поддержка изменения свойства экранов "AutoRotatePolicy", определения активного экрана и одновременного включения/выключения поддержки HDR и расширенного диапазона цветов (Wide Gamut).
В диалоге выбора экрана для его трансляции на другие системы или предоставления совместного доступа улучшена визуализация эскизов и обеспечен показ обоев рабочего стола в качестве фона.
Предоставлена возможность определения отдельной клавиши-модификатора для перевода фокуса на панель.
Диалог для выбора каталогов унифицирован с диалогом, применяемым при сохранении и открытии файлов (вместо отдельного диалога для каталогов в штатный диалог открытия файлов добавлен режим показа только каталогов).
В инструмент для шифрования каталогов Plasma Vault добавлена индикация монтирования в режиме только для чтения.
На системах с несколькими GPU обеспечена корректная запись содержимого экрана в Spectacle и приложениях на базе KPipeWire (раньше могло использоваться не то устройство отрисовки).
Для многомониторных конфигураций добавлена опция, позволяющая отображать интерфейс переключения между окнами по Alt+Tab только на основном экране, независимо от того на каком экране находится фокус ввода.
В правила переопределения атрибутов окон приложений (KWin Window Rules) добавлена возможность привязки диалоговых окон к указанному родительскому окну.
Добавлена возможность переименования или перемещения типового каталога "Projects", который с недавних пор стал создаваться дистрибутивами в домашнем каталоге пользователя в дополнение к каталогам "Documents", "Downloads", "Desktop", "Videos", "Music" и "Pictures".
Добавлена функция увеличения содержимого экрана без заметной потери качества, основанная на эффекте Zoom в KWin.
При запросе X11-приложением, выполняемым через XWayland, прав на отправку программно сгенерированных событий мыши и клавиатуры, теперь отображается имя приложения. В конфигураторе обеспечен вывод списка приложений, которым ранее было предоставлено подобное полномочие.
Обеспечено применение стиля оформления KDE к диалогам, выводимым Qt-приложениями, использующими QML-тип MessageDialog (например, используется приложением Sticky Note в диалоге подтверждения).
Упрощено нажатие на кнопки в верхней части Widget Explorer (нажатие теперь срабатывает если кликнуть уперев курсор в границу экрана над кнопкой, без точного попадания по кнопке).
Реализован учёт дополнительных параметров при автоматическом изменении яркости экрана для более качественной работы в условиях часто меняющегося освещения.
После шести месяцев разработки сформирован релиз FreeBSD 15.1. Установочные сборки подготовлены для архитектур amd64, aarch64, armv7, powerpc64, powerpc64le и riscv64. Дополнительно поставляются сборки для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Vagrant. Выпуск FreeBSD 15.1 будет поддерживаться до апреля 2027 года, а обновления для ветки 15.x будут выпускаться до 31 декабря 2029 года.
Драйверы беспроводных устройств rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) и iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) синхронизированы с ядром Linux 7.0.
В ядре реализован фреймворк для выбора планировщика задач. В конфигурации ядра на системах amd64 в дополнение к используемому по умолчанию планировщику SCHED_ULE активирована сборка классического планировщика задач SCHED_4BSD. Для выбора планировщика задач во время загрузки добавлен sysctl-параметр kern.sched.
Проведена работа по обеспечению поддержки стандарта C23 в кодовой базе для сборки компиляторами в режиме C23. Полная поддержка C23 ожидается в ветке FreeBSD 16. В новом стандарте добавлены константы nullptr, тип _BitInt(n) и ключевые слова bool, true и false, которые могли конфликтовать с заданными в старом коде одноимёнными идентификаторами. Поддержка C23 позволит использовать в коде FreeBSD новые возможности языка, такие как заголовочный файл stdbit.h, функция memalignment(), обновлённые limits.h и stdint.h с макросом _WIDTH и типом char8_t.
В пакетном фильтре ipfw реализована возможность задания произвольных масок в таблицах (lookup table), позволяющих игнорировать любые сочетания битов в ключах и элементах таблицы, например, можно использовать непоследовательные маски IP-адресов, такие как "lookup src-ip4:255.255.253.255". Удалён код для совместимости с версиями пакетного фильтра ipfw, поставлявшимися до выпуска FreeBSD 8.
Разрешено направление IPv6-пакетов в divert-сокеты, в которых ранее допускалась работа только с IPv4. В команду ifconfig добавлен флаг 'stableaddr' для генерации стабильных IPv6-адресов, неизменных для каждой подсети (Stateless Address Autoconfiguration, RFC 7217).
Командная оболочка по умолчанию для пользователей "root" и "freebsd" заменена с csh на sh.
Добавлена утилита setaudit для управления политиками системного аудита.
В утилиту find добавлены опции "-xattr" и "-xattrname" для поиска файлов с учётом расширенных атрибутов файлов.
В утилиту newfs добавлена опция "-u" для отключения механизма soft updates и журналирования для UFS2.
Убрана по умолчанию утилита ipfs, применявшаяся для сохранения и восстановления таблиц трансляции адресов, и отключена необходимая для её работы функциональность в ядре (можно вернуть в настройках сборки).
В скрипте bsdinstall включена по умолчанию установка pkgbase с компонентами, указанными в переменной COMPONENTS. Старый метод установки на базе distset остаётся доступен, если определена переменная DISTRIBUTIONS.
Добавлена библиотека libuvmem с реализаций механизма распределения памяти vmem, работающего в пользовательском пространстве и представляющего совместимый с vmem API для приложений.
В образы для виртуальных машин и облачных систем включён пакетный менеджер pkg и реализована поддержка атомарного обновления пакета с базовой системой при первой загрузке.
В конфигурацию ядра MINIMAL включён драйвер virtio_scsi, позволяющий загружать систему в виртуальных машинах на базе qemu/kvm.
Реализованы системные вызовы pdwait и pdfork для нового механизма создания и завершения процессов, использующего дескрипторы процессов.
В прослойку для совместимости с Linux добавлен fcntl F_DUPFD_QUERY, использующий kcmp KCMP_FILE для проверки файлового дескриптора в Linux-контейнерах.
Включена сборка драйвера iwx для беспроводных адаптеров Intel AX210/AX211/AX411 с поддержкой Wi-Fi 6E и Wi-Fi 7.
Обновлены драйверы. Добавлена поддержка сетевых адаптеров Intel E835-XXV-4 и Intel E835 Ethernet, RAID-контроллеров, используемых в серверах Fujitsu PRIMERGY, а также NVMe-накопителей, применяемых в Google Compute Engine C4. Улучшена поддержка плат Raspberry Pi. Добавлена поддержка счётчиков отслеживания производительности (hwpmc), предоставляемых в CPU Intel Alder Lake, Alder Lake-N и Emerald Rapids.
Драйвер hid настроен для предоставления доступа пользователям группы game, что позволяет обращаться к игровым контроллерам без повышения привилегий, используя библиотеки, подобные libsdl.
В утилите mt обеспечена совместимость с ленточными накопителями, поддерживающими стандарты LTO-10 и LTO-10P (Linear Tape-Open Generation 10) .
В команду "zpool prefetch" добавлена поддержка метаданных BRT (Block Reference Table), повышающих производительность клонирования и освобождения блоков.
В клиент NFS добавлена поддержка экспортирования через NFS файловых систем, не учитывающих регистр символов в именах файлов и каталогов.
При бездисковой загрузке через NFSv4 реализована поддержка монтирования NFS-раздела в качестве корневой ФС и маппинга имён или идентификаторов пользователей через nfsuserd. Добавлена начальная поддержка расширения к NFSv4.2 с POSIX ACL. В сервер и клиент NFSv4 добавлена поддержка атрибута архивирования (UF_ARCHIVE), используемого в NFS-клиенте Windows.
В интерфейс splash добавлена возможность задания заставки в формате PNG, показываемой при завершении работы системы.
Добавлен sysctl net.inet.ipf.jail_allowed, позволяющий привязать к Jail-окружению собственный набор настроек и правил пакетного фильтра ipfilter.
Добавлен sysctl allow.vmm_ppt для проброса доступа к PCI-устройствам в изолированные окружения на базе гипервизора bhyve.
В GPU-драйвере на базе virtio реализована поддержка виртуальных окружений на базе Parallels Desktop.
Добавлена поддержка регистров FGT (Fine-Grained Trap), механизма Extended Destination ID и инструкций MOPS (Memory Operations), расширяющих возможности виртуализации и повышающих производительность на системах ARM64. Добавлена поддержка ARM64-расширения LASS (Linear Address Space Separation) для усиления изоляции между ядром и пространством пользователя.
В реализацию фреймбуфера гипервизора bhyve добавлена поддержка UNIX-сокетов, позволяющих пробросить графическую консоль в Jail-ы не по сети.
Консольный шрифт spleen обновлён до версии 2.2.0 и расширен дополнительными символами (длинное тире, короткое тире, дефис, угловые скобки, белый квадрат, крест и двойной крест). Улучшено выравнивание символов на экранах с высокой плотностью пикселей. Таблицы символов Unicode обновлены до версии 17.0.0, в которой добавлено 4803 символа.
Подсистема blacklist переименована в blocklist с фоновым процессом blocklistd. Старые настройки в rc-скриптах и правилах пакетного фильтра продолжают действовать, но приводят к выводу предупреждения.
Инструментарий OpenPAM перемещён в новый пакет FreeBSD-pam, а библиотека Zstandard и утилита zstd в пакет FreeBSD-zstd.
На системах, установленных через пакеты freebsd-base, заблокирован вызов сборочных сценариев installworld и installkernel для избежания рассогласования состояния системы с пакетами.
Прекращено формирование сборок в формате OCI (Oracle Cloud Infrastructure).
Объявлены устаревшими и будут удалены в ветке FreeBSD 16 утилиты fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest и chkprintcap. Для работы с дисковыми разделами вместо fdisk и bsdlabel рекомендуется использовать gpart или bsdinstall, а для организации вывода на печать следует задействовать порт print/cups или sysutils/LPRng. В FreeBSD 16 также намерены удалить sysctls hw.ata.rotating и hw.ata.unmapped_io, и драйверы hifn (криптоускорители Hifn 7751/7951/7811/7955/7956), safe (криптоускорители SafeNet SafeXcel 1141/1741), le (AMD Am7900 LANCE and Am79C9xx ILACC/PCnet Etherne), fdc (floppy disk controller) и agp (Accelerated Graphics Port).
Компания "Базальт СПО" и АНО "Институт логики, когнитологии и развития личности" проводят конкурс СПО проектов "Код логики", для участия в котором приглашаются разработчики, внёсшие значимый вклад в существующие СПО проекты, опубликованные в публичном репозитории под свободной лицензией (по ГОСТ Р 54593-2011, включая лицензии, одобренные FSF и OSI). К конкурсу допускаются физические лица, являющиеся дееспособными совершеннолетними налоговыми резидентами РФ. Предусмотрено 3 призовых места с максимальным количеством победителей - до 6 человек (одно первое место, не более двух вторых и трёх третьих). Победитель получит миллион рублей, занявшие 2 место - 500 тысяч рублей, а 3 место - 300 тысяч рублей.
Заявки принимаются до 15 августа 2026 года. Награждение лауреатов состоится 2-4 октября на XXII конференции разработчиков свободных программ. В своё время при поддержке Института Логики зародился IPlabs Linux Team, ставший в дальнейшем основой для ALT Linux.
Комитет, управляющий разработкой набора компиляторов GCC (GCC Steering Committee), утвердил включение в кодовую базу GCC бэкенда для WebAssembly. Решение касается общего одобрения поставки WebAssembly-бэкенда в составе GCC. Вопросы утверждения реализации и принятия переданного кода будет отдельно решать команда, отвечающая за рецензирование.
Бэкенд позволит использовать GCC для компиляции исходного кода на языках C/C++ в промежуточный код WebAssembly. Компиляцию в WebAssembly можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи WASM runtime. Бэкенд выступает генератором кода, использующим промежуточный код, подготовленный штатными фронтэндами GCC, выполняющими разбор исходного кода на поддерживаемых языках программирования и предоставляющими специфичные для них оптимизации.
Предложенная для включения в GCC реализация использует в качестве внешних зависимостей инструментарий wabt, реализацию libc для WebAssembly (wasi-libc) и компоновщик wasm-ld. Не вся запланированная функциональность реализована, например, отсутствует поддержка отладочной информации, ссылочных типов, таблиц, исключений, структуризации и операций setjump/longjump.
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о приостановке приёма и обработки сообщений об уязвимостях с 1 июля по 3 августа. Исключение будет сделано только для отправителей, пользующихся платной поддержкой. В качестве причины называется необходимость передышки и отдыха после существенного повышения нагрузки по разбору отчётов о выявлении уязвимостей в последние четыре месяца.
Сообщения, отправленные через форму на Hackerone и email [email protected] в указанное время сопровождающими рассматриваться не будут. Возможность отправки pull-запросов и сообщений о проблемах через GitHub останется доступна, но разбор накопившихся сообщений об уязвимостях начнётся только после 3 августа.