The OpenNET Project / Index page

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

·22.02.2024 Выпуск графического редактора GIMP 2.99.18. Заморозка перед релизом GIMP 3.0 (131 +17)
  Доступен выпуск графического редактора GIMP 2.99.18, продолжающий развитие функциональности будущей стабильной ветки GIMP 3.0, в которой выполнен переход на GTK3, добавлена штатная поддержка Wayland и HiDPI, реализована базовая поддержка цветовой модели CMYK (позднее связывание), проведена значительная чистка кодовой базы, предложен новый API для разработки плагинов, реализовано кэширование отрисовки, добавлена поддержка выделения нескольких слоёв (Multi-layer selection) и обеспечено редактирование в исходном цветовом пространстве. Для установки доступен пакет в формате flatpak (org.gimp.GIMP в репозитории flathub-beta), а также сборки для Windows и macOS.

GIMP 2.99.18 заявлен как последний экспериментальный выпуск перед формированием кандидата в релизы. Все намеченные для релиза задачи выполнены и разработка переведена в состояние заморозки перед релизом, подразумевающее переключение внимания на финальное тестирование и исправление ошибок (интерфейс до релиза меняться не будет, но допускаются отдельные изменения API до выпуска кандидата в релизы). Кандидат в релизы GIMP 3.0 намечен на середину марта, а релиз при оптимальном стечении обстоятельств планируют опубликовать к конференции Libre Graphics Meeting, которая состоится 9-12 мая. При этом сроки жёстко не определены и если на финальной стадии разработки будут выявлены серьёзные проблемы, время выпуска будет сдвинуто.

Среди изменений в GIMP 2.99.18:

  • В основную кодовую базу приняты изменения, подготовленные проектом "Space Invasion", в котором c 2018 года велась работа по повышению корректности цветопередачи и улучшению управлением цветом в GIMP. Старые структуры, применяемые для внутреннего представления цвета (GimpRGB, GimpCMYK, GimpHSV), переведены на использование универсального объекта GeglColor, который может хранить цветовые данные без привязки к цветовой модели, цветовому пространству и глубине цвета. В частности, GeglColor даёт возможность реализовать отображение информации о цветовом пространстве в различных частях интерфейса и позволяет включать в цветовые палитры цвета в представлениях CMYK, CIELAB и любых других цветовых моделях, а не только сохранять данные, преобразованные в sRGB.

    Изменение позволило избавиться от вызова промежуточных операций преобразования цвета и устранить потерю информации, возникающую из-за подобных манипуляций (преобразование цвета теперь выполняется на финальной стадии, только при наличии необходимости). Например, при использовании инструмента определения цвета пикселя могло потребоваться два преобразования цвета - первое для перевода формата цвета исходного изображения во внутренний формат, а второе из внутреннего формата в формат целевого изображения. При этом преобразования выполнялись даже если входной и выходной форматы цвета совпадают. В случае использования CMYK переход на GeglColor позволит уйти от преобразований во внутренний формат, так как CMYK без потерь не сопоставляется с большинством других цветовых моделей.

  • Улучшены алгоритмы работы с цветом: В инструменте "Тон-насыщенность" (Hue-Saturation) добавлен специальный обработчик ахроматических пикселей, позволяющий менять пиксели в оттенках серого (с нулевой насыщенностью) общим изменением тона, не трогая цветовые составляющие. Обеспечено сохранение ахроматическими градиентов в оттенках серого, даже при включении сглаживания в инструменте "Градиент".
  • Добавлена начальная поддержка недеструктивного режима редактирования изображения, при котором применение фильтров не меняет пиксели исходного слоя, а реализуется поверх него, что позволяет манипулировать фильтрами, не влияя на исходное изображение, например, можно в любой момент поменять параметры фильтра или отключить фильтр (ранее это было невозможно так как результат применения фильтра объединялся со слоем). Недеструктивное редактирование поддерживается для любых операций, реализованных при помощи библиотеки GEGL (инструмент GEGL Graph и GEGL-плагины). Недеструктивные эффекты для масок слоев и каналов будут реализованы в будущем.

  • Улучшена обработка шрифтов. Расширен спектр поддерживаемых типов шрифтов и улучшен откат на шрифты по умолчанию в случае отсутствия необходимого шрифта. Улучшена загрузка xcf-файлов, созданных на компьютере с другим набором шрифтов. При записи файлов XCF обеспечено сохранение более полной информации о шрифтах для исключения загрузки не того шрифта при открытии файла.

    Имя шрифта больше не является критерием уникальности шрифта, т.е. при выборе шрифтов шрифты с одинаковыми именами теперь отображаются как есть, без прикрепления окончаний #1 и #2. Добавлена возможность загрузки шрифтов в обход библиотеки Pango с использованием своих стилей. На платформе Windows в Pango принудительно включено сглаживание, что решило проблемы с читаемостью текста в меню при использовании тёмной темы оформления.

  • Добавлена поддержка автоматического расширения слоёв. В инструмент "Кисть" добавлена опция "Expand Layers", при включении которой выход кисти за границу слоя будет приводить к автоматическому расширению слоя. В настройках можно задать на сколько должен увеличиваться слой и какое заполнение использоваться в новой области.

  • Добавлены новые параметры прилипания (Snapping), применяемые для выравнивания слоёв на холсте. Опция "Snap to Bounding Boxes" включает показ динамических направляющих для выравнивания перемещаемого слоя относительно центра или краёв других слоёв. Опция "Snap to Equidistance" позволяет разместить слой, равноудалённым от трёх других слоёв.

  • Проведено упрощение и реорганизация тем оформления. Пять базовых тем (Default, Gray, System, Darker, Compact) в светлом и тёмном вариантах заменены на темы System и Default с тремя вариантами состояний - светлый, тёмный и серый. Аналогично четыре темы пиктограмм преобразованы в два набора Legacy и Default с цветным и символьным вариантами. Проведена работа по реализации стилей из системных тем оформления, отсутствовавших в темах GIMP.
  • В опционально показываемый после запуска диалог Welcome добавлены настройки персонализации, список из 8 недавно открытых изображений, кнопка для создания нового изображения и ссылки на информацию о присоединении к разработке и примечание к выпуску.
  • Улучшена поддержка импорта и экспорта форматов DDS, GIF, HEIF, JPEG-X, OpenEXR, PDF, PNG, PSD, PSP. Добавлена поддержка форматов изображений Farbfeld, PIX (Esm Software) и HEJ2, а также формата палитры Swatchbooker.
  • Обеспечена возможность управления GIMP с планшетов и привязки действий в GIMP к кнопкам планшета. Обеспечено портирование интерфейса для работы с планшетами на GTK 3 при использовании Wayland.

  1. OpenNews: Выпуск графического редактора GIMP 2.10.36
  2. OpenNews: Выпуск графического редактора GIMP 2.99.16
  3. OpenNews: Завершено портирование GIMP на GTK3
  4. OpenNews: Распространение вредоносных файлов через рекламу GIMP в Google
  5. OpenNews: Прекращение разработки Glimpse, форка графического редактора GIMP
Обсуждение (131 +17) | Тип: Программы |
·22.02.2024 Выпуск web-браузера Chrome 122 (60 +10)
  Компания Google опубликовала релиз web-браузера Chrome 122. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 123 запланирован на 19 марта.

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

  • В соответствии с требованиями европейского закона DMA (Digital Markets Act) в браузер добавлен экран выбора поисковой системы, которая будет использоваться по умолчанию. На выбор предлагаются поисковые системы, доступные в разделе настроек "chrome://settings/search". Поисковые системы в списке отображаются в случайном порядке.
  • На страницу "chrome://settings/security" добавлена настройка, позволяющая отключить JIT-оптимизаторы в JavaScript-движке V8. Отключение JIT может быть полезным для повышения безопасности работы с потенциально опасными web-приложениями за счёт уменьшения возможных векторов для совершения атаки.
  • В версии для Android добавлена функция чтения вслух текста, имеющегося на web-странице. Режим чтения можно включить в выпадающем меню и управлять им при помощи типовых кнопок управления воспроизведением. Функция использует для работы внешний сервис и отправляет ссылку на серверы Google, которые осуществляют синтез речи.
  • Продолжается тестирование экспериментальных возможностей, использующих машинное обучение - режима умной группировки вкладок, генератора тем оформления и интерактивного помощника, о которых было рассказано в анонсе выпуска Chrome 121.
  • В режиме безопасного просмотра (Safe Browsing) реализована поддержка асинхронно выполняемых внешних проверок, не блокирующих загрузку проверяемой страницы. При этом проверки по локальным спискам по-прежнему осуществляются в синхронном режиме и страница не показывается до их завершения, чтобы защитить пользователя от использования на страницах эксплоитов. Что касается фишинга, то маловероятно, что пользователь успеет отреагировать на страницу до завершения внешней проверки и вывода предупреждения.
  • Переработан текст предупреждений, показываемых при попытке загрузки вредоносных файлов и для уже загруженных файлов в менеджере загрузок.
  • Начался постепенный переход к игнорированию обработчиков событий "unload", которые не позволяют эффективно использовать кэш перехода (BFCache - Back-forward cache), обеспечивающий мгновенный переход при использовании кнопок "Назад" и "Вперёд" или при навигации по ранее просмотренным страницам текущего сайта. Поведение стационарного Chrome будет приближено к мобильным браузерам, которые в большинстве случаев не генерируют событие "unload", отдавая приоритет кэшированию переходов. В Chrome 122 обработка события "unload" отключена для 1% пользователей.
  • В системе автозаполнения параметров платежей добавлена возможность сохранения кодов проверки подлинности (CVV/CVC) для локальных и серверных карт. Коды сохраняются после вывода предупреждения и явного согласия пользователя.


  • Добавлен API Storage Buckets, предоставляющий дополнительные возможности для управления постоянным хранением данных на локальной системе пользователя. Новый API позволяет организовать хранение данных с разбиением хранилища на отдельные сегменты, ассоциированные с API IndexedDB и CacheStorage. Сегменты удаляются браузером независимо друг от друга, а пользователю предоставлена возможность определения приоритетов, управляющих тем, какие из сегментов следует удалять в первую очередь. Подобная организация позволяет хранить важные данные в сегментах c высоким приоритетом, а вторичные, которые нестрашно потерять, - с низким. Таким образом решается проблема с потерей важных данных в случае исчерпания доступных лимитов на размер хранилища, предоставляемого через API IndexedDB и localStorage.
  • В API Async Clipboard в метод read() добавлена опция "unsanitized", применяемая при копировании из буфера обмена и вставки в него. При выставлении данной опции приложению предоставляется неизменное содержимое разметки HTML для данных из буфера обмена, без проведения чистки, нормализации и замены опасных конструкций (например, не преобразуется содержимое блока "<style>").
  • CSS-запросы "@container" теперь не будут срабатывать при указании неподдерживаемых возможностей, например, запрос "@container (width > 0px) or (unknown) {}" не сработает из-за выражения "unknown".
  • В CSS разрешено определение условий в правилах импорта "@import ... supports(...)". Если проверка не проходит импорт не производится. Например, для загрузки стилей в случае выставления "animation-timeline" в значение "auto" можно указать 'scroll-driven-animations.css '@import "scroll-driven-animations.css" supports(animation-timeline: auto);'.
  • В CSS изменена и приведена к требованиям обновлённой спецификации логика обработки псевдо-элемента "::backdrop", который теперь наследуется из исходного элемента (ранее "::backdrop" не наследовал значения других элементов, что не позволяло получить доступ к свойствам, определённым в корневом элементе).
  • Действие метода dataTransfer.clearData() ограничено только текстовыми объектами, т.е. данный метод больше не может применяться к объектам File.
  • В WebGL добавлена функция drawingBufferStorage, позволяющая настроить пиксельный формат для буфера отрисовки, что даёт возможность напрямую выводить содержимое с более 8 битами на цветовой канал и избежать лишних операций копирования, требовавшихся для преобразования в пиксельный формат, используемый по умолчанию.
  • Внесены улучшения в инструменты для web-разработчиков. Добавлена поддержка изменения цветового оформления и следования стилю, заданному в выбранной в браузере теме оформления.

    Расширены возможности панели для анализа производительности, в которой на шкале времени появилась поддержка сохранения диапазонов хода выполнения (отрезков на шкале времени) и переключения между ними.

    В основной трек (Performance > Main) добавлен показ инициаторов событий и их наглядной связи с событиями, которые они вызывают.

    В панели анализа сетевой активности в колонке с состоянием выполнения запросов обеспечен показ причин сбоев. Переработано контекстное меню для копирования ссылки или содержимого запроса.

Кроме нововведений и исправления ошибок в новой версии устранено 12 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премий на сумму 28 тысяч долларов США (по одной премии в $8000, $7000, $5000, $3000 и $2000, и три премии $1000). Наибольшие вознаграждения присуждены за ошибку в реализации изоляции сайтов, выявление переполнения буфера в движке Blink и обращение к уже освобождённой памяти (Use-after-free) в библиотеке Mojo.

  1. OpenNews: Выпуск web-браузера Chrome 121
  2. OpenNews: В Chromium экспериментируют с автоматическими микроплатежами для монетизации сайтов
  3. OpenNews: Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome
  4. OpenNews: Разработчики Chrome и Firefox рассматривают возможность прекращения поддержки видеокодека Theora
  5. OpenNews: В Chrome планируют реализовать режим скрытия IP-адреса пользователя
Обсуждение (60 +10) | Тип: Программы |
·21.02.2024 Первый выпуск свободной PaaS-платформы Cozystack на базе Kubernetes (119 +10)
  Опубликован первый выпуск свободной PaaS-платформы Cozystack на базе Kubernetes. Проект позиционирует себя как готовую платформу для хостинг провайдеров и фреймворк для построения частных и публичных облаков. Платформа устанавливается напрямую на сервера и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять по требованию Kubernetes-кластеры, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.

В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу.

Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри "железного" Kubernetes-кластера.

Платформа включает свободную реализацию сетевой фабрики на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana.

Одной из ключевых функций платформы является простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap. Несмотря на коммерческий интерес, проект развивается энтузиастами из сообщества и планирует оставаться всегда свободным. Отправлен запрос на передачу Cozystack под крыло организации CNCF (Cloud Native Computing Foundation).

  1. OpenNews: Уязвимость в runc, позволяющая выбраться из контейнеров Docker и Kubernetes
  2. OpenNews: Уязвимости в ingress-nginx, позволяющие скомпрометировать кластеры Kubernetes
  3. OpenNews: Выпуск Kubernetes 1.24, системы управления кластером изолированных контейнеров
  4. OpenNews: Альтернативный пользовательский интерфейс для Apache CloudStack
  5. OpenNews: Компания Oracle представила открытую бессерверную платформу Fn
Обсуждение (119 +10) | Автор: kvaps |
·21.02.2024 Первый тестовый выпуск языка программирования Hare (131 +11)
  Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc и платформы совместной разработки SourceHut, представил выпуск языка программирования Hare 0.24.0 и объявил об изменении правил формирования новых версий. Hare 0.24.0 стал первым релизом - ранее отдельные версии проектом не формировались. При этом реализация языка пока остаётся нестабильной и до формирования стабильного выпуска 1.0 допускает внесения изменений, нарушающих совместимость.

Переход к модели разработки, подразумевающей периодическую публикацию отдельных тестовых версий, объясняется намерением упростить формирование и сопровождение пакетов в дистрибутивах, а также желанием сделать тестирование новых возможностей и отслеживание изменений более удобным для пользователей. До окончания стабилизации языка новые версии планируется публиковать раз в 3 месяца, используя нумерацию 0.YY.Q, где YY - две последние цифры года, а Q - номер квартала, в котором опубликован выпуск. Каждый выпуск будет снабжаться списком изменений с момента прошлого обновления.

Hare преподносится как язык системного программирования, близкий к языку Си, но проще, чем Си. Исходный код компилятора и инструментария распространяются под лицензией GPLv3, а код стандартной библиотеки под лицензией MPL (Mozilla Public License). Hare оптимизирован для решения низкоуровневых задач, таких как разработка операционных систем, компиляторов, сетевых приложений и системных утилит, для которых требуется достижение максимальной производительности и полный контроль над выполнением. В языке применяется ручное управление памятью и статическая система типов, при которой каждой переменной явно должен быть присвоен определённый тип.

Для выполнения приложения поставляется минимальный runtime, а для разработки распространяется стандартная библиотека функций, предоставляющая доступ к базовым интерфейсам операционной системы, а также предлагающая функции для работы с типовыми алгоритмами, протоколами и форматами, включая средства для использования регулярных выражений и шифрования. Для разработки графических приложений развивается инструментарий hare-wayland, а также привязки для доступа к возможностям GTK, Vulkan, OpenGL, SDL2 и libui.

  1. OpenNews: В языке системного программирования Hare реализована поддержка OpenBSD
  2. OpenNews: Автор оболочки Sway и языка Hare развивает новое микроядро Helios и OC Ares
  3. OpenNews: Дрю ДеВолт представил язык системного программирования Hare
  4. OpenNews: Релиз языка программирования V 0.4.4
  5. OpenNews: Обновление инструментария для языка программирования Mojo
Обсуждение (131 +11) | Тип: Программы |
·20.02.2024 Изменения в подготовке промежуточных выпусков Red Hat Enterprise Linux (65 +5)
  Компания Red Hat объявила о об изменении процесса подготовки промежуточных выпусков дистрибутива Red Hat Enterprise Linux. Начиная с версии RHEL 9.5 пакеты для будущего промежуточного обновления будут выпускаться раньше с использованием непрерывного цикла публикации, без привязки к релизу. Полный релиз будет сопровождаться обновлением документации, установочных носителей и образов виртуальных машин.

Изменится и процесс формирования бета версий дистрибутива, которые раньше выпускались примерно за месяц до очередного промежуточного выпуска. Вместо отдельных бета-выпусков промежуточных обновлений RHEL, начиная в версии 9.5 дистрибутив перейдёт к практике публикации бета-версий пакетов по мере их готовности. С учётом 6-месячного цикла разработки промежуточных выпусков RHEL, первые бета-версии пакетов начнут появляться за 4 месяца до релиза. Дополнительные обновления бета-версий будут публиковаться каждую неделю.

Тестовые версии пакетов как и раньше будут размещаться в отдельных репозиториях "rhel-9-for-<arch>-baseos-beta-rpms" и "rhel-9-for-<arch>-appstream-beta-rpms". Установочные носители для бета-версий публиковаться больше не будут, но пользователь при желании сможет сам сгенерировать установочную сборку или образ для виртуальной машины при помощи инструментария Red Hat Image Builder.

Для значительных веток, таких как RHEL 10 и 11, бета-версии как и раньше будут публиковаться примерно за 6 месяцев до релиза. В прежнем режиме также продолжится разработка CentOS Stream и ветки RHEL 8. Изменения обусловлены тем, что при тестировании значительных версий 6 месяцев достаточно для ознакомления, выявления проблем и информирования об ошибках, в то время, как для тестирования промежуточных версий одного месяца слишком мало, чтобы полноценно протестировать обновление и выявить в нём проблемы.

  1. OpenNews: Red Hat удалит сервер X.org и связанные компоненты из RHEL 10
  2. OpenNews: Релиз дистрибутива Red Hat Enterprise Linux 9.3
  3. OpenNews: Анализ проблем с GPL у бизнес-модели Red Hat
  4. OpenNews: Alma Linux столкнулся с нежеланием Red Hat принимать их исправление в CentOS Stream
  5. OpenNews: Red Hat ответил на критику изменений в распространении кода пакетов RHEL
Обсуждение (65 +5) | Тип: К сведению |
·20.02.2024 Релиз Firefox 123 (92 +22)
  Состоялся релиз web-браузера Firefox 123 и сформировано обновление ветки с длительным сроком поддержки - 115.8.0. На стадию бета-тестирования переведена ветка Firefox 124, релиз которой намечен на 19 марта.

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

  • На страницу Firefox View, упрощающую доступ к ранее просматриваемому содержимому, интегрирована возможность поиска по содержимому всех показанных секций c текущими вкладками, недавно открытыми вкладками, недавно закрытыми вкладками, вкладками с других устройств и историей посещений.
  • Добавлена экспериментальная возможность отображения эскизов страниц при наведении курсора на вкладки. Помимо эскиза в информационный блок о вкладке также добавлено упоминание показанной во вкладке ссылки. По умолчанию предпросмотр эскизов отключён и требует активации настройки "browser.tabs.cardPreview.enabled" в about:config.
  • Добавлен интерфейс ("Web Compatibility Reporting Tool") для отправки разработчикам Firefox уведомлений о проблемах с отображением сайтов и расхождениях в поведении при работе с сайтами по сравнению с другими браузерами. Для отправки уведомления в меню "Help" добавлен пункт "Report Site Issue", который перенаправляет на сервис webcompat.com.
  • В конфигуратор в секцию "Поиск" ("Search") из секции "Приватность" перенесены настройки адресной строки.
  • Во встроенном переводчике реализована поддержка не только перевода видимого текста, но и перевода всплывающих подсказок и заполнителей форм ввода.
  • Оставлена нерешённой проблема с некорректным отображением эскизов в диалоге открытия файлов, проявляющаяся на системах со старыми CPU AMD. Если вместо эскизов отображаются чёрные квадраты, то рекомендуется обновить графические драйверы для GPU AMD.
  • В сборках для Linux осуществлён переход с использования API GdkCursorType на gdk_cursor_new_from_name, что решило проблему с отображением пустого курсора в тестовых выпусках GNOME 46 при использовании темы пиктограмм adwaita-icon-theme, применяемой по умолчанию в GNOME и GTK. Проблема вызвана прекращением поддержки в adwaita-icon-theme классических X-курсоров.
  • В инструментах для web-разработчиков в панели отслеживания сетевой активности появилась возможность сохранения на диск содержимого ответа на запрос (в контекстное меню добавлена кнопка "Save Response As").
  • В реализации кода ответа HTTP - 103 ("Early Hints"), применяемого для упреждающего вывода заголовков, включена обработка атрибутов Preload и Modulepreload в HTTP-заголовке Link. Код 103 позволяет информировать клиента о содержании некоторых HTTP-заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом через упреждающую передачу заголовка Link (например, "Link: </style.css>; rel=preload; as=style") можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены. Получив информацию о подобных ресурсах, браузер приступит к их загрузке, не дожидаясь окончания отдачи основной страницы, что позволяет сократить общее время обработки запроса.
  • В SVG в градиентах, настраиваемых при помощи элементов <linearGradient> и <radialGradient>, добавлена поддержка интерполяции цветов с использованием линейного цветового пространства RGB. Выбор цветового пространства для интерполяции осуществляется при помощи атрибута color-interpolation, который может принимать значения "auto", "sRGB и "linearRGB".
  • В SVG-элементе feImage, обеспечивающем извлечение изображения из внешнего источника, реализован откат на использование ширины в 300px и высоты в 150px, в случае если размер исходного корневого элемента задан в процентах (ранее подобные элементы не отрисовывались).
  • При перенаправлении звука на другое устройство при помощи метода setSinkId() обеспечено применение подавления эха к звуку, полученному с микрофона.
  • Включена поддержка API Declarative Shadow DOM для создания новых корневых веток в Shadow DOM, например, чтобы отделить импортируемый сторонний стиль элемента и связанную с ним подветку DOM от основного документа. Предложенный декларативный API позволяет обойтись для открепления веток DOM только HTML без необходимости написания кода на JavaScript.
  • В версии для Android для защиты от пассивной идентификации пользователей и повышения совместимости с некоторыми сайтами параметры navigator.platform, navigator.oscpu и заголовок User-Agent теперь включают значение "x86_64" на системах с архитектурой ARM64 и "armv81" на системах ARM32 и x86.

Кроме новшеств и исправления ошибок в Firefox 123 устранено 32 уязвимости (24 помечены как опасные). 23 уязвимости (22 собраны под CVE-2024-1553 и CVE-2024-1557) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Уязвимость CVE-2024-1547 позволяет показать в контексте другого сайта alert-диалог злоумышленника.

  1. OpenNews: Релиз Firefox 122
  2. OpenNews: Во вкладках Firefox появится функция предпросмотра эскиза сайта
  3. OpenNews: Mozilla уволит около 60 сотрудников и сосредоточит внимание на AI-технологиях в Firefox
  4. OpenNews: Mozilla ввела в строй каталог дополнений для Android-версии Firefox
Обсуждение (92 +22) | Тип: Программы |
·20.02.2024 Выпуск программы для обработки фотографий RawTherapee 5.10 (32 +16)
  После года разработки опубликован релиз программы RawTherapee 5.10, предоставляющей средства для редактирования фотографий и преобразования изображений в формате RAW. Программа поддерживает большое количество RAW-форматов файлов, в том числе, камер с датчиками Foveon- и X-Trans, а также может работать со стандартом Adobe DNG и с форматами JPEG, PNG и TIFF (до 32 бит на канал). Код проекта написан на языке C++ с использованием GTK и распространяется под лицензией GPLv3. Сборки подготовлены для Linux (AppImage) и Windows.

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

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

  • Предоставлена возможность подключения нескольких внешних редакторов, которые можно выбрать во вкладке Editor.
  • Добавлена поддержка настройки содержимого вкладки "Избранное" (Favorites), а также предложена опция для отображения избранных инструментов в их обычных местах.
  • Для обработки метаданных задействована библиотека Exiv2. Добавлена поддержка метаданных CR3.
  • При сохранении изображений в формате TIFF предоставлена возможность использования формата BigTIFF.
  • Файлы с цветовыми профилями DCP и LCP теперь сохраняются с учётом возможности переноса профилей между системами Linux и Windows. Добавлено распознавание ICC-профилей в пользовательских каталогах.
  • Тоновый эквалайзер (Tone Equalizer) перенесён во вкладку "Экспозиция" (Exposure) и снабжён новым вращающимся регулятором смещения диапазона.
  • В настройках появилась возможность изменения каталога для БД Lensfun с информацией о параметрах фотообъективов.
  • В интерфейс для работы с негативами добавлена возможность изменения размера определителей цвета (Color picker).
  • В файловом браузере добавлена возможность сортировки изображений по имени, дате, рейтингу, цветовой метке и метаданным EXIF.
  • В инструмент управления цветом добавлена опция управления палитрой.
  • Во вкладке "Экспозиция" реализован новый метод восстановления пересвеченных областей "Inpaint Opposed", лучше восстанавливающий детали по сравнению с методом "Blend" и более надёжный по сравнению с методом "Color Propagation".
  • Улучшена работа метода температурной корреляции в инструменте "Баланс белого".
  • Во вкладке локальной корректировки улучшен интерфейс утилиты для устранения шумов на изображении и добавлена поддержка настройки насыщенности.
  • Добавлена поддержка RAW-файлов от камер OM Digital Solutions.
  • Улучшена поддержка 61 камеры, включая:
    • Canon EOS 250D, 7D Mark II, 800D, 90D, Kiss X10, M100, M50, M6 Mark II, R*, Rebel SL3, EOS-1D X Mark II, G7 X Mark II.
    • Fujifilm GX680, GFX 100, X-A7, X-E3, X-H2, X-PRO3, X-S10, X-T*, X100V.
    • Leica D-LUX 7.
    • Nikon D3300, Z 5/6_2/9.
    • Olimpus E-M1, E-M10MarkIV.
    • OM Digital Solutions OM-1, OM-5,
    • Panasonic DC-GX880, DMC-LX100, DC-G110, DC-LX100M2.
    • Sony DSC-RX100M6, DSC-RX1RM2, ILCE-7*, ZV-1.

    1. OpenNews: Выпуск программы для обработки фотографий Darktable 4.6
    2. OpenNews: Релиз программы для обработки фотографий RawTherapee 5.9
    3. OpenNews: Google опубликовал библиотеку Magritte для скрытия лиц на видео и фотографиях
    4. OpenNews: Выпуск программы для управления фотографиями digiKam 8.0
    5. OpenNews: Доступен менеджер фотографий Shotwell 0.32
Обсуждение (32 +16) | Тип: Программы |
·20.02.2024 Компания Valve открыла код инструментария Steam Audio (77 +30)
  Компания Valve объявила об открытии исходного кода инструментария для работы с объёмным звуком Steam Audio SDK и всех связанных с ним плагинов. Код написан на языке С++ и опубликован под лицензией Apache 2.0, позволяющей адаптировать Steam Audio для своих потребностей и задействовать модифицированные версии в различных продуктах, в том числе в коммерческих, без необходимости открытия исходных текстов внесённых изменений. Заинтересованные в развитии Steam Audio разработчики из сообщества также получили возможность участия в разработке и передачи своих изменений в проект. При этом компания Valve как и раньше продолжит сопровождение и развитие Steam Audio, но уже как открытого проекта. Поддерживается работа на платформах Linux, Windows, macOS, Android и iOS.

Steam Audio предоставляет широкий набор инструментов для работы с объёмным 3D-звуком в приложениях и симуляции звукового окружения с учётом его восприятия слуховым аппаратом слушателя. Steam Audio может оказаться полезен в компьютерных играх и системах виртуальной реальности для формирования реалистичного адаптивного звукового окружения, меняющегося в зависимости от положения слушателя, поворота или наклона головы, изменения расстояния от источника звука, отражения звука от предметов и появления препятствий между слушателем и источником звука.

Основные возможности Steam Audio:

  • Поддержка интеграции с игровыми движками Unity 2017.3+ и Unreal Engine 4.27+, а также со средой для создания звуковых эффектов FMOD Studio 2.0+. В разработке находится модуль для интеграции с системой создания звуков Wwise.
  • Автоматическая симуляция в реальном времени распространения звука в окружающей среде и его взаимодействия с предметами.
  • Расчёт отражения звука и поглощения стоящими на пути предметами с учётом геометрии сцены.
  • Отслеживание поворота и позиции слушателя при использовании в системах виртуально реальности для формирования реалистичного звукового окружения. Поддержка различного оборудования для систем виртуальной реальности.
  • Генерация бинаурального 3D-звука с использованием HRTF, меняющего форму сигнала для каждого уха с учётом особенностей восприятия звуковых волн ушной раковиной и положения головы, относительно источника звука.
  • Поддержка формата объёмного звучания Ambisonics, учитывающего распространение звука не только в горизонтальной плоскости, но и в вертикальной (для определения сверху или снизу источник звука).
  • Поддержка "запекания" (Baked Propagation) звука для статических сцен, позволяющего заранее сформировать и сохранить звуковые эффекты на стадии проектирования сцены для повышения качества и снижения потребления ресурсов во время выполнения (не нужно на лету рассчитывать параметры отражения, поглощения и преломления звука, если сцена не меняется).

  1. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  2. OpenNews: Отслеживание перемещения в соседней комнате при помощи динамика и микрофона обычного ПК
  3. OpenNews: Звуковые кодеки aptX и aptX HD вошли в состав открытой кодовой базы Android
  4. OpenNews: Компания Tracktion открыла движок для создания звуковых приложений
  5. OpenNews: Google передаёт систему объёмного звука Resonance Audio сообществу
Обсуждение (77 +30) | Тип: Программы |
·19.02.2024 В WebKit добавлена поддержка библиотеки Skia для отрисовки 2D-графики (94 +21 )
  В развиваемый компанией Apple браузерный движок WebKit, применяемый в таких браузерах, как Safari и Epiphany (GNOME Web), добавлена возможность использования для отрисовки 2D-графики библиотеки Skia, применяемой в Google Chrome, Firefox, ChromeOS, Android и Flutter, и поддерживающей отрисовку с использованием GPU (дополнение: изначально утверждалось о перходе WebKit на Skia, но позднее была опубликована новая редакция анонса, в котором уточнено, что речь только о WebKitGTK, а не WebKit от Apple). Портирование проведено компанией Igalia в рамках инициативы по оптимизации производительности WebKitGTK для GNOME. В качестве причины миграции упоминается достижение предела в процессе оптимизации производительности 2D-отрисовки с использованием CPU, и возникновение необходимости задействовать GPU для дальнейшего повышения производительности.

Попытки добавления в библиотеку Cairo (применяется в WebKitGTK) возможности 2D-отрисовки с использованием GPU не увенчались успехом из-за архитектурных особенностей данной библиотеки, а проект написания собственной библиотеки отрисовки был отброшен из-за трудности в достижении баланса между производительностью и качеством отрисовки. В итоге, разработчики из Igalia вернулись к идее использования библиотеки Skia, которая была оптимальным решением, но изначально была забракована из-за отсутствия стабильного API, проблем с использованием в качестве внешней зависимости и необходимости сопровождать сторонний модуль в WebKit.

Решению перевести WebKit на библиотеку Skia способствовало то, что связанные с заменой зависимостей недостатки перекрывали достоинства, которые выражались не только в повышении производительности отрисовки, но и в упрощении кодовой базы и расширения возможностей для развития новой функциональности. Что касается производительности, то начальный порт WebKit на Skia при прохождении тестов MotionMark на ПК показал ускорение отрисовки в два раза, по сравнению со старым кодом, использующим CPU.

В феврале 2024 года ветка WebKit, переведённая на Skia, достигла готовности к передаче в основной состав кодовой базы WebKit. После обсуждения с разработчиками из Google, Sony, Apple и Red Hat было принято решение о переводе WebKit с библиотеки Cairo на Skia и в настоящее время код для поддержки Skia уже принят в основную ветку WebKit.

Дополнение: В исходном анонсе, размещённом компанией Igalia, была ошибка. Сейчас размещено извинение за допущенную неточность, в котором пояснено, что речь только о переводе на Skia проекта WebKitGTK. Версия WebKit от Apple не использует Cairo, поэтому не переходит на Skia.

  1. OpenNews: iLeakage - метод эксплуатации уязвимости в CPU Apple через браузеры на базе движка WebKit
  2. OpenNews: Релиз браузерного движка WebKitGTK 2.42.0 и обновление проекта Servo
  3. OpenNews: Оценка безопасности WebKit в дистрибутивах Linux
Обсуждение (94 +21 ) | Тип: К сведению |
·19.02.2024 Сотрудник Canonical представил miracle-wm, композитный менеджер на базе Wayland и Mir (89 +8)
  Мэтью Косарек (Matthew Kosarek) из компании Canonical представил первый выпуск нового композитного менеджера miracle-wm, который базируется на использовании протокола Wayland и компонентов для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон в стиле оконного менеджера i3, композитного менеджера Hyprland и пользовательского окружения Sway. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap.

Среди предложенной в первом выпуске функциональности miracle-wm упоминается мозаичное управление окнами с возможностью оставления стильных зазоров между окнами, использование виртуальных рабочих столов, поддержка резервирования зон экрана под размещение панелей, возможность раскрытия окон на весь экран, поддержка вывода на несколько экранов (Multi-output), навигация и управление при помощи клавиатуры. В качестве панели может применяться Waybar. Настройка производится через файл конфигурации.

Конечной целью проекта является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие проекты, как Swayfx. Предполагается, что miracle-wm может оказаться полезным тем пользователям, которые предпочитает визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Первый выпуск позиционируется как предварительная версия. Следующие два выпуска также будут иметь такой статус, после чего будет сформирован первый стабильный релиз. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic".

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

  1. OpenNews: Выпуск дисплейного сервера Mir 2.14. Пользовательское окружение Miriway
  2. OpenNews: Пользовательская оболочка Lomiri (Unity8) принята в Debian
  3. OpenNews: Развиваемое проектом UBports окружение Unity8 переименовано в Lomiri
  4. OpenNews: Инициатива по добавлению рабочего стола Unity 8 и дисплейного сервера Mir в Debian
  5. OpenNews: Компания Canonical представила оболочку Ubuntu Frame
Обсуждение (89 +8) | Тип: Программы |
·19.02.2024 Опубликован план перевода LXQt на Qt6 и Wayland (189 +20)
  Разработчики пользовательского окружения LXQt (Qt Lightweight Desktop Environment) рассказали о процессе перехода на использование библиотеки Qt6 и протокола Wayland. Миграция всех составных частей LXQt на Qt6 в настоящее время рассматривается как первичная задача, которой уделено всё внимание проекта. После завершения миграции поддержка Qt5 будет прекращена.

Результаты портирования на Qt6 будут представлены в выпуске LXQt 2.0.0, который запланирован на апрель этого года. Кроме внутренних изменений, в новой ветке по умолчанию будет предложено новое меню приложений "Fancy Menu", в котором помимо распределения приложений по категориям реализован режим сводного отображения всех приложений и добавлен список часто используемых приложений. Кроме того, в новом меню расширены возможности для поиска программ.

Отмечается, что реализация поддержки Wayland не приведёт к концептуальным изменениям: проект по-прежнему останется модульным и продолжит придерживаться классической организации рабочего стола. По аналогии с поддержкой различных оконных менеджеров, LXQt сможет работать со всеми композитными менеджерами, основанными на библиотеке wlroots, развиваемой разработчиками пользовательского окружения Sway и предоставляющей базовые функции для организации работы композитного менеджера на базе Wayland. Работа LXQt с использованием Wayland была проверена с композитными менеджерами labwc, wayfire, kwin_wayland, sway и Hyprland. Наилучшего результата удалось добиться при использовании labwc.

В настоящее время на Qt6 уже полностью переведены панель, рабочий стол, файловый менеджер (PCmanFM-qt), просмотрщик изображений (LXimage-qt), система управления полномочиями (PolicyKit), компонент для управления громкостью (pavucontrol, PulseAudio Volume Control) и обработчик глобальных горячих клавиш. Ещё не переведены на Qt6 менеджер сеансов, система уведомлений, механизм управления энергопотреблением, конфигуратор (управление внешним видом, экраном, устройствами ввода, локалями, файловыми ассоциациями), интерфейс для просмотра запущенных процессов (Qps), эмулятор терминала (QTerminal), программа для создания скриншотов (Screengrab), утилита для запуска программ (Runner), обвязка над sudo, интерфейс для запроса пароля к SSH (LXQt Openssh Askpass), система порталов FreeDesktop (XDG Desktop Portal) и интерфейс управления системными настройками и пользователями (LXQt Admin).

Что касается готовности для работы с использованием протокола Wayland, большинство из вышеотмеченных компонентов LXQt в той или иной степени уже портированы для Wayland. Поддержка Wayland пока отсутствует только в конфигураторе экрана, программе для создания скриншотов и обработчике глобальных клавиатурных комбинаций. Не планируется портировать на Wayland обвязку над sudo.

  1. OpenNews: Проект Xfce обновил планы, связанные с поддержкой Wayland
  2. OpenNews: Доступен композитный сервер Wayfire 0.8, использующий Wayland
  3. OpenNews: Выпуск labwc 0.7, композитного сервера для Wayland
  4. OpenNews: На базе Sway развивается порт пользовательского окружения LXQt, поддерживающий Wayland
  5. OpenNews: Релиз пользовательского окружения LXQt 1.4
Обсуждение (189 +20) | Тип: К сведению |
·18.02.2024 Проблемы, приводящие к обходу аутентификации Wi-Fi в IWD и wpa_supplicant (23 +13)
  В открытых пакетах IWD (Intel inet Wireless Daemon) и wpa_supplicant, используемых для организации подключения клиентских Linux-систем к беспроводной сети, выявлены уязвимости, приводящие к обходу механизмов аутентификации:
  • В IWD уязвимость (CVE-2023-52161) проявляется только при включении работы в режиме точки доступа, что нетипично для IWD, который обычно применяется для организации подключения к беспроводным сетям. Уязвимость позволяет подключиться к созданной точке доступа без знания пароля, например, когда пользователь явно предоставляет возможность выхода в сеть через своё устройство (Hotspot). Проблема устранена в версии IWD 2.14.

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

    При этом IWD пытается верифицировать код MIC (Message Integrity Code) для полученного сообщения четвёртого этапа. Так как сообщение второго этапа с параметрами аутентификации не получено, при обработке сообщения четвёртого этапа ключ PTK (Pairwise Transient Key) выставляется в нулевое значение. Соответственно, атакующий может вычислить MIC, используя нулевой PTK, и этот проверочный код будет принят IWD как корректный. После завершения подобного неполного согласования подключения атакующий получит полный доступ к беспроводной сети, так как точка доступа будет принимать отправляемые им кадры, зашифрованные нулевым ключом PTK.


  • Выявленная в wpa_supplicant проблема (CVE-2023-52160) позволяет злоумышленнику заманить пользователя в фиктивную беспроводную сеть, выступающую клоном сети, к которой намерен подключиться пользователь. В случае подключения пользователя к подставной сети, атакующий может организовать перехват незашифрованного транзитного трафика пользователя (например, обращения к сайтам без HTTPS).

    Из-за недоработки в реализации протокола PEAP (Protected Extensible Authentication Protocol) атакующий может добиться пропуска второй стадии аутентификации при подключении некорректно настроенного устройства пользователя. Пропуск второй стадии аутентификации позволяет атакующему создать подставной клон заслуживающей доверия Wi-Fi сети и обеспечить подключение пользователя к фиктивной сети без проверки пароля.

    Для успешного проведения атаки в wpa_supplicant на стороне пользователя должна быть отключена проверка TLS-сертификата сервера, а атакующий должен знать идентификатор беспроводной сети (SSID, Service Set Identifier). При этом атакующий должен быть в зоне досягаемости беспроводного адаптера жертвы, но вне зоны досягаемости точки доступа клонируемой беспроводной сети. Атака возможна на сети с WPA2-Enterprise или WPA3-Enterprise, в которых применяется протокол PEAP.

    Разработчики wpa_supplicant заявили, что не считают проблему уязвимостью, так как она проявляется только в некорректно настроенных беспроводных сетях, в которых аутентификация EAP используется вместе с протоколом PEAP (EAP-TTLS) без проверки TLS-сертификата сервера. Конфигурации без проверки сертификата не имеют защиты от активных атак. Выявившие уязвимость утверждают, что подобные некорректные конфигурации типичны и широко распространены, что ставит под угрозу многие потребительские устройства на базе Linux, Android и Chrome OS, на которых применяется wpa_supplicant.

    Для блокирования проблемы в wpa_supplicant выпущен патч, добавляющий режим обязательного прохождения второй фазы аутентификации, помимо проверки TLS-сертификата. По словам разработчиков предложенное изменение лишь обходной путь, усложняющий проведение атак при использовании ручной аутентификации и бесполезный при применении таких опций, как EAP-GTC. Для реального решения проблемы администраторам сетей следует привести их конфигурацию к должному виду, т.е. настроить цепочку доверия для проверки сертификата сервера при помощи параметра ca_cert.

  1. OpenNews: Выпуск IWD 2.0, пакета для обеспечения подключения к Wi-Fi в Linux
  2. OpenNews: Доступен открытый Wi-Fi стек OpenWifi 1.4
  3. OpenNews: Атака MacStealer, позволяющая перехватывать трафик в Wi-Fi
  4. OpenNews: Определение контуров предметов за стеной через анализ сигнала Wi-Fi
  5. OpenNews: Выпуск hostapd и wpa_supplicant 2.10
Обсуждение (23 +13) | Тип: Проблемы безопасности |
·18.02.2024 Выпуск DuckDB 0.10.0, варианта SQLite для аналитических запросов (59 +15)
  Представлен выпуск СУБД DuckDB 0.10.0, сочетающей такие свойства SQLite, как компактность, возможность подключения в форме встраиваемой библиотеки, хранение БД в одном файле и удобный CLI-интерфейс, со средствами и оптимизациями для выполнения аналитических запросов, охватывающих значительную часть хранимых данных, например, выполняющих агрегирование всего содержимого таблиц или слияние нескольких больших таблиц. Код проекта распространяется под лицензией MIT. Разработка пока находится на стадии формирования экспериментальных выпусков, так как формат хранилища пока не стабилизирован и меняется от версии к версии.

В DuckDB предоставляется расширенный диалект языка SQL, включающий дополнительные возможности для обработки очень сложных и длительно выполняемых запросов. Поддерживается использование сложных типов (массивы, структуры, объединения) и возможность выполнения произвольных и вложенных коррелирующих подзапросов. Поддерживается одновременное выполнение нескольких запросов, выполнение запросов напрямую из файлов в формате CSV и Parquet. Имеется возможность импорта из СУБД PostgreSQL.

Помимо кода оболочки из SQLite проектом используется вынесенный в отдельную библиотеку парсер из PostgreSQL, компонент Date Math из MonetDB, своя реализация оконных функций (на базе алгоритма Segment Tree Aggregation), обработчик регулярных выражений на основе библиотеки RE2, собственные оптимизатор запросов, MVCC-механизм управления одновременным выполнением заданий (Multi-Version Concurrency Control), а также векторизированный движок выполнения запросов на базе алгоритма Hyper-Pipelining Query Execution, позволяющий в одной операции разом обрабатывать большие наборы значений.

Среди изменений в новом выпуске:

  • Значительно увеличена производительность разбора данных в формате CSV. Например, чтение CSV-файла с 11 млн строк в новой версии сократилось с 2.6 сек. до 1.15 сек., а выполнение операции "SELECT COUNT(*)" поверх CSV-файла с 1.8 сек. до 0.3 сек.
  • Добавлена поддержка массивов фиксированного размера, которые напоминают списки, содержащие фиксированное число элементов ("CREATE TABLE vectors(v DOUBLE[3]);").
  • Добавлена поддержка подключения к СУБД MySQL, PostgreSQL и SQLite, что позволяет загружать в DuckDB данные из внешних СУБД и перемещать их между разными системами. Обращение к внешним БД осуществляется с использованием типовых таблиц.
    
       ATTACH 'postgres:dbname=postgresscanner' AS postgres;
       SELECT title, release_year, length FROM postgres.film LIMIT 5;
    
  • Добавлена поддержка выражения "COMMENT ON" для сохранения комментария об объекте в БД.
  • Добавлена поддержка выражения "COPY FROM DATABASE" для копирования всего содержимого из одной БД в другую.
  • Добавлена поддержка модификатора "ALL" в выражениях EXCEPT и INTERSECT.
  • Реализован тип "UHUGEINT" (UINT128, беззнаковое 128-разрядное целое).
  • Добавлена экспериментальная поддержка шифрования Parquet.
  • Добавлены новые функции parquet_kv_metadata, parquet_file_metadata, read_text, read_blob, list_reduce, list_where, list_zip, list_select, list_grade_up.
  • Добавлен Secrets Manager для безопасного хранения учётных данных, таких как ключи для обращения к хранилищам Amazon S3, Google Cloud Storage, Cloudflare R2 и Azure Blob Storage. Учётные данные сохраняются в файле ~/.duckdb/stored_secrets.
  • Добавлен менеджер временной памяти, координирующий работу операций, приводящих к использованию временных файлов из-за нехватки оперативной памяти, а также позволяющий определить лимиты на расходование оперативной памяти, после исчерпания которых включаются файлы подкачки.
  • Добавлена поддержка адаптивного сжатия чисел с плавающей запятой (ALP, Adaptive Lossless Floating-Point Compression), позволяющая заметно сократить размер хранилища. Например, включение ALP позволило уменьшить размер БД с 489 MB до 184 MB, ценой увеличения времени прохождения теста с 0.316 до 0.434 сек.
  • В CLI-интерфейсе по умолчанию включена поддержка многострочного редактирования, улучшена подсветка синтаксиса, улучшено наглядное выделение ошибок.
  • При вызове функций по умолчанию отключено автоматическое неявное преобразование типов в VARCHAR (например, теперь не сработает вызов "substring(42, 1, 1)" вместо "substring('42', 1, 1)") в пользу обязательного явного приведения типов.
  • Разделены числовые и строковые литералы. Числовые литералы (INTEGER_LITERAL) могут неявно преобразовываться только в целочисленный тип, а строковые (STRING_LITERAL) могут неявно преобразовываться в любой другой тип.

  1. OpenNews: Выпуск DuckDB 0.9.0, варианта SQLite для аналитических запросов
  2. OpenNews: Опубликован PRQL, компилируемый в SQL язык обработки данных
  3. OpenNews: Проект libSQL начал развитие форка СУБД SQLite
  4. OpenNews: Проекты CBS и sqld развивают облачный и серверный варианты SQLite
  5. OpenNews: Выпуск СУБД SQLite 3.45
Обсуждение (59 +15) | Тип: Программы |
·17.02.2024 Проект openSUSE раскрыл планы по развитию нового инсталлятора Agama (86 +2)
  Разработчики проекта openSUSE опубликовали план по развитию нового инсталлятора Agama (бывший D-Installer), разрабатываемого для замены классического интерфейса установки SUSE и openSUSE, и примечательного отделением пользовательского интерфейса от внутренних компонентов YaST. Agama предоставляет возможность использования различных фронтэндов, например, фронтэнда для управления установкой через web-интерфейс. Для тестирования нового инсталлятора формируются live-сборки для архитектур x86_64 и ARM64, поддерживающие установку непрерывно обновляемой сборки openSUSE Tumbleweed, а также редакций SUSE ALP, openSUSE MicroOS и openSUSE MicroOS Desktop, построенных на базе изолированных контейнеров.

На этот год намечено два значительных обновления Agama. Первое планируется представить в середине апреля, а второе в середине июля. Июльское обновление будет нацелено на повышение гибкости и функциональности, связанной с установкой в автоматическом режиме, проводимой без участия человека. Целью разработки является доведение Agama до возможности использования в качестве альтернативы инструментарию AutoYaST.

Апрельское обновление примечательно прекращением использования готовых модулей, развиваемых проектом Cockpit, в пользу использования более независимого фреймворка и модернизированного интерфейса пользователя. Уход от привязки к Cockpit позволит исключить дополнительные внешние зависимости и избавиться от ограничений, мешающих реализации некоторых идей. Например, Cockpit содержит в зависимостях компоненты на языках Python и Си, в то время как в Agama применяются языки Ruby и Rust. Прекращение использования Cockpit также избавит разработчиков от ограничений, с которыми они столкнулись при попытках реализовать автоматический режим установки и переработать интерфейс настройки хранилищ для достижения оптимального баланса простоты для начинающих и функциональности для опытных пользователей.

На текущем этапе развития в новом инсталляторе уже предоставляются возможности, необходимые для решения таких задач, как выбор начального набора приложений, настройка сетевого подключения, языка, клавиатуры, часового пояса и параметров локализации, подготовка устройства хранения и разбивка разделов, добавления пользователей в систему. Среди основных целей разработки Agama упоминается устранение имеющихся ограничений графического интерфейса, расширение возможностей по использованию функциональности YaST в других приложениях, уход от привязки к одному языку программирования (D-Bus API позволит создавать надстройки на разных языках) и стимулирование создания альтернативных настроек представителями сообщества.

Для установки пакетов, проверки оборудования, разбивки дисков и прочих необходимых при инсталляции функций в Agama продолжают использоваться библиотеки YaST, поверх которых реализованы сервисы-прослойки, абстрагирующие доступ к библиотекам через унифицированный интерфейс D-Bus. В инсталляторе используется многопроцессная архитектура, благодаря которой интерфейс взаимодействия с пользователем не блокируется во время выполнения других работ.

Базовый интерфейс для управления установкой построен с использованием web-технологий и включает обработчик, обеспечивающий доступ к вызовам D-Bus через HTTP, и непосредственно web-интерфейс. Web-интерфейс написан на JavaScript с использованием фреймворка React и компонентов PatternFly. Сервис для привязки интерфейса к D-Bus, а также встроенный http-сервер, написаны на языке Ruby.

  1. OpenNews: Проект openSUSE опубликовал альтернативный инсталлятор Agama 5
  2. OpenNews: Третий прототип платформы ALP, идущей на смену SUSE Linux Enterprise
  3. OpenNews: Дистрибутив openSUSE предложил протестировать новый инсталлятор
  4. OpenNews: Началось тестирование сборок Fedora с инсталлятором на основе web-интерфейса
  5. OpenNews: Инцидент с подстановкой непристойных выражений в инсталлятор Ubuntu 23.10
Обсуждение (86 +2) | Тип: К сведению |
·16.02.2024 Платформа совместной разработки Forgejo полностью отделилась от Gitea (57 +30)
  Разработчики платформы совместной разработки Forgejo объявили об изменении модели развития. Вместо поддержания синхронизированного форка Gitea, проект Forgejo теперь ответвился в полностью независимую кодовую базу, которая будет развиваться самодостаточно и идти собственным путём. Отмечается, что полный форк является кульминацией расхождения моделей развития и управления Forgejo и Gitea.

Проект Forgejo возник в октябре 22-го года в результате "мягкого" форка Gitea. Под управлением Forgejo работает хостинг Codeberg.org. Код проекта написан на языке Go и поставляется под лицензией MIT. Форк был создан в ответ на попытки коммерциализации Gitea и перехода управления в руки коммерческой компании. В Forgejo было продолжено применение принципов независимого управления и сохранена подконтрольность сообществу.

До сих пор в Forgejo регулярно переносились все изменения кода Gitea, но также добавлялись и собственные новые возможности, отсутствующие в Gitea, которое по возможности передавались разработчиками Forgejo в кодовую базу Gitea. Чем больше в Forgejo оставалось неперенесённых собственных возможностей, тем больше усложнялся процесс синхронизации кодовых баз. Последней каплей, приведшей к полному разделению проектов, стало изменение политики в отношении принимаемых патчей - кроме соблюдения лицензии проект Gitea стал требовать передачи имущественных прав на код.

Полное отделение упростит сопровождение, продвижение новой функциональности и исправление ошибок в Forgejo, а также позволит ускорить сокращение технологического долга и даст возможность сэкономить ресурсы, расходуемые на анализ конфликтов с изменениями, появляющимися в кодовой базе Gitea. Ценой полного ответвления станет невозможность использования Forgejo в качестве прозрачной замены Gitea и усложнение перехода с Gitea на Forgejo. При этом API в Forgejo по возможности будет сохраняться совместимым с API Gitea. Для проекта Gitea полное ответвление Forgejo может означать прекращение переноса изменений из Forgejo в Gitea, осуществлявшегося разработчиками Forgejo.

  1. OpenNews: Выпуск платформы совместной разработки Forgejo 1.20
  2. OpenNews: Проект Forgejo начал развитие форка системы совместной разработки Gitea
  3. OpenNews: Выпуск системы совместной разработки Gogs 0.13
  4. OpenNews: Первый выпуск Gitea, форка системы совместной разработки Gogs
  5. OpenNews: Инфраструктура разработки Blender переведена c Phabricator на платформу Gitea
Обсуждение (57 +30) | Тип: К сведению |
Следующая страница (раньше) >>



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

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