The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

·26.09.2023 Доступна система проектирования печатных плат LibrePCB 1.0 (7 +5)
  Представлен выпуск свободного пакета для автоматизации проектирования печатных плат LibrePCB 1.0.0, который помечен как первый полноценный выпуск, избавленный от ограничений, мешавших созданию достаточно сложных печатных плат. LibrePCB позиционируется как интуитивно понятный пакет для быстрой разработки плат, который отстаёт по функциональности от KiCad, но гораздо проще в работе и при этом учитывает потребности не только начинающих, но и профессиональных инженеров. Программа поставляется в сборках для Linux (Flatpak, Snap, AppImage), FreeBSD, macOS и Windows. Код проекта написан на языке C++ (интерфейс на Qt) и распространяется под лицензией GPLv3.

Из особенностей отмечается интеграция в одном пакете редактора схем и средств управления проектом, простой кросс-платформенный графический интерфейс на базе Qt, удобная организация работы с библиотекой элементов (предложена концепция "умной" библиотеки), использование доступных для ручного разбора форматов для библиотеки и проектов, режим Multi-PCB (параллельная разработка разных вариантов плат на базе одной схемы), автоматическая синхронизация списка электрических соединений (netlist) между схемой и раскладкой платы. Программа оснащена многоязычным интерфейсом с поддержкой русского (охват перевода 65%) и украинского языков (охват перевода 99%), предоставляющим возможность наименований элементов на разных языках.

LibrePCB включает в себя интерфейс для управления проектом, редактор электронных схем, редактор многослойных печатных плат, сервис для генерации данных для начала производства, утилиту командной строки librepcb-cli для автоматизации типовых работ (например, проверки и экспорта данных), библиотеку электронных компонентов с навигацией по древовидному категоризованному списку, интерфейс для подключения различных существующих библиотек элементов, которые могут добавляться как в форме архивов, так и через интеграцию с репозиториями. Поддерживается импорт файлов DXF и экспорт в форматах PDF, SVG и CSV BOM, pick&place X3/CSV, Gerber/Excellon и STEP.

Основные новшества:

  • Добавлен 3D Viewer для трехмерной визуалиации модели платы.
  • Реализована возможность экспорта в формате STEP для переноса 3D-модели платы в сторонние САПР.
  • В библиотеку добавлены инструменты для использования артикулов производителей (MFN, Manufacturer Part Number, присваиваемый производителем идентификатор товара). При построении спецификации материалов (BOM) предоставлена возможность отражения артикулов и указания возможности использования альтернативных деталей.
  • Расширены возможности редактирования плат: добавлена поддержка термоотводящих прокладок, глухих и внутренних переходных отверстий, металлизированных и неметаллизированных отверстий, скруглённых и произвольных форм посадочных мест, зон запрета (области без заливки медью), специальных типов подложек, настраиваемых автоматических стоп-масок и мест с паяльной пастой на подложках.
  • Добавлен унифицированный интерфейс для генерации результирующих файлов, позволяющий используя одно диалоговое окно экспортировать и сохранять информацию в разных форматах, а также управлять архивами с Gerber-файлами для отправки производителю.

  1. OpenNews: Выпуск системы проектирования печатных плат LibrePCB 0.1.3
  2. OpenNews: Выпуск инженерного дистрибутива CAELinux 2020
  3. OpenNews: Выпуск свободной САПР FreeCAD 0.21
  4. OpenNews: Доступна система автоматизации проектирования электронных приборов Horizon EDA 1.1
  5. OpenNews: Выпуск САПР KiCad 7.0
Обсуждение (7 +5) | Тип: Программы |
·25.09.2023 Увидел свет Wolvic 1.5, web-браузер для устройств виртуальной реальности (25 –2)
  Опубликован релиз web-браузера Wolvic 1.5, предназначенного для использования в системах дополненной и виртуальной реальности. Проект продолжает развитие браузера Firefox Reality, ранее развивавшегося компанией Mozilla. После стагнации кодовой базы Firefox Reality в рамках проекта Wolvic его разработку продолжила компания Igalia, известная своим участием в разработке таких свободных проектов, как GNOME, GTK, WebKitGTK, Epiphany, GStreamer, Wine, Mesa и freedesktop.org. Код Wolvic написан на языках Java и C++, и распространяется под лицензией MPLv2. Готовые сборки сформированы для платформы Android. Поддерживается работа с 3D-шлемами Oculus, Huawei VR Glass, Lenovo VRX, Lenovo A3, HTC Vive Focus, Pico Neo, Pico4, Pico4E, Meta Quest Pro и Lynx (также ведётся портирование браузера для устройств Qualcomm).

Браузер использует web-движок GeckoView - вариант движка Mozilla Gecko, оформленный в виде отдельной библиотеки, которую можно обновлять независимо. Управление производится через принципиально иной трёхмерный интерфейс пользователя, позволяющий осуществлять навигацию по сайтам внутри виртуального мира или в составе систем дополненной реальности. Кроме предназначенного для управления через 3D-шлем интерфейса, позволяющего просматривать традиционные двумерные страницы, web-разработчики могут использовать API WebXR, WebAR и WebVR для создания специализированных трехмерных web-приложений, взаимодействие с которыми производится в виртуальном пространстве. Также поддерживается просмотр в 3D-шлеме пространственных видео, снятых в режиме 360 градусов.

Для навигации используются VR-контроллеры, а для ввода данных в web-формы - виртуальная или реальная клавиатура. Кроме того, для взаимодействия с пользователем предлагается система голосового ввода, дающая возможность заполнять формы и отправлять поисковые запросы с использованием развиваемого в Mozilla движка для распознавания речи. В качестве стартовой страницы браузер предоставляет интерфейс для доступа к избранному контенту и навигации по коллекции адаптированных для 3D-шлемов игр, web-приложений, 3D-моделей и пространственных видео.

В новой версии:

  • Реализована возможность поиска текста на странице.
  • Добавлен диалог для заполнения даты и времени.
  • Устранено белое мерцание, появлявшееся при отбрасывании кадров на низком FPS.

  • Выполнена большая модернизация кодовой базы, охватывающая обновление устаревших API.
  • Добавлены новые реалистичные трёхмерные модели для наглядного отслеживания движения рук, которые больше походят на настоящие руки во время манипуляции с объектами. Для отрисовки модели движения рук задействовано OpenXR-расширение XR_MSFT_hand_tracking_mesh, при наличии его поддержки в системе. Обеспечено корректное сопоставление действий на VR-контроллере с отслеживанием движения рук.
  • Добавлена поддержка OpenXR-расширения XR_EXTX_overlay для композитинга вместе с другими OpenXR-приложениями.
  • Включена поддержка загрузок с URL "blob://" и навигации по локальной файловой системе при открытии URL "file://".
  • Добавлена поддержка VR-контроллера Magic Leap 2.
  • Обеспечен автоматический выбор поисковой системы в зависимости от страны пользователя, если поисковая система явно не выставлена пользователем в настройках.
  • Добавлена поддержка субтитров с YouTube.
  • Повторно включён автоматический выбор защиты для VR-видео с YouTube.
  • Налажено воспроизведение AppleTV.
  • Предложена новая редакция браузера для предоставляемых в AOSP (Android Open Source Project) базовых устройств на основе архитектур arm64 и x64.
  • Модернизирован код для определения изменения состояния беспроводной сети.
  • Браузерный движок Gecko и компоненты Mozilla для Android обновлены до версии 116, соответствующей Firefox 116.0.3 (в прошлых выпусках использовались версии Mozilla Android Components 75 и Gecko 103).
  • В альтернативном бэкенде на основе движка Chromium реализован режим "Инкогнито", добавлена поддержка обработки загрузок через DownloadManagerDelegate, обеспечено приглушение неактивных вкладок.

  1. OpenNews: Опубликован Wolvic 1.4, web-браузер для устройств виртуальной реальности
  2. OpenNews: Компания Igalia представила Wolvic, web-браузер для устройств виртуальной реальности
  3. OpenNews: Представлен wxrd, композитный сервер на базе Wayland для систем виртуальной реальности
  4. OpenNews: Выпуск открытой платформы виртуальной реальности Monado 21.0.0
  5. OpenNews: Проект xrdesktop для использования GNOME и KDE в шлемах виртуальной реальности
Обсуждение (25 –2) | Тип: Программы |
·24.09.2023 Опубликована P2P-платформа GNUnet 0.20 (90 +14)
  Представлен выпуск фреймворка GNUnet 0.20, предназначенного для построения защищённых децентрализованных P2P-сетей. Создаваемые при помощи GNUnet сети не имеют единой точки отказа и способны гарантировать неприкосновенность частной информации пользователей, в том числе исключить возможные злоупотребления со стороны спецслужб и администраторов, имеющих доступ к узлам сети.

GNUnet поддерживает создание P2P-сетей поверх TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, может работать в режиме F2F (Friend-to-friend). Поддерживается обход NAT, в том числе с использованием UPnP и ICMP. Для адресации размещения данных возможно использование распределённой хэш таблицы (DHT). Предоставляются средства для развёртывания mesh-сетей. Для выборочного предоставления и отзыва прав доступа применяется сервис децентрализованного обмена атрибутами идентификации reclaimID, использующий GNS (GNU Name System) и шифрование на основе атрибутов (Attribute-Based Encryption).

Система отличается низким потреблением ресурсов и использованием многопроцессной архитектуры для обеспечения изоляции между компонентами. Предоставляются гибкие средства для ведения логов и накопления статистики. Для разработки конечных приложений GNUnet предоставляет API для языка Си и биндинги для других языков программирования. Для упрощения разработки вместо потоков предлагается использовать циклы обработки событий (event loop) и процессы. В состав входит тестовая библиотека для автоматического развёртывания экспериментальных сетей, охватывающих десятки тысяч пиров.

