The OpenNET Project / Index page

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

09.12.2018 В 22 приложениях, загруженных из Google Play более 2 млн раз, выявлен вредоносный код (82 +17)
  Компания Sophos предупредила пользователей о выявлении в каталоге Google Play 22 приложений для платформы Android, включающих вредоносный код, позволяющий скрыто загружать файлы и выполнять произвольные вредоносные модули на устройстве. После установки проблемных приложений вредоносный код (Andr/Clickr-ad) запускался автоматически и продолжал выполнение независимо от открытия и закрытия приложений пользователем (настраивался автозапуск при загрузке устройства и перезапуск через 3 минуты в случае принудительного завершения вредоносного процесса).

19 приложений были размещены в каталоге начиная с июня и сразу включали в себя вредоносный код. Три приложения, включая Sparkle Flashlight, насчитывающее более миллиона загрузок, изначально были легитимными, но получили вредоносный код в мартовском обновлении. Вредоносная активность контролировалась централизованно через запрос команд от управляющего сервера (использовался хост sdk.mobbt.com), с которого могла быть инициирована установка любых модулей на устройство. Команды запрашивались раз в 80 секунд, проверка новой версии вредоносных модулей производилась раз в 10 минут.

На момент обнаружения проблемы на устройство загружался модуль для накрутки кликов в рекламных сетях, который нагружал CPU и постоянно отправлял большой объём сетевых запросов. Списки ссылок для кликов загружались отдельно. Для скрытия от пользователя вредоносной активности рекламные блоки для кликов открывались в отдельном окне, размером 0 пикселей. Подобные манипуляции достаточно сильно нагружали CPU и снижали время автономной работы. При каждом переходе использовались 249 комбинации значений User Agent, характерные для разных версий программ и разных типов устройств.

После информирования Google проблемные программы были удалены из Google Play. Примечательно, что выявленные приложения пользовались популярностью (загружены в сумме более 2 млн копий) и имели преимущественно высокий рейтинг с преобладанием положительных отзывов пользователей. Судя по отзывам, пользователи не связывали возникающие из-за активности вредоносного кода аномалии с данными приложениями.

Проблемные приложения:

  • AK Blackjack
  • Animal Match
  • Box Stack
  • Color Tiles
  • Cliff Diver
  • HexaFall
  • HexaBlocks
  • Jelly Slice
  • Join Up
  • Just Flashlight
  • Math Solver
  • Magnifeye
  • Neon Pong
  • PairZap
  • Roulette Mania
  • Sparkle FlashLight
  • Snake Attack
  • ShapeSorter
  • Space Rocket
  • Tak A Trip
  • Table Soccer
  • Zombie Killer



Дополнительно можно упомянуть об ещё нескольких событиях, связанных с платформой Android:

  • Опубликован декабрьский набор исправлений проблем с безопасностью для Android, в котором устранены 53 уязвимости, из которых 29 выявлены в закрытых компонентах для чипов Qualcomm. 11 уязвимостям (2 в системных компонентах, 4 в Media framework, 5 в закрытых компонентах Qualcomm) присвоен критический уровень опасности, а остальным высокий уровень опасности. Большинство критических проблем позволяет совершить удалённую атаку для выполнения своего кода в системе (например, при обработке специально оформленных мультимедийных данных). Проблемы помеченные как опасные позволяют через манипуляции с локальными приложениями выполнить код в контексте привилегированного процесса.
  • В поставляемом вместе со средой разработки Android Studio эмуляторе появилась поддержка запуска ядра Zircon, используемого в развиваемой Google операционной системе Fuchsia. Также ведётся активная работа по интеграции в Android Emulator поддержки графического API Vulkan, что в скором времени позволит запускать в эмуляторе графические приложения для Fuchsia;
  • В сервисах Google Play прекращена поддержка API версии 14 и 15, используемых в Android 4.0 (поддержка Android 4.1+ пока сохраняется). Отмечается что доля Android 4.0 среди активных устройств составляет менее 1%.

  1. Главная ссылка к новости
  2. OpenNews: 47 уязвимостей в Android-прошивках и новый вид атак Man-in-the-Disk
  3. OpenNews: В 5 браузерных дополнениях и 6 мобильных приложениях обнаружен шпионящий код
  4. OpenNews: Анализ несанкционированной записи звука и видео в Android-приложениях
  5. OpenNews: Большинство VPN-приложений для Android не заслуживают доверия
  6. OpenNews: Анализ уязвимостей в Android-приложениях с открытыми сетевыми портами
Обсуждение (82 +17) | Тип: Проблемы безопасности |
08.12.2018 Релиз языка программирования Rust 2018 (1.31) (88 +11)
  Представлен релиз языка системного программирования Rust 1.31, развиваемого проектом Mozilla. Кроме штатного номера версии выпуск также обозначен как Rust 2018 и преподносится как наиболее важный релиз с момента формирования версии 1.0 в 2015 году. В рамках выпуска проведена работа по консолидации всех улучшений и изменений, подготовленных за последние три года, в виде целостного продукта. Rust 2018 выступит основой для наращивая функциональности в последующие три года, по аналогии с тем, как выпуск Rust 1.0 стал базисом для развития языка в прошедшие три года.

Для разделения несовместимой функциональности введена концепция редакций языка. Редакции с номерами "2015" и "2018" могут использоваться в качестве метки для определения среза состояния языка, затрагивающего только несовместимые изменения (добавлено поле "edition" в секции "[package]" метаданных cargo-пакетов).

Редакция "2015" включает уже стабилизированную к текущему моменту функциональность и все будущие изменения не нарушающие совместимость, а редакция "2018" дополнительно охватывает нарушающие совместимость новшества, предложенные в текущем выпуске 1.31 и утверждённые для реализации в будущем. Кроме самого языка редакции также учитывают состояние инструментария и документации (например, в редакции 2018 в состав введены модули поддержки IDE, rustfmt и Clippy).

