The OpenNET Project / Index page

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

04.08 Выпуск компилятора для языка программирования Vala 0.49.1 (34 +11)
  Вышла новая версия компилятора для языка программирования Vala 0.49.1. Язык Vala предоставляет синтаксис, подобный C# и Java, обеспечивает лёгкую интеграцию с библиотеками, написанными на языке C, как с использованием Glib Object System (Gobject), так и без неё.

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

  • Добавлена экспериментальная поддержка выражения with;
  • Убрана поддержка параметра командной строки --use-header, которая теперь включена по-умолчанию;
  • Улучшены внутренние проверки компилятора при обработке абстрактных/виртуальных методов;
  • Улучшен контроль значений перечисляемых типов;
  • Исправлены ошибки компилятора;
  • Обновлены биндинги к библиотекам gio-unix;
  • Биндинги к glib2, gio-2.0 и gobject-2.0 обновлены до версий 2.66;
  • Биндинг к gstreamer обновлён до версии 1.17.2+;
  • Биндинг к gtk4 обновлён до версии 3.99.0+d743e757;
  • Биндинг к pango обновлён до версии 1.45.2.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск GTK 3.99.0 ознаменовал готовность функциональности, запланированной для GTK 4
  3. OpenNews: Релиз браузерного движка WebKitGTK 2.28.0 и web-браузера Epiphany 3.36
  4. OpenNews: В KDE улучшена поддержка декорирования окон в GTK-приложениях
  5. OpenNews: Выпуск Gthree 0.2.0, 3D-библиотеки на базе GObject и GTK
  6. OpenNews: Выпуск libhandy 0.0.10, библиотеки для создания мобильных вариантов приложений GTK/GNOME
Обсуждение (34 +11) | Автор: Совершенно другой аноним | Тип: Программы |


04.08 Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux (188 +29)
  Кристоф Хелвиг (Christoph Hellwig), известный разработчик ядра Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, предложил ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux, экспортируемыми только для модулей под лицензией GPL. Для обхода ограничения на экспорт GPL-символов производители проприетарных драйверов используют модуль-прослойку, код которой открыт и распространяется под лицензией GPLv2, но функции сводятся к трансляции доступа проприетарного драйвера к необходимым API ядра, запрещённым для использования из проприетарного кода напрямую.

Для блокирования подобного манёвра Кристоф Хелвиг подготовил для ядра Linux патчи, обеспечивающие наследование флагов, связанных с экспортом GPL-символов. Предложение сводится к наследованию флага TAINT_PROPRIETARY_MODULE во всех модулях, импортирующих символы из модулей с данным флагом. Таким образом, если GPL модуль-прослойка попытается импортировать символы из не-GPL модуля, то GPL-модуль унаследует метку TAINT_PROPRIETARY_MODULE и не сможет обращаться к компонентам ядра, доступным только для модулей под лицензией GPL, даже если модуль ранее импортировал символы из категории "gplonly".

При обсуждении также было высказано предложение по обратной блокировке - если модуль импортирует символы EXPORT_SYMBOL_GPL, любые экспортируемые данным модулем символы не должны импортироваться модулями, явно не заявляющими о совместимости с GPL. Т.е. если модуль импортирует символы EXPORT_SYMBOL_GPL, то все его экспортируемые символы должны обрабатываться как EXPORT_SYMBOL_GPL. Кристоф Хелвиг написал, что на 100% согласен с данным предложением, но такое изменение не пропустит Линус Торвальдс, так как оно приведёт к недоступности для проприетарных драйверов большей части подсистем ядра, из-за того, что при разработке драйверов подключаются базовые символы, экспортируемые под GPL.

Изменение предложено в ответ на публикацию инженером из Facebook серии патчей с реализацией новой подсистемы netgpu, позволяющей организовать прямой обмен данными (DMA zero-copy) между сетевой картой и GPU, при этом выполняя обработку протокола силами CPU. Недовольство разработчиков вызвала доступность реализации только для проприетарных драйверов NVIDIA через предоставляемую данными драйверами GPL-прослойку. В ответ на критику автор патчей указал, что подсистема не привязана к NVIDIA и её поддержка может быть обеспечена в том числе для программных интерфейсов к GPU AMD и Intel. В итоге продвижение netgpu в ядро было признано невозможным до появления рабочей поддержки на основе свободных драйверов, таких как AMDGPU, Intel i915 или Nouveau.

  1. Главная ссылка к новости
  2. OpenNews: Апелляционный суд встал на сторону VMware в деле о нарушении GPL
  3. OpenNews: Технология DMA-BUF не может быть использована в проприетарных видеодрайверах без перелицензирования
  4. OpenNews: Из Debian удалены сборки пакетов с драйверами NVIDIA из-за подозрений в несовместимости с GPL
  5. OpenNews: Линус Торвальдс пояснил, в чём проблемы реализации ZFS для ядра Linux
  6. OpenNews: Компания NVIDIA представила код для альтернативной организации поддержки PRIME
Обсуждение (188 +29) | Тип: Тема для размышления |


04.08 Выпуск Mastodon 3.2, платформы для создания децентрализованных социальных сетей (23 +8)
  Представлен выпуск свободной платформы для развёртывания децентрализованных социальных сетей - Mastodon 3.2, позволяющей на собственных мощностях создавать сервисы, неподконтрольные отдельным поставщикам. Если пользователь не имеет возможности запустить собственный узел, то он может выбрать заслуживающий доверия публичный сервис для подключения. Mastodon относится к категории объединённых (federated) сетей, для образования единой структуры связей в которых применяется набор протоколов ActivityPub.