На базе технологий GNUnet развивается несколько готовых приложений:

  • Система доменных имён GNS (GNU Name System), выступающая в качестве полностью децентрализованной и недоступной для цензуры замены DNS. GNS может применяться бок о бок с DNS и использоваться в традиционных приложениях, таких как web-браузеры. В отличие от DNS в GNS вместо древовидной иерархии серверов применяется направленный граф. Преобразование имён сходно с DNS, но запросы и ответы выполняются с сохранением конфиденциальности - обрабатывающий запрос узел не знает кому отдаётся ответ, а транзитные узлы и сторонние наблюдатели не могут расшифровать запросы и ответы. Целостность и неизменность записей обеспечивается за счёт использования криптографических механизмов. DNS-зона в GNS определяется при помощи связки из открытого и закрытого ключей ECDSA на основе эллиптических кривых Curve25519.
  • Сервис для анонимного обмена файлами, не позволяющий проанализировать информацию за счёт передачи данных только в зашифрованном виде и не дающий отследить кто разместил, искал и скачал файлы, благодаря использованию протокола GAP.
  • Система VPN для создания скрытых сервисов в домене ".gnu" и проброса туннелей IPv4 и IPv6 поверх P2P-сети. Дополнительно поддерживаются схемы трансляции IPv4-в-IPv6 и IPv6-в-IPv4, а также создание туннелей IPv4-поверх-IPv6 и IPv6-поверх-IPv4.
  • Сервис GNUnet Conversation для совершения голосовых вызовов поверх GNUnet. Для идентификации пользователей используется GNS, содержимое голосового трафика передаётся в зашифрованном виде. Анонимность пока не предоставляется - другие пиры могут отследить соединение между двумя пользователями и определить их IP-адреса.
  • Платформа для построения децентрализованных социальных сетей Secushare, использующая протокол PSYC и поддерживающая распространение уведомлений в режиме multicast с применением end-to-end шифрования для того, чтобы доступ к сообщениям, файлам, чатам и обсуждениям могли получить только авторизированные пользователи (те кому сообщения не адресованы, включая администраторов узлов, не смогут их прочитать);
  • Система для организации шифрованной электронной почты pretty Easy privacy, применяющая GNUnet для защиты метаданных и поддерживающая различные криптографические протоколы для верификации ключей;
  • Платёжная система GNU Taler, предоставляющая анонимность для покупателей, но отслеживающая транзакции продавцов для обеспечения прозрачности и предоставления налоговой отчётности. Поддерживается работа с различными существующими валютами и электронными деньгами, в том числе с долларами, евро и биткоинами.
  • Сервис GNUnet Messenger для создания защищённых приложений для чата. Для обеспечения конфиденциальности и защиты от перехвата сообщений применяется протокол CADET (Confidential Ad-hoc Decentralized End-to-End Transport), позволяющий организовать полностью децентрализованное взаимодействие между группой пользователей с использованием сквозного шифрования передаваемых данных.

В новой версии GNUnet внесены изменения, нарушающие совместимость протокола и приводящие к возможным проблемам при взаимодействии узлов на базе GNUnet 0.20 и старых выпусков. В библиотеку libgnuneutil перенесены функции GNUNET_STRINGS_get_suffix_from_binary_name и GNUNET_s. Добавлены функции GNUNET_JSON_spec_object_const, GNUNET_JSON_spec_array_const, GNUNET_PQ_get_oid_by_name и GNUNET_PQ_get_oid. Добавлен API KEM (Key Encapsulation Mechanism).

  1. OpenNews: Выпуск P2P-платформы GNUnet 0.17
  2. OpenNews: Выпуск GNUnet Messenger 0.7 и libgnunetchat 0.1 для создания децентрализованных чатов
  3. OpenNews: Выпуск ZeroNet 0.7, платформы для создания децентрализованных сайтов
  4. OpenNews: Выпуск Nebula 1.5, системы для создания оверлейных P2P-сетей
Обсуждение (90 +14) | Тип: Программы |
·22.09.2023 Бета-выпуск Ubuntu 23.10 (174 +21)
  Представлен бета-выпуск дистрибутива Ubuntu 23.10 "Mantic Minotaur", после формирования которого произведена полная заморозка пакетной базы, и разработчики перешли к итоговому тестированию и исправлению ошибок. Релиз, который отнесён к промежуточным выпускам, обновления для которых формируются в течение 9 месяцев, запланирован на 12 октября. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

Основные изменения:

  • Рабочий стол обновлён до выпуска GNOME 45, в котором в панели появился динамический индикатор виртуальных рабочих столов, повышена производительность системы поиска, добавлен индикатор включения камеры, задействовано аппаратное ускорение воспроизведения видео, заменены просмотрщик изображений и приложение для работы с камерой, изменён стиль отображения боковых панелей, обновлены библиотеки GTK 4.12 и libadwaita 1.4. Из специфичных для Ubuntu изменений отмечается включение в поставку приложения GNOME Clocks.
  • Ядро Linux обновлено до версии 6.5. Из специфичных для Ubuntu изменений в пакете с ядром выделяется сжатие модулей с использованием алгоритма zstd, что позволило сократить время загрузки. В пакет с ядром добавлены свежие наборы патчей для shiftfs, Apparmor и LSM. По умолчанию включён механизм MGLRU (Multi-Generational LRU), который заменяет старую реализацию LRU (Least Recently Used) на основе двух очередей на многоступенчатую структуру, лучше определяющую какие страницы памяти по настоящему используются, а какие можно вытеснить в раздел подкачки. Проведена оптимизация настроек ядра с целью снижения задержек при выполнении десктоп-ориентированных задач. Реализация ZFS обновлена до версии 2.2.0~rc3. В ФС Ceph перенесена поддержка маппинга пользовательских идентификаторов при монтировании.
  • Обновлены версии GCC 13.2.0, binutils 2.41, glibc 2.38, Python 3.11.5 (в репозитории также доступен Python 3.12.0-rc2), Perl 5.36.0, LLVM 16 (в репозитории также доступен LLVM 17), Rust 1.71, OpenJDK 21 (также оставлен OpenJDK 17), .NET 7.0.110, Go 1.21,
  • Обновлены подсистемы: Mesa 23.1.7, BlueZ 5.68, NetworkManager 1.44, Pipewire 0.3.79, Poppler 23.08, xdg-desktop-portal 1.17.2, CUPS 2.4.6, PulseAudio 16.1, Snapd 2.60.3.
  • Обновлены пользовательские приложения, среди которых Firefox 117, LibreOffice 7.6, Thunderbird 115.2, GIMP 2.10.34, Rhythmbox 3.4.7, Blender 3.6.2, Krita v5.1.5, Scribus 1.5.8, Darktable 4.2.1, Inkscape 1.2.2, OBS Studio 29.1.3.
  • Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.57, Django 4.2, Dovecot 2.3.20, Spamassassin 4 (с поддержкой DMARC), Docker n 24.0.5, Containerd 1.7.2, Runc 1.1.7.
  • Добавлена экспериментальная поддержка шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).
  • В инсталляторе возвращена поддержка файловой системы ZFS.
  • Предложен новый менеджер приложений Ubuntu Store, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложении задействована новая система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг. Поставка старого менеджера приложений Ubuntu Software сохранена в качестве опции.
  • Добавлено новое приложение для обновления прошивок (Firmware Updater), позволяющее устанавливать обновления прошивок без запуска фонового сервиса управления обновлениями.
  • Добавлен пакет fonts-ubuntu-classic, в котором предложен набор классических шрифтов, используемых в Ubuntu до выпуска 23.04.
  • Реализована поддержка аппаратного кодирования и декодирования видео в snap-пакете с браузером Chromium.
  • Расширены инструменты управления конфиденциальностью - добавлен механизм, запрашивающий у пользователя полномочия при необходимости предоставления приложениям дополнительных прав (например, для доступа к определённым файлам).
  • Повышена безопасность управления ключами PPA-репозиториев. Утилита add-apt-repository теперь добавляет все данные PPA-репозиториев в .sources-файлы в формате deb822, вместо раздельного добавления .list-файла в /etc/apt/sources.list.d/ и gpg-ключа в /etc/apt/trusted.gpg.d.
  • Для установки Ubuntu Desktop в новом инсталляторе по умолчанию задействован режим "minimal". Для получения возможности начальной установки дополнительных приложений, таких как LibreOffice и Thunderbird, доступна возможность выбора расширенного режима установки (Expanded installation).
  • В Ubuntu Desktop для хранения настроек сетевых интерфейсов задействована система Netplan, уже применяемая в Ubuntu Server. При обновлении системы миграция настроек и профилей NetworkManager (из /etc/NetworkManager/system-connections/ в /etc/netplan/90-NM-*.yaml ) выполняется автоматически (копия старых настроек и профилей сохраняется в /etc/netplan/01-network-manager-all.yaml.dpkg-backup и /var/lib/NetworkManager/backups/). Файл конфигурации /etc/netplan/01-network-manager-all.yaml перенесён в /lib/netplan/00-network-manager-all.yaml, так как его теперь не рекомендуется изменять вручную.
  • Включён механизм Active Directory Certificate Auto Enrollment, позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
  • В сборках для плат Raspberry Pi добавлена официальная поддержка модулей с камерами, среди прочего оснащёнными автофокусом. Библиотека libcamera обновлена до версии 0.1. Настройки cloud-init изменены для отключения по умолчанию парольной аутентификации в сервере SSH.
  • Доступ к пространствам имён идентификаторов пользователя (user namespace) теперь предоставляется только программам, для которых добавлен специальный профиль AppArmor (например, для Chrome создан профиль /etc/apparmor.d/opt.google.chrome.chrome, который можно использовать в качестве примера для открытия доступа к user namespace для других программ). Изменение позволит повысить защищённость систем, использующих контейнерную изоляцию, от уязвимостей, для эксплуатации которых необходим доступ к user namespace.
  • Развивается редакция Ubuntu Core Desktop, основанная на платформе Ubuntu Core и включающая только приложения, оформленные с использованием пакетов в формате Snap.
  • В Kubuntu предложен рабочий стол KDE Plasma 5.27.8 и набор приложений KDE Gear 23.08.1.
  • В Ubuntu Cinnamon задействовано пользовательское окружение Cinnamon 5.8.4.
  • В Xubuntu обновлено окружение на базе Xfce 4.18. Задействованы новые версии Mousepad 0.6.1, Ristretto 0.13.1, Xfce Power Manager 4.18.2, Xfce Screensaver 4.18.2, Xfce PulseAudio Plugin 0.4.7, Xfce Screenshooter 1.10.4, elementary-xfce 0.18, Greybird 3.23.3, GNOME Disk Usage Analyzer (baobab), GNOME Fonts (gnome-font-viewer) и GNOME Document Scanner (simple-scan). В некоторых компонентах Xfce улучшена поддержка масштабирования интерфейса. В состав включены цветные emoji. Улучшена поддержка наушников с интерфейсом Bluetooth. Добавлена поддержка новых сенсорных устройств ввода, таких как Apple Magic Trackpad.
  • В Ubuntu Studio обновлены версии Carla 2.5.6, Audacity 3.3.3, Ardour 7.5.0, Patchance 1.1.0, digiKam 8.1.0, OBS Studio upgraded to 29.1.3, Blender 3.6.2, KDEnlive 23.08.1, Freeshow 0.9.7, Q Light Controller Plus 4.12.7.
  • В Ubuntu MATE задействован выпуск MATE Desktop 1.26.3, а панель MATE Panel обновлена до ветки 1.27 и включает дополнительные патчи.
  • В Lubuntu по умолчанию предложено пользовательское окружение LXQt 1.3.
  • В Ubuntu Budgie рабочий стол Budgie обновлён до версии 10.8. Добавлен новый апплет с реализацией корзины. Добавлена поддержка Magpie, форка Mutter. Улучшен диалог аутентификации, выводимый при необходимости предоставления расширенных прав доступа. Реализован выбор профиля производительности (экономия энергии, сбалансированное энергопотребление и максимальная производительность).

  1. OpenNews: В инсталляторе Ubuntu 23.10 будет возвращена поддержка ZFS
  2. OpenNews: В Ubuntu появится поддержка полнодискового шифрования, использующего TPM
  3. OpenNews: Опубликованы ближайшие планы развития Ubuntu Desktop
  4. OpenNews: Выпуск дистрибутива UbuntuDDE 23.04 с рабочим столом Deepin
  5. OpenNews: Прогресс в продвижении нового менеджера приложений Ubuntu Store
