The OpenNET Project / Index page

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

·04.05 Основатель QEMU и FFmpeg опубликовал звуковой кодек TSAC (46 +13)
  Французский математик Фабрис Беллар (Fabrice Bellard), основавший в своё время проекты QEMU, FFmpeg, BPG, QuickJS, TinyGL и TinyCC, опубликовал формат кодирования звука TSAC и связанный с ним инструментарий для сжатия и распаковки звуковых файлов. Формат ориентирован на передачу данных с очень низким битрейтом, например, 5.5 kb/s для моно и 7.5 kb/s для стерео, при сохранении приемлемого качества музыки и речи. Использование TSAC позволяет упаковать музыкальную композицию, длительностью 3.5 минут и с частотой дискретизации 44.1 kHz (стерео), в файл размером 192 КБ, который будет почти неотличим от оригинала на слух неискушённого обывателя. Код проекта распространяется под лицензией MIT.

В качестве основы при создании TSAC использован звуковой кодек Descript, который расширен для поддержки стереозвука и переведён на использование другой модели машинного обучения на базе нейронной сети с архитектурой "трансформер", позволившей увеличить степень сжатия за счёт реконструкции утерянных деталей с учётом модели человеческого слухового восприятия. Модель занимает около 200 МБ в сжатом виде и оформлена в детерминированной представлении, которое гарантирует получение одинакового результата независимо от используемых CPU/GPU и числа задействованных при вычислениях потоков.

Кодировщик может работать с использованием для вычислений только CPU (для ускорения поддерживаются инструкции AVX2), но для достижения высокой производительности рекомендуется задействовать GPU. В текущем виде может применяться API CUDA для ускорения с использованием GPU NVIDIA на базе микроархитектур Ampere, ADA и Hopper (RTX 3090, RTX 4090, RTX A6000, A100 и H100), имеющих как минимум 4 ГБ видеопамяти. Для преобразования звуковых файлов перед кодированием применяется FFmpeg.

original
stereo 6.21 kb/s
mono 4.71 kb/s
stereo 2.57 kb/s

Дополнительно можно отметить обновление развиваемой Белларом утилиты ts_zip, предназначенной для эффективного сжатия текстовых данных, используя механизм предсказания токенов на основе системы машинного обучения и большой языковой модели RWKV 169M v4. При сжатии архива википедии утилита ts_zip позволила сжать данные в 7.3 раза, а при сжатии кода ядра Linux 1.2 - в 7.8 раз. Для сравнения уровни сжатия при использовании утилиты xz составили 4.7 и 5.5 раз, соответственно. Ценой высокой эффективности сжатия является медленная скорость сжатия и большие требования к ресурсам (минимум 4 ГБ ОЗУ). На системе с GPU RTX 4090 производительность сжатия составляет примерно 1 MB/s.

  1. Главная ссылка к новости
  2. OpenNews: Facebook опубликовал звуковой кодек EnCodec, использующий машинное обучение
  3. OpenNews: Создатель QEMU и FFmpeg предложил новый формат изображений BPG
  4. OpenNews: Google опубликовал аудиокодек Lyra для передачи речи при плохом качестве связи
  5. OpenNews: Звуковому кодеку FLAC присвоен статус предложенного стандарта
  6. OpenNews: Доступен аудиокодек Opus 1.5
Обсуждение (46 +13) | Тип: К сведению |


·04.05 В KDE убрана возможность установки тем пиктограмм GNOME. Недавние изменения в KDE 6.1 (82 +7)
  Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал отчёт о подготовке к релизу KDE Plasma 6.1, запланированному на 18 июня, а также к корректирующему выпуску 6.0.5, намеченному на 21 мая. Среди изменений, добавленных за последнюю неделю в кодовую базу, на основе которой будет сформировано обновление 6.0.5:
  • В конфигураторе запрещён выбор набора пиктограмм Adwaita и High Contrast от проекта GNOME в качестве системных тем, так как, несмотря на заявленное соответствие требованиям FreeDesktop, они не рассчитаны на использование в других окружениях и при установке в KDE приводят к проблемам из-за отсутствия необходимых пиктограмм (многие пиктограммы после выбора в KDE темы пиктограмм GNOME не отображаются или заменяются пиктограммой о повреждённом файле).
  • Ограничен максимальный размер размещаемых на панели пиктограмм виджетов Kickoff (Application Launcher) и Kicker (Application Menu).
  • Устранён крах KWin в окружении на базе Wayland, проявляющийся при невозможности открыть сокет к XWayland.
  • Устранён крах Plasma при попытке изменения набора избранных приложений через Kickoff (Application Launcher), Kicker (Application Menu) и другие реализации меню.

Недавние изменения, добавленные в ветку KDE Plasma 6.1:

  • В композитном менеджере KWin изменён метод определения активного экрана, на котором будут открываться новые окна. Активным теперь признаётся экран, с которым было последнее взаимодействие пользователя, например, перемещение мыши или установка фокуса ввода клавиатурой.
  • В текстовом редакторе Kate изменена логика составления списка недавно использованных файлов. Для попадания в список теперь необходимо чтобы была выполнена операция записи или закрытия файла, что исключает появление в списке открытых в текущий момент файлов, над которыми продолжается работа.
  • Интерфейс выбора обоев для рабочего стола избавлен от рамок и приведён к соответствию новому стилю страниц конфигуратора:
  • В системе вывода уведомлений задействована новая пиктограмма на кнопке отмены работ и обеспечена обрезка длинных заголовков по содержимому в центре, а не в левой части.
  • Обновлён интерфейс, показываемый при изменении глобальных тем оформления.

  • При изменении профиля потребления энергии через утилиту powerprofilesctl, новая информация теперь сразу отображается в виджете "Power and Battery".
  • В тему Breeze добавлены символьные версии пиктограмм, связанных с шифрованием каталогов и размещением музыки.
  • Обеспечен показ более корректных пиктограмм для звуковых и видео файлов, распространяемых в форматах, для которых отсутствуют отдельные пиктограммы.
  • В Gwenview решена проблема с аварийным завершением при попытке открытия больших изображений.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск KDE Frameworks 6.1.0. Реализация Explicit Sync для KDE
  3. OpenNews: Финальная оптимизация производительности и полировка интерфейса в KDE 6
  4. OpenNews: Релиз KDE 6.0
  5. OpenNews: Инцидент с темой оформления KDE, удаляющей пользовательские файлы
Обсуждение (82 +7) | Тип: Обобщение |


·04.05 Компания Nintendo добилась блокировки 8535 репозиториев с форками эмулятора Yuzu (44 –2)
  Компания Nintendo отправила в GitHub требование о блокировке 8535 репозиториев с форками эмулятора Yuzu. Требование отправлено на основании действующего в США Закона об авторском праве в цифровую эпоху (DMCA). Проекты обвиняются в обходе технологий защиты, применяемых в приставках Nintendo Switch. В настоящее время GitHub уже выполнил требования Nintendo и заблокировал репозитории с форками Yuzu.

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

Утверждается, что эмулятор Yuzu и ответвлённые от него репозитории нарушают права Nintendo, так как специально созданы для обхода методов технической защиты и используют в процессе работы незаконно полученные копии криптографических ключей для расшифровки игр и прошивок. Несмотря на то, что извлечение ключей для расшифровки игр ложится на пользователей и производится с использованием сторонних инструментов, сам факт расшифровки на стороне эмулятора воспринимается Nintendo как незаконный обход технических мер защиты, даже если пользователь использует ключи, извлечённые из собственной купленной копии (в условиях использования запрещено создание копий для запуска на других платформах).

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

  1. Главная ссылка к новости
  2. OpenNews: GitLab заблокировал репозиторий эмулятора Suyu
  3. OpenNews: Разработчики Yuzu согласились закрыть проект и выплатить Nintendo компенсацию в 2.4 млн долларов
  4. OpenNews: Компания Nintendo подала в суд иск против разработчиков эмулятора Yuzu
  5. OpenNews: Nintendo добилась удаления эмулятора Dolphin из каталога Steam
  6. OpenNews: Nintendo потребовала заблокировать проект Lockpick, что остановило разработку эмулятора Skyline Switch