Код серверной части проекта написан на языке Ruby с использованием Ruby on Rails, а клиентский интерфейс написан на JavaScript с применением библиотек React.js и Redux. Исходные тексты распространяются под лицензией AGPLv3. Также имеется статический фронтэнд для публикации общедоступных ресурсов, таких как профили и статусы. Хранение данных организовано при помощи PostgreSQL и Redis. Предоставляется открытый API для разработки дополнений и подключения внешних приложений (имеются клиенты для Android, iOS и Windows, можно создавать ботов).

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

  • Полностью переработан интерфейс для воспроизведения звука, появилась возможность автоматического извлечения обложек альбомов из загруженных файлов или назначения собственных изображений-миниатюр.
  • Для видео, помимо назначения миниатюры на основе содержимого первого кадра, появилась поддержка привязки собственных изображений, отображаемых вместо видео до начала воспроизведения.
  • При отправке в другие платформы ссылок на видео и аудиоконтент, размещённый в Mastodon, добавлена возможность открытия этого контента при помощи внешнего проигрывателя используемой платформы, например, при помощи twitter:player.
  • Добавлена дополнительная защита учётных записей. Если у пользователя не включена двухфакторная аутентификация и он не подключался к своей учётной записи как минимум две недели, то новая попытка входа с неизвестного IP-адреса потребует подтверждения через код доступа, отправленный на email.
  • При установке отслеживания, блокировки или игнорирования участников предоставлена возможность привязки к пользователю примечания, видимого только добавившему. Например, примечание можно использовать для указания причин интереса к определённому пользователю.

  1. Главная ссылка к новости
  2. OpenNews: Доступны PeerTube 2.3 и WebTorrent Desktop 0.23
  3. OpenNews: Проект Debian анонсировал сервисы Debian Social
  4. OpenNews: Выпуск Mastodon 3.0, платформы для создания децентрализованных социальных сетей
  5. OpenNews: Релиз децентрализованной коммуникационной платформы Hubzilla 4.2
  6. OpenNews: Новая версия децентрализованной платформы для обмена медиафайлами MediaGoblin 0.10
Обсуждение (23 +8) | Тип: Программы |


04.08 Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, Arch Linux, OpenWrt (59 +8)
  Некоммерческая организация SPI (Software in the Public Interest), курирующей приём пожертвований и юридические вопросы (торговые марки, владение активами и т.п.) для таких проектов, как Debian, Arch Linux, LibreOffice, X.Org, systemd, 0.A.D, PostgreSQL, FFmpeg, freedesktop.org, OpenWrt, OpenZFS, Jenkins и OpenEmbedded, опубликовала отчёт с финансовыми показателями за 2019 год.

Общий размер собранных средств составил 920 тысяч долларов (в 2018 году собрали 1.4 млн). Некоторые из получивших пожертвования проектов (сумма в долларах):


Debian 343,753 (+ 137 тысяч на DebConf) ArduPilot 64,213 OpenZFS 52,870 X.Org 44,551 LibreOffice 41,823 NTPsec 38,019 Open Bioinformatics Foundation 28,028 Arch Linux 17,426 PostgreSQL 16,961 FFmpeg 10,435 OpenEmbedded 9,695 Jenkins 7,781 Performance Co-Pilot 7,127 Privoxy 4,575 0 A.D. 4,165 OpenSAF 2,976 OpenWrt 2,172 Open Voting Foundation 565 Chakra 273 Tux4Kids 213 GNU TeXmacs 209 MinGW 194 freedesktop.org 147 systemd 130 Fluxbox 30 0Aptosid 19 Glucosio 19 GNUstep 19 haskell.org 15 Open MPI 9

По сравнению с 2018 годом кардинально снизились пожертвования Arch Linux (c 294,268 до 17,426), systemd (со 190,004 до 130) и FFmpeg (со 105,606 до 10,435). Вероятно для Arch Linux и FFmpeg это связано с единичными крупными пожертвованиями в 2018 году, так как в 2017 году объем средств был сопоставим с 2019 годом, а на сайтах Arch Linux и FFmpeg продолжают принимать пожертвования через SPI. У systemd всплеск пожертвований в 2018 году скорее всего связан с присоединением данного проекта к SPI и возникшей из-за этого информационной волны (на сайте systemd страница сбора пожертвований отсутствует).

  1. Главная ссылка к новости
  2. OpenNews: Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, OpenWrt в 2018 году
  3. OpenNews: Организация SPI опубликовала сведения о финансовых поступлениях курируемым открытым проектам
  4. OpenNews: Участники проекта X.Org проголосовали за присоединение к организации SPI
  5. OpenNews: Анонимный благотворитель намерен пожертвовать миллион долларов проекту GNOME
  6. OpenNews: Сообщество Handshake пожертвовало 300 тысяч долларов проекту Debian
Обсуждение (59 +8) | Тип: К сведению |


03.08 Учреждён проект OpenSSF, сфокусированный на повышении безопасности открытого ПО (65 +10)
  Организация Linux Foundation объявила о формировании нового совместного проекта OpenSSF (Open Source Security Foundation), призванного объединить работу ведущих представителей индустрии в области повышения безопасности открытого ПО. OpenSSF продолжит развитие таких инициатив, как Core Infrastructure Initiative и Open Source Security Coalition, а также объединит и другие связанные с безопасностью работы, предпринимаемые присоединившимися к проекту компаниями.

В число учредителей OpenSSF вошли такие компании, как GitHub, Google, IBM, JPMorgan Chase, Microsoft, NCC Group, OWASP Foundation и Red Hat. В качестве участников присоединились компании GitLab, HackerOne, Intel, Uber, VMware, ElevenPaths, Okta, Purdue, SAFECode, StackHawk и Trail of Bits.

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

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

Среди угроз, вызванных отсутствием идентификации разработчиков, упоминается возможность получения злоумышленником прав мэйнтейнера для внесения вредоносных изменений, дублирование учётных записей для рецензирования своего же кода, участие самозванцев, выдающих себя за других людей или заявляющих о работе на определённые компании. Например, к проблемам с идентификацией относится инцидент c зависимостью к библиотеке event-stream после передачи сопровождения непроверенному человеку, с которым старый сопровождающий общался только по email, или многочисленные случаи продажи браузерных дополнений и плагинов третьим лицам.

  1. Главная ссылка к новости
  2. OpenNews: Новые проекты Linux Foundation по финансированию, безопасности и совместной разработке СПО
  3. OpenNews: Инициативы Linux Foundation, касающиеся безопасности СПО и диагностики производительности
  4. OpenNews: Проект по продвижению в ядро Linux новых технологий активной защиты
  5. OpenNews: Linux Foundation запустил проект по разработке Linux-окружения для высоконадёжных систем
  6. OpenNews: Рейтинг библиотек, требующих особой проверки безопасности