Режим "2015" позволяет сохранить полную совместимость с существующими приложениями без внесения нарушающих совместимость изменений. Активировать режим "2018" имеет смысл при желании задействовать в коде будущие возможности языка, такие как ещё не реализованные концепции async/await и "try". Так как данная возможность может потребовать корректировки кода старых программ, написанных до резервирования слов async, await и try, указанные ключевые слова уже внесены в редакцию "2018", несмотря на то, что сама функциональность ещё не добавлена.

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

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

  • Реализована техника NLL (Non-Lexical Lifetimes), расширившая систему учёта времени жизни заимствованных переменных. Вместо привязки времени жизни на лексическом уровне, NLL осуществляет учёт на уровне набора указателей в графе потока выполнения. Новый подход позволяет увеличить качество проверки заимствования переменных (borrow checker) и допустить выполнение некоторых видов корректного кода, использование которого ранее приводило к выводу ошибки. Новое поведение существенно упрощает отладку. Например:
    
       fn main() {
           let mut x = 5;
           let y = &x;
           let z = &mut x;
           println!("y: {}", y);
       }
    

    Выполнение данного кода в редакции "2015" приводит к выводу ошибки "cannot borrow 'x' as mutable because it is also borrowed as immutable" для всего блока "{}" не детализируя источник проблемы, а начиная с Rust 1.31 при выборе редакции "2018" ошибка будет локализована для выражения 'println!("y: {}", y);', которое вызывает конфликт;

  • Внесены изменения в систему модулей, нацеленные на её упрощение: для большинства случаев убрана необходимость использования "extern crate"; добавлена возможность импорта макросов при помощи выражения "use" вместо атрибута "#[macro_use]"; абсолютные пути начинающиеся с названия пакета (crate) теперь разбираются относительно текущего пакета; возможно сосуществование подкаталогов foo.rs и foo/, при размещении субмодулей в подкаталоге больше не нужен mod.rs. Изменения применимы только в режиме "2018";
  • Добавлены новые способы упрощённого задания области видимости (lifetime elision) в функциях и заголовках реализаций (impl). Вместо "impl‹'a› Reader for BufReader‹'a› {}" теперь можно указывать "impl Reader for BufReader‹'_› {}".
  • Добавлен новый способ определения функций - "const fn", который дополнил уже существующие выражения "fn", "unsafe fn" и "extern fn". Функции, определённые через "const fn", могут вызываться не только как обычные функции, но и использоваться в любом контексте вместо констант, например "const SIX: i32 = foo(5);". Данные функции вычисляются на этапе компиляции, а не в ходе выполнения, поэтому на них накладываются определённые ограничения (допускаются арифметические операции и операции сравнения над целыми числами, запрещены булевые операторы "&&" и "||", допускается чтение только из констант, можно вызывать только функции, определённые как "const fn" и т.п.);
  • Помимо cargo, rustdoc и rustup в основной состав включены утилиты clippy (linter) и rustfmt (форматирование кода), а также плагины для поддержки интегрированных сред разработки Visual Studio Code, IntelliJ, Atom, Sublime Text 3 и Eclipse;
  • Стабилизированы новые атрибуты для инструментов Rust, таких как rustfmt и clippy. Например, "#[allow(clippy::bool_comparison)]" для ограничения применения clippy;
  • В разряд стабильных переведена новая порция API, в том числе From‹NonZeroU8›, From‹&Option‹T››, slice::align_to, slice::chunks_exact;
  • В пакетный менеджер Cargo добавлена поддержка параллельной загрузки нескольких пакетов при помощи HTTP/2. За исключением специфичных случаев переведено в разряд необязательных выражение "extern crate".
  • Запущены инициативы по оптимизации Rust для предметно-ориентированных областей. Созданы рабочие группы для развития средства для разработки сетевых сервисов (развивает async/await), создания приложений для командной строки (развивает библиотеки для CLI-интерфейса), поддержки WebAssembly (компиляция и взаимодействие с wasm) и создания решений для встраиваемых устройств (улучшение поддержки ARM).

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

  1. Главная ссылка к новости
  2. OpenNews: Релиз языка программирования Rust 1.30
  3. OpenNews: Выпуск интегрированной среды разработки Eclipse "Photon" с поддержкой языка Rust
  4. OpenNews: Выпуск libOS, unikernel на языке Rust для запуска приложений поверх гипервизора
  5. OpenNews: Mozilla развивает прослойку для обеспечения переносимости между JavaScript и Rust
  6. OpenNews: Для Linux и Redox представлена реализация Libc на языке Rust
Обсуждение (88 +11) | Тип: Программы |
08.12.2018 Уязвимости в PHP и PHPMailer (84 +10)
  В опубликованных на днях корректирующих обновлениях PHP 5.6.39, 7.0.33, 7.1.25 и 7.2.13 устранена неприятная уязвимость (CVE-2018-19518) в штатном PHP-дополнении IMAP, выявленная ещё в октябре. Уязвимость позволяет атаковать web-приложения для работы с электронной почтой или обойти системные ограничения доступа к функциям, выставляемые через опцию disable_functions в php.ini.

В случае запрета вызовов, подобных exec, system, shell_exec и passthru, уязвимость даёт возможность выполнить произвольный shell-код, в случае когда злоумышленники могут загрузить свой PHP-код на сервер (например, для продолжения атаки после эксплуатации уязвимостей в плагинах для загрузки пользовательских файлов). Уязвимость также может применяться для атаки на webmail-клиенты, позволяющие установить произвольное имя imap-сервера и передающих его в вызов imap_open без дополнительной проверки.

Суть проблемы в том, что функция imap_open, через которую осуществляется открытие соединения с IMAP-сервером, позволяет указать дополнительные параметры для обращения к почтовому ящику по сети. Возможно обращение к почтовому ящику на удалённом хосте не только с использованием протокола IMAP, но и по SSH (вызывается команда rsh, но в большинстве дистрибутивов она перенаправлена на ssh). SSH можно передать дополнительные параметры, в том числе через указание опции "-oProxyCommand=" можно определить команду для запуска прокси. Вместо прокси можно указать любой код, который будет выполнен при вызове функции imap_open. Для блокирования уязвимости в новых выпусках по умолчанию отключено обращение imap_open по rsh/ssh (imap.enable_insecure_rsh=false).

Концептуальный прототип эксплоита:


   $server = "x -oProxyCommand=echo\tZWNobyAnMTIzNDU2Nzg5MCc+L3RtcC90ZXN0MDAwMQo=|base64\t-d|sh}";
   imap_open('{'.$server.':143/imap}INBOX', '', '') or die("\n\nError: ".imap_last_error());

Кроме того, раскрыты сведения об уязвимости (CVE-2018-19296) в PHPMailer, популярной библиотеке для организации отправки электронных писем из приложений на языке PHP, число пользователей которой оценивается в 9 миллионов (используется в WordPress, Drupal, 1CRM, SugarCRM, Yii и Joomla). Уязвимость позволяет организовать выполнение кода через подстановку ссылки на phar-файл в составе пути, например, при отправке письма с вложением или через манипуляции с параметрами DKIM. Устраняющее проблему исправление включено в состав релиза PHPMailer 6.0.6.

Полученный файл перед отправкой на email проверяется при помощи функции file_exists(), которая автоматически выполняет десериализацию метаданных из файлов Phar (PHP Archive) при обработке путей, начинающихся с "phar://", что позволяет применить технику атаки "Phar deserialization". Организовав загрузку специально оформленного Phar-файла под видом вложения, злоумышленник может добиться выполнения своего кода на сервере. Так как функция file_exists() определяет MIME-тип по содержимому, а не по расширению, возможна передача phar-файла под видом картинки (например, phar-файл будет разобран, если его передать как evil.jpg). Похожая уязвимость недавно была выявлена в phpBB.

  1. Главная ссылка к новости
  2. OpenNews: Неосмотрительное использование плагина jQuery-File-Upload делает многие сайты уязвимыми
  3. OpenNews: Уязвимость в движке для создания форумов phpBB
  4. OpenNews: Уязвимость, позволяющая удалённо выполнить код на сервере PHP-репозитория Packagist
  5. OpenNews: Критическая уязвимость в PHPMailer, применяемом в WordPress, Drupal и Joomla
  6. OpenNews: В PHPMailer выявлена ещё одна критическая уязвимость, вызванная недоработкой в PHP
Обсуждение (84 +10) | Тип: Проблемы безопасности |
08.12.2018 Зафиксирована подмена сайта Linux.org через захват DNS (20 +26)
  Администраторы сообщества Linux.org (не путать с Linux.com) сообщили об инциденте, в результате которого злоумышленники подменили содержимое сайта. Атака была совершена путём перенаправления трафика на другой хост через изменение данных в DNS.

По словам администратора ресурса, злоумышленники получили доступ к учётной записи владельца сайта у регистратора Network Solutions. Судя по всему, для домена Linux.org через сервис Whois отображались полные данные о владельце и атакующие, воспользовавшись существующими базами взломанных аккаунтов, смогли получить доступ к почтовому ящику в сервисе Yahoo, использовав ранее захваченную в результате взлома Yahoo базу с хэшами паролей. После этого при помощи функции восстановления забытого пароля атакующие смогли поменять пароль к учётной записи Network Solutions, к которой был привязан взломанный почтовый ящик в Yahoo. Помехой могло стать применение двухфакторной аутентификации для дополнительной защиты аккаунта, но она не была активирована.

Инфраструктура проекта и база пользователей Linux.org не пострадали - атакующие не получили доступа к серверам. Атака ограничилась только вандализмом с переключением на другой сервер в DNS. Атакующие уже опубликовали скриншот интерфейса Network Solutions, из которого видно, что кроме linux.org был получен доступ к параметрам DNS сайтов linuxonline.com, linuxonline.net, linuxonline.org и linuxhq.com, которые не использовались для каких-либо проектов.

Предполагается, что причиной взлома стала произошедшая в прошлом году смена руководства linux.org с заменой сайта, удалением ранее размещённого контента и перерегистрацией учётных записей пользователей форума. Вначале атакующие разместили на подменённом сайте нецензурный текст и пошлое изображение с намёком на протест против принятого разработчиками ядра Linux кодекса поведения (Code of Conduct). Затем на странице были размещены оскорбления и полные персональные данные (включая домашний адрес) Coraline Ada Ehmke, трансгендерного разработчика и создателя инициативы Contributor Covenant, на основе которой был сформирован кодекс разработчиков ядра Linux. Сайт оставался перенаправлен в течение трёх с половиной часов.

  1. Главная ссылка к новости
  2. OpenNews: Арестован подозреваемый во взломе kernel.org
  3. OpenNews: Оценка причин и последствий взлома kernel.org
  4. OpenNews: Разработчикам ядра Linux рекомендовано проверить рабочие машины на наличие вредоносного ПО
  5. OpenNews: Инфраструктура Linux Foundation и Linux.com подверглась взлому
  6. OpenNews: Опубликован полный отчёт о взломе Sourceforge.net
Обсуждение (20 +26) | Тип: Проблемы безопасности |
08.12.2018 Выпуск CentOS Atomic Host 7.1811, специализированной ОС для запуска контейнеров Docker (23 +5)
  Проект CentOS представил выпуск минималистичной операционной системы CentOS Atomic Host 7.1811, которая поставляется в форме монолитного целиком обновляемого образа и предоставляет базовое окружение, которое содержит только минимальный набор компонентов (systemd, journald, docker, rpm-OSTree, geard и т.п.), необходимых для запуска и управления изолированными контейнерами Docker. Все пакеты, обеспечивающие работу конечных приложений, поставляются непосредственно в составе контейнеров, а хост-система не содержит ничего лишнего.

CentOS Atomic Host является пересборкой продукта Red Hat Enterprise Linux Atomic Host RHEL 7.6, в свою очередь базирующегося на наработках свободного проекта Atomic. Об особенностях проекта можно прочитать в тексте прошлого анонса. Сборки CentOS Atomic Host доступны в форме установочного ISO, образов виртуальных машин Vagrant (Libvirt, VirtualBox), qcow2 (OpenStack, AWS, Libvirt) и AMI (Amazon Machine Image).

В новой версии произведена синхронизация дистрибутива с пакетной базой RHEL 7.6 и обновлены версии компонентов cloud-init-18.2-1, podman-0.11.1.1, docker-1.13.1-84, etcd-3.2.22, flannel-0.7.1, ostree-2018.5-1 и rpm-ostree-client-2018.5.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск CentOS Atomic Host 7.1804, специализированной ОС для запуска контейнеров Docker
  3. OpenNews: Релиз Red Hat Enterprise Linux 7.6
  4. OpenNews: Объявление о прекращении поддержки Scientific Linux 5, CentOS 5 и RHEL 5
  5. OpenNews: Запрет на использование торговой марки CentOS для сторонних сборок
  6. OpenNews: Выпуск дистрибутивов CentOS 7.6 и Scientific Linux 7.6
Обсуждение (23 +5) | Тип: Программы |
07.12.2018 Первый кандидат в релизы Wine 4.0 (46 +21)
  Началось тестирование первого кандидата в релизы Wine 4.0, открытой реализации Win32 API. Кодовая база переведена на стадию заморозки перед релизом, который ожидается в конце декабря или в начале января. По сравнению с выпуском Wine 3.21 закрыто 43 отчёта об ошибках и внесено 342 изменения.

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

  • Для macOS реализован Preloader;
  • Для Android добавлена поддержка изменения курсора мыши;
  • До последней версии спецификации обновлена поддержка графического API Vulkan;
  • В WebServices добавлена поддержка Stream I/O;
  • В WindowsCodecs улучшена поддержка палитры;
  • В драйверах ядра добавлена поддержка синхронизации объектов;
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений: Wildstar, Singularity, Commandos 3: Destination Berlin, Zombie Army, WPS Office 10.1.0.5775, ProfitChart RT, AutoFlashGUI, RenderDoc, Murdered: Soul Suspect, Hitman: Absolution, Graywalkers Purgatory, Guitar Pro 5, Guild Wars 2, Star Citizen.

  1. Главная ссылка к новости
  2. OpenNews: Стабильный релиз Wine 3.0
  3. OpenNews: Выпуск проекта Wine Staging 3.3
  4. OpenNews: Проект Wine выпустил Vkd3d 1.0 с реализацией Direct3D 12
  5. OpenNews: Выпуск Wine 3.21
Обсуждение (46 +21) | Тип: Программы |
07.12.2018 Шестое обновление прошивки UBports, пришедшей на смену Ubuntu Touch (19 +18)
  Проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, сформировал обновление прошивки OTA-6 (over-the-air) для всех официально поддерживаемых смартфонов и планшетов, которые были укомплектованы прошивкой на базе Ubuntu. Обновление сформировано для смартфонов OnePlus One, Fairphone 2, Nexus 4, Nexus 5, Nexus 7 2013, Meizu MX4/PRO 5, Bq Aquaris E5/E4.5/M10. Проектом также развивается экспериментальный порт рабочего стола Unity 8, доступный в сборках для Ubuntu 16.04 и 18.04.

Выпуск сформирован на основе Ubuntu 16.04 (сборка OTA-3 была основана на Ubuntu 15.04, а начиная с OTA-4 осуществлён переход на Ubuntu 16.04). Около половны от всех изменений в новом выпуске связаны с доработкой web-браузера Morph Browser, развивающегося в рамках проекта browser-ng и построенного на актуальной кодовой базе Chromium: решены проблемы с восстановлением предыдущего сеанса, обеспечена возможность работы с самоподписанными сертификатами, решены проблемы с работой ReCaptcha и воспроизведением мультимедийного контента, приведено в порядок оформление полос прокрутки.

Кроме браузера улучшена поддержка смартфона Oneplus One, обновлена библиотека libhybris (добавлена поддержка портирования драйверов из Android 7.1), осуществлён переход на Qt 5.9.7 и задействована новая библиотека для работы с датчиками. В инфраструктуре проекта запущен шлюз для коммуникационного клиента Matrix, позволяющий получать уведомления через Matrix. На платформу GitLab переведена разработка приложений calculator-app, music-app, ubports-app и weather-app.

Из обновлений в каталоге программ отмечается реализация приложения для настройки VPN, поддерживающий OpenVPN и PPTP-подключения. В следующем выпуске OTA-7 намечен переход на новые версии оболочки Unity8 и дисплейного сервера Mir, а также улучшение средств для запуска приложений на базе Wayland. В OTA-8 запланировано появление полнофункциональной поддержки окружения Anbox для запуска Android-приложений.

  1. Главная ссылка к новости
  2. OpenNews: Пятое обновление прошивки UBports, пришедшей на смену Ubuntu Touch
  3. OpenNews: Четвёртое обновление прошивки UBports, пришедшей на смену Ubuntu Touch
  4. OpenNews: Опубликованы макеты мобильного интерфейса GNOME для смартфона Librem 5
  5. OpenNews: Проект UBports адаптирует Ubuntu Touch для свободного смартфона Librem 5
  6. OpenNews: Проект UBports продолжил разработку окружения рабочего стола Unity 8
Обсуждение (19 +18) | Тип: Программы |
07.12.2018 Релиз системы управления web-контентом WordPress 5.0 с новым web-редактором (50 –3)
  Состоялся релиз системы управления web-контентом WordPress 5.0, написанной на языке PHP и ориентированная на создание блогов. В разработке новой версии приняли участие 423 разработчика. Несмотря на то, что формально смена первой цифры в номере выпусков WordPress не указывают на особый характер и производится следом за версией x.9, на этот раз в WordPress 5.0 внесены кардинальные изменения, вызвавшие много споров в сообществе.

В частности, осуществлён переход на новый визуальный интерфейс редактирования Gutenberg, позволяющий создавать страницы в режиме drag&drop. Решение по смене редактора было одобрено не всеми пользователями и разработчиками, что уже привело к созданию форка ClassicPress, в рамках которого продолжается развитие кодовой базы с классическим web-интерфейсом. В основном проекте WordPress реализация классического интерфейса вынесена в отдельный плагин, поддержка которого будет осуществляться до 2021 года.

Новый интерфейс ориентирован прежде всего на начинающих пользователей и позволяет создавать страницы даже неквалифицированному персоналу. Редактор реализует метод блочной компоновки страницы, при котором каждая часть контента связывается со своим блоком. Редактирование осуществляется по месту в визуальном режиме. Среди преимуществ нового редактора: более гибкое управление отображением контента, автоматизация вставки в содержимое любых типов мультимедийной информации (достаточно указать ссылку и блок генерируется автоматически), возможность наглядно манипулировать блоками. Наглядное редактирование по месту также исключает случайное повреждение контента после некорректной правки кода.

Предоставляется большое число предопределённых типов блоков, таких как параграф, заголовок, цитита, картинка, галерея, видео и код. Имеется возможность конвертировать одни типы блоков в другие, а также подключать новые блоки. Из недостатков нового интерфейса можно отметить несовместимость с большинством сторонних тем оформления, потеря контроля за содержимым на низком уровне (HTML/CSS), полное изменение методов работы с интерфейсом, необходимость проводить переобучение персонала и снижение эффективности при работе специалистов (работа превращается в "бесконечные клики мышью").

Новый редактор:

Старый редактор:

Среди других улучшений выделяется новая тема оформления "Twenty Nineteen", разработанная специально для оптимального сочетания с новым редактором блоков:

  1. Главная ссылка к новости
  2. OpenNews: Зафиксирована массовая атака на сайты с необновлённым движком WordPress
  3. OpenNews: Создан ClassicPress, форк WordPress с классическим web-редактором
  4. OpenNews: В WordPress 4.9.7 устранены уязвимости, позволяющие удалять файлы в системе
  5. OpenNews: Доля WordPress среди крупнейших сайтов достигла 30%
  6. OpenNews: Релиз системы управления web-контентом WordPress 4.0
Обсуждение (50 –3) | Тип: Программы |
07.12.2018 Выпуск Mesa 18.3.0, свободной реализации OpenGL и Vulkan (14 +27)
  Состоялся релиз свободной реализации API OpenGL и Vulkan - Mesa 18.3. С прошлого выпуска внесено около 1700 изменений от примерно 120 разработчиков. Первый выпуск ветки Mesa 18.3.0 имеет экспериментальный статус - после проведения окончательной стабилизации кода будет выпущена стабильная версия 18.3.1. В Mesa 18.3 предоставляется полная поддержка OpenGL 4.5 для драйверов i965, radeonsi и nvc0, поддержка Vulkan 1.1 для карт Intel и AMD, а также частичная поддержка стандарта OpenGL 4.6.

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

  • В Vulkan драйвер RADV для карт AMD добавлена первая стабильная версия расширения Vulkan Transform Feedback, которое предоставляет техническую возможность для проектов DXVK и VKD3D (реализации Direct3D 11 и 12 поверх API Vulkan) использовать Direct3D Stream Output, отвечающий за отображение многих поверхностей в играх. Реализация расширения VK_EXT_transform_feedback пока ограничена только драйвером RADV, для Intel ANV подготовлены отдельные патчи, которые ещё не включены в ветку Mesa-git, но, вероятнее всего, войдут в состав Mesa 19.0;
  • В драйверы i965 и ANV (OpenGL и Vulkan-драйверы для GPU Intel) добавлена поддержка GPU Whiskey Lake и Amber Lake;
  • В драйверах radeonsi и RADV (OpenGL и Vulkan-драйверы для карт AMD) добавлена поддержка GPU Raven 2, Picasso и Vega 20;
  • В драйвере radeonsi предложен дополнительный профиль совместимости с OpenGL 4.5 (OpenGL 4.5 Compatibility) и реализована возможность задействования VCN-движка (Video Core Next) чипов Raven Ridge для декодирования JPEG;
  • В драйвере RADV добавлена поддержка консервативной растеризации и обеспечена возможность компиляции встроенных шейдеров по запросу для окружений без поддержки кэшировния шейдеров;
  • В драйвере виртуального видеоадаптера системы виртуализации VMware реализован профиль совместимости с OpenGL 3.3 (OpenGL 3.3 Compatibility);
  • Добавлены расширения EGL, которые позволяют использовать EGL через прямое взаимодействие с DRM-драйвером, без поддержки EGL на стороне оконной системы:
  • Добавлены новые расширения OpenGL:
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
    • VK_EXT_calibrated_timestamps
    • VK_EXT_pci_bus_info
    • VK_EXT_sampler_filter_minmax
    • VK_EXT_vertex_attribute_divisor v3
    • VK_GOOGLE_decorate_string
    • VK_GOOGLE_hlsl_functionality1
    • VK_KHR_driver_properties
  • В Vulkan-драйвер RADV (для карт AMD) добавлен набор расширений:
    • VK_EXT_calibrated_timestamps
    • VK_EXT_conservative_rasterization
    • VK_EXT_pci_bus_info
    • VK_EXT_transform_feedback
    • VK_EXT_vertex_attribute_divisor v3
    • VK_GOOGLE_decorate_string
    • VK_GOOGLE_hlsl_functionality1
    • VK_KHR_driver_properties
  • Сборочные скрипты адаптированы для использования Python 3.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Mesa 18.2.0, свободной реализации OpenGL и Vulkan
  3. OpenNews: Релиз Mesa 18.1.0
  4. OpenNews: Выпуск Mesa 18.0.0, свободной реализации OpenGL и Vulkan
  5. OpenNews: Выпуск Mesa 17.3.0, свободной реализации OpenGL
  6. OpenNews: Релиз Mesa 17.2.0
Обсуждение (14 +27) | Тип: Программы |
07.12.2018 Microsoft официально объявил о переходе Edge на движок Chromium (160 –7)
  Компания Microsoft официально подтвердила информацию о переводе браузера Edge на движок Chromium. Название браузера будет сохранено. Новый вариант Edge будет подготовлен для всех поддерживаемых настольных платформ Windows. В дальнейшем планируется создание версии для других платформ, таких как macOS. Первый тестовый выпуск Edge на движке Chromium ожидается в начале 2019 года. В процессе работы над браузером Microsoft присоединится к разработке Chromium и будет возвращать в проект создаваемые для Edge улучшения и исправления.

Компания Mozilla считает, что переход Edge на движок Chromium негативно скажется на Web из-за снижения конкуренции на рынке браузеров и уменьшения выбора альтернатив. Именно конкуренция между продуктами Microsoft, Google и Mozilla послужила основным стимулом для расширения функциональности браузеров и становления современных Web-технологий в последние 10 лет. Переход Microsoft на Chromium сделает данный движок окончательно доминирующим на рынке.

С одной стороны это уменьшит фрагментацию в Web и упростит жизнь web-разработчикам, которым не придётся адаптировать свои продукты к особенностям разных браузеров, но с другой стороны создаст опасность замедления развития и затруднит продвижения инноваций (например, если раньше новшество могло появиться в Edge и его подхватывали другие браузеры, то теперь в качестве альтернативы остаётся только Firefox).

Несмотря на то, что проект Chromium является свободным и в его разработке может принимать участие любой желающий, инфраструктура по разработке Chromium и процесс принятия решений полностью контролируется компанией Google. Представители Mozilla опасаются, что применение Chromium в качестве основы для большинства браузеров даст возможность одной компании контролировать всю online-инфраструктуру.

Возникают риски по навязыванию web-разработчикам или компаниям определённых технологий (например, в Chrome уже попытались уйти от показа традиционного URL в адресной строке, что выгодно для создания иллюзии обращения напрямую к сайту при применении продвигаемой Google технологии AMP (Accelerated Mobile Pages)).

Также существует опасность повторения кризиса и застоя, наблюдаемого во времена монополии Internet Explorer. Когда 90% всех браузеров построены на основе одного движка, Web-разработчикам проще полагаться при разработке только на один движок и использовать его специфичные возможности, не рассматривая вопрос совместимости с альтернативами. Частично подобное поведение уже наблюдается в области мобильных web-приложений, для которых разработчики часто применяют экспериментальные тестовые возможности с префиксом "-webkit-", не считаясь со стандартами и не утруждая себя обеспечением совместимости с менее популярными движками.

  1. Главная ссылка к новости
  2. OpenNews: Microsoft заменит Edge браузером на основе свободного движка Chromium
  3. OpenNews: Настольные и мобильные версии браузера Opera мигрируют на WebKit и Chromium
  4. OpenNews: Microsoft считает, что WebKit повторяет опыт IE6 и разрушает идею web-стандартов
  5. OpenNews: Google намерен уйти от показа традиционного URL в адресной строке Chrome
  6. OpenNews: Firefox будет поддерживать нестандартные элементы CSS, специфичные для WebKit
Обсуждение (160 –7) | Тип: Тема для размышления | Интересно
07.12.2018 Фонд СПО признал Hyperbola полностью свободным дистрибутивом (76 +12)
  Фонд свободного ПО объявил о включении Hyperbola GNU/Linux-libre в список полностью свободных дистрибутивов. Hyperbola основан на срезах пакетной базы Arch Linux с переносом из Debian некоторых патчей для повышения стабильности и безопасности. Дистрибутив включает только свободные приложения, в том числе поставляется с ядром Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Сборки Hyperbola формируются для архитектур i686 и x86_64. Возможна миграция на Hyperbola существующих окружений на базе Arch Linux.

Проект развивается в соответствии с принципом KISS (Keep It Simple Stupid) и нацелен на предоставление пользователям простого, легковесного, стабильного и безопасного окружения. Репозиторий проекта насчитывает 5874 пакета. В качестве системы инициализации используется sysvinit с портированием некоторых наработок от проектов Devuan и Parabola (разработчики Hyperbola являются противниками systemd). Для блокирования установки несвободных пакетов применяется чёрный список и блокировка на уровне конфликта зависимостей. Установка пакетов из AUR не поддерживается.

При создании проекта главной идее было создание стабильного варианта Arch Linux. В отличие от rolling-модели обновлений Arch Linux, в Hyperbola применяется классическая модель формирования релизов с длительным циклом выпуска обновлений для уже выпущенных версий (например, сформированный в 2017 году первый выпуск будет поддерживаться до 2022 года). Релиз формируется на основе определённого среза состояния Arch, который дополнительно стабилизируется. При сопровождении применяется портирование исправлений из дистрибутива Debian.

Основные требования к полностью свободным дистрибутивам:

  • Включение в состав дистрибутива ПО с одобренными FSF лицензиями;
  • Недопустимость поставки бинарных прошивок (firmware) и любых бинарных компонентов драйверов;
  • Непринятие неизменяемых функциональных компонентов, но возможность включения нефункциональных, при условии разрешения копировать и распространять их в коммерческих и некоммерческих целях (например, CC BY-ND-карты к GPL-игре);
  • Недопустимость использования торговых марок, условия использования которых мешают свободному копированию и распространению всего дистрибутива или его части;
  • Соблюдение лицензионной чистоты документации, недопустимость документации, рекомендующей установку проприетарного ПО для решения определённых задач.

В настоящее время помимо Hyperbola в список полностью свободных дистрибутивов GNU/Linux включены следующие проекты:

    gNewSense - основан на пакетной базе Debian GNU/Linux и развивается Фондом СПО при личном участии Ричарда Столлмана;
  • Dragora - независимый дистрибутив, пропагандирующий идею максимального упрощения;
  • ProteanOS - обособленный дистрибутив, развивающийся в направлении достижения как можно более компактного размера;
  • Dynebolic - специализированный дистрибутив для обработки видео и аудио данных;
  • Parabola GNU/Linux - дистрибутив, основанный на наработках проекта Arch Linux;
  • PureOS - основан на пакетной базе Debian и разрабатывается компанией Purism, развивающей смартфон Librem 5 и выпускающей ноутбуки, поставляемые с данным дистрибутивом и прошивкой на базе CoreBoot;
  • Musix GNU+Linux - основанный на Knoppix дистрибутив, предназначенный для создания и обработки звука;
  • Trisquel - основанный на Ubuntu специализированный дистрибутив для небольших предприятий, домашних пользователей и образовательных учреждений;
  • Ututo - GNU/Linux дистрибутив, построенный на базе Gentoo.
  • libreCMC (libre Concurrent Machine Cluster), специализированный дистрибутив, рассчитанный на использование во встраиваемых устройствах, таких как беспроводные маршрутизаторы.
  • GuixSD - основан на пакетном менеджере Guix и системе инициализации GNU Shepherd (ранее известной как GNU dmd), написанными на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов.
\

  1. Главная ссылка к новости
  2. OpenNews: Доступен полностью свободный Linux-дистрибутив Trisquel 8.0
  3. OpenNews: Фонд СПО пересмотрел список приоритетных свободных проектов
  4. OpenNews: Фонд СПО признал ProteanOS полностью свободным дистрибутивом
  5. OpenNews: Манифесту GNU исполнилось 30 лет
Обсуждение (76 +12) | Тип: К сведению |
07.12.2018 Доступен пакетный менеджер GNU Guix 0.16 и дистрибутив GuixSD на его основе (11 +17)
  Проект GNU опубликовал пакетный менеджер GNU Guix 0.16 и построенный на его основе дистрибутив GNU/Linux - GuixSD (Guix System Distribution). Отмечается, что, скорее всего, данный выпуск станет последним перед формированием знакового релиза 1.0, так как все основные цели уже достигнуты. Дистрибутив допускает установку как в качестве обособленной ОС в системах виртуализации и на обычном оборудовании, так и запуск в уже установленных типовых окружениях GNU/Linux. Для загрузки сформированы образы для установки на USB Flash и использования в QEMU (170 Мб). Поддерживается работа на архитектурах i686, x86_64, armv7, aarch64 и mips64el.

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

  • Добавлены новые системные сервисы для ddclient, gitolite, iptables, pcscd, prometheus-node-exporter и varnish;
  • Обновлены версии программ в 1945 пакетах, добавлено 985 новых пакетов. В том числе обновлены версии gcc 8.2.0, ядро linux-libre 4.19.6, bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2, , ocaml 4.07.1, octave 4.4.1, perl 5.28.0, python 3.7.0, rust 1.28.0, r 3.5.1, xorg-server 1.20.3;
  • Добавлен модуль "guix channels", предоставляющий возможность подключения к сторонним репозиториям пакетов (каналам). Поддержка каналов добавлена в команду "guix pull". Список каналов задаётся через файл ~/.config/guix/channels.scm;
  • Добавлена команда "guix pull --profile" для выбора активного профиля (по умолчанию ~/.config/guix/current), позволяющая наладить параллельную работу с несколькими ревизиями;
  • Добавлен модуль "guix describe" и одноимённая команда для отображения используемых ревизий и каналов;
    
       $ guix describe
       Generation 10	Sep 03 2018 17:32:44	(current)
         guix e0fa68c
           repository URL: https://git.savannah.gnu.org/git/guix.git
           branch: master
           commit: e0fa68c7718fffd33d81af415279d6ddb518f727
    
  • Добавлен модуль "guix inferior" для взаимодействия с другими экземплярами (ревизиями репозитория) Guix, что может применяться, например, для сборки пакета из другой ревизии Guix или отображения различий между ревизиями. Для вывода списка новых и обновлённых пакетов реализована новая команда "guix pull -l", для замены ревизии - "guix repl", а для просмотра запущенных guix-процессов - "guix processes". В Manifest-файлах теперь могут указываться ссылки на произвольные коммиты Guix;
  • В команды для работы с пакетом добавлены опции "--with-branch" и "--with-commit", позволяющие извлечь пакет из Git-репозитория, используя определённую ветку или коммит;
  • В утилитах командной строки обеспечен более наглядный вывод информации с подсвечиванием важных событий. Из вывода команд "guix packagе" и "guix system" исключены логи сборки, а в "guix build" выделены цветом важные события при сборке;
  • Добавлен модуль с поддержкой архива Software Heritage и возможностью выполнения через него операций "git checkout". В дополнение к поддержке повторяемых сборок, позволяющих убедиться в тождественности бинарной сборки эталонным исходным текстам, добавлена возможность повторяемой загрузки исходных текстов. В случае, если репозиторий из которого собран пакет перестал существовать, теперь код можно загрузить из архива Software Heritage;
  • URL с репозиторием для загрузки уже собранных бинарных пакетов (substitute URL) изменён на https://ci.guix.info;
  • Сервисный менеджер GNU Shepherd обновлён до версии 0.5.0, в которой добавлена возможность определения замены сервисов, обеспечен перезапуск всех зависимых сервисов при перезапуске родительского сервиса и реализована функциональность для определения собственных действий в сервисах. В команде "guix system reconfigure" добавлена поддержка загрузки замен сервисов, определённых в Shepherd;
  • Добавлены команды "herd schedule mcron" и "herd statistics nscd" доя отображения запланированных в cron заданий и статистики DNS-сервера nscd;
  • В команды "guix import pypi", "guix import hackage" и "guix import stackage" добавлена опция "--recursive" для выполнения рекурсивных запросов;
  • В число обязательных зависимостей к Guix включены модули Guile-Gcrypt и Guile-JSON;
  • В дистрибутиве обеспечена самодостаточная сборка (bootstrap) компилятора Rust (пакет mrustc) из исходных текстов;
  • Добавлен модуль "guix status" для формирования индикатора прогресса выполнения операций;
  • Добавлены новые сборочные системы: clojure и guile.

Напомним, что пакетный менеджер GNU Guix основан на наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие возможности, как выполнение транзакционных обновлений, возможность отката обновлений, работа без получения привилегий суперпользователя, поддержка привязанных к отдельным пользователям профилей, возможность одновременной установки нескольких версий одной программы, средства уборки мусора (выявление и удаление неиспользуемых версий пакетов). Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme.

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

Сборочное окружение для пакетов формируется в виде контейнера, содержащего все необходимые для работы приложений компоненты, что позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Между пакетами Guix возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное дерево директорий или поддиректорию в каталоге пользователя, что позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и обеспечить поддержку широкого спектра существующих дистрибутивов. Например, пакет устанавливается как /nix/store/f42d4878f3a0b426064a6a54a0c6f92-firefox-63.0.0/, где "f42d48..." является уникальным идентификатором пакета, используемым для контроля зависимостей.

Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Для сборки применяется GCC 8. В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов. Базовый образ поддерживает работу в консольном режиме, но для установки подготовлено 8715 готовых пакетов, среди которых и компоненты графического стека на базе X.Org, оконные менеджеры dwm и ratpoison, а также ряд программ на базе библиотеки GTK+.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системы инициализации GNU Shepherd 0.5
  3. OpenNews: Выпуск GNU Mes 0.17, инструментария для самодостаточной сборки дистрибутивов
  4. OpenNews: Доступен пакетный менеджер GNU Guix 0.15 и дистрибутив GuixSD на его основе
  5. OpenNews: Доступен полностью свободный Linux-дистрибутив Trisquel 8.0
  6. OpenNews: Выпуск дистрибутива NixOS 18.09, использующего пакетный менеджер Nix
Обсуждение (11 +17) | Тип: Программы |
07.12.2018 Mozilla подготовит версию Firefox, оптимизированную для архитектуры ARM64 (40 +29)
  Компания Mozilla объявила о сотрудничестве с компанией Qualcomm в области оптимизации Firefox для архитектуры ARM64 и платформы Snapdragon. В результате планируется подготовить специально адаптированную для архитектуры ARM64 сборку Firefox, в которой для достижения максимальной производительности и эффективного энергосбережения будут использоваться все предоставляемые многоядерной платформой Snapdragon возможности и средства ускорения. Также планируется начать формирование ARM64-сборок Firefox для Windows 10.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Firefox Reality 1.1, браузера для устройств виртуальной реальности
  3. OpenNews: Новый этап тестирования DNS поверх HTTPS в Firefox
  4. OpenNews: В Firefox 64 появится встроенный менеджер задач
  5. OpenNews: В Firefox 65 будет переработан интерфейс настройки блокировки контента
  6. OpenNews: В ночные сборки Firefox добавлена поддержка Wayland
Обсуждение (40 +29) | Тип: К сведению |
06.12.2018 Релиз языка программирования PHP 7.3 (116 +7)
  После года разработки представлен релиз языка программирования PHP 7.3. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость.

Ключевые улучшения в PHP 7.3:

  • Реализован гибкий синтаксис многострочной вставки (строки heredoc и nowdoc), не требующий обязательного перевода строк после маркера окончания блока и допускающий выравнивание отступами;
  • Добавлена поддержка назначения ссылок в list(): теперь поддерживается синтаксис "list($a, &$b) = $array;", эквивалентный присвоению "$a = $array[0]; $b =& $array[1];". Предложен также упрощённый синтаксис присвоения, позволяющий указывать вместо "list()" квадратные скобки, например "[$a, &$b] = $array;"
  • При вызове функций и методов теперь допускается оставление запятых в конце списка аргументов, например, "unset($foo, $bar, $baz,)";
  • Расширение PCRE переведено на ветку PCRE2;
  • Выражение "instanceof" теперь допускает указание литералов в качестве первого операнда (в такой ситуации результат всегда будет FALSE);
  • Добавлено новое исключение CompileError, наследуемое от ParseError и генерирующее для некоторых типов ошибок перехватываемое событие CompileError вместо фатальной ошибки;
  • Значительно расширены возможности и увеличена производительность дополнения MBString, в том числе добавлены полноценные средства для манипуляций с регистром символов (MB_CASE_LOWER, MB_CASE_UPPER, MB_CASE_TITLE, MB_CASE_FOLD и т.п.), до версии 11 обновлена поддержка спецификаций Unicode, добавлена поддержка строк, размером больше 2 Гб, в функциях mb_ereg_*() добавлена поддержка именованного захвата элементов. Объявлены устаревшими вызовы mbereg_*(), вместо которых следует использовать corresponding mb_ereg_*();
  • В SAPI-модуль FPM добавлены новые глобальные опции log_limit и log_buffering для ограничения размера выводимой в лог строки и включения режима записи в лог без буферизации. Также добавлена опция decorate_workers_output, позволяющая отключить декорирование вывода от рабочих процессов при активации режима catch_workers_output;
  • В расширении LDAP в большинстве функций, таких как ldap_add и ldap_read, появился параметр serverctrls для отправки на сервер дополнительных сообщений (LDAP Controls - механизм расширения операций LDAP и передачи дополнительной информации вместе с запросом), а в ldap_parse_result для получения клиентом дополнительных сообщений от сервера. Налажена поддержка режимов LDAP_OPT_SERVER_CONTROLS и LDAP_OPT_CLIENT_CONTROLS в функциях ldap_get_option и ldap_set_option;
  • В заголовок страницы phpinfo(), добавлено отображение переменной PHP_VERSION;
  • В расширение Date добавлен метод DateTime::createFromImmutable();
  • В расширение GD в функции imagecreatefromstring() появилась поддержка создания изображений в формате WebP;
  • При сборке с опцией configure --with-password-argon2 в функциях password_hash(), password_verify(), password_get_info() и password_needs_rehash() обеспечена поддержка алгоритмов хэширования паролей Argon2i и Argon2id;
  • Добавлена функция hrtime() для вывода значения времени (число секунд и наносекунд) на основании показаний монотонного таймера, отражающего неразрывно увеличивающееся время, прошедшее с определённого момента в прошлом;
  • Представлена новая функция net_get_interfaces() для получения информации о доступных сетевых интерфейсах;
  • Улучшена работа сборщика мусора;
  • Переписана на PHP утилита ext_skel (генерирует шаблоны кода дополнений), для запуска которой теперь не нужно дополнительных зависимостей и её можно запускать в том числе в Windows ('php ext_skel.php');
  • Объявлено устаревшим определение имён констант не чувствительных к регистру (определялись при помощи указания в define специального флага).
  • Приведены к соответствию с поведением Unix операции открытия файлов в Windows: файловые дескрипторы теперь по умолчанию открываются в Windows в режиме, допускающем чтение, запись и удаление (открытые файлы теперь можно удалить);
  • Прекращена поддержка платформы BeOS.

  1. Главная ссылка к новости
  2. OpenNews: Релиз языка программирования PHP 7.2
  3. OpenNews: Уязвимость, позволяющая удалённо выполнить код на сервере PHP-репозитория Packagist
  4. OpenNews: В PHPMailer выявлена ещё одна критическая уязвимость, вызванная недоработкой в PHP
  5. OpenNews: Уязвимость в движке для создания форумов phpBB
  6. OpenNews: Доступен Composer 1.0.0, менеджер зависимостей для PHP
Обсуждение (116 +7) | Тип: Программы |
06.12.2018 Релиз фреймворка Qt 5.12 и среды разработки Qt Creator 4.8.0 (97 +19)
  После полугода разработки подготовлен релиз кроссплатформенного фреймворка Qt 5.12. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3. Ветка 5.12 отнесена к категории выпусков с длительным сроком поддержки (LTS), обновления для которой будут формироваться в течение трёх лет.

При подготовке новой версии основное внимание было уделено обеспечению высокого качества работы и стабильности. По сравнению с прошлой LTS-веткой в Qt 5.12 устранено более 2000 ошибок. Основные новшества:

  • В число полностью поддерживаемых переведён набор модулей "Qt for Python" для создания графических приложений на языке Python с использованием Qt5 (разработчикам на языке Python предоставляется доступ к большей части C++ API Qt). Qt for Python основан на модуле PySide2 и продолжает его развитие (по сути под новым именем предлагается первый выпуск PySide с поддержкой Qt 5);
  • Подготовлена вторая экспериментальная версия модуля "Qt for WebAssembly", который позволяет компилировать графические приложения на базе Qt в виде модулей на WebAssembly, которые можно запускать непосредственно в web-браузере. Для компиляции применяется Emscripten. OpenGL транслируется в WebGL;
  • Обеспечена полная поддежка модуля Qt Remote Objects, позволяющем обмениваться данными через IPC-вызовы между процессами на базе Qt. Поддерживается передача свойств и отправка другим процессам сигналов и слотов QObject;
  • Обеспечена полная поддержка модуля Qt WebGL Streaming Plugin, позволяющего по сети транслировать состояние интерфейса приложения для просмотра в любом современном браузере;
  • Внесены значительные изменения в JavaScript-движок, используемый для выполнения сценариев QML. Обеспечена поддержка стандарта ECMAScript 7 (ранее поддерживался ECMAScript 5), что дало возможность использовать представленные в последние годы новые возможности JavaScript и упростить интеграцию с JavaScript-библиотеками. Например добавлена поддержка JavaScript-модулей, которые можно загружать как из QML, так из кода на C++;
  • В Qt Quick добавлена поддержка элемента TableView в качестве высокопроизводительной альтернативы ItemView, способной отображать сразу несколько столбцов;
  • Появившиеся в прошлом выпуске обработчики Pointer Handlers переименованы в Input Handlers и предложены в Qt Quick как полноценно поддерживаемая возможность. Указанные обработчики упрощают создание сложных взаимодействий с тачпадом, которые трудно обработать по отдельности при помощи MouseArea и TouchArea. В том числе добавлено два новых обработчика Input Handlers для удержания и перетаскивания элементов;
  • В Qt Quick добавлена поддержка использования заранее сгенерированных текстур для полей ввода, которые включают глифы, необходимые для отображения текста. Генерация подобных текстур на этапе компиляции позволяет сократить время запуска приложения на маломощных устройствах;
  • В Qt Core добавлена поддержка бинарного формата CBOR (Concise Binary Object Representation), похожего на JSON, но более гибкого и позволяющего использовать значительно больше типов данных;
  • В класс QRegularExpression добавлена поддержка сопоставления по маскам (wildcard), что позволило полностью перевести старый класс QRegExp в разряд устаревших;
  • В Qt Network добавлена поддержка DTLS поверх UDP. В окружениях macOS и iOS обеспечена возможность использования ALPN и HTTP/2 через бэкнд TransportSecurity, а в базовый бэкенд SSL добавлена поддержка PKCS#8;
  • В QGradient добавлена большая порция предопределённых градиентов, основанных на наработках webgradients.com;
  • В QImage добавлена поддержка изображений в формате RGBA64 (16 бит на цветовой канал). Подобные изображения могут быть прочитаны из файлов PNG и TIFF или загружены через OpenGL;
  • В Qt for Automation обновлены модули с поддержкой протоколов для управления домашней автоматизацией MQTT и KNX. Добавлен экспериментальный модуль с поддержкой промышленного коммуникационного стандарта OPC/UA;
  • Для виртуальной клавиатуры подготовлено 13 дополнительных раскладок клавиатуры и добавлена поддержка распознавания рукописного ввода с использованием технологий MyScript;
  • Движок Qt WebEngine обновлён до состояния Chromium 69 и получил поддержку клиентских сертификатов;
  • Проведена большая работа по снижению потребления памяти и оптимизации производительности при использовании QML и Qt Quick. По сравнению с прошлым LTS-релизом потребление памяти QML-движком в тестовом приложении, использующем Qt Quick Controls, снизилось на 30%, а производительность возросла в среднем на 21%.



Одновременно подготовлен выпуск интегрированной среды разработки Qt Creator 4.8.0, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками.

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

  • Добавлена поддержка протокола LSP (Language Server Protocol) для подключения к серверным обработчикам, реализующим поддержку различных языков программирования. При использовании LSP на сторону сервера выносятся все базовые операции поддержки языка программирования, связанные с разбором семантики языка, такие как автодополнение кода, анализ опечаток, поиск ссылок, построение карты определений переменных и функций для быстрого перехода. Подключение обработчиков для дополнительный языков осуществляется через плагин LanguageClient (Help > About Plugins).
  • До состояния LLVM 7.0 обновлён построитель модели кода для языка С++, основанный на Clang. Добавлена возможность применения операции "Follow Symbol" для определений с ключевым словом "auto". В подсказке, вводимой системой автодополнения для функций, теперь отображаются доступные перезагрузки параметров. Добавлена поддержка экспорта модели кода в форме БД для компилции (Build > Generate Compilation Database);
  • Добавлен плагин автоматического форматирования кода ClangFormat;
  • Реализована поддержка интеграции в редактор диагностики, сгенерированной утилитой Cppcheck;
  • Реализован плагин CompilationDatabaseProjectManager, позволяющий открывать БД компиляции (список файлов и флагов для их сборки) как проекты;
  • Добавлена поддержка одновременного запуска нескольких отладчиков и переключения между ними через меню в панели, появляющейся в режиме отладки.

  1. Главная ссылка к новости
  2. OpenNews: Проект Qt прекращает разработку сборочной системы Qbs в пользу CMake
  3. OpenNews: Проект Qt представил среду разработки Qt Design Studio 1.0
  4. OpenNews: Выпуск интегрированной среды разработки Qt Creator 4.7.0
  5. OpenNews: Начальный план разработки Qt 6
  6. OpenNews: Релиз фреймворка Qt 5.11
Обсуждение (97 +19) | Тип: Программы |
Следующая страница (раньше) >>


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