Обсуждение (174 +21) | Тип: Программы |
·22.09.2023 Опубликован Bottlerocket 1.15, дистрибутив на базе изолированных контейнеров (72 +3)
  Опубликован выпуск Linux-дистрибутива Bottlerocket 1.15.0, развиваемого при участии компании Amazon для эффективного и безопасного запуска изолированных контейнеров. Инструментарий и управляющие компоненты дистрибутива написаны на языке Rust и распространяются под лицензиями MIT и Apache 2.0. Поддерживается запуск Bottlerocket в кластерах Amazon ECS, VMware и AWS EKS Kubernetes, а также создание произвольных сборок и редакций, допускающих применение различных инструментов оркестровки и runtime для контейнеров.

Дистрибутив предоставляет атомарно и автоматически обновляемый неделимый системный образ, включающий ядро Linux и минимальное системное окружение, включающие только компоненты, необходимые для запуска контейнеров. В окружении задействованы системный менеджер systemd, библиотека Glibc, сборочный инструментарий Buildroot, загрузчик GRUB, конфигуратор сети wicked, runtime для изолированных контейнеров containerd, платформа оркестровки контейнеров Kubernetes, аутентификатор aws-iam-authenticator и агент Amazon ECS.

Инструменты для оркестровки контейнеров поставляются в отдельном управляющем контейнере, который включается по умолчанию и управляется через API и AWS SSM Agent. В базовом образе отсутствует командная оболочка, сервер SSH и интерпретируемые языки (например, нет Python или Perl) - средства для администратора и отладочные инструменты вынесены в отдельный служебный контейнер, который по умолчанию отключён.

Ключевым отличием от похожих дистрибутивов, таких как Fedora CoreOS, CentOS/Red Hat Atomic Host является первичная ориентация на предоставление максимальной безопасности в контексте усиления защиты системы от возможных угроз, усложнения эксплуатации уязвимостей в компонентах ОС и повышения изоляции контейнеров. Контейнеры создаются при помощи штатных механизмов ядра Linux - cgroups, пространств имён и seccomp. Для дополнительной изоляции в дистрибутиве применяется SELinux в режиме "enforcing".

Корневой раздел монтируется в режиме только для чтения, а раздел с настройками /etc монтируется в tmpfs и восстанавливает исходное состояние после перезапуска. Прямое изменение файлов в каталоге /etc, таких как /etc/resolv.conf и /etc/containerd/config.toml, не поддерживается - для постоянного сохранения настроек следует использовать API или выносить функциональность в отдельные контейнеры. Для криптографической верификации целостности корневого раздела задействован модуль dm-verity, а в случае выявления попытки модификации данных на уровне блочного устройства система перезагружается.

Большинство системных компонентов написаны на языке Rust, предоставляющем средства для безопасной работы с памятью, позволяющие избежать уязвимостей, вызванных обращением к области памяти после её освобождения, разыменованием нулевых указателей и выходом за границы буфера. При сборке по умолчанию применяются режимы компиляции "--enable-default-pie" и "--enable-default-ssp" для включения рандомизации адресного пространства исполняемых файлов (PIE) и защиты от переполнения стека через подстановку канареечных меток. Для пакетов, написанных на языке C/C++, дополнительно включаются флаги "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" и "-fstack-clash-protection".

В новом выпуске:

  • На платформах, использующих UEFI, добавлена поддержка безопасного режима загрузки (Secure Boot).
  • Ядро Linux обновлено до версии 6.1. Системный менеджер systemd обновлён до версии 252.
  • Для настройки сети на хостах задействованы компоненты systemd-networkd и systemd-resolved вместо сервиса wicked.
  • Локальное хранилище переведено на использование файловой системы XFS для новых установок (на уже установленных системах продолжат использоваться EXT4, wicked и прошлые ядра).
  • Обновлено содержимое управляющего (control) и администрирующего (admin) контейнеров.
  • Добавлена команда "apiclient report" для генерации отчёта CIS (Center of Internet Security) с оценкой безопасности настроек. Также в состав включён агент для проверки соответствия системы требованиям CIS.
  • В параметры, задаваемые по умолчанию для контейнеров OCI, добавлены настройки ограничения ресурсов.
  • Предложен новый вариант дистрибутива "aws-ecs-2" для Amazon Elastic Container Service (Amazon ECS), в котором используется UEFI Secure Boot, systemd-networkd и XFS. Во всех вариантах дистрибутива для Amazon ECS добавлена поддержка AppMesh.
  • Предложены новые варианты дистрибутива c поддержкой Kubernetes 1.28, в которых используются UEFI Secure Boot, systemd-networkd и XFS. Прекращена поддержка вариантов на базе Kubernetes 1.22 и обновлены версии Kubernetes 1.27.4, 1.26.7, 1.25.12 и 1.24.16 в остальных поддерживаемых вариантах. В варианты на базе Kubernetes 1.25 и более новых выпусков добавлена настройка SeccompDefault.
  • В вариантах дистрибутива "metal-*" (Bare Metal, для работы поверх обычного оборудования) включён драйвер Intel VMD и добавлены пакеты linux-firmware и aws-iam-authenticator.

  1. OpenNews: Компания Microsoft опубликовала Linux-дистрибутив CBL-Mariner 2.0
  2. OpenNews: Третий прототип платформы ALP, идущей на смену SUSE Linux Enterprise
  3. OpenNews: Спецслужбы Франции опубликовали защищённый дистрибутив CLIP OS
  4. OpenNews: Четвёртый тестовый выпуск ОС Subgraph
  5. OpenNews: Релиз ОС Qubes 4.1, использующей виртуализацию для изоляции приложений
Обсуждение (72 +3) | Тип: Программы |
·21.09.2023 Дистрибутив Fedora Linux 39 перешёл на стадию бета-тестирования (98 +10)
  Началось тестирование бета-версии дистрибутива Fedora Linux 39. Бета-выпуск ознаменовал переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 17 октября. Выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway . Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).

