The OpenNET Project / Index page

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

23.01.2018 Новый выпуск SteamOS 2.148 (34 +5)
  Компания Valve представила операционную систему SteamOS 2.148, основанную на пакетной базе Debian GNU/Linux и предназначенную как для использования на игровых приставках, так и на обычных компьютерах. Выпуск отнесён к категории стабильных и поставляется с готовыми для установки iso-образами (1.9 Гб) и преднастроенным архивом системы.

SteamOS 2.148 обновлён до пакетной базы Debian 8.9, построен на свежем ядре Linux 4.14 и включает свежие версии драйверов NVIDIA 387.22 и Mesa 17.2.4 (для AMD и Intel используются открытые драйверы). Обновлена GLX-библиотека GLVND (OpenGL Vendor-Neutral Driver), поддержка которой добавлена в X.Org-Server. Библиотека GLVND (libglvnd) представляет собой программный диспетчер, осуществляющий перенаправление команд от 3D-приложения к той или иной реализации OpenGL, давая возможность сосуществовать драйверам Mesa и NVIDIA.

  1. Главная ссылка к новости
  2. OpenNews: Обновление SteamOS 2.121 с поддержкой Flatpak
  3. OpenNews: Стабильный выпуск SteamOS 2.117
  4. OpenNews: Обновление SteamOS 2.115
  5. OpenNews: Обновление SteamOS 2.70
Обсуждение (34 +5) | Тип: Программы |
23.01.2018 Релиз Firefox 58 (142 +34)
  Состоялся релиз web-браузера Firefox 58, а также мобильной версии Firefox 58 для платформы Android. В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.6.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 59, релиз которой намечен на 13 марта.

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

  • Добавлен новый двухуровневый компилятор, который обеспечивает компиляцию промежуточного кода WebAssembly в 10-15 раз быстрее за счёт компиляции по мере загрузки и распараллеливания работы на уровне компиляции отдельных функций;
  • Для ускорения обработки JavaScript обеспечено кэширование байткода, полученного после разбора кода, что ускоряет загрузку Facebook на 12%, Twitter на 5.4%, сайтов Google на 4.9%. Кэширование машинных инструкций после JIT-компиляции байткода ожидается в одном из следующих выпусков;
  • В настройки добавлен вывод предупреждений в случае наличия установленных дополнений, которые вносят изменения в работу страницы с новой вкладкой, домашней страницы или поисковых движков. Таким образом пользователь теперь сразу информируется об изменении поведения данных разделов из-за установки дополнений и рядом выводится кнопка для быстрого отключения дополнения;
  • Реализован новый метод урезания активности фоновых вкладок, не просматриваемых в текущий момент. Каждой фоновой вкладке теперь выделяется определённый бюджет времени в миллисекундах, который расходуется на запуск таймеров (setTimeout/setInterval). При каждом запуске таймера из бюджета вычитается процессорное время, потраченное на выполнение обработчика. При этом бюджет также непрерывно пополняется на 1 миллисекунду. Как только бюджет примет отрицательное значение, вызов обработчиков по таймеру прекращается. Система ограничений активируется спустя 30 секунд после нахождения вкладки в фоне. Ограничения не применяются ко вкладкам, в которых воспроизводится звук, установлены соединения WebSockets и WebRTC, или выполняется обработка данных в IndexedDB. По предварительной оценке реализованный метод на 25% снижает нагрузку от фоновых вкладок, интенсивно нагружающих процессор;
  • Представлен метод противодействия скрытому отслеживанию пользователей при помощи API Canvas, который сводится к выводу диалога с запросом подтверждения операции при использовании на сайте кода для обработки изображений, получающего содержимое областей при помощи API getImageData;
  • Для защиты от фишинга прекращена поддержка открытия в основной странице URL "data:", содержимое которых может быть использовано для отображения в адресной строке информации, вводящей пользователя в заблуждение. В частности теперь не будет работать открытие ссылок "data:", которые включают в себя непосредственно данные страницы, через JavaScript-методы window.open("data:...") и window.location = "data:...", а также клики на ссылки с ‹a href="data:..."› и редиректы через meta refresh и код состояния 302. При этом останутся работоспособны такие способы как явное копирование блока "data:" в адресную строку через буфер обмена и открытие блоков с MIME-типами "plain/text", "data:application/pdf", "data:application/json" и "image/*" (за исключением "data:image/svg+xml");
  • Добавлена поддержка автозаполнения полей с параметрами кредитных карт. Для отключения данной возможности в настройках в секции управления приватностью (about:preferences#privacy) представлена специальная опция;
  • Нарушена обратная совместимость на уровне конфигурационных профилей. Профили, созданные в Firefox 58+, не смогут быть использованы в прошлых выпусках (например, при установке Firefox 58 без восстановлении старого профиля из резервной копии невозможно будет откатиться на Firefox 52 ESR);
  • Изменена логика выбора сайта при наборе имени в адресной строке без уточнения протокола. Например, если набрать "opennet.ru", то откроется "https://www.opennet.ru", а не легковесная версия "http://opennet.ru" (для открытия без www теперь нужно явно указывать полный адрес с https:// или http://);
  • Обеспечен вывод предупреждения при открытии сайтов, на которых используются сертификаты удостоверяющего центра Symantec, доверие к которому скоро будет прекращено (в Firefox 60 будет прекращена работа с сертификатами, выданными до 2016-06-01, а в Firefox 63 со всеми остальными);
  • Расширены возможности WebExtensions: добавлены дополнительные опции для создателей тем оформления, представлен API для управления режимом читателя (Reader Mode), добавлен API для смены поисковой системы по умолчанию (при обращении к данному API выводится диалог для подтверждения у пользователя смены поисковика), добавлен API для взаимодействия с устройствами PKCS #11;
  • В интегрированном дополнении для создания скриншотов добавлена поддержка копирования и вставки изображений через буфер обмена. Скриншоты теперь можно создавать и при открытии страницы в режиме приватного просмотра (Private Browsing);
  • Реализован API PerformanceNavigationTiming, предоставляющий методы и свойста для сохранения и извлечения метрик о событиях навигации по документу. Например, при помощи нового API можно определить какое время тратится на загрузку документа;
  • Добавлено свойство PerformanceResourceTiming.workerStart, позволяющее измерить время запуска service worker;
  • На всех поддерживаемых платформах добавлено CSS-свойство font-display, которое даёт возможность определить как и когда отображать текстовое содержимое, если шрифт ещё не загрузился. Например, до окончания загрузки шрифта текст можно отобразить используя шрифт по умолчанию (ранее при использовании внешних шрифтов отрисовка текста не производилась до окончания загрузки шрифта);
  • Добавлен метод Intl.Numberformat.prototype.formatToParts(), позволяющий использовать форматирования с использованием правил текущей локали для строк, выдаваемых функциями форматирования NumberTimeFormat;
  • Добавлен метод Promise.prototype.finally();
  • В сборках для macOS активирована поддержка API WebVR, который ранее был доступен только пользователям Windows. WebVR предоставляет возможности для создания приложений виртуальной реальности и навигации в Web через 3D-шлемы, такие как HTC VIVE и Oculus Rift;
  • В сборке для Windows операция отрисовки страницы вынесена в отдельный процесс, не блокирующий работу основного потока. В протестированных online-играх по сравнению с Firefox 57 наблюдается увеличение скорости отрисовки до 30% (с 31 до 40 кадров в секунду). Для ещё большего ускорения отрисовки в будущих выпусках ожидается интеграция наработок проекта Quantum Render, основанном на системе композитинга Servo WebRender и привлекающем GPU для обработки графики;
  • В Linux решена проблема с выводом пустых символов вместо текста, если связанный с текстом шрифт установлен в нестандартном каталоге;
  • Добавлена возможность установки таймаута для этапа согласования TLS-соединения. По умолчанию таймаут установлен в 30 секунд, но может быть изменён через опцию network.http.tls-handshake-timeout в about:config;
  • Добавлена новая CSP (Content Security Policy) директива worker-src, позволяющая ограничить URL только загрузкой Worker, SharedWorker или ServiceWorker;
  • Удалена большая порция свойств со специфичным для Mozilla префиксом "-moz-", которые уже давно стандартизированы и доступны без префикса. Также удалены устаревшие или нестандартные JavaScript-методы Function.prototype.isGenerator() Date.prototype.toLocaleFormat() и Object.prototype.watch();
  • В инструменты для разработчиков добавлен редактор контуров (Shape Path Editor), позволяющие наглядно просматривать и редактировать элементы, сгенерированные при помощи CSS-свойства clip-path. В панели CSS в блоках clip-path теперь показывается специальный значок, кликнув на который включается наглядное выделение контура текущего элемента;
  • В интерфейс мониторинга сетевой активности добавлена кнопка для записи сетевого трафика, а также убран отдельный фильтр для запросов Flash-контента (Flash теперь попадает в фильтр "другое");
  • Удалён код старого интерфейса Responsive Design Mode, для просмотра страницы в разных экранных разрешениях следует использовать новую реализацию;
  • Улучшения версии Firefox 58 для Android:
    • Добавлена поддержка приложений, работающих в режиме Progressive Web Apps (PWA), позволяющем организовать работу с web-приложением, как с обычной программой для Android (установка на домашний экран, отображение в списке запущенных программ, выполнение деинсталляции, средства для получения запросов от других приложений, свой блок настроек в системном конфиругаторе, управление уведомлениями, работа при отсутствии сетевого соединения и т.п.);
    • В настройки добавлена опция, позволяющая выполнять операции синхронизации только при наличии стационарного сетевого соединения (WiFi);
    • Добавлена поддержка полноэкранного интерфейса управления закладками с поддержкой разбивки закладок на подразделы;
    • Добавлена поддержка аудиокодека FLAC (Free Lossless Audio Codec);
    • В темах оформления появилась возможность смены цвета строки статуса и цвета разделителей в панели инструментов;
    • Из домашнего экрана удалён виджет Firefox Search;
    • Реализация протокола Safe Browsing обновлена до версии 4;

    Кроме новшеств и исправления ошибок в Firefox 58 устранены 32 уязвимости, из которых 3 (CVE-2018-5089, CVE-2018-5090 и CVE-2018-5091) помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

    1. Главная ссылка к новости
    2. OpenNews: В Firefox 58 появится новый двухуровневый компилятор
    3. OpenNews: Новые Web API в Firefox будут доступны только для HTTPS
    4. OpenNews: В Firefox реализовано отложенное выполнение стороннего кода отслеживания перемещений
    5. OpenNews: Выпуск Firefox 57 с многопоточным CSS-движком и новым оформлением
    6. OpenNews: План поддержки XUL-дополнений в ESR-ветке Firefox
Обсуждение (142 +34) | Тип: Программы |
23.01.2018 Facebook открыл код платформы Detectron для распознавания объектов на фотографиях (20 +10)
  Группа исследователей искусственного интеллекта из компании Facebook открыла исходные тексты платформы Detectron с реализацией набора алгоритмов для распознавания и классификации объектов на фотографиях. Проект реализован на языке Python с использованием фреймворка глубинного машинного обучения Caffe2 и распространяется под лицензией Apache 2.0. Для загрузки подготовлена большая коллекция наборов данных и более 70 натренированных готовых моделей для решения различных типов задач компьютерного зрения. Модели поставляются под свободной лицензией CC BY-SA 3.0.

В рамках платформы Detectron предложены реализации наиболее перспективных подходов по построению нейронных сетей и систем машинного обучения, нацеленных на выделение объектов на изображениях. Например, авторы алгоритма Mask R-CNN в прошлом году стали обладателями премии Марра, вручаемой комитетом IEEE за выдающиеся достижения в области компьютерного зрения. В итоге удалось подготовить высокопроизводительную и гибкую систему для высококачественного определения объектов, для разработчиков ПО предоставляющую средства для быстрой интеграции данной функциональности в свои проекты, а для исследователей машинного обучения - для проведения экспериментов и создания реализаций новых алгоритмов.

В текущем виде Detectron предлагает шесть алгоритмов распознавания изображений (Mask R-CNN, RetinaNet, Faster R-CNN, RPN, Fast R-CNN и R-FCN), разработанных различными академическими коллективами исследователей. Для организации машинного обучения поддерживается развёртывание четырёх типов нейронных сетей: ResNeXt{50,101,152}, ResNet{50,101,152}, Feature Pyramid Networks (на базе ResNet/ResNeXt) и VGG16, но дополнительные типы могут быть легко добавлены, благодаря модульной архитектуре платформы. Решения на базе Detectron уже используются Facebook в некоторых проектах по сегментации изображений и построению систем дополненной реальности.

  1. Главная ссылка к новости
  2. OpenNews: Facebook открыл систему распознавания речи Wav2Letter
  3. OpenNews: Facebook открыл наработки по распознаванию объектов на фотографиях
  4. OpenNews: В рамках проекта uWho развивается программа для распознавания лиц на видео
  5. OpenNews: Выпуск системы машинного обучения TensorFlow 1.0 и классификатора изображений ResNeXt
  6. OpenNews: Использование нейронной сети для восстановления повреждённых изображений
Обсуждение (20 +10) | Тип: К сведению |
22.01.2018 Линус Торвальдс жестко раскритиковал связанные с микрокодом патчи Intel (219 +57)
  Разработчики из компании Intel предложили для включения в ядро Linux серию патчей для блокирования второго варианта уязвимости Spectre (CVE-2017-5715). Патчи Intel позиционируются в качестве альтернативы патчам retpoline. По мнению Intel предлагаемое решение будет эффективно на процессорах Skylake и более новых, на которых не исключается появление вариантов атаки Spectre, которую не смогут закрыть патчи retpoline. При этом на старых процессорах по сравнению с retpoline решение Intel обеспечивает заметное снижение производительности, но в будущих моделях CPU влияние на производительность обещают сделать минимальным.

Патчи Intel базируются на использовании представленной в обновлении микрокода функциональности IBRS (Indirect Branch Restricted Speculation), позволяющей разрешать и запрещать спекулятивное выполнение инструкций. В предложенном патче IBRS применяется для адаптивного включения/выключения спекулятивного выполнения косвенных переходов во время обработки прерываний, системных вызовов, переключений контекста между процессами и между виртуальными машинами. В отличие от retpoline патч Intel для всестороннего обхода Spectre не требует изменений компонентов в пространстве пользователя при включении "полного" режима работы (IBRS_ALL), активирующего применение IBRS в userspace.

В ответ на предложение включить данный патч в ядро Линус Торвальдс вышел из себя и назвал патч Intel "полным и абсолютным мусором" (complete and utter garbage), а предпринятый метод значительно хуже, чем грязный хак. Появление IBRS указывает на то, что Intel не планирует грамотного решения проблемы со спекулятивным выполнением косвенных переходов. По впечатлению Торвальдса возникает ощущение, что Intel создаёт видимость работы во избежание судебных исков и прежде всего пытается решить свои юридические проблемы, что совсем не способствует созданию технически грамотных и качественных технологий и исправлений. Судя по всему, даже сама компания Intel не воспринимает предложенный режим защиты IBRS_ALL всерьёз, так как негативное влияние на производительность столь высоко, что он отключен по умолчанию, чтобы не портить результаты тестов.

Тем временем, в запланированный на следующий понедельник выпуск ядра Linux 4.15 войдут свежие наработки по блокированию атак Meltdown и Spectre. Для противодействия атаке Meltdown (CVE-2017-5754) на системах x86 с процессорами Intel (процессоры AMD данной атаке не подвержены) добавлена технология PTI (Page Table Isolation), обеспечивающая разделение таблиц страниц памяти ядра и пространства пользователя при переключении контекста во время системного вызова. Для процессоров PowerPC для защиты от Meltdown добавлен код на основе применения инструкции RFI (Return from Interrupt) для сброса кэша L1-D.

Для блокирования эксплуатации второго варианта уязвимости Spectre (CVE-2017-5715) добавлен механизм retpoline, основанный на применении специальной последовательности инструкций, исключающей вовлечение механизма спекулятивного выполнения для косвенных переходов (для работы защиты также требуется сборка модифицированной версией GCC с поддержкой режима "-mindirect-branch=thunk-extern"). Включение средств для обеспечения защиты от первого варианта атаки Spectre (CVE-2017-5753) и кода для блокирования Meltdown на процессорах ARM отложено до выпуска 4.16.

Так как механизмы защиты приводят к снижению производительности, предусмотрены опции для их отключения, которые могут применяться на системах с минимальным риском атаки, например на однопользовательских рабочих станциях. Для отключения PTI во время загрузки ядру можно передать опцию pti=off, а для отключения retpoline - опцию "spectre_v2=off". В состав ядра также добавлен диагностический вызов в sysfs для быстрого определения степени устранения уязвимостей Meltdown и Spectre, который привязан к директории /sys/devices/system/cpu/vulnerabilities/:


   $ grep . /sys/devices/system/cpu/vulnerabilities/*
   /sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
   /sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable
   /sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic SM retpoline

Дополнение: Компания Intel сообщила об определении причин проблем с перезагрузками на системах с CPU Broadwell и Haswell после установки нового микрокода. В настоящее время подготовлен начальный вариант обновлённого микрокода, который проходит тестирование среди OEM-производителей. После завершения тестирования будет предложено общедоступное обновление. До выхода данного обновления не рекомендуется использовать выпущенную в начале января версию микрокода.

  1. Главная ссылка к новости
  2. OpenNews: Линус Торвальдс раскритиковал ограничительные меры по усилению защиты ядра Linux
  3. OpenNews: Эксплоиты и тесты производительности, связанные с уязвимостями Meltdown и Spectre
  4. OpenNews: Red Hat отменил обновление микрокода с устранением уязвимости Spectre
  5. OpenNews: Раскрыты подробности двух атак на процессоры Intel, AMD и ARM64
  6. OpenNews: Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах
Обсуждение (219 +57) | Тип: Тема для размышления |
22.01.2018 Опубликованы библиотеки для работы с форматами EPUB3, AbiWord, MS Publisher, PageMaker и QuarkXPress (59 +31)
  Проект Document Liberation, основанный разработчиками LibreOffice для выноса в отдельные библиотеки средств для работы с различными форматами файлов, анонсировал пять библиотек: одну для экспорта в формате EPUB3 и четыре для импорта из файлов в форматах AbiWord, MS Publisher, PageMaker и QuarkXPress. Библиотеки изначально разработаны для LibreOffice 6.0, но благодаря обособленной поставке, позволяют организовать работу с данными форматами не только в LibreOffice, но и в любом стороннем открытом проекте.
  • libe-book - экспорт файлов ODT в формат EPUB3;
  • libabw - импорт документов AbiWord;
  • libmspub - импорт документов MS Publisher;
  • libpagemaker - импорт документов PageMaker 6/7;
  • libqxp - импорт документов и шаблонов QuarkXPress 3.1/4.1.

  1. Главная ссылка к новости
  2. OpenNews: Успехи проекта Document Liberation по созданию библиотек для работы с проприетарными форматами
  3. OpenNews: Создатели LibreOffice представили Document Liberation Project
  4. OpenNews: Выпуск офисного пакета LibreOffice 5.4
  5. OpenNews: Доступен CODE 3.0, дистрибутив для развёртывания LibreOffice Online
  6. OpenNews: Модуль для интеграции LibreOffice в просмотрщик документов GNOME
Обсуждение (59 +31) | Тип: Программы |
22.01.2018 Выпуск Minibase, минимального статически собранного окружения Linux (73 +17)
  Доступен первый стабильный релиз проекта Minibase, в рамках которого развивается пользовательское окружение на базе ядра Linux, позволяющее получить рабочую загрузочную систему с минимально возможным набором самодостаточных компонентов. Минимальный размер окружения составляет 19 Мб. Поддерживается сборка для архитектур x86_64, arm, arm64 и rv64. Система может быть загружена как в QEMU, так и на реальном оборудовании. Наработки проекта написаны на языке Си и распространяются под лицензией GPLv3.

В базовую поставку входит ядро Linux (3MB), набор модулей ядра (6MB ), набор прошивок для беспроводных чипов (9MB) и подборка статически собранных утилит (650KB), таких как cat, ls, du, df, systime, sync, dmesg, switchroot, pstree, elfinfo, lsdri, modprobe и mount. Большинство из утилит специально написаны для Minibase и не основываются на коде штатных утилит. Все исполняемые файлы в базовом окружении собраны статически - применение стандартной Си-библиотеки (libc) не обязательно, но для обеспечения запуска дополнительных динамически собранных приложений (например, X.org) предусмотрена возможность использования библиотеки musl.

В состав также входят инструменты для поиска и подключения шифрованных или нешифрованных разделов (passblk, findblk, dektool, dmcrypt), базовые процессы системы инициализации (init, super, reboot, svctl), урезанный вариант udevd и syslogd, инструменты для монтирования (mountd, pmount), утилита для запуска привилегированных процессов (sudo), система мультиплексирования терминалов (vtmux), простая интерактивная командная оболочка (cmd), утилиты для настройки сетевых интерфейсов (ifmon с поддержкой DHCP, ip4cfg, ip4info), конфигуратор беспроводной сети (wsupp, wpa_supplicant). Опционально поддерживается установка SSH-сервера/клиента dropbear (200KB), командного интерпретатора dash (100KB) и графического стека (27MB), который может включать X.Org-сервер или композитный сервер Weston (Wayland).

По своим задачам окружение Minibase во многом напоминает Busybox и сопоставимо с ним по размеру. Ключевое отличие заключается в том, что Busybox оформлен в виде единого исполняемого файла, а Minibase позиционируется как набор статически собранных исполняемых файлов. При этом Minibase не ставит перед собой цель обеспечения совместимости с инструментарием POSIX или GNU и в большей степени нацелен на поставку специфичных для Linux сервисов (KMS VT, сетевые утилиты, шифрование диска). Minibase также не требует libc для сборки - за счёт прямого обращения к системным вызовам пакет самодостаточен, для его сборки достаточно компилятора и компоновщика. Для выполнения привилегированных операций в Minibase не используется suid-бит или capabilities, вместо этого осуществляется обращение к специальному привилегированному сервису через IPC.

  1. Главная ссылка к новости
  2. OpenNews: Релиз минималистичного набора системных утилит BusyBox 1.28
  3. OpenNews: Противоречивая ситуация вокруг создания альтернативы Busybox
  4. OpenNews: Выпуск BusyBox 1.21.0 и Toybox 0.4.3
  5. OpenNews: Оценка пригодности ядра Linux для систем с несколькими мегабайтами ОЗУ
Обсуждение (73 +17) | Тип: Программы |
22.01.2018 Доступен WineD3D для Windows, предоставляющий поддержку DirectX 11 через OpenGL (57 +29)
  В рамках проекта WineD3D For Windows подготовлена обвязка для запуска в Windows реализации DirectX 1-11 на базе OpenGL и наработок проекта Wine. В качестве реализации OpenGL в том числе может применяться порт Mesa для Windows.

Несмотря на то, что в Windows имеется встроенная поддержка DirectX, использование WineD3D может быть полезным для улучшения обратной совместимости со старыми играми (например, в Windows 8 прекращена поддержка режимов с 16-разрядной глубиной цветности). Ещё одной областью применения проекта является эмулирование неподдерживаемых версий DirectX и портирование DirectX-приложений на OpenGL без переписывания кода отрисовки.

Дополнительно можно отметить второй выпуск проекта DXVK, нацеленного на создание реализации DXGI и Direct3D 11 поверх API Vulkan для предоставления возможности запуска 3D-приложений в Linux при помощи Wine. Новая версия примечательна доведением поддержки D3D11 до возможности запуска игры NieR: Automata и обеспечением начальной поддержки тестовых наборов Unigine Heaven и Unigine Valley. Из пока отсутствующих возможностей упоминается поддержка тесселяции, потокового вывода и запросов через Queries API.

После доведения проекта до полнофункционального состояния, DXVK сможет использоваться в качестве основанной на Vulkan альтернативы для предоставляемой в Wine реализации D3D11, работающей поверх OpenGL. При этом разработчиками Wine уже развивается собственный проект vkd3d по реализации Direct3D 12 поверх API Vulkan.

  1. Главная ссылка к новости
  2. OpenNews: Стабильный релиз Wine 3.0 c поддержкой Direct3D 10 и 11
  3. OpenNews: Выпуск Mesa 17.3.0, свободной реализации OpenGL
  4. OpenNews: Выпуск проекта Wine Staging 2.0, дополняющего Wine 2.0
  5. OpenNews: В Crossover планируется реализовать поддержку DirectX 11 для Linux и OS X
  6. OpenNews: Microsoft открыл код DirectX Shader Compiler
Обсуждение (57 +29) | Тип: Программы |
21.01.2018 Порт библиотеки сжатия Zstd на JavaScript (29 –13)
  Опубликован JavaScript-порт библиотеки для сжатия данных с использованием алгоритма Zstd, обеспечивающего одно из лучших соотношений уровня сжатия к производительности. Порт сделан на основе оригинального кодека Zstandard, преобразованного в JavaScript при помощи компилятора Emscripten. Порт поддерживает использование словарей и может применяться в Node.js и в приложениях, выполняемых на стороне браузера.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск библиотеки сжатия LZHAM 1.0, нацеленной на создание более быстрой альтернативы LZMA
  3. OpenNews: Автор LZ4 представил новый быстрый и эффективный алгоритм сжатия ZSTD
  4. OpenNews: Dropbox опубликовал реализацию алгоритма сжатия изображений Lepton
  5. OpenNews: Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0
  6. OpenNews: Компания Google открыла код Draco, библиотеки для эффективного сжатия 3D-графики
Обсуждение (29 –13) | Автор: Аноним | Тип: Программы |
21.01.2018 Проекты по созданию компиляторов из Java в JavaScript и исполняемые файлы (99 +2)
  В рамках проекта TeaVM развивается компилятор, позволяющий компилировать Java-байткод в JavaScript и WebAssembly для последующего выполнения в браузере. Ключевым отличием от проекта GWT (Google Web Toolkit) является то, что TeaVM выполняет трансляцию на уровне байткода (может компилировать файлы *.class или *.jar), без привязки к исходным текстам на языке Java, что позволяет компилировать проекты на языках Kotlin и Scala. Код TeaVM распространяется под лицензией Apache 2.0.

Основной целью TeaVM является предоставление средств по созданию web-приложений для разработчиков знакомых с Java, унификации платформы для разработки (фронтэнд на базе те же технологий, что и бэкенд) или при необходимости задействования в web-приложении уже имеющегося кода на Java. TeaVM по возможности сохраняет оригинальную структуру методов, выдавая читаемый и понятный JavaScript. Для разработки одностраничных web-приложений на Java, Kotlin или Scala предлагается web-фреймворк Flavour, похожий на Angular, но базирующийся на идиомах Java, а не JavaScript.

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

Также можно отметить фреймворк Substrate VM, позволяющий выполнить компиляцию Java-приложений в форму самодостаточных исполняемых файлов или разделяемых библиотек (ELF-64 или 64-bit Mach-O). В Substrate VM применяется полноценная AOT-компиляция (Ahead-of-Time) без симуляции через запуск байткода в виртуальной машине. Фреймворк распространяется под лицензией GPLv2 и развивается компанией Oracle в рамках проекта Graal по разработке нового JIT-компилятора и runtime для JVM.

  1. Главная ссылка к новости
  2. OpenNews: Для управления разработкой Google Web Toolkit создан независимый комитет
  3. OpenNews: Открыт код Duetto, системы для запуска в web-браузере проектов на языке C++
  4. OpenNews: Релиз Cheerp 1.3, компилятора C++ в JavaScript
  5. OpenNews: Google выпустил J2ObjC 1.0, транслятор из Java в Objective-C
  6. OpenNews: BicaVM - написанная на JavaScript виртуальная машина для запуска программ на языке Java
Обсуждение (99 +2) | Тип: Программы |
20.01.2018 Red Hat отменил обновление микрокода с устранением уязвимости Spectre (31 +21)
  Компания Red Hat отозвала обновление пакетов с микрокодом (microcode_ctl и linux-firmware), выпущенное 16 января для устранения второго варианта уязвимости Spectre (CVE-2017-5715). В качестве причины отмены обновления называются проблемы со стабильностью, которые были выявлены в результате дополнительного тестирования и жалоб клиентов. На некоторых системах обновление микрокода приводило к невозможности загрузки.

Для блокирования CVE-2017-5715 пользователям рекомендуется использовать обновление прошивок, предоставленных для конкретных систем производителями CPU и оборудования. Напомним, что уязвимость Meltdown (CVE-2017-5754) и второй вариант уязвимости Spectre (CVE-2017-5715) могут быть целиком закрыты на уровне операционной системы (патчи KPTI и retpoline). Второй вариант Spectre также устраним на уровне обновления микрокода. Для устранения первого варианта Spectre (CVE-2017-5753) необходима пересборка приложений и ядра модифицированным компилятором с поддержкой подстановки опкода LFENCE. Компания Intel проинформирована о возникновении проблем с новым микрокодом и пытается разобраться в их причинах.

  1. Главная ссылка к новости
  2. OpenNews: Эксплоиты и тесты производительности, связанные с уязвимостями Meltdown и Spectre
  3. OpenNews: Раскрыты подробности двух атак на процессоры Intel, AMD и ARM64
  4. OpenNews: Разработчики Linux и Windows работают над закрытием огромной уязвимости в процессорах
  5. OpenNews: Обновление микрокода Intel приводит к перезагрузкам систем с CPU Broadwell и Haswell
  6. OpenNews: Ошибка в обновлении ядра в Ubuntu 16.04 приводит к сбою загрузки системы
Обсуждение (31 +21) | Тип: К сведению |
20.01.2018 Проект OpenSSL переносит обсуждение разработки из списка рассылки на GitHub (27 +1)
  Проект OpenSSL объявил о закрытии списка рассылки openssl-dev и переносе обсуждений всех патчей и изменений на GitHub. Для дискуссий, связанных с управлением проектом, введён в строй новый список рассылки openssl-project. Изменения также коснулись и формирования внеплановых релизов с устранением уязвимостей, которые теперь будут выходить по вторникам с предварительным уведомлением за неделю.

Кроме того, введены новые правила, касающиеся включения в OpenSSL новых криптографических алгоритмов, форматов и протоколов. Небезопасные опции (например, SSLv2 и ключи небольшого размера) не будут включаться через директивы конфигурации и потребуют включения на стадии сборки исходных текстов. Новые алгоритмы будут доступны только через EVP API и будет предоставлена возможность отключения всех новых алгоритмов на стадии компиляции.

  1. Главная ссылка к новости
  2. OpenNews: Обновление OpenSSL 1.1.0g и 1.0.2m с устранением уязвимостей
  3. OpenNews: В Debian Unstable отключили поддержку TLS 1.0 и 1.1 в OpenSSL
  4. OpenNews: OpenSSL переходит на новую лицензию, совместимую с GPL
  5. OpenNews: Обновление OpenSSL 1.1.0e с устранением уязвимости
  6. OpenNews: Обновление OpenSSL 1.0.2k и 1.1.0d с устранением уязвимостей
Обсуждение (27 +1) | Тип: К сведению |
20.01.2018 Выпуск GNU Wget 1.19.3 (20 +16)
  Доступен релиз GNU Wget 1.19.3, программы для автоматизации загрузки контента с использованием протоколов HTTP и FTP. В новой версии добавлена поддержка кода ответа 308 (Permanent Redirect) и возможность сборки с OpenSSL 1.1 с отключением устаревшей функциональности. Также устранён крах, возникающий в случае обработки ответа без заголовка Content-Type.

Дополнение: оперативно выпущен wget 1.19.4 с исправлением регрессии по части сжатых страниц.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск GNU Wget 1.19.2 с устранением критических уязвимостей
  3. OpenNews: Выпуск GNU wget 1.19
  4. OpenNews: Выпуск GNU wget 1.18
  5. OpenNews: Выпуск GNU wget 1.17 с поддержкой FTPS и HSTS
  6. OpenNews: Выпуск GNU wget 1.16.1
Обсуждение (20 +16) | Тип: Программы |
19.01.2018 В рамках проекта NeoPG развивается форк GnuPG 2 (127 +26)
  Маркус Бринкман (Marcus Brinkmann), немецкий математик, известный своим участием в разработке GNU/Hurd, основал форк инструментария GnuPG (GNU Privacy Guard), предоставляющего совместимые со стандартом OpenPGP (RFC-4880) инструменты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Новый проект получил название NeoPG и позиционируется в качестве современной замены GnuPG 2.

GnuPG критикуется как излишне раздутый проект: 490 тысяч строк кода на языке Си, около 400 опций, два парсера OpenPGP, свой HTTP-клиент и DNS-резолвер. Привязка к стандарту OpenPGP тянет за собой необходимость поддержки многих устаревших алгоритмов, потерявших актуальность в современных условиях (MD5, IDEA, DSA, 3DES, SHA-1, 64-разрядные ключи). Первичной задачей NeoPG называется проведение чистки кода и его адаптации для упрощения дальнейшей разработки, в том числе предоставление расширяемого стабильного API для разработчиков приложений.

Для достижения поставленной цели было решено удалить всю неактуальную функциональность, а для исключения некоторых видов ошибок и упрощения дальнейшей разработки перевести кодовую базу с языка Cи на C++11. Для упрощения интеграции с другими проектами весь новый код поставляется под разрешительной лицензией BSD вместо GPLv3. Предложен новый интерфейс командной строки, в котором произведено объединение входящих в GnuPG разрозненных утилит (gpg, gpgsm, gpgconf, gpgv, gpgtar и т.п.) в единый исполняемый файл neopg с оформлением субкоманд в стиле Git и поддержкой цветного вывода. В рамках команды "neopg gpg2" реализована прослойка для обеспечения совместимости с GnuPG 2.

За три месяца разработки NeoPG удалено 240 тысяч строк кода, добавлено около двух тысяч строк, прекращена поддержка 120 опций командной строки, осуществлён переход на систему сборки cmake. Вместо собственной реализации криптографических функций (Libgcrypt), задействована библиотека Botan, написанная на C++11 и поставляемая под лицензией BSD. Часть встроенных возможностей заменена на libcurl и SQLite. Вся базовая функциональность выделена в отдельную библиотеку libneopg, которую можно использовать в приложениях. Поверх libneopg реализована обвязка с CLI-интерфейсом.

В NeoPG также решено отказаться от запуска длительно работающих фоновых процессов gpg-agent, dirmngr (Directory Manager) и scdaemon (Smart Card Daemon). Вместо фоновых процессов обеспечен запуск одноразовых вспомогательных helper-процессов, которые завершают работу сразу после выполнения задания. В будущем планируется интегрировать функциональность данных helper-процессов в библиотеку libneopg и вообще избавиться от необходимости запуска дополнительных процессов.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск GnuPG 2.2.0
  3. OpenNews: В Libgcrypt/GnuPG выявлена уязвимость, позволяющая воссоздать RSA-ключи
  4. OpenNews: Критическая уязвимость в генераторе случайных чисел GnuPG и Libgcrypt
  5. OpenNews: Проект GnuPG представил новую свободную многопоточную библиотеку nPth
  6. OpenNews: Обновление GnuPG с устранением уязвимости, позволяющей восстановить закрытые RSA-ключи
Обсуждение (127 +26) | Тип: Программы | Интересно
19.01.2018 Выпуск распределенной системы управления исходными текстами Git 2.16.0 (63 +30)
  Подготовлен выпуск распределенной системы управления исходными текстами Git 2.16.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. По сравнению с прошлым выпуском в новую версию принято 509 изменений, подготовленных при участии 91 разработчика, из которых 26 впервые приняли своё участие в разработке.

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

  • Использование пустой строки в качестве охватывающей все варианты маски пути теперь считается ошибкой. Например, команда git add '' больше не будет работать. Указанная возможность была объявлена устаревшей ещё в 2016 году;
  • Скрипты с реализацией хуков отныне будут игнорироваться если для них не выставлен флаг исполняемого файла. По умолчанию при подобном игнорировании будет выводиться предупреждение, которое можно отключить через опцию advice.ignoredHook;
  • В "git pull" добавлена обработка опции "--[no-]signoff" и её передача в "git merge";
  • Значение опции "--push-option=строка" к "git push" теперь по умолчанию устанавливается в список строк, установленный через переменную push.pushOption;
  • В "gitweb" для проверки доступа к директории вместо Perl-оператора "-x" применена pragma "filetest 'access'";
  • Команда "git stash save" объявлена устаревшей, вместо неё следует использовать "git stash push";
  • Обработчик для взаимодействия с MediaWiki переработан для работы с пространствами имён mediawiki и корректной обработки слишком длинных имён страниц (теперь имена обрезаются без потери суффикса ".mw");
  • В команде "git for-each-ref" опция "--format=..." расширена возможностью отображения имени внешнего репозитория и его использования на удалённой стороне в 'upstream' и 'push' через параметр "%(push:remotename)";
  • Выполнение "git bisect run" без явного указания каких-либо команд теперь приводит к выводу ошибки, вместо обработки всех коммитов как успешно протестированных;
  • Представлено новое расширение fsmonitor для взаимодействия со средствами мониторинга состояния ФС, позволяющее ускорить выполнение "git status" и других операций, которым необходимо отслеживать какие из файлов были изменены;
  • В командах семейства "diff" обеспечено игнорирование различий в указании возврата каретки в конце строки;
  • Команда "git add --renormalize ." теперь позиционируется как новый и надёжный способ записи сведений о нормализации символов конца строки и других замен в данных репозитория при помощи функции "convert_to_git()";
  • В командах "git branch" и "git checkout -b" теперь блокируют попытки создания ветки с именем "HEAD";
  • В команде "git branch --list" по умолчанию реализован вывод с использованием постраничного просмотра (pager), когда содержимое не вмещается в терминал. По аналогии с "git tag --list" данное поведение можно контролировать при помощи настройки pager.branch;
  • В команды, подобные "git grep -W" и "git diff -W", добавлена эвристика для раскрытия строк, похожих на функцию (например, "diff.*.xfuncname") для включения в вывод блоков комментариев, идущих непосредственно перед вводимым элементом;
  • В "git config --expiry-date gc.reflogexpire" обеспечена обработка параметров времени в виде "2.weeks" по аналогии с обработкой "1k" в "--int" как 1024;
  • Имена тегов в "git log --decorate", используемых для аннотирования коммитов, теперь могут быть ограничены подмножеством доступных ref-ссылок, выбранных при помощи опций "--decorate-refs=шаблон" и "--decorate-refs-exclude=шаблон";
  • Устранена проблема, приводившая к крахам при выполнении "git grep", если осуществлена сборка с libpcre2;
  • В "git send-email" добавлена проверка наличия sendmail не только в /usr/lib и /usr/sbin, но и в других путях из списка $PATH;
  • В команду "git diff" добавлена опция "--anchored" с реализацией варианта алгоритма "--patience", позволяющего задать уникальную строку в качестве опорной точки;
  • Добавлена настройка rebase.abbreviateCommands, при которой "git rebase -i" генерирует список todo с указанием односимвольных аббревиатур имён команд;
  • В команде "git svn" обеспечена очистка символов возврата каретки в сообщениях коммитов по аналогии с поведением Subversion;
  • Добавлена поддержка URL https:// для http.proxy при использовании свежих версий libcurl;
  • Команда "git merge" теперь проверяет наличие настройки merge.verifySignatures и использует её значение, как если бы в командной строке была указана опция '--verify-signatures'.
  • Реализации "git bisect" и "git submodule" переписаны на Си;
  • Проведена оптимизация кода для поиска кратчайшего уникального префикса имён объектов.

  1. Главная ссылка к новости
  2. OpenNews: GitHub опубликовал статистику за 2017 год
  3. OpenNews: Анализ степени дублирования кода на GitHub
  4. OpenNews: Метод подстановки троянского кода, невидимого при просмотре в git diff
  5. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.14.0
  6. OpenNews: Microsoft переводит разработку Windows на Git
Обсуждение (63 +30) | Тип: Программы |
18.01.2018 Стабильный релиз Wine 3.0 (138 +50)
  После года разработки и 23 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API - Wine 3.0, который вобрал в себя более 6000 изменений. Из ключевых достижений новой версии отмечается поддержка Direct3D 10 и 11, реализация обособленного потока обработки команд Direct3D, графический драйвер для платформы Android, улучшенная поддержка DirectWrite и Direct2D. Из возможностей, которые отложены до следующей значительной ветки, упоминаются поддержка Direct3D 12, Vulkan и реализация Direct3D через OpenGL ES на платформе Android.

В Wine подтверждена полноценная работа 4580 программ для Windows, еще 3907 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3301 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.

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

  • Direct3D
    • Реализована значительная часть возможностей Direct3D 10 и 11, в том числе вычислительные и тесселяционные шейдеры, потоковый вывод, инструкции и модификаторы интерполяции для моделей шейдеров 4 и 5, непрямой (indirect) рендеринг, структурированные и побайтово адресуемые буферы, многослойная отрисовка на трёхмерных текстурах и массивах текстур, создание уровней mip-map и т.д.
    • Реализация обособленного потока обработки команд Direct3D, позволяющего выполнять отрисовку в асинхронном режиме с распараллеливанием на многоядерных системах. В настоящее время работа сосредоточена на обеспечении корректной отрисовки в многопоточном режиме, но в будущем ожидается проведение работы по увеличению производительности. В секцию реестра "HKCU\Software\Wine\Direct3D" добавлен новый ключ "csmt" (REG_DWORD), через который можно включить (0x1) или выключить (0x0, по умолчанию) поддержку многопоточной обработки команд Direct3D;
    • Улучшена поддержка применения базовых контекстов OpenGL в Direct3D, которые уже используются по умолчанию для обеспечения работы приложений Direct3D 10 и 11 на системах с графическими картами AMD и Intel, что позволяет при наличии OpenGL-драйверов Mesa обойтись без установки в реестре параметра"MaxVersionGL" для включения Direct3D 10 и 11;
    • Увеличено число графических карт, распознаваемых для WineD3D;
  • Графическая подсистема
    • В Direct2D реализована поддержка контуров геометрических объектов, кистей с линейными и радиальными градиентами, вычисления границ геометрических объектов, упрощения геометрических объектов;
    • Обеспечена совместимость Direct2D с GDI;
    • Список поддерживаемых расширений OpenGL обновлён до OpenGL 4.6;
    • Частично реализована библиотека GLU (OpenGL Utility Library). Системная библиотека GLU необходима только при использовании системы рендеринга Nurbs, во всех остальных случаях функции GLU теперь встроены в Wine;
    • В GdiPlus обеспечена обработка графических операций, включающих трансформации;
    • В GdiPlus добавлена поддержка воспроизведения большинства специфичных для GdiPlus типов записей metafile, помимо стандартных записей metafile;
    • В WindowsCodecs добавлена поддержка кодирования форматов изображений, включающих палитру;
  • Обеспечение работы Wine в окружении платформы Android
    • Появилась возможность сборки Wine в виде пакета в формате APK и установки как обычного приложения для Android;
    • Подготовлен полноценный графический драйвер (GDI) для Android. Из-за ограничений API Android возможна работа только в полноэкранном режиме;
    • Реализован полноценный звуковой драйвер для Android;
    • Обеспечена поддержка OpenGL, ограничивающаяся возможностями API OpenGL ES. Direct3D в окружении Android пока не поддерживается, так как не может быть полноценно реализован поверх OpenGL ES;
  • Ядро
    • Заявленная по умолчанию версия Windows поднята до Windows 7;
    • Реализована полная семантика именованных каналов, включая режим обмена сообщениями для именованных каналов. Обработка именованных каналов теперь целиком производится на стороне сервера Wine;
    • Поддержка исполняемых файлов в формате PIE (Position Independent Executables), как для исполняемого файла Wine, так как для запуска внешних исполняемых файлов;
    • Включено автоматическое создание устройств для параллельных и последовательных портов (могут быть переопределены через ключ HKLM\Software\Wine\Ports);
    • Реализован и включен по умолчанию безопасный режим поиска DLL (для отключения следует в разделе реестра HKLM\System\CurrentControlSet\Control\Session Manager установить переменную "SafeDllSearchMode" в 0);
    • Реализован безопасный режим поиска процессов, который отключен по умолчанию (включается через установку переменной HKLM\System\CurrentControlSet\Control\Session Manager\SafeProcessSearchMode в 1);
    • Увеличена производительность асинхронного ввода/вывода благодаря сокращению числа обращений к серверу;
    • На 64-разрядных платформах обеспечена возможность выделения областей виртуальной памяти произвольного размера;
  • Интерфейс пользователя
    • Выполнен редизайн курсоров мыши, которые также предложены в более высоком разрешении для экранов с высокой плотностью пикселей (HiDPI);
    • Для экранов с высокой плотностью пикселей адаптированы Shell Explorer, RichEdit и все основные диалоги;
    • Для переопределения DPI экрана предложена настройка "LogPixels", доступная в секции реестра "HKEY_CURRENT_USER\Control Panel\Desktop";
    • В режиме рабочего стола добавлена поддержка более высоких разрешений с различным коэффициентом соотношения сторон;
    • Реализована панель задач (Task Dialog);
    • В MSI добавлена поддержка внутреннего интерфейса (IUI, Internal User Interface);
    • Добавлен режим отрисовки тем оформления с применением двойной буферизации;
    • В библиотеку TWAIN добавлена поддержка диалога для выбора доступного сканера;
    • Добавлена возможность сохранения в OLE Data Cache платформонезависимых битовых карт и metafile;
  • Интеграция с рабочим столом
    • В desktop-файлах добавлена возможность определения поля StartupWMClass для обеспечения привязки к исполняемому файлу Windows;
    • Для определения изменений в буфере обмена X11-приложений задействована библиотека Xfixes вместо периодической проверки буфера;
    • В компонент RichEdit добавлена поддержка вставки в форме metafile;
    • Добавлена поддержка Progman DDE (компонент с DDE-сервером для Program Manager);
    • Активирован по умолчанию HID-сервис для определения устройств с поддержкой PnP;
    • Для macOS обеспечена поддержка четвёртой версии протокола вывода уведомлений;
  • Текст и шрифты
    • В API Uniscribe добавлена поддержка контекстной замены глифов;
    • Таблицы символов переведены на использование стандарта Unicode 10;
    • Обеспечена совместимость со шрифтовым движком FreeType 2.8.1;
  • DirectWrite
    • Обеспечена симуляция наклонных и жирных начертаний символов;
    • Улучшена обработка разрывов строк;
    • Улучшена отрисовка подчёркиваний;
    • Улучшена поддержка режима работы в оттенках серого;
    • Улучшена поддержка сглаживания и преобразования шрифтов;
    • Реализованы методы применения равномерного и пропорционального межстрочного интервала;
    • Кэш адаптирован для использования в многопоточных приложениях;
    • Реализована поддержка загрузки файлов шрифтов в оперативную память;
  • D3DX
    • Улучшена поддержка прешейдеров (preshader);
    • Добавлена возможность определения движков применения эффектов (ID3DXEffectStateManager) в приложениях D3DX 9;
    • Реализован пул эффектов для совместного использования параметров между разными эффектами D3DX 9;
  • Сетевые возможности
    • В WebServices добавлена поддержка приёма TCP- и UDP-соединений;
    • В Web Services добавлена поддержка протокола .NET Message Framing Protocol и формата .NET Binary Format, включая расширение для таблиц символов;
    • В Web Services включена поддержка приёма сообщений в асинхронном режиме;
    • Переработан код обработчика событий HTML для соответствия стандарту;
    • Добавлена поддержка нескольких стандартных HTML API;
    • В компонент WebBrowser добавлена поддержка файлов MHTML;
    • Улучшена поддержка встраивания HTML-документов в приложения .NET;
    • В WinHTTP налажен корректный разбор атрибутов Cookie;
  • Криптография
    • Добавлена встроенная реализация криптографических хэшей (вместо использования внешней библиотеки GnuTLS);
    • Добавлена поддержка симметричного алгоритма блочного шифрования AES;
    • В список известных сертификатов добавлен корневой сертификат Microsoft от 2011 года;
    • Дополнительные пакеты с Mono и Gecko теперь проверяются при помощи контрольных сумм SHA256;
  • Платформа ARM
    • На системах ARM по умолчанию выставлен ABI 'softfp' для совместимости с исполняемыми файлами Windows;
    • Добавлена поддержка предварительной загрузки (Preloader) на платформе ARM64;
    • Добавлена возможность использования режима отладки relay на системах ARM64;
  • Встроенные приложения
    • В RegEdit для улучшения совместимости с Windows переработаны функции импорта и экспорта реестра. По умолчанию экспорт осуществляется в формате Unicode. 64-разрядные представления в реестре теперь всегда снабжаются 64-разрядными префиксами;
    • В утилиту Reg.exe добавлены операции импорта и экспорта файлов с реестром;
    • В командном интерпретаторе добавлена команда MKLINK и обеспечена поддержка экранирования символов в командной строке;
    • В игре WineMine добавлен вывод диалога подтверждения операции перед сбросом лучших результатов;
  • Инструменты
    • В widl (компилятор IDL) обеспечена обработка возвратов из функций C++ в виде, совместимом с MSVC;
    • В компилятор ресурсов (wrc) добавлена возможность преобразования версий ресурсов через po-файлы;
    • В отладчик (winedbg) добавлена поддержка вывода состояния регистров для SSE и вычислений с плавающей запятой;
    • Все Perl-скрипты, разбирающие XML, переведены на использование модуля XML::LibXML;
    • Удалена устаревшая утилита wineinstall;
  • Разное
    • В XAudio реализована поддержка звуковых форматов с плавающей запятой с числом каналов более двух;
    • В C++ runtime добавлена поддержка Scheduler и аналогичных классов;
    • В ODBC добавлена поддержка установки драйвера SQL;
    • Добавлена поддержка каталога ProgramData;
    • В движок Mono перенесены исправления из основного проекта и добавлена поддержка второй версии API профилирования;
    • В отладочных трассировках обеспечено отображение идентификатора потока;
  • Новые зависимости
    • В число зависимостей включена библиотека krb5, используемая в Kerberos Authentication Package;
    • Для получения уведомления об изменении содержимого буфера обмена задействована библиотека Xfixes.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск проекта Wine Staging 2.0, дополняющего Wine 2.0
  3. OpenNews: Стабильный релиз Wine 2.0
  4. OpenNews: Стабильный релиз Wine 1.8
  5. OpenNews: Анонсирован релиз Wine 1.0.0
  6. OpenNews: Релиз Wine 1.6
Обсуждение (138 +50) | Тип: Программы | Интересно
Следующая страница (раньше) >>


  Закладки на сайте
  Проследить за страницей
Created 1996-2018 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor