Доступен дистрибутив SUSE Linux Enterprise 12 SP4

Компания SUSE представила релиз промышленного дистрибутива SUSE Linux Enterprise 12 SP4. На основе платформы SUSE Linux Enterprise также сформированы такие продукты, как SUSE Linux Enterprise Server, SUSE Linux Enterprise Desktop, SUSE Linux Enterprise High Availability Extension, SUSE Linux Enterprise Point of Service и SUSE Linux Enterprise Real Time Extension. Дистрибутив можно загрузить и использовать бесплатно, но доступ к получению обновлений и исправлений ограничен 60-дневным пробным периодом. Выпуск доступен в сборках для архитектур x86_64, ARM64, Raspberry Pi, IBM POWER8 LE и IBM System z.

Как в прошлых обновлениях ветки SUSE 12 в дистрибутиве предлагается ядро Linux 4.4, GCC 4.8, рабочий стол на базе GNOME 3.20 и прежние версии системных компонентов. Изменения в основном сосредоточены на поддержке нового оборудования и виртуализации. Напомним, что время поддержки SUSE Linux Enterprise Server 12 составляет 13 лет (до 2024 года + 3 года расширенной поддержки), а SUSE Linux Enterprise Desktop 12 — 7 лет (до 2021 года). Для желающих получить более свежие версии рекомендуется перейти к использованию недавно выпущенной новой ветки SUSE Linux Enterprise 15.

Основные изменения выпуске 12 SP4:

  • Расширена поддержка оборудования, например, добавлена поддержка энергонезависимой памяти Intel Optane DC (NVDIMM) и улучшена поддержка новых моделей процессоров Intel, AMD Zen 2, IBM Z14, IBM LinuxONE Rockhopper II и IBM POWER9 (Little Endian). Увеличен спектр поддерживаемых ARM SoC, в том числе добавлена поддержка Raspberry Pi 3 Model B и сформирована отдельная сборка SUSE Linux Enterprise Server for ARM 12 SP4 для Raspberry Pi;
  • В качестве опции предложен пакет с ядром Linux 4.12, перенесённый из SUSE Linux Enterprise 15 и позволяющий упростить подготовку к миграции на SUSE 15 (по умолчанию в SUSE 12 по-прежнему предлагается ядро на базе ветки 4.4);
  • В сборках для систем IBM Z добавлена поддержка виртуализации на базе гипервизора KVM, дающая возможность переносить окружения из IBM KVM в SUSE Linux Enterprise Server;
  • Обновлены версии программ, в том числе Samba 4.4.2, Python 2.7.9, Python 3.4.1, Perl 5.18.2, Ruby 2.1, KIWI 9.15.3;
  • Добавлена экспериментальная поддержка механизма защиты AMD Secure Encrypted Virtualization (AMD SEV), позволяющего обеспечить прозрачное шифрование памяти виртуальных машин, при которой доступ к расшифрованным данным имеет только текущая гостевая система, а остальные виртуальные машины и гипервизор при попытке обращения к этой памяти получают зашифрованные данные;
  • Добавлена поддержка шифрования отдельных страниц памяти при помощи представленной в процессорах AMD технологии SME (Secure Memory Encryption). SME позволяет пометить страницы памяти как подлежащие шифрованию, после чего данные страницы будут автоматически зашифрованы при записи в DRAM и расшифрованы при чтении из DRAM. SME поддерживается в процессорах AMD начиная с семейства 17h. Для использования новой возможности требуется установка альтернативного пакета с ядром Linux 4.12;
  • Добавлена поддержка библиотеки OpenSSL 1.1.1 и протокола TLS 1.3. По умолчанию продолжает поставляться OpenSSL 1.0, а OpenSSL 1.1.1 предложен в качестве опции;
  • Обеспечена полная поддержка Intel OPA (Omni-Path Architecture);
  • Обновлён стек TPM 2.0 (Trusted Platform Module), в котором предложена новая реализация менеджера ресурсов;
  • Поддержка брелоков YubiKey и Nitrokey теперь реализована в форме библиотек, PAM-модулей, GUI и утилит командной строки;
  • Удалён YaST-модуль для настройки SSH-сервера, который был объявлен устаревшим в SUSE 12 и предоставлял лишь ограниченный набор возможностей. Вместо данного модуля рекомендуется использовать редактор /etc/sysconfig и Services Manager;
  • Объявлен устаревшим пакет libcgroup1, функциональность которого дублируется и конфликтует с systemd;
  • В сборках для рабочего стола прекращена поставка по умолчанию приложения Planner (пакет planner по-прежнему можно установить из репозиториев);
  • По сравнению с SP3 переведены в разряд неподдерживаемых многие возможности файловой системы Btrf, в том числе объединение нескольких накопителей, RAID 0, RAID 1, RAID 10, горячее подключение и извлечение накопителей, сжатие данных, большие блоки с метаданными (Big Metadata Blocks), режим хранения метаданных Skinny для уменьшения размера дерева распределения блоков, прямая передача (Send/Receive) и поддержка вызова fallocate для управления резервированием пустых областей.

Источник: [ссылка]

Удалённо эксплуатируемая уязвимость в SQLite, затрагивающая браузеры на базе Chromium

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

Наибольшую опасность уязвимость представляет для пользователей браузера Chrome и приложений, использующих движок Chromium. Атака на Chromium возможна через манипуляцию с API WebSQL, который реализован поверх SQLite и подразумевает использование данной СУБД для обработки SQL-запросов из web-приложений. Для атаки достаточно создать страницу с вредоносным JavaScript-кодом и добиться чтобы пользователь открыл её в браузере на базе движка Chromium.

Firefox удалённой уязвимости не подвержен так как разработчики Mozilla в своё время отказались от реализации WebSQL в пользу API IndexedDB. SQLite используется в Firefox для хранения внутренних БД на диске, которые недоступны для отправки в них произвольных SQL-запросов из Web. Эксплуатации уязвимости в Firefox можно добиться только через замену этих БД или внесения повреждений на низком уровне, но подобная атака бессмысленна, так как должна быть совершена пользователем, уже имеющим доступ на запись к локальной файловой системе.

Детали уязвимости и метод эксплуатации пока не раскрываются чтобы дать пользователям время на установку обновлений. Наличие уязвимости подтверждено компанией Google. Более того, подготовлен работающий эксплоит для атаки на смартдинамик Google Home. Проблема уже исправлена в недавно сформированных выпусках Chrome/Chromium 71.0.3578.80 и SQLite 3.26. Особенно важно проконтролировать обновление сторонних браузеров на базе движка Chromium, которые не всегда оперативно доводят исправления до пользователей. Идентификатор CVE пока не назначен, но проблеме уже присвоено кодовое имя Magellan.

Судя по недавним изменениям в SQLite предполагается (подтверждено создателем SQLite), что уязвимость вызвана устранённым в выпуске 3.25.3 целочисленным переполнением в реализации движка полнотекстового поиска FTS3, которое могло привести к переполнению буфера в случае повреждения индекса. Для повреждения индекса могли использоваться манипуляции с теневыми таблицами (shadow tables), особым видом виртуальных таблиц с возможностью записи. В SQLite 3.26.0 обеспечен запрет на запись в теневые таблицы, действующий при включении режима SQLITE_DBCONFIG_DEFENSIVE (запрещает возможности, которые могут привести к повреждению БД через SQL, и рекомендуется для включения в случае, если SQLite должен обрабатывать непроверенные внешние SQL-запросы).

Источник: [ссылка]

Релиз Chrome OS 71

Компания Google представила релиз операционной системы Chrome OS 71, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 71. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Сборка Chrome OS 71 доступна для большинства актуальных моделей Chromebook. Энтузиастами сформированы неофициальные сборки для обычных компьютеров с процессорами x86, x86_64 и ARM. Исходные тексты распространяются под свободной лицензией Apache 2.0.

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

  • Обновлено оформление приложения для работы с камерой. Кнопка затвора и включения записи видео перемещены из центра нижней части экрана в правую сторону;
  • В OOBE (Out of the Box Experience), режиме входа для получения доступа к расширенной функциональности для разработчиков, добавлена возможность входа по отпечаткам пальцев и PIN-коду;
  • Добавлена поддержка автодополнения ввода в строке поиска программ;
  • Реализован режим адаптивного изменения при прокрутке верхней части интерфейса браузера Chrome. В режиме планшета адресная строка при прокрутке теперь скрывается;
  • Добавлена возможность соединения с Android-смартфонами, используя общие для смартфона и chromebook настройки из Google Account. После соединения со смартфоном при помощи сервиса Android Messages PWA пользователь может из Chrome OS просматривать поступающие сообщения, отправлять новые сообщения и отвечать на поступающие. Также доступно использование функции Smart Lock для разблокировки Chromebook смартфоном и возможность настройки выхода в сеть через включение на смартфоне точки доступа (instant tethering);
  • В локальной системе вывода на печать, работающей на базе CUPS, добавлена возможность вёрстки нескольких страниц для печати на одном листке бумаги;
  • Усовершенствовано появившееся в Chrome OS 71 окружение для запуска Linux-приложений. Виртуальная машина с Linux теперь отображается в списке менеджера задач и может быть закрыта через правый клик мышью на пиктограмме терминала. Добавлена функция совместного доступа к каталогам, позволяющая Linux-приложениям читать и записывать файлы в различных каталогах Chrome OS, не ограничиваясь каталогом «Linux files» (в следующем выпуске ожидается предоставление доступа Linux-приложений к Google Drive);
  • В операционную систему интегрирован голосовой помощник Google Assistant (пока включён только в устройстве Pixel Slate);
  • Добавлены функции ограничения доступа к приложениям и ограничения времени работы, полезные при использовании устройства разными членами семьи;
  • В интерфейсе запуска приложений (Launcher) добавлена возможность создания полунаполненных страниц (можно создать новый экран с приложениями без полного заполнения текущего);
  • Android-окружение ARC++ (App Runtime for Chrome, прослойка для запуска Android-приложений в Chrome OS) на устройствах Pixel Slate обновлено до выпуска Android 9;
  • На устройствах Pixel Slate обеспечена возможность аутентификации по отпечатку пальца и добавлен портретный режим работы в приложении для работы с камерой.

Источник: [ссылка]

Выпуск hostapd и wpa_supplicant 2.7

После двух лет разработки подготовлен выпуск hostapd/wpa_supplicant 2.7, набора для обеспечения работы беспроводных протоколов IEEE 802.1X, WPA, WPA2 и EAP, состоящего из приложения wpa_supplicant для подключения к беспроводной сети в роли клиента и фонового процесса hostapd для обеспечения работы точки доступа и сервера аутентификации, включающего такие компоненты как WPA Authenticator, клиент/сервер аутентификации RADIUS, сервер EAP. Исходные тексты проекта распространяются под лицензией BSD.

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

  • Добавлена поддержка метода быстрой настройки соединения FILS (Fast Initial Link Setup, стандартизирован как IEEE 802.11ai), позволяющего избавиться от задержек при роуминге во время миграции от одной точки доступа к другой;
  • Добавлена поддержка метода согласования соединения OWE (Opportunistic Wireless Encryption, RFC 8110) для генерации ключей шифрования в открытых сетях. Расширение OWE задействовано в стандарте WPA3 для шифрования всех потоков данных между клиентом и точкой доступа в общедоступных публичных беспроводных сетей, не требующих аутентификации;
  • Добавлена поддержка протокола DPP (Wi-Fi Device Provisioning Protocol), определяющего метод аутентификации по открытым ключам, задействованный в стандарте WPA3 для организации упрощённой настройки устройств без экранного интерфейса. Настройка осуществляется с использованием другого более продвинутого устройства, уже подключенного к беспроводной сети. Например, параметры для IoT-устройства без экрана можно задать со смартфона на основе снимка QR-кода, напечатанного на корпусе;
  • Устранена группа уязвимостей, связанных с атакой KRACK (Key Reinstallation Attacks), позволяющей вклиниться в беспроводное соединение на базе технологии WPA2 и организовать перехват или подстановку трафика без подключения к беспроводной сети и без определения пароля доступа;
  • Удалён код, связанный с поддержкой механизма PeerKey (скомпрометирован и подвержен атаке KRACK);
  • Добавлена возможность использования криптографической библиотеки wolfSSL и обеспечена совместимость с выпуском OpenSSL 1.1.1;
  • В EAP-pwd добавлена возможность использования соли при хэшировании паролей;
  • Улучшения, специфичные для hostapd:
    • Переработана реализация технологии быстрого роуминга FT (Fast Transition, IEEE 802.11r), позволяющая переключаться между точками доступа по мере перемещения. Добавлена поддержка IEEE VLAN, SHA384, локальной генерации PMK-R0/PMK-R1 для FT-PSK, масок R0KH/R1KH и возможнлсть задания времени жизни в кэше PMK-R0 и PMK-R1;
    • Улучшен реализация протокола аутентификации и создания ключей SAE (Simultaneous Authentication of Equals), предоставляющего более защищённый метод аутентификации на основе паролей. Добавлена возможность настройки отдельного пароля для SAE, не пересекающегося с паролем WPA2. Добавлена настройка «sae_require_pmf» для обязательного применения MFP для SAE. Добавлена поддержка PI (Password Identifier);
    • В интерфейс командной строки (hostapd_cli) добавлена возможность просмотра истории введённых команд и автодополнения ввода;
    • Добавлены опции для ограничения интенсивности обновления ключей EAPOL (wpa_group_update_count и wpa_pairwise_update_count);
    • В реализацию стандарта Hotspot 2.0 добавлена возможность настройки ссылки на провайдера (venue_url), определения документа с условиями использования, подключения в режиме роуминга и установки OSEN-соединений;
  • Улучшения, специфичные для wpa_supplicant:
    • Добавлена поддержка 3072-битных ключей RSA с 192-битной криптографией NSA Suite B;
    • В реализации стандарта IEEE 802.1AE (MACsec) предложен новый драйвер macsec_linux, предоставляющий интерфейс к модулю ядра Linux macsec;
    • Добавлена возможность использования для кэша PMKSA постоянных внешних хранилищ;
    • Добавлена поддержка рандомизации локального MAC-адреса для запросов GAS (параметр gas_rand_mac_addr);
    • Добавлена опция auto_uuid для использования случайного WPS UUID;
    • Добавлена поддержка использования хэша SHA256 при сравнении сертификатов OCSP;
    • Добавлен параметр group_mgm для настройки наборов шифров, разрешённых для управления группами;
    • Для режима AP (точка доступа) добавлена настройка ap_isolate;
    • В netlink-интерфейсе nl80211 добавлена поддержка выноса обработки операций 4-стороннего согласования соединения на плечи драйвера;
    • В реализации FT (Fast Transition) добавлена поддержка SHA384 и шифров BIP-CMAC-256, BIP-GMAC-128 и BIP-GMAC-256 в дополнение к BIP-CMAC-128.

Источник: [ссылка]

Выпуск KDE Applications 18.12

Подготовлен релиз набора KDE Applications 18.12, включающего подборку пользовательских приложений, адаптированных для работы с KDE Frameworks 5. Информацию о наличии Live-сборок с новым выпуском можно получить на данной странице.

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

  • Многочисленные улучшения в файловом менеджере Dolphin:
    • Добавлена новая реализация протокола MTP для доступа к хранилищам мобильных устройств;
    • Значительно увеличена скорость чтения файлов через SFTP;
    • Улучшено отображение пиктограмм и эскизов (миниатюр). Эскизы с предпросмотром содержимого теперь отрисовываются только для изображений без прозрачности. Обеспечено формирование эскизов для документов LibreOffice и пакетов AppImage;
    • При включении режима формирования эскизов для каталогов, на них теперь отображаются видеофайлы, размером больше 5 Мб;
    • При чтении звуковых компакт-дисков предоставлена возможность изменения битрейта CBR для кодировщика MP3 и корректировки времени для FLAC-файлов;
    • В меню ‘Control’ добавлен пункты ‘Show Hidden Places’ и ‘Create New…’ для отображения скрытых областей и для упрощения создания новых файлов и каталогов;
    • Обеспечен выход из файлового менеджера в случае закрытия единственной вкладки;
    • После отмонтирования раздела из панели Places, теперь можно сразу опять примонтировать этот раздел. Запрещено отмонтирование системных разделов и домашнего каталога;
    • В блоке «Recent Documents» обеспечен показ только актуальных документов и исключён показ ссылок на Web;
  • В интерфейс поиска файлов KFind добавлена поддержка поиска с использованием метаданных, полученных через KFileMetaData;
  • В почтовый клиент KMail добавлен унифицированный режим отображения входящей корреспонденции. Реализован плагин для генерации писем в формате HTML на основе теста с разметкой Markdown. Обеспечена возможность использования фреймворка Purpose для организации совместного доступа к файлам через их отправку по электронной почте;
  • В просмотрщик документов Okular добавлен новый инструмент для создания аннотаций, который можно использовать для прикрепления заметок к документам. При просмотре иерархического оглавления теперь можно сворачивать и раскрывать любые разделы и секции. При наведении курсора на ссылки, связанный с ними URL теперь показывается в любое время, а не только в режиме навигации. Обеспечено корректное отображение файлов ePub с пробелами в URL ресурсов;
  • В текстовом редакторе Kate обеспечена синхронизация каталога активного документа и текущего каталога во встроенном терминале. Добавлена возможность переключения фокуса между документом и встроенным терминалом через нажатие клавиши F4. В интерфейсе переключения вкладок для похожих имён файлов обеспечено отображение полного пути. Включена по умолчанию функция отображения номеров строк. Включён по умолчанию плагин для применения фильтров над текстом. Исключено отображение дубликатов в списке быстрого открытия файлов;
  • В эмуляторе терминала Konsole обеспечена полная поддержки символов Emoji. Упрощено выделение файловых путей через двойной клик. Кнопки вперёд и назад на мышке теперь могут использоваться для переключения между вкладками. В меню добавлен элемент для сброса размера шрифта в значение по умолчанию. Улучшен процесс перегруппировки вкладок;
  • Улучшен инструмент Lokalize для автоматизации выполнения переводов. Добавлена поддержка системы проверки синтаксиса и глоссария Pology. Обеспечено скрытие уже переведённых файлов из списка в проекте. Упрощена навигация по вкладкам и улучшен интерфейс поиска;
  • В просмотрщике изображений Gwenview модернизирован инструмент для устранения эффекта красных глаз. При скрытии меню добавлено предупреждение с информацией о его восстановлении;
  • В утилите для создания снимков экрана Spectacle добавлена поддержка последовательной нумерации сохраняемых файлов. В метаданных внутри файла с изображением обеспечена корректная установка времени создания скриншота. Все опции сохранения перенесены на отдельную страницу «Save»;
  • В интерфейс работы с архивами Ark добавлена поддержка формата Zstandard (tar.zst);
  • В калькулятор KCalc добавлена функция повторения последнего вычисления несколько раз;
  • В математическом пакете Cantor добавлена поддержка разметки Markdown, возможность изменения визуального оформления команд, подсветки текущей команды и ожидающих вычисления команд, вставки команд в произвольное место. В программе визуализации KmPlot налажена поддержка экспорта в SVG и любых растровых форматах.

Источник: [ссылка]

В рамках проекта libcamera развивается стек для поддержки камер в Linux

Сообщество LinuxTV, занимающееся разработкой и поддержкой мультимедийных-подсистем в ядре Linux, совместно с некоторыми производителями камер, основало проект libcamera, нацеленный на создание библиотеки для унификации поддержки и упрощения работы с видеокамерами, фотокамерами и TV-тюнерами в Linux, Android и ChromeOS. Предоставляемый библиотекой API со временем может заменить V4L2. Код проекта написан на C++ и распространяется под лицензией LGPLv2.1.

В рамках представленного проекта разработчики намерены переломить текущую ситуацию в области поддержки камер для смартфонов и встраиваемых устройств, которые привязаны к проприетарным драйверам. Если в традиционных камерах операции первичной обработки изображений производятся на встроенном в камеру специализированном процессоре (MCU), то во встраиваемых устройствах для сокращения стоимости эти функции выносятся на плечи основного CPU и требуют усложнённого драйвера, включающего не подлежащие открытию лицензированные компоненты. Пользователи подобных камер поставлены в зависимость от закрытых драйверов и специфичных программных интерфейсов. Предоставляемый ядром Linux API V4L2 был создан в расчёте на работу с традиционными обособленными web-камерами и плохо адаптирован для появившейся в последнее время тенденции выноса функциональности MCU на плечи CPU.

В рамках проекта libcamera сторонники СПО и производители оборудования попытались создать компромиссное решение, с одной стороны удовлетворяющее потребности разработчиков открытого ПО, а с другой — позволяющее защитить интеллектуальную собственность производителей камер. Предлагаемый библиотекой libcamera стек реализован целиком в пространстве пользователя. Для обеспечения совместимости с существующими программными окружениями и приложениями предоставляются прослойки для обеспечения совместимости на уровне API V4L, Gstreamer и Android Camera HAL.

Специфичные для каждой камеры проприетарные компоненты взаимодействия с оборудованием оформляются в виде модулей, выполняемых в отдельных процессах и взаимодействующих с библиотекой через IPC. Модули не имеют прямого доступа к устройству и обращаются к оборудованию через промежуточный 3A API. Запросы через данный API проверяются, фильтруются и ограничиваются только обращением к функциональности, необходимой для управления камерой.

Некоторые особенности:

  • Предоставление алгоритмов для обработки и улучшения качества изображений и видео (корректировка баланса белого, устранение шума, стабилизация видео). Реализации алгоритмов могут быть как вынесены в проприетарные изолированные модули (например, алгоритмы автофокуса и выбора экспозиции), так и подключаться в виде открытых внешних библиотек;
  • Возможности для управления захватом данных с камер на уровне отдельных кадров и синхронизацией снимков с работой вспышки;
  • Функции раздельной работы с несколькими камерами в системе;
  • Возможности захвата одновременно нескольких видеопотоков с одной камеры (например, один с низким разрешением для видеоконференции, а другой с высоким разрешением для архивной записи на диск);
  • API для определения списка имеющихся внешних и встроенных камер. Поддержка профилей устройств и обработчиков событий подключения и отключения камер. Предоставление структур с информацией о возможностях каждой камеры.

Источник: [ссылка]

Выпуск сборочной системы Meson 0.49.0

Представлен релиз сборочной системы Meson 0.49, которая используется для сборки таких проектов, как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, GNOME и GTK+. Вчера о поддержке Meson объявили разработчики Wayland и композитного сервера Weston (поддержку autotools планируют прекратить в течение следующего года). Код Meson написан на языке Python и поставляется под лицензией Apache 2.0.

Ключевыми целями развития Meson является обеспечение высокой скорости сборочного процесса в сочетании с удобством и простотой использования. Вместо утилиты make при сборке применяется инструментарий Ninja. В систему встроен многоплатформенный обработчик зависимостей, позволяющий использовать Meson для сборки пакетов для дистрибутивов. Правила сборки задаются на упрощённом предметно-ориентированном языке, отличаются хорошей читаемостью и понятны пользователю (по задумке авторов разработчик должен тратить минимум времени на написание правил).

Поддерживается кросс-компиляция и сборка в Linux, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

Основные новшества, появившиеся в выпуске Meson 0.49:

  • Реализованы новые команды: «meson subprojects download» (загрузка субпроекта), «meson subprojects update» (обновление всех субпроектов) и «meson subprojects checkout» для выполнения операции checkout или создания ветки во всех Git-субпроектах.
  • Добавлено новое ключевое слово «section», применимое к сборочным опциям, которое позволяет интегрированным средам разработки группировать опции по аналогии с командой «meson configure». В «section» допустимо указания следующих значений: core, backend, base, compiler, directory, user, test;
  • В объект «compiler» добавлен метод get_argument_syntax для проверки поддержки компилятором расширенных опций gcc и msvc;
  • Добавлена возможность передачи аргументов в функции и методы в форме словарей (ассоциативных массивов);
  • В циклы foreach добавлена поддержка ключевых слов break и continue;
  • Добавлен оператор «/» для соединения путей (вместо join_paths(‘foo’, ‘bar’) теперь можно указывать ‘foo’ / ‘bar’);
  • Добавлена поддержка кросс-компиляции для чипов Renesas RX, используя компилятор CC-RX;
  • Добавлена опция «b_pie» и ключевое слово «pie» для формирования исполняемых файлов в режиме PIE (position-independent executables);
  • Обеспечена возможность выполнения команды «meson introspect —projectinfo » без наличия настроенного сборочного каталога;
  • При определении зависимости dependency(‘libgcrypt’) в случае отсутствия pkg-config теперь выполняется поиск файлов libgcrypt-config.

Источник: [ссылка]

Разработчики ядра Linux обсуждают вопрос удаления субархитектуры x32

В списке рассылки ядра Linux обсуждается вопрос удаления кода с реализацией субархитектуры x32, позволяющей использовать на 64-разрядных системах 32-разрядную модель адресации памяти. По мнению инициатора удаления технология x32 не оправдала себя и не нашла практического применения в современных промышленных дистрибутивах. Кроме того, в коде x32 используется достаточно спорный метод работы с системными вызовами, создающий риск нарушения нормального функционирования после переработки реализаций системных вызовов.

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

В своё время при тестировании x32, один из разработчиков Gentoo пришёл к выводу, что выигрыш в производительности при переходе на x32 ABI не столь велик, как показывают синтетические тесты от создателей x32 ABI — заметный прогресс отмечается только при сравнении с устаревшей архитектурой x86, но при сравнении с актуальной архитектурой x86-64 выигрыш несущественный (тесты от создателей x32 показывали ускорение до 30% в сравнении с классическим x86_64 ABI, в ситуациях, связанных с интенсивной работой с указателями).

Напомним, что субархитектура x32 представляет собой гибридный x86_64 ABI, позволяющий использовать на 64-разрядных системах 32-разрядную модель адресации памяти (процессор работает в 64-разрядном режиме, но использует 32-разрядные указатели и арифметические операции). ABI X32 позволяет приложениям использовать все преимущества архитектуры x86_64, такие как дополнительные регистры и более быстрые инструкции, PIC ABI. В то же время ABI X32 даёт возможность работать с 32-разрядными указателями памяти, что позволяет экономить память, способствует более эффективному наполнению процессорного кэша и положительно сказывается на общей скорости исполнения кода. Ограничением ABI X32 является невозможность адресации из приложения более 4 Гб памяти. Поддержка X32 входит в состав ядра Linux начиная с выпуска 3.4, сформированного в мае 2012 года.

Источник: [ссылка]

Релиз FreeBSD 12.0

Спустя два года после формирования ветки 11.x представлен релиз FreeBSD 12.0, который подготовлен для архитектур amd64, i386, powerpc, powerpc64, powerpcspe, sparc64, aarch64, armv6 и armv7. Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2.

Ключевые новшества:

  • Реализована архитектура armv7 (ранее были только armv6 и aarch64). В сборках armv6 теперь поставляется только образ для устройств Raspberry Pi модели «B». Для устройств BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, Raspberry Pi 2, PANDABOARD, WANDBOARD, GENERICSD задействован порт armv7. Добавлена поддержка CPU Allwinner A13. Образы для систем armv6 и armv7 по умолчанию адаптированы для загрузки с использованием EFI. Включена по умолчанию поддержка терминала для последовательных портов на базе USB OTG;
  • В пакетный фильтр ipfw добавлена поддержка именованных динамических состояний (keep-state, limit и check-state снабжены дополнительным аргументом flowname, который назначается для динамического правила опкодом keep-state или limit). Добавлен модуль ipfw_nptv6 с транслятором адресов для IPv6;
  • В конфигурации ядра по умолчанию включена опция VIMAGE, активирующая одноимённый фреймворк виртуализации, который базируется на Jail и виртуальном сетевом стеке VNET). При помощи VNET обеспечена возможность использования пакетного фильтра pf внутри jail-окружений. Добавлена возможность использования mount_fusefs в jail;
  • Добавлен драйвер netdump, позволяющий отправлять дампы состояния ядра после краха по сети, вместо их сохранения на локальном диске. Для отправки данных используется UDP-протокол, обслуживаемый минимальным обособленным TCP/IPv4 стеком. Приём дампа осуществляется netdump-сервером, запущенным на внешнем хосте. Создание Netdump целесообразно для отслеживания крахов бездисковых узлов кластеров, загружающихся по PXE машин или в случае отладки проблем в дисковой подсистеме. В утилиту dumpon добавлена поддержка сохранения дампов в сжатом виде, в том числе с использованием алгоритма zstd;
  • Проведена реструктуризация поддержки графических драйверов. Свежие драйверы для GPU AMD и Intel теперь можно загрузить из портов. Драйверы для GPU AMD и Intel также сохранены в базовой системе и по-прежнему предлагаются по умолчанию, но они отстают в плане поддержки новых графических карт. Для получения более актуальных драйверов в большинстве случаев достаточно установить порт «graphics/drm-kmod» и активировать необходимый драйвер в rc.conf при помощи опции kld_list (например, «kld_list=/boot/modules/i915kms.ko», «kld_list=/boot/modules/amdgpu.ko» или «kld_list=/boot/modules/radeonkms.ko»);
  • В файловой системе UFS2 обеспечена поддержка проверочных хэшей в таблицах групп цилиндров (cylinder-group map). В UFS/FFS также добавлена и включена по умолчанию возможность консолидации команд TRIM/BIO_DELETE для сокращения операций чтения и записи за счёт пакетной отправки сразу нескольких TRIM-сообщений. Для отключения консолидации TRIM можно использовать sysctl vfs.ffs.dotrimcons=0. В драйвере ext2fs обеспечена полная поддержка ФС ext4;
  • В сервере NFSv4.1 реализовано расширение Parallel NFS (pNFS), которое позволяет организовать высокоскоростной обмен данными между машинами сети за счет возможности распараллеливания обращения к данным на нескольких хранилищах, а также разделения передачи потоков данных и мета-данных. Реализация pNFS позволяет запустить один сервер метаданных и несколько серверов хранения, с которыми могут работать любые клиенты NFSv4.1 с поддержкой pNFS File Layout;
  • Реализован системный вызов getrandom, который позволяет получить значения от системного генератора псевдослучайных чисел через обращение к системному вызову, что обеспечивает надёжную защиту от атак, основанных на исчерпании доступных файловых дескрипторов (при отсутствии свободных дескрипторов невозможно задействовать /dev/urandom). Также добавлена библиотека getentropy, совместимая с реализациями из Linux и OpenBSD. Существенно увеличено качество случайных чисел — алгоритм генерации псевдослучайных чисел Yarrow заменён на более надёжный алгоритм Fortuna, разработанный при участии Брюса Шнайера;
  • Компоненты графического окружения KDE в портах обновлены до выпуска 5.12.5 (ранее в портах предлагался KDE 4);

  • В инсталлятор bsdinstall и загрузчик zfsboot добавлена поддержка установки и загрузки с использованием связки UEFI+GELI (шифрованные разделы на системах с UEFI);
  • В ядрах GENERIC и MINIMAL для архитектуры amd64 включена по умолчанию поддержка систем NUMA (Non-Uniform Memory Access). Для отключения поддержки NUMA можно использовать sysctl-переменную vm.numa.disabled=1 в loader.conf.
  • В систему виртуализации добавлена поддержка эмуляции устройств NVMe и запуска в jail виртуальных окружений на базе гипервизора bhyve (активируется при помощи sysctl security.jail.vmm_allowed=1). Появилась возможность приёма соединений к VNC-серверу через IPv6. Добавлена поддержка управления топологией CPU для bhyve из пространства пользователя. Добавлена поддержка virtio_scsi;
  • В syslog и syslogd добавлена поддержка протокола RFC 5424 для отправки по сети syslog-сообщений о наступлении событий;
  • Обновлён драйвер виртуальной консоли. Новый вариант обеспечивает отрисовку текста в 2-6 раз быстрее;
  • Фреймворк capsicum, позволяющий организовать изолированное выполнение приложений с ограничением использования определённых функций, включён по умолчанию для архитектур armv6 и armv7;
  • Внесены улучшения в загрузчик, написанный на языке Lua: добавлено определение списка доступных ядер во время загрузки и реализована поддержка чёрного списка модулей ядра;
  • Обновлены компоненты прослойки для обеспечения совместимости с Linux. Добавлены новые версии модулей linux.ko и linux64.ko. Обеспечена возможность использования порта x11/nvidia-driver* с модулем linux64.ko;
  • Для группы operator открыт доступ к устройству /dev/acpi, что позволяет пользователям из этой группы запускать acpiconf для перехода в спящий режим;
  • При сборке активирован по умолчанию режим повторяемой пересборки, обеспечивающий тождественность исполняемых файлов исходным текстам (в src.conf добавлена опция WITH_REPRODUCIBLE_BUILD). В src.conf также добавлена опция WITH_RETPOLINE для сборки компонентов пользовательского окружения с защитой от уязвимостей Spectre;
  • Для динамического связывания на системах amd64, i386 и armv7. по умолчанию задействован компоновщик ld_lld, развиваемый проектом LLVM;
  • Библиотека pthread приведена в соответствие со стандартом POSIX/SUSv4-2018;
  • В rc-скрипты добавлены новые ключевые слова «enable», «disable» и «delete» (помимо «yes» и «true»);
  • Обновлена поддержка оборудования, в том числе добавлены драйверы для AMD Ryzen 2 и Microchip LAN78xx USB3-GigE. В usb_template добавлен новый тип устройств multifunction, позволяющий работать с комбинированными USB-устройствами, которые можно использовать как накопитель, CDC ACM (serial) и CDC ECM (ethernet);
  • Для сетевых сокетов реализована опция SO_REUSEPORT_LB, которая уже поддерживается в nginx. SO_REUSEPORT_LB позволяет нескольким программам или потокам подключать свои обработчики к одному сетевому порту (поступающие запросы балансируются между подключенными обработчиками при помощи хэш-функции);

  • Процесс init адаптирован для запуска исполняемых файлов на языках, отличных от shell, например, теперь можно создавать скрипты инициализации на Python;
  • В утилиту dtrac добавлена поддержка выражений «if» и «else»;
  • В утилите geli добавлена возможность инициализации сразу нескольких шифрованных разделов, когда в них используется один и тот же пароль или ключ;
  • Переработана утилита top;
  • В качестве утилиты для многостраничного вывода по умолчанию для большинства команд задействована программа less (переменная окружения PAGER ссылается на less вместо утилиты more);
  • В утилиту localedef добавлены опции ‘-b’ и ‘-l’ для определения порядка следования байт в выводе. Утилита localedef теперь используется при сборке share/ctypedef и share/colldef;
  • Пакетный менеджер pkg в dvd1.iso и файл конфигурации pkg обновлены для использования ежеквартально обновляемого набора пакетов (2018Q4);
  • Добавлен дополнительный уровень изоляции выполнения процесса sshd, реализованный при помощи системы capsicum;
  • Переработан код управления блокировками в пакетном фильтре pf (блокировки rwlock заменены на rmlock), что позволило существенно поднять его производительность. Убраны ограничения на установку только 32-разрядных значений при лимитировании пропускной способности через ALTQ (например метод HFSC теперь может манипулировать пропускной способностью до 100 Gbps);
  • В базовую систему и набор rescue добавлена утилита bectl для управления загрузочными окружениями ZFS. Для ZFS добавлены новые sysctl vfs.zfs.arc_min_prefetch_ms и vfs.zfs.arc_min_prescient_prefetch_ms, позволяющие ускорить выполнение команды «zpool scrub»;
  • Программа ntpd модифицирована для запуска без привилегий root (теперь работает под UID/GID ntpd);
  • Обновлены версии поставляемых в базовой системе сторонних проектов: OpenSSL 1.1.1a (с поддержкой TLS 1.3), Unbound 1.8.1 с включением по умолчанию DANE-TA, OpenSSH 7.8p1, Lua 5.3.5, ntpd 4.2.8p12, bsnmp 1.13. В портах Perl обновлён до 5.26.2, а Python до 2.7. До версии 4.46 обновлён шрифт Terminus BSD Console, используемый драйвером виртуального терминала. Компоненты Clang, libc++, compiler-rt, LLDB, LLD и LLVM обновлены до версии 6.0.1 (во FreeBSD 11.2 используется версия 6.0.0, поэтому изменения только корректирующие);
  • Помечена устаревшей утилита ctm (зеркалирование исходных текстов FreeBSD), которая будет удалена во FreeBSD 13;
  • Прекращена поддержка протоколов token-ring и Arcnet;
  • Объявлены устаревшими драйверы: ae(4), bm(4), cs(4), de(4), dme(4), ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4), vx(4), wb(4) и xe(4).

Источник: [ссылка]

Релиз эмулятора QEMU 3.1

Сформирован релиз проекта QEMU 3.1.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 3.1 внесено более 1900 изменений от 189 разработчиков.

Ключевые улучшения, добавленные в QEMU 3.1:

  • Расширены возможности эмулятора архитектуры ARM. Добавлена поддержка эмуляции ARM-плат Microbit и Xilinx Versal. Реализована поддержка процессоров Cortex-A72 и Cortex-M0, а также архитектуры ARMv6M. Для процессоров Cortex-A7 и Corex-A15 добавлена эмуляция инструкций AArch32 в режиме гипервизора (virtualization/hypervisor). В virt/xlnx-zynqmp добавлена поддержка расширений виртуализации для контроллера прерываний GICv2
  • В эмуляторе архитектуры x86 реализована возможность многопоточного выполнения классического генератора кода TCG (Tiny Code Generator). Добавлены новые эмулируемые модели CPU IceLake-Server и IceLake-Client;
  • В эмуляторе архитектуры MIPS добавлена поддержка SIMD-инструкций MXU для архитектуры MIPS32 и реализована эмуляция плат nanoMIPS I7200;
  • В эмуляторе архитектуры PowerPC включена поддержка вложенной виртуализации чререз KVM-HV для систем pseries. Объявлена устаревшей эмулируемая модель prep (следует использовать 40p). В модель g3beige/mac99 добавлена поддержка загрузки с блочных устройств на базе virtio-blk-pci;
  • В эмулятор архитектуры s390 добавлена поддержка KVM для выполнения гостевых систем с большими страницами памяти (huge pages) и возможность проброса VFIO для шифрованных устройств (vfio-ap)
  • В эмулятор архитектуры SPARC добавлена поддержка загрузки с блочных устройств на базе virtio-blk-pci;
  • В эмуляторе процессоров семейства Tensilica Xtensa добавлена поддержка ввода с консолей через символьное устройство (chardev);
  • Добавлена поддержка KVM для Hyper-V IPI и Enlightened VMCS (Virtual Machine Control Structure) для повышения производительности Hyper-V при работе в окружениях на базе KVM;
  • Добавлена поддержка переназначения прерываний AMD IOMMU и режима виртуального APIC для гостевых систем;
  • Примерно в два раза ускорена реализация режим шифрования XTS;
  • В устройствах stdvga и bocks-display обеспечена выдача гостевой системе информации EDID. В том числе через EDID теперь отдаются поддерживаемые в stdvga свойства xres и yres;
  • В утилиту qemu-img добавлена возможность генерации шифрованных файлов с образами ФС (используется LUKS) при помощи команды ‘qemu-img convert’.

Источник: [ссылка]

Первый выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg

Сообщества VideoLAN и FFmpeg опубликовали первый выпуск библиотеки dav1d с реализацией альтернативного свободного декодировщика формата кодирования видео AV1. Выпуск 0.1 позиционируется как первая версия, пригодная для повседневного использования. Код проекта написан на языке Си (C99) с ассемблерными вставками (NASM/GAS) и распространяется под лицензией BSD. Реализована поддержка архитектур x86, x64, ARMv7 и ARMv8, и операционных систем Linux, Windows, macOS, Android и iOS.

Библиотека dav1d поддерживает все возможности AV1, включая расширеные виды субдискретизации и все заявленные в спецификации параметры управления глубиной цвета (8, 10 и 12 бит). Работа библиотеки протестирована на большой коллекции файлов в формате AV1. Ключевой особенностью dav1d является ориентация на достижение максимально возможной производительности декодирования и обеспечение качественной работы в многопоточном режиме. В тестах библиотека заметно опережает штатный декодировщик libaom, предлагаемый проектом AV1.

Плюсом dav1d также является более компактная реализация: dav1d включает в 10 раз меньше кода по сравнению с libaom, а размер бинарного файла меньше в три раза. В процессе декодирования dav1d потребляет в 4 раза меньше памяти.

Из последних достижений проекта отмечается добавление поддержки инструкций SSSE3 для ускорения работы на старых системах и реализация ассемблерных оптимизаций для архитектуры ARMv8 (в однопоточном режиме libaom и dav1d на устройствах ARMv8 пока показывают примерно одинаковую производительность, но при многопоточной работе лидирует dav1d). Ведутся эксперименты по задействованию шейдеров для ускорения некоторых операций.

Напомним, что видеокодек AV1 разработан альянсом Open Media (AOMedia), в котором представлены такие компании, как Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN и Realtek. AV1 позиционируется как общедоступный и не требующий оплаты отчислений свободный формат кодирования видео, который заметно опережает H.264 и VP9 по уровню сжатия. Для всего диапазона протестированных разрешений в среднем AV1 обеспечивает тот же уровень качества при уменьшении битрейта на 13% по сравнению с VP9 и на 17% по сравнению с HEVC. На высоких битрейтах выигрыш увеличивается до 22-27% для VP9 и до 30-43% для HEVC. В тестах Facebook AV1 обогнал по уровню сжатия main profile H.264 (x264) на 50.3%, high profile H.264 на 46.2%, а VP9 (libvpx-vp9) на 34.0%.

Источник: [ссылка]

Релиз Firefox 64

Состоялся релиз web-браузера Firefox 64, а также мобильной версии Firefox 64 для платформы Android. Кроме того, сформировано обновление ветки с длительным сроком поддержки 60.4.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 65, релиз которой намечен на 29 января.

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

  • Предложен новый интерфейс Task Manager для отслеживания потребления ресурсов, доступный через служебную страницу «about:performance». Новый интерфейс напоминает менеджер задач, упрощает оценку потребления ресурсов отдельными страницами и дополнениями, и позволяет не покидая страницу закрыть проблемные вкладки. Для вызова страницы «about:performance» в основное меню добавлена отдельная кнопка. В дальнейшем планируется продолжить усовершенствование страницы «about:performance»;
  • Полностью переработано оформление страницы about:crashes, на которой теперь можно отследить отправленные и не отправленные отчёты о сбоях, а также удалить с локального накопителя накопившиеся отчёты;
  • Реализована возможность одновременного выделения нескольких вкладок (Shift или Ctrl + клик на вкладке) для их перемещения, приглушения звука, добавления в закладки или закрепления;
  • Удалена поддержка предпросмотра RSS-лент и режима Live Bookmarks, позволяющего просматривать новости по подписке в форме обновляющихся закладок. Имеющиеся подписки можно экспортировать в формате OPML для добавления в сторонние системы чтения новостей. В качестве причин удаления упомянуты низкая востребованность среди пользователей (0.1% по данным телеметрии), проблемы с сопровождением и низкий технический уровень реализации, требующий переработки кода и создающий дополнительные векторы для нарушения безопасности. Пользователям, которым будет недоставать удалённых возможностей, предлагается воспользоваться дополнениями (в настоящее время для замены присутствуют только дополнения от сторонних авторов, безопасность которых не гарантируется Mozilla);
  • Добавлена система контекстной рекомендации дополнений, заслуживающих внимание функций и сервисов. Решение о выборе рекомендации принимается в зависимости от активности пользователя в Web и особенностей навигации в браузере. Например, если пользователь часто открывает несколько типовых вкладок и часто их использует, Firefox выдаст совет воспользоваться функцией «Pinned Tabs». При частом обращении к Facebook, YouTube и Google Translate браузер предложит установить дополнения «Facebook Container«, «Enhancer for YouTube» или «To Google Translate«. Все решения о выборе рекомендации принимаются локально, без отправки данных вовне. Расширенные рекомендации пока активированы только для пользователей из США (для других стран в about:config следует активировать настройку browser.newtabpage.activity-stream.asrouter.providers.cfr);
  • Добавлена возможность удаления дополнения через контекстное меню, отображаемое через кнопку дополнения в панели;
  • При формировании сборок для платформ Linux и macOS задействован компилятор Clang и активирован режим оптимизации во время связывания (LTO), что положительно сказалось на производительности. Для Windows сборка при помощи Clang была применена начиная с прошлого выпуска;
  • Прекращено доверие к сертификатам удостоверяющего центра Symantec, и связанных с ним брендов GeoTrust, RapidSSL и Thawte. Symantec в 2010 году за 1.28 млрд долларов приобрёл бизнес аутентификации у компании VeriSign и стал одним из крупнейших удостоверяющих центров (около 14% всех сертификатов в мире). Летом прошлого года Mozilla и Google приняли решение о прекращении доверия к сертификатам удостоверяющего центра Symantec в связи с проблемами в организации работы инфраструктуры, нарушениями при подготовке отчётности и злоупотреблениями, которые привели к выдаче сертификатов уровня EV (Extended Validation) без требуемых проверок.
  • Для пользователей Windows предложена функция обмена ссылками: пользователи теперь могут отправлять ссылки при помощи кнопки Share в контекстном меню действий со страницей;
  • Для корпоративных пользователей, использующих платформу macOS, добавлена поддержка профилей конфигурации. Для macOS также активирована поддержка WebVR и добавлена возможность использования клавиатурной комбинации ctrl-enter для добавления «www» и «.com» при вводе URL;
  • В интерфейсе для инспектирования многослойной компоновки элементов страницы (CSS Grid Inspector) добавлены средства для работы с несколькими перекрывающимися CSS-сетками (одновременно поддерживается до трёх CSS grid);
  • В командной строке Web Console реализована подсветка синтаксиса JavaScript;
  • В панели Accessibility при наведении мыши на элемент теперь отображается уровень контраста текста по отношению к фону;
  • В режиме адаптивного дизайна («Responsive Design Mode») обеспечено сохранение выбранного типа устройства между сеансами;
  • Добавлена поддержка CSS-свойств scrollbar-color и scrollbar-width для настройки цвета и ширины полосы прокрутки;
  • Добавлена поддержка набора CSS-расширений Interaction Media Features для определения наличия устройств ввода и их возможностей. В том числе добавлен признак pointer:coarse для проверки наличия мыши, сенсорного экрана или другого устройства с указателем;
  • Реализована сокращённая форма определения цвета при задании градиентов через CSS (вместо «yellow 25%, yellow 50%» теперь можно указывать «yellow 25% 50%»);
  • Реализовано специфичное для движка WebKit свойство «-webkit-appearance«, позволяющее при отображении элемента использовать родную тему оформления текущей операционной системы;
  • В CSS-свойство «display: list-item» добавлена поддержка элемента legend (определяет заголовок для дочернего списка);
  • Стандартизирован и избавлен от специфичного для Mozilla префикса API Fullscreen;
  • Добавлены свойства Window.screenLeft и Window.screenTop в качестве аналогов Window.screenX и Window.screenY;
  • Для ServiceWorker реализован метод ServiceWorkerContainer.startMessages(), а для WebRTC свойство RTCIceCandidateStats.relayProtocol;
  • Для загружаемых через CSS ресурсов (например, background-image: url(«http://…»)) теперь можно определять отдельные правила обработки Referrer через HTTP-заголовок Referrer-Policy;
  • Для браузерных дополнений добавлен API browser.menus.overrideContext() для реализации собственного оформления контекстных меню;
  • В версии для платформы Android в меню добавлен новый пункт для отправки жалоб на некорректное отображение сайтов в мобильной версии Firefox. Решена проблема с удалением загруженных файлов при деинсталляции Firefox.

Кроме новшеств и исправления ошибок в Firefox 64 устранены 30 уязвимостей, из которых 21 (9 под CVE-2018-12405 и 12 под CVE-2018-12406) помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

Источник: [ссылка]