Наиболее значимые изменения в Fedora Linux 39:

  • Рабочий стол в Fedora Workstation обновлён до выпуска GNOME 45.
  • В командном интерпретаторе Bash по умолчанию включено цветное оформление командной строки.
  • В NetworkManager обеспечен автоматический перевод существующих профилей соединений, хранимых в формате ifcfg (/etc/sysconfig/network-scripts/ifcfg-*), в формат на основе файла keyfile.
  • Добавлены мета-пакеты default-fonts* для упрощения обновления и установки шрифтов, предлагаемых по умолчанию.
  • Предоставлена возможность удаления пакета tzdata с БД часовых поясов для сокращения размера изолированных контейнеров.
  • Прекращена сборка и поставка отдельно обновляемых модулей, жизненный цикл которых не привязан к основной начинке дистрибутива, а поддержка осуществляется независимо от релизов дистрибутива, что позволяло обеспечить сосуществование пакетов с разными версиями одного и того же приложения. В качестве причины прекращение поддержки модулей отмечается потеря интереса к разработке модулей и проблемы с сопровождением существующих модулей (последняя активность в pagure.io/modularity наблюдалась более 3 лет назад).
  • Из базовой установки удалён пакет fedora-repos-modular и отключён модульный репозиторий. Изменение позволило ускорить работу пакетного менеджера DNF за счёт сокращения числа проверок и загрузок метаданных.
  • Изменён способ сборки Flatpak-пакетов в дистрибутиве. Вместо использования модулей при пересборке пакетов с параметром "prefix=/app", задействована отдельная сборочная цель.
  • Значение sysctl vm.max_map_count по умолчанию увеличено с 65530 до 1048576 для улучшения совместимости c Windows-играми, запускаемыми через wine или steam.
  • В утилите createrepo_c по умолчанию задействован алгоритм Zstd для сжатия метаданных репозитория и прекращена генерация метаданных в БД SQLite.
  • Удалён пакет pam_console, который не применялся по умолчанию, имел проблемы с безопасностью и мог быть заменён на функциональность из systemd.
  • Обновлены версии пакетов, среди которых RPM 4.19, gcc 13.2, LLVM/Clang 17, binutils 2.40, glibc 2.38, Python 3.12, Perl 5.38, Golang 1.21, Boost 1.81, Vagrant 2.3, Haskell GHC 9.4, LibreOffice 7.6.
  • Прекращена поставка тем оформления QGnomePlatform и Adwaita-qt, применявшихся для придания Qt-приложениям GNOME-подобных настроек и стиля, чтобы данные приложения лучше вписывались в окружение GNOME. В качестве причины упоминается стагнация данных тем и проблемы при их использовании с некоторыми приложениями.
  • Объявлены устаревшими пакеты с системой проверки правописания aspell, вместо которых рекомендуется использовать hunspell или enchant2. В качестве причины называется отсутствие обновлений в проекте aspell в течение последних 4 лет.
  • В Fedora Cloud реализована возможность автоматической перезагрузки после установки обновлений пакетов, требующих перезагрузки системы. Возможность организована через создание файла /var/run/reboot-required после выполнения операции "dnf update" и его проверки в cloud-init.
  • Пользователям, управляемым через Active Directory, FreeIPA или LDAP, предоставлена возможность использования технологии Passkeys, позволяющей проходить аутентификацию без паролей с использованием биометрических идентификаторов, таких как отпечаток пальца или распознавание лица, используя FIDO2-совместимое устройство, поддерживаемое в библиотеке libfido2.
  • Прекращена поставка пакета с man-pages-ru, так как переводы man-руководств на русский язык также входят в состав пакета man-pages-l10n.
  • Минимальный размер раздела ESP (EFI System Partition), используемого при установке Fedora, увеличен с 200 до 500 МБ из-за нехватки места под обновления прошивок. Ограничение в 500 МБ соответствует параметрам, используемым Microsoft, начиная с Windows 10.
  • Проведены подготовительные работы, связанные со второй стадией перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС. Основные цели для реализации на второй и третьей стадиях: интеграция в инсталлятор поддержки systemd-boot, уход от привязки к использованию командной строки ядра для настройки, прекращение хранения конфиденциальных данных в initrd, изменение обработки необязательных модулей dracut.
  • Редакции Sericea и Sway Spin прекратили поставку пакетов xorg-x11.
  • В редакции Fedora Kinoite (атомарно обновляемый вариант Fedora с KDE) по умолчанию включено автоматическое обновление в системы.
  • Для сборки редакций Fedora Silverblue и Fedora Kinoite задействован более безопасный унифицированный (unified core) режим rpm-ostree.
  • Началось формирование образов с пользовательским окружением LXQt для архитектуры Aarch64.
  • Добавлена официальная сборка Fedora Onyx с атомарно обновляемым вариантом Fedora Linux, оснащённым пользовательским окружением Budgie. Новая сборка дополняет классическую сборку Fedora Budgie Spin и напоминает редакции Fedora Silverblue, Fedora Sericea и Fedora Kinoite, поставляемые с GNOME, Sway и KDE. Fedora Onyx основан на технологиях Fedora Silverblue и также поставляется в форме монолитного образа, не разделяемого на отдельные пакеты и обновляемого атомарно через замену целиком. Базовое окружение собирается из официальных RPM-пакетов Fedora при помощи инструментария rpm-ostree и монтируется в режиме только для чтения. Для установки и обновления дополнительных приложений применяется система самодостаточных пакетов flatpak, при помощи которой приложения отделяются от основной системы и запускаются в отдельном контейнере.

Переход на пакетный менеджер DNF5 и новый инсталлятор на основе web-интерфейса отложены до выпуска Fedora 40. Также отменено намеченное на Fedora 39 удаление драйверов org-x11-drv-vesa и xorg-x11-drv-fbdev, и связанного с ними кода из пакета xorg-x11-server-Xorg. При этом разработчики рассматривают возможность прекращения в Fedora 40 поддержки сеанса на базе X11 в сборках дистрибутива с KDE и GNOME.

  1. OpenNews: В Fedora 40 планируют прекратить поддержу X11 в окружении KDE
  2. OpenNews: Разработчики Fedora рассматривают возможность включения телеметрии
  3. OpenNews: В Fedora Workstation 39 планируют задействовать новый инсталлятор на основе web-интерфейса
  4. OpenNews: Релиз дистрибутива Fedora Linux 38
  5. OpenNews: В Fedora 39 намечен переход на DNF5, избавленный от компонентов на языке Python
Обсуждение (98 +10) | Тип: Программы |
·21.09.2023 Доступен набор компиляторов LLVM 17.0 (77 +22)
  После шести месяцев разработки представлен релиз проекта LLVM 17.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Основные улучшения в Clang 17.0:

  • Реализованы возможности, определённые в будущем Си-стандарте C2x:
    • Добавлены ключевые слова bool, static_assert, alignas, alignof и thread_local.
    • Разрешено указание пустых скобок "{}" для инициализации в нулевые значения , т.е. теперь можно писать "struct S { int x, y } s = {};".
    • Предоставлена возможность указания любых универсальных имён символов в символьных и строковых литералах. Например, "int \u0024 = 0;".
    • В "stddef.h" добавлен макрос "unreachable".
    • Из спецификации исключён макрос ATOMIC_VAR_INIT.
    • Добавлена полная реализация типов nullptr и nullptr_t. Например, можно указывать "void func(nullptr_t); func(0); func((void *)0);".
  • В коде на языке Си предоставлена возможность проброса через выражение "goto" внутри блоков "asm" по косвенно выбранным меткам. Например, goto("mov %1, %0\n\tjmp %l[label]" : "=r" (x) : "r" (45) : : label);
  • Добавлена поддержка Си-расширения, позволяющего использовать в "_Generic" в качестве первого операнда тип, а не выражение. Например, "_Generic(typeof(i), int : 0, const int : 1);".
  • В константных выражениях на языке Си разрешено использование структур, объединений и массивов, объявленных с признаком "const".


  • Реализованы расширенные возможности, связанные со стандартом C++20:
    • Для всех платформ, за исключением Windows, обеспечена полная поддержка сопрограмм (Coroutines).
    • Реализованы дополнительные требования к операциям сравнения константных выражений.
    • Обеспечен корректный разбор лямбда-шаблонов, указанных сразу после параметров шаблона и содержащих в блоке "requires" переменную с зависимым типом.
    • Включён по умолчанию флаг "-Wreserved-module-identifier", приводящий к выводу предупреждения вместо ошибки при использовании зарезервированных идентификаторов в блоке экспорта модулей.
    • Добавлена поддержка выражения "requires cplusplus20" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализованы дополнительные требования к применению операторов сравнения.
    • Зарезервировано использование двойного подчёркивания в пользовательских литералах и объявлено устаревшим использования ключевого слова "operator" в определении функций с зарезервированными идентификаторами в имени (например, 'double operator"" _Bq(long double);').
    • Обеспечено определение макроса "__cpp_consteval".
    • Разрешено использование CTAD для агрегатных типов.
    • Разрешено использование спецификатора "auto" для указателей и ссылок на массивы.
  • Реализованы расширенные возможности, связанные со стандартом C++23, который находится на финальной стадии утверждения в ISO:
    • Изменена область действия хвостового возвращаемого типа (trailing-return-type) в лямбда-функциях, который теперь сначала смотрит в перехваты, а затем в окружающий текст.
    • Ослаблены некоторые требования к "constexpr". Например, в constexpr-функциях разрешено указание переменных нелитеральных типов в качестве возвращаемых значений и параметров. Разрешён вызов в constexpr-функциях других функций и конструкторов, не являющихся "constexpr".
    • Добавлена поддержка выражения "requires cplusplus23" в описаниях связей заголовочных файлов с модулями (module map).
    • Реализовано требование, в соответствии с которым все функции, вызывающие функции с признаком consteval тоже становятся consteval, т.е. выполняются при компиляции.
  • Реализованы расширенные возможности, связанные с будущим стандартом C++2с (C++26):
    • В компилятор добавлены новые флаги "-std=c++2c" и "-std=gnu++2c" для включения экспериментальной поддержки развивающейся спецификации C++2c.
    • Для constexpr реализована поддержка "стирания типа" через преобразование указателей в void* и обратно в исходный тип, что позволит добиться возможности выполнения std::format во время компиляции.
    • Частично реализована поддержка невычисляемых строк (unevaluated string), которые используются только на стадии компиляции в _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]], и не попадают в скомпилированную программу.
    • Добавлена возможность использования в static_assert сгенерированных пользователем диагностических сообщений.
  • При компиляции приложений языке C++ при использовании режима оптимизации "-O0" улучшена генерация кода для вызовов, подобных std::forward_like, std::move и std::forward, которые теперь обрабатываются как встроенные в компилятор и не использующие стандартную библиотеку. Кроме того, улучшена генерация кода при динамическом приведении (dynamic_cast) к окончательному типу (для сравнения данных RTTI больше не используется runtime-библиотека и указатели vtable сравниваются напрямую).
  • Разрешено использование static_assert(false) в коде на C++ в контексте определения шаблона.


  • Добавлена поддержка встроенных функций (builtin):
    • "__builtin_nondeterministic_value" - возвращает недетерминированное значение с тем же типом.
    • "__builtin_FILE_NAME" - аналог макроса __FILE_NAME__.
    • "__builtin_FUNCSIG - аналог макроса "__FUNCSIG__".
    • "__builtin_assume_separate_storage" - проверяет, что аргумент указывает на объекты в отдельно выделенной памяти.
    • "__builtin_isfpclass" - проверяет сочетаемость значения с плавающей запятой с указанным классом данных.
    • "__builtin_elementwise_round" - предоставляет доступ к llvm.round для типов с плавающей запятой.
    • "__builtin_elementwise_rint" - предоставляет доступ к llvm.rint для типов с плавающей запятой.
    • "__builtin_elementwise_nearbyint" - предоставляет доступ к llvm.nearbyint для типов с плавающей запятой.
    • Добавлена поддержка встроенных функций stdio, доступных в GCC: __builtin_vprintf, __builtin_vfprintf, __builtin_fscanf, __builtin_scanf, __builtin_sscanf, __builtin_vfscanf, __builtin_vscanf, __builtin_vsscanf.
  • Добавлена возможность определения многомерных массивов через "__declspec(property)".
  • Добавлен новый встроенный типаж "__is_trivially_equality_comparable" проверяющий идентичность двух экземпляров типов (например, memcmp(&lhs, &rhs, sizeof(T)) == 0).
  • Добавлена поддержка переменной окружения NO_COLOR для отключения выделения цветом вывода.
  • Добавлены новые флаги компилятора: "-std=c++23", "-dumpdir", "-fcaret-diagnostics-max-lines", "-fkeep-persistent-storage-variables", "-f[no-]assume-unique-vtables", "-print-multi-flags-experimental".
  • Для совместимости с GCC добавлены флаги "-maix32", "-maix64" и "-p".
  • Объявлен устаревшим флаг "-fdouble-square-bracket-attributes". Удалены устаревшие флаги "-fmodules-ts", "-fcoroutines-ts", "-lower-global-dtors-via-cxa-atexit" и "-no-opaque-pointers".
  • Добавлен новый атрибут функций "__attribute__((unsafe_buffer_usage))", сигнализирующий об осознанной небезопасной работе с буферами в функции (при указании атрибута для функции не выводится предупреждение "-Wunsafe-buffer-usage").
  • Значительно расширены средства диагностики и статического анализа, например, добавлены новые проверки переполнения знаковых целых чисел, корректности лямбда-шаблонов, выражений constexpr, сравнений с нулевыми указателями, использования неинициализированных структур и т.п. Доступен обзор новых возможностей диагностики с наглядными примерами.

Основные новшества LLVM 17.0:

  • В бэкенд для архитектуры X86 добавлена поддержка расширений архитектуры набора команд (ISA): AMX-COMPLEX, SHA512, SM3, SM4 и AVX-VNNI-INT16.
  • Заметно расширены возможности бэкенда для архитектуры RISC-V. Добавлена поддержка процессора sifive-x280. Реализована поддержка процессорных расширений XTHeadBa, XTHeadBb, XTHeadBs, XTHeadCondMov, XTHeadMac, XTHeadMemPair, XTHeadMemIdx, Xsfvcp (SiFive VCIX), Xsfcie (SiFive CIE), Zawrs, XTHeadCmo, XTHeadSync, XTHeadFMemIdx, Xca 1.0.1, Zcf 1.0.1, Zcd 1.0.1, Zfa 0.2.
  • В бэкенд для архитектуры LoongArch добавлена поддержка расширений LSX, LASX, LVZ и LBT ISA.
  • Улучшены бэкенды для архитектур AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU.
  • В отладчик LLDB добавлена новая команда "register info" для вывода всей информации, известной о регистре.
  • Расширены возможности компоновщика LLD.
  • В библиотеке Libc++ продолжена реализация поддержки возможностей стандартов C++20 и C++23, а также началась работа по обеспечению поддержки спецификации C++26.

  1. OpenNews: Релиз набора компиляторов LLVM 16.0
  2. OpenNews: Создатель LLVM развивает новый язык программирования Mojo
  3. OpenNews: Проект Minotaur развивает оптимизатор векторных инструкций для LLVM
  4. OpenNews: Релиз набора компиляторов GCC 13
  5. OpenNews: Проект LLVM развивает средства для безопасной работы с буферами в C++
Обсуждение (77 +22) | Тип: Программы |
·20.09.2023 Опубликовано пользовательское окружение GNOME 45 (257 +16)
  После шести месяцев разработки представлен выпуск десктоп-окружения GNOME 45. Для быстрой оценки возможностей GNOME 45 предложены специализированные Live-сборки на основе openSUSE и установочной образ, подготовленный в рамках инициативы GNOME OS. GNOME 45 также уже включён в состав экспериментальных сборок Ubuntu 23.10 и Fedora 39.

В новом выпуске:

  • Кнопка "Обзор" ("Activities"), размещённая в углу верхней панели, заменена на динамический индикатор виртуальных рабочих столов. Кроме того, с целью высвобождения места на панели для новых элементов оформления удалено меню приложения, показывающее имя активной программы.

  • Проведена оптимизация производительности системы поиска и снижено потребление ресурсов при выполнении таких приложений, как Software, Characters, Clocks, Files и Calculator.
  • В верхней панели предложен новый индикатор, сигнализирующий о включении камеры. Индикатор показывается только при обращении к камере из приложений, использующих мультимедийный сервер Pipewire (для приложений, работающих с камерой в обход Pipewire, индикатор не показывается). Обновлён стиль ранее доступного индикатора включения микрофона.
  • В меню быстрого изменения наиболее часто используемых настроек добавлена кнопка для управления клавиатурной подсветкой. Для быстрого открытия и закрытия меню быстрого изменения настроек предложена клавиатурная комбинация "Super/Windows + S".
  • Для повышения эффективности воспроизведения видео и создания скринкастов теперь используются доступные средства аппаратного ускорения.
  • Обновлено оформление изображений курсора. Повышена плавность перемещения указателя, даже при высокой нагрузке на систему.
  • Добавлен новый светлый системный стиль оформления интерфейса, который можно использовать вместо применяемого по умолчанию тёмного стиля. Новый стиль включается командой "gsettings set org.gnome.desktop.interface color-scheme prefer-light" (настройка для включения пока не интегрирована в конфигуратор).
  • В сеансе на базе Wayland реализована поддержка программного KVM-коммутатора Input Leap, позволяющего использовать одну клавиатуру и мышь для управления несколькими компьютерами.
  • По умолчанию предложен новый просмотрщик изображений, оснащённый лёгким интерфейсом и оптимизированный для быстрого просмотра изображений. В приложении поддерживается плавный переход от одного изображения к другому, применяются визуальные эффекты при масштабировании и повороте картинки, присутствует боковая панель со свойствами, доступны кнопки для быстрого копирования и удаления, предоставляются настройки вывода на печать. Интерфейс построен с использованием адаптивного оформления, которое подстраивается под текущие параметры экрана, может применяться на мобильных устройствах с небольшими экранами и управляться с сенсорного экрана с использованием типовых жестов, таких как масштабирование щипком.

  • В состав включено новое приложение для работы с камерой, в котором используется адаптивное оформление и прозрачная панель с элементами управления, накладываемая поверх изображения. Программа оснащена возможностью записи отдельных снимков или видео, поддержкой переключения между несколькими камерами, встроенным просмотрщиком ранее сохранённых изображений и видео.
  • Продолжен перевод приложений на использование GTK 4 и библиотеки libadwaita, которая предлагает готовые виджеты и объекты для построения приложений, соответствующие новым рекомендациям GNOME HIG (Human Interface Guidelines) и способные адаптивно подстраиваться под экраны любого размера. На GTK 4 переведена программа для сканирования документов. В приложениях Console, Text Editor, Disk Usage Analyzer, Fonts, Tour и Web задействован новый стиль панели заголовков, в котором заголовок визуально отделён от содержимого тенью. Обновлён стиль оформления приложений Calendar, Maps, Files и Calculator. Изменён стиль отображения боковых панелей, которые теперь занимают всю ширину окна и автоматически подстраиваются под новый размер при изменении ширины окна.
  • В файловом менеджере Nautilus (GNOME Files) модернизированы средства для поиска: значительно ускорен вывод результатов поиска, улучшена сортировка результатов и добавлены кнопки для расширения области поиска. Добавлено новое окно для настройки столбцов, показываемых в режиме просмотра списка файлов. Ускорена генерация миниатюр. В режиме показа пиктограмм обеспечена индикация помеченных звёздочкой файлов.
  • В конфигураторе предоставлена возможность настройки формата отображения даты и времени в панели. Все настройки в разделах "Конфиденциальность" и "Совместный доступ" снабжены примечаниями с описанием сути. Подсказки также добавлены в настройки администратора и автоматического входа. Улучшена навигация по настройкам с использованием клавиатуры. Обновлено оформление многих панелей. Добавлен новый интерфейс для отображения раскладки клавиатуры.
  • В менеджере приложений (GNOME Software) предоставлена опция для удаления сопутствующих данных после удаления пакета в формате Flatpak. Интерфейс адаптирован для отображения небольшого числа доступных приложений. Реализована блокировка загрузки и установки обновлений, в случае выполнения игровых приложений.
  • В календаре-планировщике добавлены новые клавиатурные комбинации: F5 для синхронизации календарей, F8 для открытия меню календарей и Ctrl+Alt+M для управления календарями. Увеличен диапазон дат, которые охватывает поиск событий. Проведена оптимизация производительности.
  • В GNOME Maps добавлена кнопка, показывающая направление и позволяющая повернуть карту для ориентации на север. В поисковой панели реализована поддержка поиска ближайших достопримечательностей. Кнопка масштабирования перемещена из заголовка на карту.
  • В приложении Connections (клиент для удалённого подключения к рабочему столу с использованием протоколов VNC и RDP) при подключении через RDP добавлена поддержка копирования текста, изображений и файлов между локальным и удалённым компьютером.
  • В эмуляторе терминала Console предложено новое окно с настройками, среди прочего позволяющее указать собственный шрифт и отключить звуковую индикацию.
  • В рамках инициативы GNOME Circle подготовлены новые дополнительные приложения от сообщества:
    • Telegraph - переводчик для азбуки Морзе.
    • Cartridges - интерфейс для запуска игр, поддерживающий такие сервисы, как Steam, Lutris и Heroic.
    • Ear Tag - редактор звуковых метаданных.
    • Paper Clip - редактор метаданных в PDF-документах.
    • Forge Sparks - вывод уведомлений о событиях в Github, Gitea и Forgejo.
    • Impression - интерфейс для записи дисковых образов на внешние накопители.
  • В интегрированной среде разработки GNOME Builder предоставлена возможность использования языка JavaScript для разработки плагинов. Цветовая схема приведена в соответствие с современным стилевым оформлением GNOME.
  • Обновлены библиотеки GTK 4.12 и libadwaita 1.4. JavaScript-движок GJS обновлён до версии 1.76, основанной на движке SpiderMonkey 115. Обновлены привязки для разработки графических приложений на языке Rust с использованием библиотеки GTK.
  • Изменена организация загрузки модулей в дополнениях к GNOME Shell, что привело к нарушению обратной совместимости. Дополнения, разработанные для прошлых версий GNOME, не смогут работать в выпуске GNOME 45.


  1. OpenNews: Выпуск библиотеки Libadwaita 1.4 для создания интерфейсов в стиле GNOME
  2. OpenNews: В GNOME 45 будет нарушена совместимость со старыми дополнениями
  3. OpenNews: В GNOME планируют изменить модель управления окнами
  4. OpenNews: Опубликовано пользовательское окружение GNOME 44
  5. OpenNews: Доступен графический тулкит GTK 4.12
Обсуждение (257 +16) | Тип: Программы |
·20.09.2023 OpenTF, форк платформы Terraform, переименован в OpenTofu (39 +7)
  Проект по созданию форка платформы управления конфигурацией и автоматизации поддержания инфраструктуры Terraform переименован из OpenTF в OpenTofu для исключения пересечений с проектом Terraform и товарными знаками компании Hashicorp. Сокращение "tf" решено заменить на "Tofu" так как сочетание "tf" уже используется в расширениях файлов Terraform, в переменных и функциях в коде, а также в названиях продуктов TFC (Terraform Cloud) и TFE (Terraform Enterprise). Так как OpenTofu позиционируется как продукт для предприятий, создатели форка решили исключить все потенциальные риски, связанные с возможными судебными претензиями о нарушении товарных знаков и интеллектуальной собственности Hashicorp.

Одновременно объявлено о официальном принятии OpenTofu в число проектов организации Linux Foundation. Разработка форка на нейтральной площадке под эгидой Linux Foundation позволит гарантировать сохранение открытого характера платформы, защитить проект от изменений в политике отдельных компаний и упростить участие сторонних компаний. О своей поддержке новой организации и намерении участвовать в разработке форка объявили 147 компаний и 734 индивидуальных разработчиков. Присоединившиеся к инициативе OpenTofu компании выделили на разработку форка ресурсы, эквивалентные работе 18 инженеров в режиме полного рабочего дня в течение следующих 5 лет (для сравнения последние два года в компании HashiCorp сопровождением Terraform занимается 5 инженеров).

Основные принципы дальнейшего развития OpenTofu:

  • Развитие как открытого проекта под свободной лицензией MPLv2.
  • Участие сообщества в управлении проектом, приём изменений от сообщества, открытый процесс рецензирования изменений и развитие новшеств через публичное обсуждение RFC.
  • Принятие решений о включении исправлений и новых возможностей, учитывая пользу для сообщества, а не отдельных поставщиков.
  • Применение модульной структуры, удобной для программистов и способствующей развитию новой экосистемы инструментов и компонентов для интеграции.
  • Сохранение обратной совместимости и возможность использовать OpenTofu в качестве прозрачной замены Terraform, совместимой со всеми провайдерами и модулями Terraform.

Напомним, что причиной создания форка стал перевод компанией HashiCorp своих продуктов на проприетарную лицензию BSL 1.1, ограничивающую использование кода в облачных системах, конкурирующих с продуктами и сервисами HashiCorp. Cмена лицензии объясняется желанием сохранить финансирование своих разработок в условиях неспособности классических моделей лицензирования противостоять паразитированию компаний, использующих готовые открытые исходные тексты разработок HashiCorp для создания собственных коммерческих облачных продуктов без участия в совместной разработке.

  1. OpenNews: Организация OpenTF создала форк платформы управления конфигурацией Terraform
  2. OpenNews: Компания HashiCorp меняет лицензию на своё ПО с MPLv2 на проприетарную BSL 1.1
  3. OpenNews: HashiCorp представил открытую систему управления документами Hermes
  4. OpenNews: HashiCorp временно приостановил приём изменений от сообщества в проекте Terraform
  5. OpenNews: Внедрение вредоносного кода в скрипт Codecov привело к компрометации PGP-ключа HashiCorp
Обсуждение (39 +7) | Тип: К сведению |
·20.09.2023 Сокращение срока поддержки LTS-ядер Linux и проблема с выгоранием сопровождающих (209 +30)
  Разработчики ядра Linux намерены ограничиться двухлетним циклом выпуска обновлений для LTS-веток ядра Linux. Формально время сопровождения LTS-веток и сейчас составляет 2 года, но последние пять лет срок выпуска обновлений продлевался до 6 лет в случае, если ядро продолжает быть востребованным и представители индустрии готовы оказать поддержку разработчикам, осуществляющим сопровождение.

В дальнейшем подобное продление поставлено под сомнение, так как отмечается снижение интереса к использованию старых LTS-ядер - большинство пользователей заранее переводят свои продукты на более новые ветки ядра и 6 лет воспринимается как избыточный срок. Кроме того, по мере увеличения числа LTS-ядер увеличивается нагрузка на сопровождающих, работа которых превращается в рутину и сводится к непрерывному бэкпортированию исправлений. Подобная нагрузка приводит к выгоранию сопровождающих и потере интереса к продолжению работы.

Выгорание сопровождающих оценивается как одна из наиболее серьёзных проблем в сообществе разработчиков ядра. Несмотря на поддержку корпораций большинство участников разработки ядра действуют ради интереса в качестве добровольцев - за свою работу оплату получает лишь около 200 разработчиков из более 2000 активных участников разработки. Постоянное монотонное исправление мелких ошибок, fuzzing-тестирование и рецензирование изменений изматывает разработчиков и приводит к потере интереса к работе сопровождающего.

Из проблем также отмечается опасность возникновения веток ядра Linux, расходящихся с основным ядром и зависящих от отдельных поставщиков. Подобные ветки могут стать результатом использования в дистрибутивах, таких как Red Hat Enterprise Linux, пакетов с ядром, основанных на очень старых версиях ядра с бэкпортированными изменениями. Опасность подобных веток в том, что при выборочном переносе изменений можно упустить исправления уязвимостей и серьёзных проблем. Кроме того, в них затруднён разбор возникающих ошибок, так как не всегда понятно, проявляется ли проблема в основном ядре или вызвана специфичными изменениями производителя.

В качестве более правильной упоминается модель сопровождения ядер для платформы Android, основанная на переносе всех изменений из основного ядра и развитию необходимых новшеств в основном ядре, вместо поддержания собственного варианта ядра, включающего изменения, специфичные для платформы Android. Модель полного переноса изменений выгодна прежде всего с точки зрения безопасности, так как, при выборочном переносе исправлений не всегда очевидна связь исправления с устранением потенциальных проблем с безопасностью. При полном переносе изменений проблема часто оказывается решена ещё до того, как появляется информация о том, что исправление блокирует уязвимость.

  1. OpenNews: Срок поддержки LTS ядра Linux 4.4 увеличен c 2 до 6 лет
  2. OpenNews: Линус Торвальдс о проблемах с поиском мэйнтейнеров, Rust и рабочих процессах
  3. OpenNews: Ядро Linux 5.10 отнесено к категории выпусков с длительным сроком поддержки
  4. OpenNews: Организация Linux Foundation выпустила LTS-ветку на базе ядра Linux 4.19
  5. OpenNews: Ядро Linux 6.1 отнесено к категории выпусков с длительным сроком поддержки
Обсуждение (209 +30) | Тип: К сведению |
·20.09.2023 Выпуск Java SE 21 (61 +8)
  После шести месяцев разработки компания Oracle выпустила платформу Java SE 21 (Java Platform, Standard Edition 21), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 21 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 21 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java 21 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 21 отнесён к категории выпусков с расширенным сроком поддержки, обновления для которого будут выпускаться до 2031 года (общедоступные обновления будут выходить до сентября 2028 года). В качестве ветки с длительным сроком поддержки (LTS) также продолжает сопровождаться Java SE 17, обновления для которой будут выпускаться до 2029 года (общедоступные - до 2026 года). Общедоступная поддержка LTS-ветки Java SE 11 прекращается в сентябре этого года, но расширенная поддержка будет производиться до 2032 года. Расширенная поддержка LTS-ветки Java SE 8 продлится до 2030 года.

Напомним, что начиная с выпуска Java 10 проект перешёл на новый процесс разработки, подразумевающий более короткий цикл формирования новых релизов. Новая функциональность теперь развивается в одной постоянно обновляемой master-ветке, в которую включаются уже готовые изменения и от которой раз в шесть месяцев ответвляются ветки для стабилизации новых выпусков.