Обсуждение (44 –2) | Тип: Тема для размышления |


·04.05 Выпуск Wine 9.8 и Wine staging 9.8 (22 +3)
  Состоялся экспериментальный выпуск открытой реализации Win32 API - Wine 9.8. С момента выпуска 9.7 было закрыто 22 отчёта об ошибках и внесено 209 изменений.

Наиболее важные изменения:

  • Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 9.1.0.
  • В файлах, генерируемых с использованием языка описания интерфейса IDL (Interface Definition Language), задействованы компоненты, полностью поддерживающие выполнение в режиме интерпретации.
  • На платформах ARM улучшена поддержка RPC/COM.
  • Закрыты отчёты об ошибках, связанные с работой приложений: Solid Edge, Microsoft Office 97 installer, Lotus Approach, gldriverquery.exe, Radiosure, SimSig, iZotope Product Portal Portal, VTFEdit, Across Lite, Falcon BMS, Corsair iCUE 4, HWMonitor 1.53, vcrun2008.
  • Закрыты отчёты об ошибках, связанные с работой игр: Battle.net launcher, Recettear.

Кроме того, сформирован выпуск проекта Wine Staging 9.8, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 430 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 9.8 и vkd3d. Добавлен патч с реализацией метода ID3DXEffect::SetRawValue в Direct3D 9. Обновлены патчи vkd3d-latest, odbc-remove-unixodbc и ddraw-GetPickRecords.

В основной состав Wine перенесены 6 патчей, 5 из которых связаны с наращиванием функциональности реализации языка описания интерфейса WIDL (Wine Interface Definition Language), а один с обеспечением возможности сборки библиотеки stdole32.tlb с флагом "--oldtlb". Удалены патчи ntdll-CriticalSection, Pipelight и winex11-XEMBED, которые потеряли актуальность.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Wine 9.7
  3. OpenNews: В Arch Linux улучшили совместимость c Windows-играми, запускаемыми в Wine и Steam
  4. OpenNews: Проект Wine опубликовал Vkd3d 1.11 с реализацией Direct3D 12
  5. OpenNews: Компания Valve выпустила Proton 9.0, пакет для запуска Windows-игр в Linux
  6. OpenNews: Apple представил инструментарий для портирования игр, основанный на Wine
Обсуждение (22 +3) | Тип: Программы |


·03.05 Обход верификации в библиотеке xml-crypto, насчитывающей миллион загрузок в неделю (13 +9)
  В JavaScript-библиотеке xml-crypto, используемой в качестве зависимости у 402 проектов и загружаемой из каталога NPM около миллиона раз каждую неделю, выявлена уязвимость (CVE-2024-32962), которой присвоен максимальный уровень опасности (10 из 10). Библиотека предоставляет функции для шифрования и верификации по цифровой подписи XML-документов. Уязвимость даёт возможность атакующему заверить фиктивный документ, который в конфигурации по умолчанию будет успешно верифицирован библиотекой, несмотря на то, что он подписан не тем ключом, что указан для проверки подписей. Проблема проявляется начиная с версии xml-crypto 4.0.0 и без лишней огласки устранена в январском выпуске 6.0.0.

Уязвимость вызвана тем, что в конфигурации по умолчанию библиотека не авторизирует создателя подписи, а проверяет только корректность самой подписи. В частности, библиотека доверяет любому сертификату, размещённому в подписанном документе в XML-элементе KeyInfo, даже если в настройках указано использование конкретного сертификата для проверки цифровых подписей. Таким образом, для успешной верификации модифицированного документа атакующему достаточно заменить оригинальную цифровую подпись на подпись, сформированную своим закрытым ключом, и разместить связанный с этим закрытым ключом сертификат (открытый ключ) в элементе KeyInfo.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в NPM, позволяющая изменить произвольные файлы при установке пакета
  3. OpenNews: Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн загрузок в неделю
  4. OpenNews: Уязвимость, позволявшая выпустить обновление для любого пакета в репозитории NPM
  5. OpenNews: Уязвимость в репозитории NPM, позволяющая добавить сопровождающего без подтверждения
  6. OpenNews: Уязвимость в NPM-пакете JsonWebToken, насчитывающем 10 млн загрузок в неделю
Обсуждение (13 +9) | Тип: Проблемы безопасности |


·03.05 Выпуск языка программирования Mojo 24.3 (42 +5)
  Опубликован выпуск инструментария языка программирования Mojo 24.3, позволяющего компилировать проекты на локальной системе. В состав включены компоненты, необходимые для разработки приложений на языке Mojo, включая компилятор, runtime, интерактивную REPL-оболочку для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) с поддержкой автодополнения ввода, форматирования кода и подсветки синтаксиса, модуль для интеграции с Jupyter для сборки и запуска Mojo notebook. Исходные тексты стандартной библиотеки Mojo открыты под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Исходный код компилятора планируют открыть после завершения проектирования внутренней архитектуры.

Одновременно сформирвоан выпуск движка MAX Engine 24.3, предлагающего платформу для разработок в области машинного обучения. MAX Engine дополняет инструментарий Mojo средствами для разработки и отладки приложений, использующих модели машинного обучения в различных форматах (TensorFlow, PyTorch, ONNX и т.п.). Сборки Mojo SDK и MAX Engine подготовлены для платформы Linux и macOS.

Среди изменений в Mojo 24.3:

  • В модули для работы с коллекциями (List, Dict, Set и Tuple) добавлены возможности, делающие их более привычные пользователям, знакомым с языком программирования Python. В тип List добавлены методы, повторяющие Python API, такие как pop(index), resize(new_size) и insert(index, value).
  • В тип Dict добавлен метод update() для обновления ключа/значения из другого Dict.
  • В типе Tuple обеспечена работа с хранящимися только в памяти типами, такими как String, что позволяет указывать "x = tup[1]" вместо "x = tup.get[1, Int]()" и присваивать значения через "tup[1] = x".
  • В типе Set реализована поддержка именованных методов, которые можно использовать вместо операторов: difference() вместо "-", difference_update() вместо "-=", intersection_update() вместо "&=" и update() вместо "|=".
  • Добавлена функция reversed(), позволяющая поменять порядок следования элементов на обратный. Функция reversed() может применяться с List, Dict и любыми типами, поддерживающими диапазоны значений.
    
       var numbers = List(1, 2, 3, 4, 5)
       for number in reversed(numbers):
           print(number)
    
  • Реализован типаж Boolable, возвращающий для переменных с типами Dict, List и Set значение True, если они содержат хотя бы один элемент.
  • Улучшена поддержка вариативных аргументов. Предоставлена возможность определения функций, содержащих одновременно как необязательные, так и вариативные аргументы.
    
       fn variadic_arg_after_default(
         a: Int, b: Int = 3, *args: Int, c: Int, d: Int = 1, **kwargs: Int
       ): ...
    
  • Добавлены функции __source_location() и __call_location() для определения местоположения (номер строки в исходных текстах) вызовов функций и кода.
  • В метод FileHandle.seek() по аналогии с языком Python добавлена поддержка аргумента "whence".
  • Тип AnyPointer переименован в UnsafePointer. Добавлена возможность инициализации UnsafePointer из напрямую из ссылки с типом Reference ("UnsafePointer(someRef)"). Для работы с указателями UnsafePointer добавлены функции initialize_pointee_copy, initialize_pointee_move, move_from_pointee() и move_pointee.

Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов.

Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++.

Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX.

Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR.

  1. Главная ссылка к новости
  2. OpenNews: Открытие стандартной библиотеки языка Mojo. Обновление инструментария Mojo 24.2
  3. OpenNews: Обновление инструментария для языка программирования Mojo
  4. OpenNews: Доступен для тестирования инструментарий для языка программирования Mojo
  5. OpenNews: Создатель LLVM развивает новый язык программирования Mojo
  6. OpenNews: Сотрудник Google развивает язык программирования Carbon, нацеленный на замену C++
Обсуждение (42 +5) | Тип: Программы |


·03.05 Обновление VirtualBox 7.0.18 (34 +7)
  Компания Oracle опубликовала корректирующий релиз системы виртуализации VirtualBox 7.0.18, в котором отмечено 3 исправления:
  • Устранена ошибка в сетевых компонентах, из-за которой была опубликована рекомендация не устанавливать версию VirtualBox 7.0.16. Ошибка приводила к краху системы в хост-окружении при использовании виртуальных машин с настройками сетевых мостов или задействовании в VM сетевого адаптера, работающего только на стороне хоста (host-only network adapter).
  • В дополнения для гостевых систем с Linux внесены исправления, устраняющие предупреждения UBSAN (Undefined Behavior Sanitizer).
  • В дополнениях для гостевых систем с Linux решены проблемы, приводящие к отображению некорректного времени в примонтированных совместных папках (shared folder).

  1. Главная ссылка к новости
  2. OpenNews: Обновление Java SE, MySQL, VirtualBox, Solaris и других продуктов Oracle с устранением уязвимостей
  3. OpenNews: Выпуск VirtualBox 7.0.16
  4. OpenNews: На соревновании Pwn2Own 2024 продемонстрированы взломы Ubuntu, Firefox, Chrome, Docker и VirtualBox
  5. OpenNews: VirtualBox адаптирован для работы поверх гипервизора KVM
  6. OpenNews: Релиз системы виртуализации VirtualBox 7.0
Обсуждение (34 +7) | Тип: Программы |


·03.05 Число дополнений для Android-версии Firefox превысило 1000 (58 +20)
  Компания Mozilla сообщила о преодолении рубежа в 1000 дополнений, доступных для Android-версии Firefox в каталоге AMO (addons.mozilla.org). В декабре 2023 года, после введения в строй инфраструктуры дополнений для Android-версии Firefox, в каталоге насчитывалось 489 дополнений. Менее чем за пять месяцев число дополнений, портированных для Android-версии Firefox, удвоилось.

Разработчики дополнений, уже поставляемых для настольной версии Firefox, могут адаптировать свои продукты для работы в мобильной версии, переведя дополнение с модели постоянного фонового выполнения (extension.getBackgroundPage) на режим обработки событий (browser.runtime.onMessage.addListener), а также задействовав методы адаптивной компоновки элементов интерфейса.

  1. Главная ссылка к новости
  2. OpenNews: Mozilla ввела в строй каталог дополнений для Android-версии Firefox
  3. OpenNews: В Firefox реализована возможность импорта дополнений из других браузеров
  4. OpenNews: Mozilla анонсировала полноценную экосистему дополнений для Android-версии Firefox
  5. OpenNews: Релиз Firefox 125
  6. OpenNews: Обновление Firefox 125.0.3
Обсуждение (58 +20) | Тип: К сведению |


·02.05 Выпуск Rust 1.78. Язык Borgo, сочетающий сильные стороны Go и Rust (156 +17)
  Опубликован релиз языка программирования общего назначения Rust 1.78, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

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

  • Предложено новое пространство имён атрибутов "#[diagnostic]", предоставляющее средства для влияния на выдаваемые компилятором сообщения об ошибках. Первым в новом пространстве реализован атрибут "#[diagnostic::on_unimplemented]", который может использоваться для настройки сообщений об ошибках, выдаваемых в ситуации, когда требуется использовать типаж, который не реализован для типа.
    
       #[diagnostic::on_unimplemented(
           message = "My Message for `ImportantTrait<{A}>` is not implemented for `{Self}`",
           label = "My Label",
           note = "Note 1",
           note = "Note 2"
       )]
       trait ImportantTrait<A> {}
    
       fn use_my_trait(_: impl ImportantTrait<i32>) {}
    
       fn main() {
           use_my_trait(String::new());
       }
    
       error[E0277]: My Message for `ImportantTrait<i32>` is not implemented for `String`
      --> src/main.rs:12:18
       |
    12 |     use_my_trait(String::new());
       |     ------------ ^^^^^^^^^^^^^ My Label
       |     |
       |     required by a bound introduced by this call
       |
       = help: the trait `ImportantTrait<i32>` is not implemented for `String`
       = note: Note 1
       = note: Note 2
    
  • Предварительные assert-проверки, применяемые к unsafe-функциями, теперь могут откладываться до стадии генерации кода, что позволяет выполнять данные проверки без необходимости сборки стандартной библиотеки в режиме "#[cfg(debug_assertions)]". Для срабатывания проверок теперь достаточно включения отладочных assert-ов для тестовых или отладочных сборок своего кода.
  • Поведение функций в стандартной библиотеке, влияющих на выравнивание указателей и срезов (slice), теперь предсказуемо во время выполнения и зависит от входных данных. Функция pointer::align_offset, вычисляющая смещение для выравнивания указателя, теперь возвращает usize::MAX только при невозможности выполнения операции. Функции slice::align_to и slice::align_to_mut both, преобразующие срезы в представление с выровненным средним срезом и исходными начальным и конечным срезами, теперь всегда возвращают самую большую среднюю часть.
  • В разряд стабильных переведены:
  • Функция Barrier::new() стабилизирована для использования с признаком "const" в любом контексте вместо констант.
  • Для целевых платформ x86_64-pc-windows-msvc, i686-pc-windows-msvc, x86_64-pc-windows-gnu, i686-pc-windows-gnu, x86_64-pc-windows-gnullvm и i686-pc-windows-gnullvm теперь требуется как минимум версия Windows 10.
  • Реализован третий уровень поддержки для платформ wasm32-wasip2, arm64ec-pc-windows-msvc, armv8r-none-eabihf и loongarch64-unknown-linux-musl. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
  • Реализован второй уровень поддержки целевой платформы Add wasm32-wasip1. Второй уровень поддержки подразумевает гарантию сборки.
  • Платформа wasm32-wasi-preview1-threads переименована в wasm32-wasip1-threads.
  • Компилятор переведён на использование LLVM 18. При использовании LLVM 18 для архитектур x86-32 и x86-64 изменён ABI, связанный с типами u128 и i128.
  • В пакетном менеджере Cargo стабилизирована 4 версия файлов-блокировок (lockfile v4).
  • В Cargo cтабилизирован глобальный кэш с информацией о последнем использовании данных. Кэш размещается в файле $CARGO_HOME/.global-cache при помощи SQLite, обновляется автоматически и отражает последние изменения, связанные с индексом, crate-файлом, каталогом с кодом, git clone и git checkout.



Дополнительно можно отметить язык программирования Borgo, который пытается быть более выразительным, чем язык Go, но менее сложным, чем язык Rust. Borgo комбинирует лучшие черты Go и Rust, восполняя недостатки каждого из языков. Например, язык Go прост и понятен, но не предоставляет расширенных средств для обеспечения безопасности при работе с типами. Язык Rust предоставляет средства для безопасного программирования, но переусложнён. Проект развивает Marco Sampellegrini, автор книги "The Simple Haskell Handbook" и разработчик системы непрерывной интеграции Quad CI.

В Borgo используется статическая типизация, аналогичные языку Go типы и синтаксис, похожий на Rust. Указание точек с запятой в конце строк в коде на Borgo не является обязательным. Код на языке Borgo компилируется в представление на языке Go, которое полностью совместимо с существующими пакетами для языка Go. Код компилятора написан на языке Rust и распространяется под лицензией ISC.


use fmt

enum NetworkState<T> {
    Loading,
    Failed(int),
    Success(T),
}

struct Response {
    title: string,
    duration: int,
}

fn main() {
    let res = Response {
        title: "Hello world",
        duration: 0,
    }

    let state = NetworkState.Success(res)

    let msg = match state {
        NetworkState.Loading => "still loading",
        NetworkState.Failed(code) => fmt.Sprintf("Got error code: %d", code),
        NetworkState.Success(res) => res.title,
    }

    fmt.Println(msg)
}

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка программирования Rust 1.77
  3. OpenNews: Проект по интеграции с Qt web-движка Servo, развиваемого на языке Rust
  4. OpenNews: Проект по реализации zlib на языке Rust
  5. OpenNews: В Thunderbird добавят реализацию протокола Microsoft Exchange на языке Rust
  6. OpenNews: Red Hat представил Nova, драйвер для GPU NVIDIA, написанный на языке Rust
Обсуждение (156 +17) | Тип: Программы |


·02.05 Компания Valve выпустила Proton 9.0, пакет для запуска Windows-игр в Linux (87 +36)
  Компания Valve опубликовала стабильный релиз проекта Proton 9.0, основанного на кодовой базе проекта Wine и нацеленного на обеспечение запуска в Linux игровых приложений, созданных для Windows и представленных в каталоге Steam. Наработки проекта распространяются под лицензией BSD.

Proton позволяет напрямую запускать в Linux-клиенте Steam игровые приложения, поставляемые только для Windows. Пакет включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базе vkd3d-proton), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана. Для увеличения производительности многопоточных игр поддерживаются механизмы "esync" (Eventfd Synchronization) и "futex/fsync".

Среди изменений в новой версии Proton:

  • Выполнена синхронизация с выпуском Wine 9.0. Из Proton в upstream перенесены накопившиеся специфичные патчи, которые теперь входят в основной состав Wine.
  • До версии 2.3 обновлена прослойка DXVK, транслирующая вызовы в API Vulkan.
  • VKD3D-Proton, ответвление от vkd3d, созданное Valve для улучшения поддержки Direct3D 12 в Proton, обновлено до версии 2.11.1.
  • Пакет Dxvk-nvapi с реализацией библиотеки NVAPI поверх DXVK обновлён до версии 0.6.4.
  • Добавлена поддержка Steamworks SDK 1.59.
  • Добавлена поддержка игр:

    • Aisling and the Tavern of Elves
    • Bloody Walls
    • Command & Conquer: Red Alert 2 и Yuri’s Revenge
    • Command & Conquer Tiberian Sun и Firestorm
    • Dinogen Online
    • George McGeehan Gamer Hero
    • Insanity's Blade
    • Lord of the Rings: Gollum
    • Photography Simulator Demo
    • Road to Vostok Demo
    • Snares of Ruin 2
    • Sonic Colors: Ultimate
    • The Finals
    • True Reporter. Mystery of Mistwood
    • WITCH ON THE HOLY NIGHT
  • Обеспечена возможность использования многоядерных CPU в играх:

    • Far Cry 2
    • Far Cry 4
    • Lara Croft and the Guardian of Light
    • Outcast - Second Contact
    • Prototype
    • The Witcher 2: Assassins of Kings Enhanced Edition
    • Warhammer 40,000: Space Marine
    • Warhammer 40,000: Dawn of War II
    • Warhammer 40,000: Dawn of War II - Chaos Rising
    • Warhammer 40,000: Dawn of War II - Retribution
  • Pешены проблемы при запуске игр:

    • Airborne Kingdom
    • Bayonetta
    • BIOMUTANT
    • Brawhalla
    • Carmageddon: Max Damage
    • Command & Conquer Red Alert
    • Disaster Report 4: Summer Memories
    • Doom Eternal
    • DayZ
    • Escape from Monkey Island
    • Fantastic Danmaku Festival Part I/II
    • Final Fantasy XIV
    • Greek Wars
    • Harvestella
    • KING OF FIGHTERS XV
    • Last Of Us Part I
    • Lethal Company
    • Lords of the Fallen
    • Risk of Rain 2
    • Phasmophobia
    • Savant - Ascent REMIX
    • Sea of Thieves
    • Super Robot Wars 30
    • The Last Game
    • Trove
    • Wayfinder

  1. Главная ссылка к новости
  2. OpenNews: Компания Valve выпустила Proton 8.0-5, пакет для запуска Windows-игр в Linux
  3. OpenNews: Компания Valve выпустила Proton 8.0, пакет для запуска Windows-игр в Linux
  4. OpenNews: Стабильный релиз Wine 9.0
  5. OpenNews: Выпуск Wine 9.7
Обсуждение (87 +36) | Тип: Программы |


·02.05 Релиз дистрибутива Red Hat Enterprise Linux 9.4 (131 +3)
  Компания Red Hat опубликовала релиз дистрибутива Red Hat Enterprise Linux 9.4. Готовые установочные образы доступны для зарегистрированных пользователей Red Hat Customer Portal (для оценки функциональности также можно использовать iso-образы CentOS Stream 9 и бесплатные сборки RHEL для разработчиков). Выпуск сформирован для архитектур x86_64, s390x (IBM System z), ppc64le и Aarch64 (ARM64).

Ветка RHEL 9 развивается с более открытым процессом разработки и использует в качестве основы пакетную базу CentOS Stream 9. CentOS Stream позиционируется как upstream-проект для RHEL, дающий возможность сторонним участникам контролировать подготовку пакетов для RHEL, предлагать свои изменения и влиять на принимаемые решения. В соответствии с 10-летним циклом поддержки дистрибутива RHEL 9 будет сопровождаться до 2032 года.

Исходные тексты rpm-пакетов RHEL 9.4 не размещены в публичном репозитории git.centos.org и предоставляются клиентам компании только через закрытый раздел сайта, на котором действует пользовательское соглашение (EULA), запрещающее редистрибуцию данных, что не позволяет использовать эти пакеты для создания производных дистрибутивов. Исходные тексты остаются доступны в репозитории CentOS Stream, но он полностью не синхронизирован с RHEL и в нём не всегда самые свежие версии пакетов совпадают с пакетами из RHEL. Rocky Linux, Oracle и SUSE воспроизводят исходные тексты rpm-пакетов релизов RHEL в рамках проекта OpenELA.

Ключевые изменения в RHEL 9.4:

  • Обеспечена полная поддержка технологии создания изолированных анклавов Intel SGX (Software Guard Extensions). Поддерживаются версии SGX 1 и 2, позволяющие использовать механизмы FLC (Flexible Launch Control) и EDMM (Enclave Dynamic Memory Management) для изменения прав доступа к отдельным страницам памяти анклава, динамического добавления/удаления страниц памяти к анклаву и расширения анклава.
  • В разряд стабильных переведён драйвер IDXD (Data Streaming Accelerator) для задействования ускорителей передачи данных, встроенных в CPU Intel. Ранее SGX и IDXD были отнесены к экспериментальным возможностям (Technology Preview).
  • Реализация подсистемы eBPF синхронизирована с ядром Linux 6.6 (в прошлом выпуске использовалась реализация eBPF из ядра Linux 6.3).
  • В загрузчик GRUB и прослойку shim добавлена возможность применения механизмов защиты памяти DEP (Data Execution Prevention), NX (No Execute) и XD (Execute Disable) для запрета исполнения инструкций в определённых областях памяти на стадии до начала загрузки системы.
  • В состав включены новые версии компиляторов и инструментов для разработчиков: GCC Toolset 13, LLVM Toolset 17.0.6, Rust Toolset 1.75.1 и Go Toolset 1.21.7.
  • Добавлены отдельные пакеты (Application Streams) c новыми версиями Python 3.12, Ruby 3.3, PHP 8.2, nginx 1.24, MariaDB 10.11, PostgreSQL 16.
  • Обновлены версии Git 2.43.0, Git LFS 3.4.1, Valgrind 3.22, SystemTap 5.0, elfutils 0.190, cmake 3.26. Добавлены новые пакеты maven-openjdk21 и libzip-tools.
  • Обновлены пакеты, связанные с безопасностью: GnuTLS 3.8.3, nettle 3.9.1, p11-kit 0.25.3, libkcapi 1.4.0, stunnel 5.71, audit 3.1.2, SSG (SCAP Security Guide) 0.1.72, openCryptoki 3.22.0, ipa 4.11.
  • Обновлены серверные и системные пакеты: chrony 4.5, linuxptp 4.2, Rsyslog 8.2310, iptables 1.8.10, nftables 1.0.9, firewalld 1.3, stratis-cli 3.6.0, boom 1.6.0, 389-ds-base 2.4.5, samba 4.19.4, Podman 4.9.
  • Работающий в пространстве пользователя инструментарий SELinux (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) обновлён до версии 3.6, в которой в язык CIL (Common Intermediate Language) добавлена поддержка правил "deny" и ключевых слов "notself" и "other". Добавлен исполняемый файл getpolicyload для отображения числа перезагрузок правил SELinux. Под защиту SELinux переведены сервисы nvme-stas, rust-afterburn, rust-coreos-installer и bootc, которые раньше выполнялись в режиме unconfined_service_t. Добавлены правила SELinux для SAP HANA. Добавлен новый сервис chronyd-restricted, защищённый при помощи SELinux. Добавлен пакет grafana-selinux для запуска grafana с защитой SELinux.
  • Регистратор и верификатор Keylime, применяемые для подтверждения подлинности и непрерывного отслеживания целостности внешних систем, теперь можно запустить внутри контейнеров, изолированных от основной системы.
  • В системе ведения логов Rsyslog предоставлена возможность изменения настроек шифрования для TLS/SSL и добавлены дополнительные опции для сброса привилегий.
  • В OpenSSL предоставлена возможность размещения файлов с настройками TLS в отдельном каталоге /etc/pki/tls/openssl.d, что позволяет переопределить параметры дополнительных криптографических модулей без изменения основного файла конфигурации OpenSSL.
  • В SSSD (System Security Services Daemon) предоставлена возможность включения и настройки беспарольной аутентификации, используя датчики биометрических данных, поддерживающие спецификацию FIDO2, например, устройства YubiKey.
  • Добавлена экспериментальная команда "podman build farm" для создания образов контейнеров сразу для нескольких архитектур. В Podman добавлена полная поддержка бэкенда на базе SQLite и предоставлена возможность использования модулей containers.conf для выборочной загрузки настроек. В Containerfile разрешены многострочные инструкции HereDoc. Объявлен устаревшим сетевой стек CNI (Container Network Interface). При помощи команды "podman machine" реализована возможность проброса USB-устройств в виртуальные машины QEMU.
  • В IdM (Identity Management) предоставлена возможность включения обязательной двухфакторной аутентификации LDAP-клиентов, используя одноразовые пароли (OTP). Стабилизирован API IdM, который раньше преподносился как экспериментальный. В 389 Directory Server добавлена поддержка протокола HAProxy, что позволяет корректно определять IP-адреса клиентов, подключающихся через прокси.
  • В сборщике образов RHEL предоставлена возможность указания произвольных точек монтирования и создания различных режимов разбивки на разделы (auto-lvm, lvm, raw).
  • До версии 1.0.0 обновлена реализация протокола synce4l, обеспечивающего поддержку технологии синхронизации частоты SyncE (Synchronous Ethernet), поддерживаемой в некоторых сетевых картах и сетевых коммутаторах, и позволяющей повысить эффективность обмена данными в приложениях RAN (Radio Access Network) за счёт более точной синхронизации времени. Добавлена поддержка предоставляемого ядром интерфейса DPLL (Digital Phase Locked Loop).
  • В подсистему nftables перенесена возможность проверки полей внутренних заголовков пакетов, передаваемых через туннели. В утилиту nft добавлена возможность использования команды "nft reset" для сброса состояний правил nftables, таких как счётчики пакетов и значения квот. В firewalld прекращено удаление правил, добавленных через iptables, если в firewalld используется бэкенд nftables и отсутствуют правила, созданные с опцией "--direct".
  • В утилиту ss, входящую в пакет iproute2, добавлена опция "--bound-inactive" для отображения неактивных сетевых сокетов TCP, которые прикреплены к IP-адресу и сетевому порту (выполнен вызов bind), но не соединены (вызов connect) или не переведены в режим ожидания соединения (вызов listen).
  • В NetworkManager добавлена возможность изменения числа каналов (очередей пакетов, привязанных к обработчикам прерываний) для сетевых интерфейсов и настройки режима SwitchDev, позволяющего делегировать операции по перенаправлению кадров и обработке сетевых пакетов специализированным аппаратным чипам. Добавлена поддержка сетевых интерфейсов MACsec. Для беспроводных соединений предоставлена возможность назначения отдельного постоянного MAC-адреса (режим stable-ssid).
  • В Nmstate обеспечено создание YAML-файла для возврата к прошлому состоянию настроек. Для управления приоритетами в агрегированных сетевых интерфейсах (bond) добавлено свойство priority. Добавлены дополнительные атрибуты для VLAN: registration-protocol, mvrp, reorder-headers и loose-binding. Предоставлена возможность настройки тегов VLAN на сетевых устройствах с поддержкой SR-IOV (Single Root I/O Virtualization).
  • Возвращён модуль ядра с реализацией алгоритма контроля перегрузки TCP Illinois, который в среднем позволяет добиться большей пропускной способности и более справедливого распределения ресурсов.
  • Расширены возможности утилит rteval, rtla и cyclicdeadline. В rteval добавлена возможность использования префиксов "+" и "-" для прикрепления и открепления ядер CPU из списка отслеживаемых ядер (measurement-cpulist). Утилита rtla обновлена до состояния, соответствующего ядру Linux 6.6. Добавлена опция "rtla -C" для прикрепления к потокам дополнительных cgroup. В утилиту cyclicdeadline добавлена возможность визуализации задержек в виде гистограммы.
  • Добавлена возможность задания максимального размера ФС при динамическом увеличении размера ФС сервисом stratisd, что позволяет избежать проседания производительности после неконтролируемого увеличения размера XFS.
  • В утилиту lvconvert добавлена поддержка преобразования стандартных логических томов (LV) в вариант, допускающий динамическое выделение места в хранилище (thin provisioning).
  • В multipathd добавлена поддержка обработки событий FPIN-Li (Fabric Performance Impact Notification) для оптимизации доступа к накопителям NVMe. В секцию используемых по умолчанию настроек в multipath.conf добавлены параметры max_retries и auto_resize. Для Device-mapper-multipath добавлены настойки для использования массива HPE Alletra 9000 NVMeFC и поддержки режима ANA (Asymmetric Namespace Access) в NVMeoFC.
  • В разряд стабильных переведена возможность загрузки c адаптеров NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel).
  • В web console упрощено управление хранилищами и изменение размера разделов. Добавлена поддержка генерации shell-скриптов и сценариев Ansible для настройки kdump. В секции Virtual Machines реализована возможность добавления открытых ключей SSH и подключения уже отформатированных блочных устройств. Для подключения к виртуальным машинам вместо протокола SPICE задействован VNC.
  • Добавлены новые системные роли для запуска, управления и настройки fapolicyd и Microsoft SQL Server 2022. Добавлена роль snapshot для создания и управления снапшотами LVM. В роль sshd добавлена возможность аутентификации по сертификатам.
  • Стабилизирована поддержка виртуализации на системах ARM64 с использованием гипервизора KVM.
  • Добавлена поддержка миграции виртуальных машин в режиме Multi-FD (multiple file descriptors), при котором при переносе виртуальной машины устанавливается несколько параллельных соединений, что позволяет ускорить передачу данных при наличии высокоскоростного сетевого соединения (20 Gbps и выше).
  • Повышена производительность live-миграции в режиме Postcopy, при котором виртуальное окружение запускается почти сразу, а все недостающие данные подгружаются при обращении к не скопированным страницам памяти.
  • Добавлена утилита toolbx, позволяющая запустить дополнительное изолированное окружение, которое может быть обустроено произвольным образом при помощи обычного пакетного менеджера DNF и использоваться для установки экспериментальных пакетов без влияния на основную систему.
  • Добавлена поддержка параметров командной строки ядра Linux: accept_memory, ia32_emulation, arm64.nomops, cgroup_favordynmods, early_page_ext, fw_devlink.sync_state, kunit.enable, mtrr=debug, rcupdate.rcu_cpu_stall_cputime, rcupdate.rcu_exp_stall_task_details, spec_rstack_overflow и workqueue.unbound_cpus.
  • Добавлены новые параметры sysctl: io_uring_group и numa_balancing_promote_rate_limit_MBps.
  • Использование механизма io_uring по умолчанию запрещено для всех процессов (sysctl io_uring_disabled=2).
  • Расширена поддержка оборудования. Добавлены драйверы для поддержки технологий Intel QuickAssist Technology, Intel TPMI, Intel Uncore Frequency, AMD HSMP, AMD XCP, AMD Platform Management и Mellanox PMC. Добавлен драйвер octeon_ep для контроллеров Marvell Octeon PCIe Endpoint Network Interface Controller.
  • Продолжено предоставление экспериментальной (Technology Preview) поддержки:
    • VPN WireGuard,
    • kTLS (TLS на уровне ядра),
    • интерфейса асинхронного ввода/вывода io_uring,
    • DAX (Direct Access) для ext4 и XFS,
    • AMD SEV и SEV-ES в гипервизоре KVM,
    • сервиса systemd-resolved,
    • механизма Sigstore для верификации контейнеров по цифровым подписям,
    • протоколов PRP (Parallel Redundancy Protocol) и HSR (High-availability Seamless Redundancy),
    • аппаратного ускорения IPsec через вынос операций инкапсуляции пакетов на сторону сетевой карты,
    • протокола управления сертификатами ACME, применяемого в Let's Encrypt,
    • SRv6 (Segment Routing over IPv6,
    • пакета с графическим редактором GIMP 2.99.8,
    • настройки MPTCP (Multipath TCP) через NetworkManager,
    • DNSSEC в IdM,
    • virtio-mem,
    • Socket API для TuneD,
    • Soft-iWARP (Internet Wide-area RDMA Protocol),
    • GNOME для ARM64 и IBM Z.

  1. Главная ссылка к новости
  2. OpenNews: Изменения в подготовке промежуточных выпусков Red Hat Enterprise Linux
  3. OpenNews: Релиз дистрибутива Red Hat Enterprise Linux 9.3
  4. OpenNews: Релиз дистрибутива Red Hat Enterprise Linux 8.9
  5. OpenNews: CentOS Stream станет единственным публичным источником кода пакетов RHEL
  6. OpenNews: Компания Intel присоединилась к разработке CentOS Stream
Обсуждение (131 +3) | Тип: Программы | Интересно


·02.05 Выпуск дистрибутива для создания домашних кинотеатров LibreELEC 12.0 (39 +11)
  Представлен выпуск проекта LibreELEC 12.0, развивающего форк дистрибутива для создания домашних кинотеатров OpenELEC. Интерфейс пользователя построен на основе медиацентра Kodi. Для загрузки подготовлены образы для работы с USB-накопителя или SD-карты (32- и 64-разрядные x86, Raspberry Pi 2/3/4/5, различные устройства на чипах Rockchip, Allwinner, NXP и Amlogic). Размер сборки для архитектуры x86_64 - 247 МБ.

При помощи LibreELEC можно превратить любой компьютер в медиацентр, работать с которым не сложнее, чем с DVD-проигрывателем или телеприставкой. Основной принцип дистрибутива "всё просто работает", для получения полностью готового к работе окружения достаточно просто загрузить LibreELEC с Flash-накопителя. Пользователю нет необходимости заботиться о поддержании системы в актуальном состоянии - в дистрибутиве используется система автоматической загрузки и установки обновлений, активируемая при подключении к глобальной сети. Предусмотрена возможность расширения функциональности дистрибутива через систему дополнений, которые устанавливаются из отдельного репозитория, развиваемого разработчиками проекта.

Дистрибутив не использует пакетную базу других дистрибутивов и основывается на собственных разработках. Кроме штатных возможностей Kodi, дистрибутив предоставляет ряд дополнительных функций, нацеленных на максимальное упрощение работы. Например, развивается специальное конфигурационное дополнение, позволяющее настроить параметры сетевого подключения, управлять параметрами LCD-экранов, разрешать или запрещать автоматическую установку обновлений. Также предоставляются такие возможности, как использование пульта дистанционного управления (возможно управление как через инфракрасный порт, так и через Bluetooth), организация совместного доступа к файлам (встроен сервер Samba), встроенный BitTorrent-клиент Transmission, автоматический поиск и подключение локальных и внешних накопителей.

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

  • Поставляемый в составе медиацентр Kodi обновлён до версии 21.0.
  • Стабилизирована поддержка платы Raspberry Pi 5 и улучшена работа на платах Rasberry Pi 4. Добавлены 64-разрядные сборки для Rasberry Pi 4 и 5.
  • Обновлены версии пакетов, например, mesa 24.0.6, Python 3.11.9, samba 4.20.0, pipewire 1.0.4, systemd 255, ядро Linux 6.6.
  • Для архитектуры x86_64 помимо основной сборки с новыми графическим стеком GBM (Generic Buffer Management) и V4L2, таким же как в сборках для ARM-плат и поддерживающим HDR на системах с новыми GPU AMD и Intel, добавлена отдельная сборка Generic-legacy для старого оборудования с видеокартами NVIDIA, в которой используется старый графический стек на основе X11, применявшийся в ветках LibreELEC 7-10.
  • Возобновлена поддержка устройств на чипах Amlogic S905, S905X/D и S912, для которых обеспечена поддержка ускорения воспроизведения видео в форматах H264 и HEVC, добавлена поддержка HDR для HEVC и VP9.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива для создания домашних кинотеатров LibreELEC 11.0
  3. OpenNews: Релиз медиацентра MythTV 34
  4. OpenNews: Релиз открытого медиацентра Kodi 21.0
  5. OpenNews: Выпуск OSMC 2024.04-1, дистрибутива для создания медиацентра на основе Raspberry Pi
  6. OpenNews: Релиз дистрибутива для создания домашних кинотеатров OpenELEC 8.0
Обсуждение (39 +11) | Тип: Программы |


·01.05 Выпуск текстового редактора GNU nano 8.0 (190 +30)
  Состоялся релиз консольного текстового редактора GNU nano 8.0, предлагаемого в качестве редактора по умолчанию во многих пользовательских дистрибутивах, разработчики которых считают vim слишком сложным для освоения.

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

  • Добавлена опция командной строки "--modernbindings" ("-/"), которая активирует альтернативный набор базовых горячих клавиш:
    • ^Q - выход,
    • ^X - перенос в буфер обмена,
    • ^C - копирование в буфер обмена,
    • ^V - вставка из буфера обмена,
    • ^Z - отмена операции,
    • ^Y - отмена отмены (redo),
    • ^O - открытие файла,
    • ^W - запись в файл,
    • ^R - замена,
    • ^G - повтор поиска,
    • ^D - повтор поиска в обратном направлении,
    • ^A - установка метки,
    • ^T - переход на строку по номеру,
    • ^P - показ текущей позиции,
    • ^E - запуск команды.
  • Обеспечено задействование альтернативного набора горячих клавиш при запуске nano, используя исполняемый файл или символическую ссылку с именем, начинающимся на букву "e".
  • По умолчанию горячая клавиша ^F теперь используется для начала поиска в прямом направлении, а ^B - в обратном, а M-F и M-B повторяют прямой и обратный поиск.
  • Добавлены горячие клавиши <Alt+Home> и <Alt+End>, позволяющие переместить курсор на первую или последнюю строку в рамках текущей видимой области, сохранив горизонтальную позицию.
  • Горячая клавиша 'M-"' теперь используется для установки и удаления метки, а "M-'" для перехода к следующей метке.
  • Добавлена возможность перехода на определённый номер строки в файле при открытии файла командой "nano filename:number" в дополнение к ранее поддерживаемой опции "+N" ("nano +number filename").
  • Задание одинаковых цветовых составляющих в значениях #RGB (например, "#555") теперь отождествляется с градацией оттенков серого xterm, что позволяет использовать 14 уровней серого, вместо 4.
  • При возникновении ошибки обеспечена очистка буфера клавиатурных нажатий для остановки выполнения макросов.
  • Вращение колеса мыши теперь приводит к прокрутке видимой области, а не перемещению курсора.

  1. Главная ссылка к новости
  2. OpenNews: Релиз текстового редактора Vim 9.1
  3. OpenNews: Демонстрация атаки на редакторы кода, приводящей к утечке файлов при открытии исходных текстов
  4. OpenNews: Выпуск текстового редактора OpenVi 7.0.12
  5. OpenNews: Выпуск текстового редактора GNU Emacs 29.3 с устранением уязвимостей
Обсуждение (190 +30) | Тип: Программы |


·01.05 Опубликована платформа OpenSilver 2.2, продолжающая развитие технологии Silverlight (41 +7)
  Опубликован выпуск проекта OpenSilver 2.2, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, F#, XAML и .NET. Скомпилированные при помощи OpenSilver приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly, но компиляция пока возможна только в Windows с использованием среды Visual Studio. Код проекта написан на языке C# и распространяется под лицензией MIT.

В 2021 компания Microsoft прекратила разработку и сопровождение платформы Silverlight в пользу применения стандартных Web-технологий. Изначально проект OpenSilver был нацелен на предоставление инструментария для продления жизни существующих Silverlight-приложений в условиях отказа от сопровождения платформы компанией Microsoft и прекращения поддержки плагинов в браузерах. В OpenSilver поддерживаются все основные возможности движка Silverlight, включая полную поддержку языков C# и XAML, а также реализацию большей части API платформы, достаточную для использования таких C#-библиотек, как Telerik UI, WCF RIA Services, PRISM и MEF.

В текущем виде OpenSilver уже вышел за рамки прослойки для продления жизни Silverlight и может рассматриваться как самостоятельная платформа для создания новых приложений. Например, проектом развивается среда разработки (дополнение к Visual Studio), обеспечивается поддержка новых версий языка C# и платформы .NET, предоставляется совместимость с библиотеками на языке JavaScript.

В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver продолжает развитие проекта CSHTML5, позволяющего компилировать приложения C#/XAML/.NET в представление на языке JavaScript, пригодное для запуска в браузере, и расширяет его кодовую базу возможностями для компиляции C#/XAML/.NET в WebAssembly, а не в JavaScript.

В новой версии OpenSilver добавлены компоненты для обеспечения совместимости с приложениями, разработанными при помощи среды визуального проектирования Visual Studio LightSwitch. После прекращения поддержки плагина Silverlight пользователи подобных программ были вынуждены либо заменить эти приложения, либо полагаться на использование Silverlight в режиме IE, предоставляемом в некоторых версиях Windows, сохранение поддержки которого в будущих обновлениях Windows не гарантируется. Реализованные в OpenSilver 2.2 компоненты дают возможность избавиться от зависимости от IE и выполнять LightSwitch-приложения в современных web-браузерах.

Работа в современных браузерах обеспечивается через компиляцию LightSwitch-приложений в представление, использующее актуальные технологии, такие как HTML5 и WebAssembly, поддерживаемые во всех браузерах, включая Edge, Chrome, Firefox, Safari и Opera, и не требующих установки плагинов. В текущем виде пока предоставляется только runtime-окружение для запуска приложений LightSwitch, без возможности создания программ в визуальном редакторе кода Visual Studio LightSwitch. В будущих выпусках OpenSilver намечено предоставление средств разработки, поддерживающих разные платформы. В частности, запланировано создание системы визуального проектирования интерфейса XAML UI Designer, обеспечение интеграции с платформой .NET MAUI для создания программ для iOS, Android, macOS, Linux и Windows, а также реализация поддержки XAML Hot Reload, CLI, VS Code и Rider.

  1. Главная ссылка к новости
  2. OpenNews: Доступна платформа OpenSilver 2.1, продолжающая развитие технологии Silverlight
  3. OpenNews: Выпуск платформы OpenSilver 2.0, продолжающей развитие технологии Silverlight
  4. OpenNews: Выпуск OpenSilver 1.0, открытой реализации Silverlight
  5. OpenNews: Тестовый выпуск Moonlight 4 с поддержкой технологии Silverlight 4
  6. OpenNews: Проект Ruffle развивает эмулятор Flash Player, написанный на Rust
Обсуждение (41 +7) | Тип: Программы |


·01.05 Доступна СУБД MySQL 8.4.0 LTS (74 +3)
  Компания Oracle сформировала новую ветку СУБД MySQL 8.4 и опубликовала корректирующее обновление MySQL 8.0.37. Сборки MySQL Community Server 8.4.0 подготовлены для всех основных дистрибутивов Linux, FreeBSD, macOS и Windows. Выпуск 8.4.0 отнесён к веткам с длительным сроком поддержки (LTS), который выпускаются раз в два года и поддерживаются 5 лет (плюс можно получить ещё 3 года расширенной поддержки).

MySQL 8.4.0 является четвёртым выпуском, сформированным в рамках новой модели формирования релизов, предусматривающей наличие двух типов веток MySQL - "Innovation" и "LTS". Ветки Innovation, к которым отнесены MySQL 8.1, 8.2 и 8.3, рекомендованы для тех, кто хочет раньше получать доступ к новой функциональности. Данные ветки публикуются каждые 3 месяца и поддерживаются только до публикации следующего значительного релиза (например, после появления ветки 8.4 прекращена поддержка ветки 8.3). LTS-ветки рекомендованы для внедрений, которым необходима предсказуемость и длительное сохранение неизменного поведения. Следом за LTS-веткой будет сформирована новая Innovation-ветка - MySQL 9.0.

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

  • В оптимизатор добавлена поддержка автоматического обновления гистограмм, независимо от выполнения операции "ANALYZE TABLE" для родительской таблицы. Автоматическое обновление включается через указание выражения "AUTO UPDATE" при выполнении операции "ANALYZE TABLE", а отключается через указание выражения "MANUAL UPDATE", которое используется по умолчанию.
  • Добавлены опции "--keyring-migration-from-component", "--keyring-migration-source" и "--keyring-migration-destination" для миграции из компонента keyring в плагин keyring.
  • Добавлена новая привилегия FLUSH_PRIVILEGES, которая в отличие от ранее доступной привилегии RELOAD предоставляет пользователю права только на выполнение операции "FLUSH PRIVILEGES".
  • Добавлена новая привилегия OPTIMIZE_LOCAL_TABLE, позволяющая пользователю выполнять операции "OPTIMIZE LOCAL TABLE" и "OPTIMIZE NO_WRITE_TO_BINLOG TABLE".
  • Изменены значения по умолчанию системных переменных group_replication_consistency и group_replication_exit_state_action. Переменная group_replication_consistency теперь выставляется в значения BEFORE_ON_PRIMARY_FAILOVER вместо EVENTUAL, а переменная group_replication_exit_state_action в значение OFFLINE_MODE вместо READ_ONLY.
  • В сборках, поставляемых со встроенной библиотекой OpenSSL, задействована новая версия OpenSSL 3.0.13.
  • Прекращено прямое обновление с MySQL 5.7 до MySQL 8.4. Для перехода с MySQL 5.7 вначале теперь следует перейти на ветку 8.0, а уже затем обновить её до версии 8.4.
  • Изменены значения по умолчанию следующих настроек InnoDB: innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_pages, innodb_flush_method, innodb_io_capacity, innodb_io_capacity_max, innodb_log_buffer_size, innodb_numa_interleave, innodb_page_cleaners, innodb_parallel_read_threads, innodb_purge_threads, innodb_read_io_threads, innodb_use_fdatasync, temptable_max_ram, temptable_max_mmap и temptable_use_mmap.
  • Добавлена поддержка сборки пакетов для дистрибутивов Fedora 40 и Ubuntu 24.04.
  • Отключён по умолчанию и объявлен устаревшим серверный плагин mysql_native_password, обеспечивающий аутентификацию при помощи паролей. Вместо mysql_native_password рекомендуется перейти на использование плагина caching_sha2_password, применяющего для хэширования алгоритм SHA2 вместо SHA1. Для возвращения поддержки mysql_native_password можно использовать опцию "--mysql-native-password=ON" или настройку "mysql_native_password=ON".
  • Прекращена поддержка небезопасных протоколов и алгоритмов шифрования. Оставлены только TLS v1.2 и TLSv1.3, алгоритмы, обеспечивающие прямую секретность (forward secrecy), шифры и сертификаты с SHA2, и алгоритмы AES в режиме GCM или AEAD.
  • Удалены связанные с репликацией SQL-выражения, которые ранее были объявлены устаревшими из-за использования неполиткорректной терминологии: START SLAVE (следует использовать START REPLICA); STOP SLAVE (следует использовать STOP REPLICA); SHOW SLAVE STATUS (следует использовать SHOW REPLICA STATUS); SHOW SLAVE HOSTS (SHOW REPLICAS); RESET SLAVE (RESET REPLICA); CHANGE MASTER TO (CHANGE REPLICATION SOURCE TO); RESET MASTER (RESET BINARY LOGS AND GTIDS); SHOW MASTER STATUS (SHOW BINARY LOG STATUS); PURGE MASTER LOGS (PURGE BINARY LOGS); SHOW MASTER LOGS (SHOW BINARY LOGS).
  • Удалены ранее объявленные устаревшими опции, применявшиеся в выражениях "CHANGE REPLICATION SOURCE TO" и "START REPLICA", и использующие слово "master", которое было заменено на "source": MASTER_AUTO_POSITION (следует использовать SOURCE_AUTO_POSITION), MASTER_HOST (следует использовать SOURCE_HOST), MASTER_BIND (следует использовать SOURCE_BIND), MASTER_USER (SOURCE_USER), MASTER_PASSWORD (SOURCE_PASSWORD), MASTER_PORT (SOURCE_PORT), MASTER_CONNECT_RETRY (SOURCE_CONNECT_RETRY), MASTER_RETRY_COUNT (SOURCE_RETRY_COUNT), MASTER_DELAY (SOURCE_DELAY), MASTER_SSL (SOURCE_SSL), MASTER_SSL_CA (SOURCE_SSL_CA), MASTER_SSL_CAPATH (SOURCE_SSL_CAPATH), MASTER_SSL_CIPHER (SOURCE_SSL_CIPHER), MASTER_SSL_CRL (SOURCE_SSL_CRL), MASTER_SSL_CRLPATH (SOURCE_SSL_CRLPATH), MASTER_SSL_KEY (SOURCE_SSL_KEY), MASTER_SSL_VERIFY_SERVER_CERT (SOURCE_SSL_VERIFY_SERVER_CERT), MASTER_TLS_VERSION (SOURCE_TLS_VERSION), MASTER_TLS_CIPHERSUITES (SOURCE_TLS_CIPHERSUITES), MASTER_SSL_CERT (SOURCE_SSL_CERT), MASTER_PUBLIC_KEY_PATH (SOURCE_PUBLIC_KEY_PATH), GET_MASTER_PUBLIC_KEY (GET_SOURCE_PUBLIC_KEY), MASTER_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD), MASTER_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS), MASTER_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL), MASTER_LOG_FILE (SOURCE_LOG_FILE), MASTER_LOG_POS (SOURCE_LOG_POS).
  • Удалены системные переменные, в которых использовались слова "master" и "slave": Com_slave_start (следует использовать Com_replica_start); Com_slave_stop (Com_replica_stop); Com_show_slave_status (Com_show_replica_status); Com_show_slave_hosts (Com_show_replicas); Com_show_master_status (Com_show_binary_log_status); and Com_change_master (Com_change_replication_source).
  • Объявлена устаревшей системная переменная group_replication_allow_local_lower_version_join. Удалены ранее объявленные устаревшими опции "--no-dd-upgrade", "--old", "--new", "--language", "--ssl", "--admin-ssl" и переменные binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals и default_authentication_plugin.
  • Удалена неиспользуемая таблица INFORMATION_SCHEMA.TABLESPACES.
  • Прекращена поддержка использования значения LOW_PRIORITY вместе с выражением "LOCK TABLES ... WRITE".
  • Прекращена поддержка использования модификатора AUTO_INCREMENT вместе с типами FLOAT и DOUBLE.
  • Удалена утилита mysql_ssl_rsa_setup - при сборке с OpenSSL сервер MySQL может автоматически генерировать недостающие SSL- и RSA-файлы при запуске.
  • Удалена утилита mysql_upgrade, которая не используется с выпуска MySQL 8.0.16.
  • Удалены утилиты mysqlpump, lz4_decompress и zlib_decompress, вместо которых следует использовать утилиту mysqldump или команды dump интерактивной оболочки.
  • Удалены плагины: authentication_fido, authentication_fido_client (следует использовать authentication_webauthn); keyring_file (следует использовать component_keyring_file); keyring_encrypted_file (следует использовать component_keyring_encrypted_file); keyring_oci (следует использовать component_keyring_oci).
  • Прекращена поддержка выражения ENGINE вместе с различными вариантами "DROP TABLESPACE" и "ALTER TABLESPACE".
  • Удалена привилегия "SET_USER_ID", которую больше нельзя указывать в выражениях GRANT.
  • Возвращены функции С API: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() и mysql_ssl_set(), часть из которых была переработана с использованием функции mysql_real_query(). Данные функции были удалены в ветке MySQL 8.3, но восстановлены для поддержки в рамках LTS-ветки MySQL 8.4.
  • Устранено 26 уязвимостей, которые могут быть эксплуатированы удалённо. Наиболее серьёзная проблема имеет уровень опасности 6.5 и связана с уязвимостью в openSSL. Менее опасные уязвимости затрагивают оптимизатор, InnoDB, Thread Pooling, Group Replication Plugin, Audit Plugin, DML, mysqldump.

  1. Главная ссылка к новости
  2. OpenNews: Доступна СУБД MySQL 8.3.0
  3. OpenNews: Стабильный релиз СУБД MySQL 8.0
  4. OpenNews: MariaDB существенно меняет график выпусков
  5. OpenNews: Представлена новая значительная ветка СУБД MariaDB 11
  6. OpenNews: Стабильный выпуск СУБД MariaDB 10.11
Обсуждение (74 +3) | Тип: Программы |


Следующая страница (раньше) >>



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

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