Обсуждение (65 +10) | Тип: К сведению |


03.08 Выпуск языка программирования Julia 1.5 (60 +4)
  Опубликован релиз языка программирования Julia 1.5, сочетающего такие качества как высокая производительность, поддержка динамической типизации и встроенные средства для параллельного программирования. Синтаксис Julia близок к MATLAB с заимствованием некоторых элементов из Ruby и Lisp. Метод манипуляции строками напоминает Perl. Код проекта распространяется под лицензией MIT.

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

  • Проведена оптимизация размещения структур в памяти, которая позволила значительно сократить число операций распределения памяти в куче (за счёт inline-развёртывания или размещения в стеке), уменьшить потребление памяти и повысить производительность.
  • Улучшена поддержка многопоточности и стабилизирован API для работы с потоками.
  • Предоставлена возможность выбора уровня оптимизации, используемого при сборке отдельных модулей.
  • При передаче аргумента ключевого слова разрешено указание только одного имени, если оно совпадает для ключевого слова и переменной для хранения значения (например, вместо "x=x" можно указывать просто "x").
  • Добавлен новый макрос "@ccall", предоставляющий более удобный синтаксис для вызова функций на языке Си.
  • Разрешён вызов макросов без разделения пробелом (вместо "@foo {...}" теперь можно писать "@foo{...}").
  • На 25% увеличена производительность генерации псевдослучайных чисел.
  • Добавлена опция "--bug-report=rr" для записи и отправки rr-трассировок для упрощения исправления ошибок.
  • В пакетном менеджере по умолчанию активирован протокол Pkg, подразумевающий обращение к собственному репозиторию (pkg.julialang.org) вместо загрузки пакета напрямую из GitHub, GitLab, BitBucket и подобных хранилищ.



Ключевые особенности языка:

  • Высокая производительность: одной из ключевых целей проекта является достижение производительности близкой к программам на языке Си. Компилятор Julia основан на наработках проекта LLVM и генерирует эффективный нативный машинный код для многих целевых платформ;
  • Поддержка различных парадигм программирования, включая элементы объектно-ориентированного и функционального программирования. Стандартная библиотека предоставляет в том числе функции для асинхронного ввода/вывода, управления процессами, ведения логов, профилирования и управления пакетами;
  • Динамическая типизация: язык не требует явного определения типов для переменных по аналогии со скриптовыми языками программирования. Поддерживается интерактивный режим работы;
  • Опциональная возможность явного указания типов;
  • Синтаксис, превосходно подходящий для численных вычислений, научных расчётов, систем машинного обучения и визуализации данных. Поддержка многих числовых типов данных и средств для распараллеливания вычислений.
  • Возможность прямого вызова функций из библиотек на языке Си без дополнительных прослоек.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск языка программирования Julia 1.3
  3. OpenNews: Выпуск языка программирования Julia 1.1
  4. OpenNews: Увидел свет язык программирования Julia 1.0
  5. OpenNews: Новый открытый динамический язык программирования Julia, использующий наработки проекта LLVM
  6. OpenNews: Релиз языка программирования Haxe 4.1
Обсуждение (60 +4) | Тип: Программы |


03.08 Релиз ядра Linux 5.8 (244 +39)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.8. Среди наиболее заметных изменений: детектор состояний гонки KCSAN, универсальный механизм доставки уведомлений в пространство пользователя, поддержка оборудования для inline-шифрования, расширенные механизмы защиты для ARM64, поддержка российского процессора Baikal-T1, возможность раздельного монтирования экземпляров procfs, реализация для ARM64 механизмов защиты Shadow Call Stack и BTI.

Ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта. При этом изменения не связаны с какой-то одной подсистемой, а охватывают разные части ядра и в основном связаны с внутренними переработками и чисткой. Больше всего изменений наблюдается в драйверах. В новую версию принято 17606 исправлений от 2081 разработчиков, которые затронули примерно 20% всех файлов в репозитории с кодом ядра. Размер патча - 65 МБ (изменения затронули 16180 файлов, добавлено 1043240 строк кода, удалено 489854 строк). Для сравнения в ветке 5.7 было внесено 15033 исправлений, а размер патча составлял 39 МБ. Около 37% всех представленных в 5.8 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 3% - с файловыми системами и 4% c внутренними подсистемами ядра.

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

  • Виртуализация и безопасность
    • Обеспечена блокировка загрузки модулей ядра, имеющих секции с кодом, в которых одновременно выставлены биты, разрешающие исполнение и запись. Изменение реализовано в рамках более крупного проекта по избавлению ядра от применения страниц памяти, допускающих одновременно исполнение и запись.
    • Появилась возможность создания отдельных экземпляров procfs, позволяющих использовать несколько точек монтирования procfs, смонтированных с разными опциями, но отражающими одно пространство имён идентификаторов процессов (pid namespace). Ранее все точки монтирования procfs лишь отзеркаливали одно внутреннее представление и любое изменение параметров монтирования сказывалось на всех остальных точках монтирования, связанных с тем же пространством имён идентификаторов процессов. Из областей, в которых может быть востребовано монтирование с разными опциями отмечается реализация легковесной изоляции для встраиваемых систем с возможностью скрытия в procfs определённых типов процессов и информационных узлов.
    • Для платформы ARM64 реализована поддержка механизма Shadow-Call Stack, предоставляемого компилятором Clang для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в сохранении после передачи управления функции адреса возврата в отдельном "теневом" стеке и извлечении данного адреса перед выходом из функции.
    • Для платформы ARM64 добавлена поддержка инструкций ARMv8.5-BTI (Branch Target Indicator) для защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении. Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP - Return-Oriented Programming, атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления, из которых выстраиваются цепочка вызовов для получения нужной функциональности).
    • Добавлена поддержка оборудования для inline-шифрования блочных устройств (Inline Encryption). Устройства inline-шифрования обычно встроены в накопитель, но логически размещается между системной памятью и диском, осуществляя прозрачное шифрование и расшифровку ввода/вывода на основе заданных ядром ключей и алгоритма шифрования.
    • Добавлен параметр командной строки ядра "initrdmem", позволяющий указать физический адрес размещения initrd в памяти при размещении начального загрузочного образа в ОЗУ.
    • Добавлены новые capability: CAP_PERFMON для доступа к подсистеме perf и выполнения мониторинга производительности. CAP_BPF, разрешающий выполнение некоторых операций с BPF (например, загрузка BPF-программ), которые раньше требовали прав CAP_SYS_ADMIN (теперь полномочия CAP_SYS_ADMIN разделены на комбинацию CAP_BPF, CAP_PERFMON и CAP_NET_ADMIN).
    • Добавлено новое устройство virtio-mem, позволяющее реализовать горячее подключение и отключение памяти к гостевым системам.
    • Реализован отзыв операций маппинга в /dev/mem, если драйвер устройства использует перекрывающиеся области памяти.
    • Добавлена защита от уязвимости CROSSTalk/SRBDS, позволяющей восстановить результаты выполнения некоторых инструкций, выполняемых на другом ядре CPU.
  • Память и системные сервисы
    • В документ, определяющий правила оформления кода, приняты рекомендации по применению инклюзивной терминологии. Разработчикам не рекомендуется использовать связки 'master / slave' и 'blacklist / whitelist', а также отдельно слово 'slave'. Рекомендации касаются только нового использования данных терминов. Уже имеющиеся в ядре упоминания указанных слов останутся нетронутыми. В новом коде использование отмеченных терминов разрешено если того требует поддержание выдаваемого в пространство пользователя API и ABI, а также при обновлении кода для поддержки существующего оборудования или протоколов, спецификации на которые предписывают использование определённых терминов.
    • В состав включён отладочный инструмент KCSAN (Kernel Concurrency Sanitizer), предназначенный для динамического выявления состояний гонки внутри ядра. Использование KCSAN поддерживается при сборке в GCC и Clang, и требует добавления специальных модификаций на этапе компиляции для отслеживания доступа к памяти (применяются точки останова, срабатывающие при чтении или изменении памяти). Основное внимание при разработке KCSAN уделено предотвращению ложных срабатываний, масштабируемости и простоте использования.
    • Добавлен универсальный механизм доставки уведомлений из ядра в пространство пользователя. Механизм основан на штатном драйвере pipe и позволяет эффективно распределять уведомления от ядра по каналам, открытым в пространстве пользователя. Точки приёма уведомлений представляют собой pipe-ы, открытые в специальном режиме и позволяющие накапливать в кольцевом буфере поступающие от ядра сообщения. Чтение осуществляется обычной функцией read(). Владелец канала определяет, какие из источников в ядре необходимо отслеживать и может определить фильтр для игнорирования сообщений и событий определённого типа. Из событий пока поддерживаются только операции с ключами, такие как добавление/удаление ключей и изменение их атрибутов. Указанные события планируют использовать в GNOME.
    • Продолжено развитие функциональности 'pidfd', помогающей обрабатывать ситуации с повторным использованием PID (pidfd связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID). В новой версии добавлена поддержка использования pidfd для прикрепления процесса к пространствам имён (разрешено указание pidfd при выполнении системного вызова setns). Применение pidfd позволяет одним вызовом управлять прикреплением процесса к нескольким типам пространств имён, существенно сокращая число необходимых системных вызовов и реализуя прикрепление в атомарном режиме (если при прикреплении к одному из пространств имён возникнет сбой, то не подключатся и остальные).
    • Добавлен новый системный вызов faccessat2(), отличающийся от faccessat() дополнительным аргументом с флагами, соответствующими рекомендациям POSIX (ранее данные флаги эмулировались в Си-библиотеке, а новый faccessat2 позволяет реализовать их в ядре).
    • В Cgroup добавлена настройка memory.swap.high, которую можно использовать для замедления задач, занимающих слишком много места в разделе подкачки.
    • В интерфейс асинхронного ввода/вывода io_uring добавлена поддержка системного вызова tee().
    • Добавлен механизм "BPF iterator, предназначенный для вывода в пространство пользователя содержимого структур ядра.
    • Предоставлена возможность использования кольцевого буфера для обмена данными между BPF-программами.
    • В механизм padata, предназначенный для организации параллельного выполнения задач в ядре, добавлена поддержка многопоточных задач с балансировкой нагрузки.
    • В механизм pstore, позволяющий сохранить отладочную информацию о причине краха в области памяти, не теряемые между перезагрузками, добавлен бэкенд для сохранения информации на блочные устройства.
    • Из ветки ядра PREEMPT_RT перенесена реализация локальных блокировок.
    • Добавлен новый API выделения буферов (AF_XDP), нацеленный на упрощение написания сетевых драйверов с поддержкой XDP (eXpress Data Path).
    • Для архитектуры RISC-V реализована поддержка отладки компонентов ядра при помощи KGDB.
    • До выпуска 4.8 повышены требования к версии GCC, которая может использоваться для сборки ядра. В одном из следующих выпусков планируется поднять планку до GCC 4.9.
  • Дисковая подсистема, ввод/вывод и файловые системы
    • В Device Mapper добавлен новый обработчик dm-ebs (emulate block size), который может применяться для эмуляции меньшего размера логического блока (например, для эмуляции 512-байтных секторов на дисках с размером сектора 4K).
    • В файловой системе F2FS появилась поддержка сжатия с использованием алгоритма LZO-RLE.
    • В dm-crypt добавлена поддержка шифрованных ключей.
    • В Btrfs улучшена обработка операций чтения в режиме прямого ввода/вывода. При монтировании ускорена проверка удалённых подразделов и каталогов, оставшихся без родителя.
    • В CIFS добавлен параметр "nodelete", допускающий штатные проверки прав на сервере, но запрещающий клиенту удалять файлы или каталоги.
    • В Ext4 улучшена обработка ошибки ENOSPC при использовании многопоточности. В xattr добавлена поддержка пространства имён gnu.*, используемого в GNU Hurd.
    • Для Ext4 и XFS включена поддержка операций DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств) в привязке к отдельным файлам и каталогам.
    • В системный вызов statx() добавлен флаг STATX_ATTR_DAX, при указании которого информация извлекается с использованием механизма DAX.
    • В EXFAT добавлена поддержка верификации загрузочной области.
    • В FAT улучшена упреждающая загрузка элементов ФС. Тестирование медленного 2ТБ USB-накопителя показало сокращение времени прохождения теста с 383 до 51 сек.
  • Сетевая подсистема
    • В код управления работой сетевых мостов добавлена поддержка протокола MRP (Media Redundancy Protocol), позволяющего обеспечить отказоустойчивость, закольцевав несколько Ethernet-коммутаторов.
    • В систему управления трафиком (Tc) добавлено новое действие "gate", дающее возможность определить временные интервалы для обработки и отбрасывания определённых пакетов.
    • В ядро и утилиту ethtool добавлена поддержка функций тестирования присоединённого сетевого кабеля и самодиагностики сетевых устройств.
    • В IPv6-стек добавлена поддержка алгоритма MPLS (Multiprotocol Label Switching) для маршрутизации пакетов с использованием многопротокольной коммутации по меткам (для IPv4 MPLS поддерживался и ранее).
    • Добавлена поддержка передачи пакетов IKE (Internet Key Exchange) и IPSec поверх TCP (RFC 8229) для обхода возможных блокировок UDP.
    • Добавлено сетевое блочное устройство rnbd, позволяющее организовать удалённый доступа к блочному устройству при помощи транспорта RDMA (InfiniBand, RoCE, iWARP) и протокола RTRS.
    • В TCP-стеке добавлена поддержка сжатия диапазонов в ответах выборочного подтверждения (selective acknowledgment, SACK).
    • Для IPv6 реализована поддержка TCP-LD (RFC 6069, Long Connectivity Disruptions).
  • Оборудование
    • В DRM-драйвере i915 для видеокарт Intel включена по умолчанию поддержка чипов Intel Tiger Lake (GEN12), для которых также реализована возможность использования системы SAGV (System Agent Geyserville) для динамической подстройки частоты и напряжения в зависимости от требований к энергопотреблению или производительности.
    • В драйвер amdgpu добавлена поддержка пиксельного формата FP16 и реализована возможность работы с шифрованными буферами в видеопамяти (TMZ, Trusted Memory Zone).
    • Добавлена поддержка датчиков энергопотребления процессоров AMD Zen и Zen2, а также датчиков температуры AMD Ryzen 4000 Renoir. Для AMD Zen и Zen2 обеспечена поддержка извлечения информации об энергопотреблении через интерфейс RAPL (Running Average Power Limit).
    • В драйвер Nouveau добавлена поддержка формата модификаторов NVIDIA. Для gv100 реализована возможность использования чересстрочных режимов развёртки. Добавлено определение vGPU.
    • В драйвер MSM (Qualcomm) добавлена поддержка GPU Adreno A405, A640 и A650.
    • Добавлен внутренний фреймворк для управления ресурсами DRM (Direct Rendering Manager).
    • Добавлена поддержка смартфонов Xiaomi Redmi Note 7 и Samsung Galaxy S2, а также ноутбуков Elm/Hana Chromebook.
    • Добавлены драйверы для LCD-панелей: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Добавлена поддержка ARM-плат и платформ Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-eMMC, Check Point L-50, , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.
    • Добавлена поддержка MIPS-процессора Loongson-2K (сокращённый Loongson64). Для CPU Loongson 3 добавлена поддержка виртуализации с использованием гипервизора KVM.
    • Добавлена поддержка российского процессора Baikal-T1 и основанной на нём системы на кристалле BE-T1000. Процессор Baikal-Т1 содержит два суперскалярных ядра P5600 MIPS 32 r5, работающих на частоте 1.2 ГГц. Чип содержит кэш L2 (1 Мб), контроллер памяти DDR3-1600 ECC, 1 порт 10Gb Ethernet, 2 порта 1Gb Ethernet, контроллер PCIe Gen.3 х4, 2 порта SATA 3.0, USB 2.0, GPIO, UART, SPI, I2C. Процессор предоставляет аппаратную поддержку виртуализации, инструкции SIMD и интегрированный аппаратный ускоритель криптографических операций, поддерживающий ГОСТ 28147-89. Чип разработан с использованием лицензированного у компании Imagination Technologies блока процессорного ядра MIPS32 P5600 Warrior.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 5.8 - Linux-libre 5.8-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске отключена загрузка блобов в драйверах для Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 Speaker Aimplifier, Microsemi ZL38060 Connected Home Audio Processor, и I2C EEPROM Slave. Обновлён код чистки блобов в драйверах и подсистемах Adreno GPU, HabanaLabs Goya, x86 touchscreen, vt6656 и btbcm.

  1. Главная ссылка к новости
  2. OpenNews: Линус Торвальдс подключился к обсуждению начальной реализации поддержки Rust в ядре Linux
  3. OpenNews: Ядро Linux 5.8 станет самым крупным по числу изменений
  4. OpenNews: Релиз ядра Linux 5.7
  5. OpenNews: Релиз ядра Linux 5.6
  6. OpenNews: Релиз ядра Linux 5.5
Обсуждение (244 +39) | Тип: Программы | Интересно


02.08 Критическая уязвимость в WordPress-плагине wpDiscuz, насчитывающем 80 тысяч установок (56 +13)
  В WordPress-плагине wpDiscuz, который установлен на более чем 80 тысячах сайтов, выявлена опасная уязвимость, позволяющая без аутентификации загрузить любой файл на сервер. В том числе можно загрузить PHP-файлы и добиться выполнения своего кода на сервере. Проблеме подвержены версии с 7.0.0 по 7.0.4 включительно. Уязвимость устранена в выпуске 7.0.5.

Плагин wpDiscuz предоставляет возможность использования AJAX для динамической отправки комментариев без перезагрузки страницы. Уязвимость вызвана недоработкой в коде проверки загружаемых типов файлов, используемом для прикрепления изображений к комментариям. Для ограничения загрузки произвольных файлов вызывалась функция определения MIME-типа по содержимому, которую было легко обойти для загрузки PHP-файлов. Расширение файла не ограничивалось. Например, можно было загрузить файл myphpfile.php, указав вначале последовательность 89 50 4E 47 0D 0A 1A 0A, идентифицирующую PNG-изображения, а следом разместить блок "<?php" с PHP-кодом.

  1. Главная ссылка к новости
  2. OpenNews: Создатели WordPress инвестировали $4.6 млн в компанию, развивающую Matrix-клиент Riot
  3. OpenNews: WordPress и Apache Struts среди web-платформ лидируют по числу уязвимостей с эксплоитами
  4. OpenNews: Уязвимости в WordPress-плагинах, имеющих более миллиона установок
  5. OpenNews: Критические уязвимости в WordPress-плагинах, имеющих более 400 тысяч установок
  6. OpenNews: Релиз системы управления web-контентом WordPress 5.3
Обсуждение (56 +13) | Тип: Проблемы безопасности |


02.08 Релиз платформы для распределённой обработки данных Apache Hadoop 3.3 (9 +13)
  После полутора лет разработки организация Apache Software Foundation опубликовала релиз Apache Hadoop 3.3.0, свободной платформы для организации распределённой обработки больших объёмов данных с использованием парадигмы map/reduce, при которой задача делится на множество более мелких обособленных фрагментов, каждый из которых может быть запущен на отдельном узле кластера. Хранилище на базе Hadoop может охватывать тысячи узлов и содержать эксабайты данных.

В состав Hadoop входит реализация распределенной файловой системы Hadoop Distributed Filesystem (HDFS), автоматически обеспечивающей резервирование данных и оптимизированной для работы MapReduce-приложений. Для упрощения доступа к данным в Hadoop хранилище разработана БД HBase и SQL-подобный язык Pig, который является своего рода SQL для MapReduce, запросы которого могут быть распараллелены и обработаны несколькими Hadoop-платформами. Проект оценивается как полностью стабильный и готовый для промышленной эксплуатции. Hadoop активно используется в крупных промышленных проектах, предоставляя возможности, аналогичные платформе Google Bigtable/GFS/MapReduce, при этом компания Google официально делегировала Hadoop и другим проектам Apache право использования технологий, на которые распространяются патенты, связанные с методом MapReduce.

Hadoop занимает первое место среди репозиториев Apache по числу вносимых изменений и пятое место по размеру кодовой базы (около 4 млн строк кода). Из крупных внедрений Hadoop отмечаются хранилища Netflix (сохраняется более 500 миллиардов событий в день), Twitter (кластер из 10 тысяч узлов в режиме реального времени хранит более зетабайта данных и обрабатывает более 5 миллиардов сеансов в день), Facebook (кластер из 4 тысяч узлов хранит более 300 петабайт и ежедневно увеличивается на 4 Пб в день).

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

  • Добавлена поддержка платформ на основе архитектуры ARM.
  • Реализация формата Protobuf (Protocol buffers), используемого для сериализации структурированных данных, обновлена до выпуска 3.7.1 в связи с окончанием жизненного цикла ветки protobuf-2.5.0.
  • Расширены возможности коннектора S3A: добавлена поддержка аутентификации при помощи токенов (Delegation Token), улучшена поддержка кэширования ответов с кодом 404, увеличена производительность S3guard, повышена надёжность работы.
  • В файловой системе ABFS решены проблемы с автоматическим тюнингом.
  • Добавлена встроенная поддержка файловой системы Tencent Cloud COS для доступа к объектному хранилищу COS.
  • Добавлена полная поддержка Java 11.
  • Стабилизирована реализация HDFS RBF (Router-based Federation). В HDFS Router добавлены средства управления безопасностью.
  • Добавлен сервис DNS Resolution для определения клиентом серверов через DNS по именам узлов, позволяющий обойтись без перечисления всех хостов в настройках.
  • Добавлена поддержка планирования запуска оппортунистических контейнеров через централизованный менеджер ресурсов (ResourceManager), в том числе с возможностью распределения контейнеров с учётом нагрузки каждого узла.
  • Добавлен каталог приложений YARN (Yet Another Resource Negotiator) с возможностью поиска.

  1. Главная ссылка к новости
  2. OpenNews: Фонд Apache опубликовал отчёт за 2020 финансовый год
  3. OpenNews: В ходе атаки Meow удалено около 4000 общедоступных БД Elasticsearch и MongoDB
  4. OpenNews: Доступна система распределённых вычислений Apache Storm 2.0
  5. OpenNews: Релиз платформы для распределённой обработки данных Apache Hadoop 3.2
  6. OpenNews: Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra
Обсуждение (9 +13) | Тип: Программы |


01.08 Выпуск Wine 5.14 (221 +23)
  Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 5.14. С момента выпуска версии 5.13 было закрыто 26 отчётов об ошибках и внесено 302 изменения.

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

  • Продолжена работа по реструктуризации поддержки консоли.
  • Предложена начальная версия шрифта Webdings.
  • Началось преобразование библиотек MSVCRT в формат PE.
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений: AOL 9.0, Largo Winch, DOSCenter, StarCraft: Brood War, Bayonetta, Star Wars: The Force Unleashed II, Toontown Rewritten, Helm Standalone/VST plugin, PassMark PerformanceTest 10, Diablo III, Chaos Legion, Tableau Desktop, Battle.net, TES4:Oblivion.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Wine 5.13
  3. OpenNews: Выпуск Wine 5.12 и Wine staging 5.12
  4. OpenNews: Wine Launcher - новый инструмент для запуска игр через Wine
  5. OpenNews: Google работает над поддержкой Steam в Chrome OS через виртуальную машину с Ubuntu
  6. OpenNews: Создан форк VKD3D для улучшения поддержки Direct3D 12 в Proton
Обсуждение (221 +23) | Тип: Программы |


01.08 Обновление Debian 10.5 (115 +28)
  Опубликовано пятое корректирующее обновление дистрибутива Debian 10, в которое включены накопившиеся обновления пакетов и устранены недоработки в инсталляторе. Выпуск включает 101 обновление с устранением проблем со стабильностью и 62 обновление с устранением уязвимостей.

Из изменений в Debian 10.5 выделяется устранение уязвимости в GRUB2, позволяющей обойти механизм UEFI Secure Boot и добиться установки неверифицированного вредоносного ПО. Для решения проблемы обновлены инсталлятор, загрузчик GRUB2, пакеты с ядром, fwupd-прошивки и shim-прослойка, которые поставляются с новой цифровой подписью.

До свежих стабильных версий обновлены пакеты ClamAV, cloud-init, dbus, dpdk, fwupd, mariadb, nvidia-graphics-drivers и postfix. Удалены пакеты golang-github-unknwon-cae, janus, mathematica-fonts, matrix-synapse, selenium-firefoxdriver, которые остались без сопровождения и имеют серьёзные проблемы или привязаны к изменившимся API.

Для загрузки и установки "с нуля" подготовлены установочные сборки, а также live iso-hybrid c Debian 10.5. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 10.5, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.

  1. Главная ссылка к новости
  2. OpenNews: Финальное обновление Debian 9.13
  3. OpenNews: Прекращена LTS-поддержка Debian 8.0 "jessie"
  4. OpenNews: Mobian - проект по адаптации Debian для мобильных устройств
  5. OpenNews: Результаты пересборки пакетной базы Debian при помощи Clang 10
  6. OpenNews: Обновление Debian 10.4
Обсуждение (115 +28) | Тип: Программы |


01.08 Выпуск программы для профессиональной обработки фотографий Darktable 3.2 (78 +30)
  После 7 месяцев активной разработки доступен релиз программы для организации и обработки цифровых фотографий Darktable 3.2. Darktable выступает в роли свободной альтернативы Adobe Lightroom и специализируется на недеструктивной работе с raw-изображениями. Darktable предоставляет большую подборку модулей для выполнения всевозможных операций по обработке фотографий, позволяет вести базу исходных фотографий, осуществлять наглядную навигацию по имеющимся снимкам и при необходимости выполнять операции корректировки искажений и улучшения качества, сохраняя при этом исходный снимок и всю историю операций с ним. Код проекта распространяется под лицензией GPLv3. Бинарные сборки ожидаются в ближайшее время.

Крупные изменения:

  • Полностью переписан режим светового стола (lighttable) со значительным ускорением работы и улучшением взаимодействия вплоть до разрешения 8K. Улучшен режим отображения подсказок-оверлеев поверх миниатюр. Добавлено меню для конфигурирования всплывающих и подсказок-оверлеев.
  • Переработан режим отображения временной ленты.
  • Переработан режим сравнения и выбраковки (culling).
  • Полностью переработан интерфейс, конфигурируемый через CSS. Добавлен диалог выбора доступных тем и CSS-редактор для внесения правок к существующим темам.
  • Переработаны иконки внутри приложения и цветовая пипетка.
  • Полностью переработан диалог настроек приложения.
  • Добавлен новый модуль для работы со сканами негативных плёнок (negadoctor).
  • Новый режим гистограммы (RGB Parade). Добавлена возможность изменения высоты гистограммы при помощи комбинации клавиш Ctrl+Scroll.
  • Переработан и расширен модуль отображения и редактирования метаданных. Добавлена возможность исключения импорта отдельных полей метаданных.
  • Введена возможность задания нового набора модулей по умолчанию с использованием модуля "Плёночная тональная кивая RGB" вместо единственного доступного ранее набора на основе "Базовой кривой". Опция доступна в соответствующем пункте диалога настроек ("Параметры обработки").
  • Новая версия модуля "Плёночная тональная кивая RGB" включает в себя встроенный режим восстановления пересветов.
  • Добавлен новый режим градиентов.
  • Включена поддержка изображений в формате AVIF (требуется libavif >= 0.7)
  • Полностью переработан порядок следования модулей и добавлен соответствующий диалог выбора версии.
  • Добавлена возможность временного сокрытия масок в модуле "Ретушь" и "Удаление пятен".
  • Улучшена работа модуля "Трансформации" и добавлена возможность производить измерения только в горизонтальной или вертикальной плоскостях.
  • Улучшена работа модуля "Виньетирование".
  • Улучшена работа модуля "Баланс белого". Добавлена возможность быстрого возврата к предыдущим настройкам.
  • Добавлена возможность редактирования выделения цветовой пипетки.
  • Новые переменные, доступные при работе с метками. Увеличение количества доступных уровней вложения меток до 9-ти.
  • Добавлена возможность редактирования (в режиме drag & drop) геометок для нескольких изображений сразу.
  • Новый диалог редактирования клавиатурных комбинаций.
  • Опциональный режим экспорта изображений TIFF в градациях серого. Возможность экспорта масок для формата TIFF.
  • Лучшая поддержка иконок в режиме HiDPI на системах Windows.
  • Добавлен диалог подтверждения удаления и редактирования пресетов.
  • Появилась возможность удаления, применения и экспорта нескольких стилей сразу.
  • Добавлена возможность применения стиля в режиме добавления к уже существующей истории или перезаписи оной стилевыми настройками.
  • Добавлены сообщения в случае несоответствия версий базы данных dt. Резервная копия автоматически сохраняется в каталоге настроек.
  • Устранено ограничение на 500 снимков в режиме съёмки напрямую подключенной камерой (tethering).
  • Многочисленные мелкие оптимизации и устранения ошибок.
  • API Lua обновлён до версии 6.0.0
  • В развиваемый в рамках отдельного репозитория модуль импорта изображений RawSpeed внесена поддержка почти 30 новых камер и ускорен процесс распаковки изображений.
  • Обновлены переводы.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск программы для управления фотографиями digiKam 7.0
  3. OpenNews: Техника незаметного искажения фотографий для нарушения работы систем распознавания лиц
  4. OpenNews: Релиз программы для обработки фотографий RawTherapee 5.8
  5. OpenNews: Выпуск программы для профессиональной обработки фотографий Darktable 3.0
  6. OpenNews: Доступен менеджер фотографий Shotwell 0.30 с поддержкой распознавания лиц
Обсуждение (78 +30) | Автор: timur.davletshin | Тип: Программы |


01.08 Опубликован пакет wayland-utils 1.0.0 (44 +14)
  Разработчики Wayland представили первый выпуск нового пакета wayland-utils, в составе которого будут поставляться утилиты, связанные с Wayland, по аналогии с тем, как в пакете wayland-protocols поставляются дополнительные протоколы и расширения. В настоящее время в состав включена только одна утилита wayland-info, предназначенная для отображения информации о протоколах Wayland, поддерживаемых текущим композитным сервером. Утилита представляет собой обособленный вариант weston-info, выделенный из репозитория Weston.

  1. Главная ссылка к новости
  2. OpenNews: Обновление Live-дистрибутива Rebecca Black Linux с подборкой окружений на основе Wayland
  3. OpenNews: Опубликована свободная книга про Wayland
  4. OpenNews: Выпуск wayland-protocols 1.20
  5. OpenNews: Доступен Wayland 1.18
  6. OpenNews: Выпуск композитного сервера Weston 8.0
Обсуждение (44 +14) | Тип: Программы |


01.08 Уязвимости в X.Org Server и libX11 (58 +14)
  В X.Org Server и libX11 выявлены две уязвимости:
  • CVE-2020-14347 - отсутствие инициализации памяти при выделении буферов для пиксельных карт при помощи вызова AllocatePixmap() может привести к утечке X-клиенту содержимого памяти из кучи, когда X-сервер работает с повышенными привилегиями. Указанную утечку можно использовать для обхода технологии рандомизации адресного пространств (ASLR). В сочетании с другими уязвимостями проблема может использоваться при создании эксплоита для повышения привилегий в системе. Исправления пока доступны в виде патчей. Публикация корректирующего выпуска X.Org Server 1.20.9 ожидается в ближайшие дни.
  • CVE-2020-14344 - целочисленное переполнение в реализации XIM (Input Method) в libX11, которое может привести к повреждению областей памяти в куче при обработке специально оформленных сообщений от метода ввода. Проблема устранена в выпуске libX11 1.6.10.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск X.Org Server 1.20.3 с устранением локальной root-уязвимости
  3. OpenNews: Вышел X.Org Server 1.20
  4. OpenNews: Выпуск X.Org Server 1.19.4 с исправлением уязвимостей
  5. OpenNews: Red Hat намерен прекратить развитие сервера X.Org
  6. OpenNews: Рассматривается возможность изменения нумерации и метода формирования релизов X.Org Server
Обсуждение (58 +14) | Тип: Проблемы безопасности |


01.08 Обновление JPype 1.0.2, библиотеки для доступа к Java-классам из Python (19 +3)
  Доступен новый выпуск прослойки JPype 1.0.2, позволяющей организовать полный доступ Python-приложений к библиотекам классов на языке Java. При помощи JPype из Python можно использовать специфичные для Java библиотеки, создавая гибридные приложения, сочетающие код на Java и Python. В отличие от Jython, интеграция с Java достигается не через создание варианта Python для JVM, а через взаимодействие на уровне обеих виртуальных машин, используя разделяемую память. Предложенный подход позволяет не только добиться хорошей производительности, но и предоставляет доступ ко всем библиотекам CPython и Java. Код проекта распространяется под лицензией Apache 2.0.

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

  • В вызов методов добавлен кэш, позволяющий избежать разрешения перегрузок, что значительно уменьшает влияние на производительность разрешения методов, особенно если одна и та же перегрузка вызывается много раз, как во время выполнения циклов.
  • От 4 до 100 раз, в зависимости от типа данных, ускорена передача списков, кортежей и буферов в массивы Java-примитивов. Преобразование использует оптимизированную обработку буферов в памяти, вместо Sequence API. Когда Python-буфер встречается, только первый элемент проверяется для преобразования, так как данные буферы однородны.
  • Обработка операций shutdown (реализовано ещё в JPype 1.0.0, но было пропущено при подготовке списка изменений). JPype теперь вызывает shutdown-процедуру JVM, которая пытается выполнить выход в режиме "gracefully". Это приводит к нескольким изменениям в поведении. Не фоновые нити (proxy call) теперь могут держать JVM открытым до тех пор, пока они не будут завершены. Вызовы Proxy будут обрабатывать shutdown до тех пор, пока вызов не завершён, но получат сообщение о прерывании. Файлы теперь закрываются как надо и сбрасывают данные на диск (flush), если нити обработают исключение нужным образом. Выполняются хуки очистки ресурсов и финализаторы. При порождении нитей вызываются AtExit-хуки. Через демон реализовано автоматическое присоединение нитей при использовании JVM из Python. Ошибочный код, который не может правильно обработать очистку нити, вероятно зависнет при выполнении shutdown. Дополнительная документация находится в руководстве по использованию.
  • Обёртка для Throwable получала обёртку для Object вместо ожидаемого результата, что приводило к странным преобразованиям из Python-классов.
  • Исправлены опечатки в системе импорта, приводящие к выводу ошибки '"jname" not found'.
  • Обеспечено корректное продвижение "^C" в KeyboardInterrupt.
  • Устранена проблема с символами с Python 3.5.3. PySlice_Unpack был введён в последующем патч-релизе (3.5.4) и его не следовало использовать.
  • Разобрана ошибка с numpy.linalg.inv, приводящая к падению. Проблема была отслежена до взаимодействия потоков между JVM и некоторыми вариантами numpy. Предлагаемое решение - вызов numpy.linalg.inv до запуска JVM.

  1. Главная ссылка к новости
  2. OpenNews: Релиз JPype 1.0, библиотеки для доступа к Java-классам из Python
  3. OpenNews: Релиз JPype 0.7.2, библиотеки для доступа к Java-классам из Python
  4. OpenNews: Релиз JPype 0.7, библиотеки для доступа к Java-классам из Python
  5. OpenNews: Inlinec - новый способ использования Си-кода в Python-скриптах
  6. OpenNews: Гвидо ван Россум предложил включить в Python операторы для сопоставления с образцом
Обсуждение (19 +3) | Автор: Аноним | Тип: Программы |


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



Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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