Из новшеств Java 21 можно отметить ([1], [2], [3], [4], [5]):

  • Добавлена поддержка упорядоченных коллекций (SequencedCollection), предоставляющих методы addFirst, addLast, getFirst, getLast, removeFirst и removeLast для прямого доступа к первым и последним элементам коллекции с постоянным следованием элементов. Упорядоченные коллекции применимы к спискам, sets-наборам (например, TreeSet) и некоторым другим структурам данных.
    
       var letters = List.of("c", "b", "a");
       "c".equals(letters.getFirst());
       "a".equals(letters.getLast());
    
  • Реализован генеративный вариант сборщика мусора ZGC (Generational Z Garbage Collector), вводящий раздельную обработку "старых" и "молодых" объектов, что повышает эффективной очистки недавно созданных объектов с небольшим временем жизни. Отмечается, что применение Generational ZGC уменьшает риски приостановок во время выделения ресурсов, снижает нагрузку на CPU и потребление памяти при сборке мусора. Применение Generational ZGC с Apache Cassandra 4 в проведённых тестах привело к увеличению пропускной способности в 4 раза при фиксированном размере кучи (heap) и уменьшение размера кучи на четверть при неизменной пропускной способности. Для включения нового режима предложена опция "-XX:+UseZGC -XX:+ZGenerational".
  • Стабилизирована реализация шаблонов записей (record pattern), расширяющая появившуюся в Java 16 возможность сопоставления с образцом средствами для разбора значений классов типа record. Например:
    
       record Point(int x, int y) {}
    
       static void printSum(Object obj) {
           if (obj instanceof Point p) {
               int x = p.x();
               int y = p.y();
               System.out.println(x+y);
           }
       }
    
  • Стабилизирована поддержка сопоставления по шаблону в выражениях "switch", позволяющая в метках "case" использовать не точные значения, а гибкие шаблоны, охватывающие сразу серию значений, для которых ранее приходилось использовать громоздкие цепочки выражений "if...else".
    
       static String formatterPatternSwitch(Object obj) {
           return switch (obj) {
               case Integer i -> String.format("int %d", i);
               case Long l    -> String.format("long %d", l);
               case Double d  -> String.format("double %f", d);
               case String s  -> String.format("String %s", s);
               default        -> o.toString();
           };
       }
    
  • Стабилизирована реализация виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений.
  • Добавлена предварительная поддержка строковых шаблонов (String Template), реализованных в дополнение к строковым литералам и блокам текста. Строковые шаблоны позволяют совмещать текст с вычисляемыми выражениями и переменными без использования оператора "+". Подстановка выражений осуществляется при помощи подстановок \{..}, при этом для проверки корректности подставляемых значений могут подключаться специальные обработчики. Например, обработчик SQL обеспечивает проверку значений, подставляемых в SQL-код, и возвращает на выходе объект java.sql.Statement, а обработчик JSON отслеживает корректность подстановок JSON и возвращает JsonNode.
    
       String query = "SELECT * FROM Person p WHERE p."
           + property + " = '" + value + "'"; // было
    
       Statement query = SQL."""SELECT * FROM Person p
           WHERE p.\{property} = '\{value}'"""; // стало
    
  • Предложена третья предварительная реализация API FFM (Foreign Function & Memory), позволяющего организовать взаимодействие Java-программ с внешними кодом и данными через вызов функций из внешних библиотек и доступ к памяти вне JVM.
  • Добавлена предварительная поддержка безымянных переменных и сопоставлений с шаблоном - вместо неиспользуемых, но необходимых при вызове переменных и шаблонов, теперь можно указывать символ "_".
    
       // было
       String pageName = switch (page) {
         case GitHubIssuePage(var url, var content, var links, int issueNumber)
               -> "ISSUE #" + issueNumber;
       ...
       };
    
    
       // теперь можно
       String pageName = switch (page) {
          case GitHubIssuePage(_, _, _, int issueNumber)
            -> "ISSUE #" + issueNumber;
       };
    
  • Добавлена предварительная поддержка безымянных классов и безымянных экземпляров метода "main", в которых можно обойтись без объявлений public/static, передачи массива аргументов и прочих сущностей, связанных с объявлением класса.
    
       // было
       public class HelloWorld {
         public static void main(String[] args) {
           System.out.println("Hello world!");
         }
       }
    
       // теперь можно
       void main() {
           System.out.println("Hello, World!");
       }
    
  • Добавлена предварительная поддержка ограниченных значений (Scoped Values), позволяющих совместно использовать неизменяемые данные в потоках и эффективно обмениваться данными между дочерними потоками (значения наследуются). Scoped Values развиваются для замены механизма переменных локальных к потоку (thread-local variables) и более эффективны при использовании очень большого числа виртуальных потоков (тысячи и миллионы потоков). Главное отличие Scoped Values от переменных локальных к потоку в том, что первые записываются один раз, в дальнейшем не могут быть изменены и остаются доступны только на время выполнения потока.
    
       class Server {
           final static ScopedValue<user> CURRENT_USER = new ScopedValue<>();      
    
           void serve(Request request, Response response) {
               var level = (request. isAuthorized()? ADMIN : GUEST);
               var user  = new User(level);
          
               ScopedValue.where(CURRENT_USER, user)                               
                          .run(() -> Application.handle(request, response));       
           }
       }
    
       class DatabaseManager {
           DBConnection open() {
               var user = Server.CURRENT_USER.get();                               
               if (!user.canOpen()) throw new InvalidUserException();
               return new DBConnection(...);
           }
       }
    
    
  • Добавлена шестая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Добавлен экспериментальный API для cтруктурированного параллелизма (Structured Concurrency), упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • Добавлены новые методы: Math.clamp(), StrictMath.clamp(), String indexOf(int,int,int), indexOf(String,int,int), String splitWithDelimiters().
  • Добавлены методы для определения свойств emoji: isEmoji(int codePoint), isEmojiPresentation(int codePoint), isEmojiModifier(int codePoint), isEmojiModifierBase(int codePoint), isEmojiComponent(int codePoint) и isExtendedPictographic(int codePoint).
    
       var codePoint = Character.codePointAt("😃", 0);
       var isEmoji = Character.isEmoji(codePoint);
       System.out.println("😃 is an emoji: " + isEmoji);
    
  • Добавлен API для использования механизмов инкапсуляции ключей шифрования (KEM, Key Encapsulation Mechanism), предназначенных для защиты ключей симметричного шифрования при помощи алгоритмов на основе открытых ключей.
  • Добавлена поддержка алгоритма цифровых подписей HSS/LMS.
  • Началась подготовка к запрету динамической загрузки агентов. При попытке динамической загрузки Java-агентов в работающую виртуальную машину JVM теперь будет выводиться предупреждение.
  • Прекращена поддержка 32-разрядной платформы Windows.

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 21.

  1. OpenNews: Выпуск Java SE 20
  2. OpenNews: Oracle меняет лицензию на сборки Java SE. Red Hat взял на себя сопровождение OpenJDK 8 и 11
  3. OpenNews: Microsoft опубликовал собственный дистрибутив OpenJDK
  4. OpenNews: Компания Oracle убрала ограничение по использованию JDK в коммерческих целях
  5. OpenNews: Компания JetBrains анонсировала поддержку Wayland в IDE IntelliJ и OpenJDK
Обсуждение (61 +8) | Тип: Программы |
·20.09.2023 Выпуск распределённого хранилища Apache Pinot 1.0 (1 +8)
  Организации Apache Software Foundation представила выпуск распределённого OLAP-хранилища Apache Pinot 1.0, предназначенного для выполнения аналитических запросов. Изначально проект Pinot был разработан компанией LinkedIn и в 2015 году передан для дальнейшей совместной разработки фонду Apache. Хранилище ориентировано на работу в условиях постоянного добавления новых данных и рассчитано на обеспечение минимальных и предсказуемых задержек, позволяющих использовать хранилище для обработки запросов в реальном времени. Код проекта написан на Java и распространяется под лицензией Apache.

В Apache Pinot обеспечивается горизонтальная масштабируемость и предоставляются средства достижения отказоустойчивости и сохранения живучести при возникновении программных и аппаратных ошибок. Процессы репликации и резервного копирования встроены непосредственно в цикл обработки добавляемых в хранилище данных. С одной стороны такой подход позволяет значительно упростить архитектуру, но, с другой стороны, приводит к возникновению задержки между добавлением данных и их доступностью для запросов. Данные в хранилище могут загружаться из разных источников, начиная Hadoop и обычных файлов и заканчивая получением информации от online-источников, таких как Kafka. Для управления Pinot-кластером применяется Apache Helix.

Обращение к хранилищу производится через привычный язык запросов SQL, поддерживающий типовые операции фильтрации выборки, агрегирования, сортировки, слияния (JOIN) и группировки данных. Имеется поддержка оконных функций. Данные размещаются в таблицах базы данных, ориентированной на столбцы (column-oriented). Поддерживаются различные схемы сжатия и возможность размещения нескольких значений в одном поле. Pinot предоставляет подключаемую систему индексов, в которой можно применять различные технологии индексации (отсортированный индекс, Bitmap-индекс, инвертированный индекс, StarTree-индекс, Bloom Filter, индекс по диапазонам, индекс для поиска текста (Lucence/FST), JSON-индекс, геопространственный индекс).

Выпуск 1.0 подвёл итог большой работы по стабилизации кодовой базы и учёту пожеланий сообщества (учтено более 300 замечаний). До полноценного состояния доведён новый движок многоэтапной обработки запросов (Multi-Stage Query Engine), позволивший реализовать поддержку слияния таблиц (JOIN). Изначально используемый движок прекрасно справлялся с простыми операциями фильтрации и агрегирования, но для обеспечения предсказуемого времени выполнения запроса не поддерживал операции слияния таблиц. В новом движке задействованы промежуточные стадии обработки сложных запросов, а семантика SQL приближена к ANSI SQL. Кроме того, в новом выпуске предложена встроенная поддержка обработки данных в формате JSON, реализована поддержка значения "NULL", реализована интеграция с Apache Spark 3.x и улучшена реализация таблиц в режиме Upsert (добавлено сжатие сегментов и предоставлена поддержка операций удаления).

  1. OpenNews: Первый стабильный выпуск отказоустойчивой СУБД CockroachDB (
  2. OpenNews: Выпуск распределённой СУБД TiDB 4.0
  3. OpenNews: Яндекс открыл код распределённой СУБД YDB, поддерживающей SQL
  4. OpenNews: Выпуск графо-ориентированной СУБД Nebula Graph 3.2
  5. OpenNews: Опубликован DuckDB 0.6.0, вариант SQLite для аналитических запросов
Обсуждение (1 +8) | Тип: Программы |
·19.09.2023 Microsoft опубликовал WSL 2.0.0, прослойку для запуска Linux-приложений в Windows (139 +11)
  Компания Microsoft представила выпуск прослойки для запуска Linux-приложений в Windows - WSL 2.0.0 (Windows Subsystem for Linux). Для обеспечения запуска исполняемых файлов Linux в WSL предоставляется окружение с полноценным ядром Linux, основанном на выпуске ядра Linux 5.15, который расширен специфичными для WSL патчами, включающими оптимизации для сокращения времени запуска ядра, уменьшения потребления памяти, возвращения Windows освобождённой Linux-процессами памяти, оставления в ядре минимально необходимого набора драйверов и подсистем.

Ядро Linux выполняется в окружении Windows при помощи виртуальной машины, которая использует отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером. Компоненты пространства пользователя устанавливаются отдельно и базируются на сборках различных дистрибутивов. Например, для установки в WSL в каталоге Microsoft Store предлагаются сборки Ubuntu, Debian GNU/Linux, Kali Linux, Fedora, Alpine, SUSE и openSUSE.

Среди наиболее заметных изменений в версии WSL 2.0.0:

  • Реализована экспериментальная настройка autoMemoryReclaim (добавляется в %USERPROFILE%\.wslconfig), активирующая автоматическое высвобождение памяти, занимаемой в Linux под кэши, после нахождения процессора в состоянии простоя в течение 5 минут. Высвобожденная в Linux-окружении память возвращается в основное окружение с Windows, т.е. неиспользуемые виртуальные машины с Linux автоматически начинают потреблять меньше памяти.
  • Добавлена экспериментальная настройка sparseVhd, которая включает для новых образов VHD (Virtual Hard Disk) режим автоматического уменьшения размера. По аналогии с тем, как VHD-образы могут автоматически увеличиваться при увеличении объёма данных в Linux-окружении, теперь они также могут и уменьшаться при удалении данных из Linux-окружения. Для включения режима "sparse" для уже существующих дистрибутивов предложена опция "--set-sparse", например "wsl --manage <distro> --set-sparse <true/false>".
  • Добавлена экспериментальная настройка networkingMode, при указании в которой значения "mirrored" для обеспечения сетевого доступа используется зеркалирование в Linux сетевых интерфейсов Windows, вместо применения транслятора адресов. Новый режим отличается возможностью использования IPv6 и Multicast, улучшением совместимости с VPN, поддержкой прямого подключения к WSL из локальной сети, поддержкой подключения к Windows-серверам, используя localhost (127.0.0.1).
  • Добавлена экспериментальная настройка dnsTunneling, позволяющая пробрасывать DNS-запросы через резолвер, предоставляемый платформой Windows.
  • Добавлена экспериментальная настройка firewall, включающая применение для фильтрации трафика Linux-окружения правил межсетевых экранов Windows (Windows Firewall) и Hyper-V (Hyper-V Firewall).
  • Добавлена экспериментальная настройка autoProxy, добавляющая возможность использования в Linux-окружении информации о настройках HTTP-прокси из Windows.
  • Для графических приложений, запускаемых при помощи WSL, реализована поддержка прикрепления окон клавиатурной комбинацией "WIN + одна из клавиш управления курсором".
  • Все исполняемые файлы, распространяемые через пакет WSL, снабжены цифровыми подписями.
  • Используемое в WSL-окружении ядро Linux обновлено до версии 5.15.123.
  • Мини-дистрибутив WSLg, в котором предоставляются компоненты графического стека для организации запуска GUI-приложений, обновлён до версии 1.0.57.

  1. OpenNews: В прослойке для запуска Linux-приложений в Windows появилось аппаратное декодирование видео
  2. OpenNews: Первый стабильный релиз WSL, прослойки для запуска Linux-приложений в Windows
  3. OpenNews: Компания Microsoft опубликовала обновление Linux-дистрибутива CBL-Mariner
  4. OpenNews: Первый выпуск прослойки для запуска Android-приложений в Windows
  5. OpenNews: Microsoft добавил поддержку systemd в WSL (Windows Subsystem for Linux)
Обсуждение (139 +11) | Тип: Программы |
·19.09.2023 Выпуск пакетного менеджера RPM 4.19 (10 +6)
  После года разработки состоялся релиз пакетного менеджера RPM 4.19.0. Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL (включая производные проекты CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen и многих других. Ранее независимой командой разработчиков развивался проект RPM5, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта распространяется под лицензиями GPLv2 и LGPLv2.

Наиболее заметные улучшения в RPM 4.19:

  • Добавлена поддержка файлов ".specpart" для динамической генерации spec-файлов.
  • Обеспечена интеграция с каталогом учётных записей системных пользователей sysusers.d для автоматической обработки пользователей и групп. Добавлена поддержка генерации пользователя и группы из включённых в пакет файлов /etc/passwd, /etc/group и sysusers.d.
  • В блоке "%files" и утилите командной строки реализована поддержка раскрытия путей (globbing) и экранирования спецсимволов в стиле командных оболочек. В API добавлены функции rpmGlobPath(), rpmEscape() и rpmUnescape().
  • В spec-файлах добавлена поддержка блоков %preuntrans и %postuntrans со скриплетами.
  • Добавлена утилита rpmsort для сортировки версий rpm-пакетов.
  • В утилите rpm2archive добавлена возможность вывода в неименованный канал.
  • Добавлены опции "--nopreuntrans", "--nopostuntrans" и "--nosysusers " для отключения скриптов и автоматического создания пользователя и группы во время установки пакета.
  • Распараллеливание сборки теперь производится с учётом памяти и адресного пространства.
  • Осуществлён переход на систему сборки CMake вместо Autotools.
  • В тестовом наборе вместо chroot задействованы изолированные контейнеры.
  • Для проектов, использующих CMake, предоставлена функция find_package(rpm).

  1. OpenNews: Red Hat прекратит подготовку rpm-пакетов с LibreOffice для RHEL и Fedora
  2. OpenNews: Представлен KOP3, репозиторий для RHEL8, дополняющий EPEL и RPMForge
  3. OpenNews: Выпуск пакетного менеджера RPM 4.18
  4. OpenNews: Дистрибутив OpenMandriva переходит на RPMv4 и DNF
  5. OpenNews: Fedora планирует перевести RPM с BerkeleyDB на SQLite
Обсуждение (10 +6) | Тип: Программы |
·19.09.2023 Выпуск Angie 1.3.0, российского форка Nginx (73 +11)
  Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.3.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Альт и ФСТЭК-версии Альт.

Сопровождением разработки занимается компания "Веб-сервер", образованная прошлой осенью и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов (ru@FreeBSD.org).

Изменения в выпуске Angie 1.3.0:

  • Предоставлена возможность указания более одного шаблона сопоставления URI в одной директиве "location", что позволяет совмещать несколько обработчиков разных URI в одном блоке "location" без лишнего дублирования повторяющихся конструкций.
    
       location =/
             ^~/images/
             ~*\.(gif|jpg|jpeg)$ {
          #общая конфигурация
       }
    
  • Добавлена возможность экспорта статистики и метрик в формате системы мониторинга Prometheus. Для включения экспорта и определения шаблона-обработчика собираемых метрик предложены директивы prometheus и prometheus_template.
  • В интерфейс статистики, настраиваемый директивой "api", добавлена детальная информация и метрики по группам проксируемых серверов, собранные в контексте модуля "stream" (ранее подобная статистика собиралась только для HTTP).
  • В модуль "stream" в директиву "server", действующую в блоке "upstream", добавлен параметр "service", позволяющий получать списки IP-адресов из DNS-записей SRV, с учётом выставленного приоритета. Ранее данный параметр был доступен только для HTTP.
  • В модуль "stream" в директиву "server", действующую в блоке "upstream", добавлен параметр "resolve", позволяющий отслеживать изменения списка IP-адресов, соответствующего указанному имени домена, и автоматически обновлять его без перезагрузки конфигурации. Ранее данный параметр был доступен только для HTTP.
  • Добавлена поддержка версионирования конфигураций отдельных процессов http-сервера для упрощения отслеживания перезагрузки конфигурации и устранения проблем. Номер версии конфигурации показывается в заголовках процессов и виден при использовании утилиты "ps".
  • В модуль api добавлена директива api_config_files, включающая возможность отдачи через HTTP API содержимого файлов конфигурации, используемых текущей версией рабочего процесса.
  • При загрузке конфигурации OpenSSL задействовано имя приложения "angie".
  • Из репозитория проекта nginx перенесены изменения, накопившиеся в ветке nginx 1.25.

  1. OpenNews: Выпуск Angie 1.2.0, форка Nginx от группы бывших разработчиков
  2. OpenNews: Первый выпуск Angie, форка Nginx от разработчиков, ушедших из компании F5
  3. OpenNews: Выпуск nginx 1.24.0
  4. OpenNews: Выпуск nginx 1.25.2
Обсуждение (73 +11) | Тип: Программы |
Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2023 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру