| · | 14.07.2026 | Сравнение отзывчивости ввода в X11 и Wayland (26 +8) |
|
Опубликованы результаты тестирования задержек при использовании устройств ввода в играх, запускаемых в окружениях на базе X11 и Wayland. Дополнительно оценено влияние включения адаптивного изменения частоты обновления экрана (VRR, variable refresh rate) и использования вместо DXVK форка dxvk-low-latency с оптимизациями для снижения задержек. Тестирование подтвердило встречающиеся в среде игроков мнение, что окружения на базе X11 позволяют добиться более высокой отзывчивости ввода, чем при использовании Wayland. Также подтверждено благотворное влияние на отзывчивость включения VRR и применения dxvk-low-latency.
Измерение задержек проведено с использованием самодельного аппаратного устройства на базе микроконтроллера Raspberry Pi RP2040 и фотодиода, которое симулирует USB-мышь и измеряет время между генерируемым кликом и изменением яркости экрана. Тестирование осуществлялось на компьютере с CPU AMD Ryzen 7 5800X3D и GPU NVIDIA GeForce RTX 4070 SUPER. В качестве дистрибутива использовался CachyOS с ядром Linux 7.1.3, проприетарным драйвером NVIDIA 610.43.03 и рабочим столом KDE Plasma 6.7.2. Измерение производилось в Windows-игре Diabotical на базе графического API DirectX 11, запускаемой через пакет Proton 11.0. Во всех тестах позиция игрока и состояние игры повторялись, в игре также были отключены боты и не выполнялось перемещение игрока. В каждом тесте выполнялось три итерации по 100 симулированных кликов. Каждый автоматизированный клик скрывал HUD-интерфейс с белым фоном, что приводило к большому изменению ярости, фиксируемому самодельным измерителем. Наименьших задержек удалось добиться в сочетании X11 с VRR и dxvk-low-latency - 4.21 мс. На втором месте оказалась конфигурация Wayland + VRR + dxvk-low-latency - 4.38 мс. Средняя задержка при использовании чистого X11 составила 4.79 мc, а Wayland - 4.93 мс. Разница в 0.14 и 0.22 мс отмечена как слишком незначительная для распознавания игроками. Предполагается, что благодаря инициативам по оптимизации KWin отставание Wayland от X11 в ближайшее время сократится. ![]() VRR и dxvk-low-latency несущественно снижают задержки, но помимо задержек их применение сужает разброс значений, сглаживает пики производительности, выравнивает FPS и делает задержки более предсказуемыми в реальных условиях, в которых нагрузка на GPU и CPU постоянно меняется. Наихудшие показатели оказались у XWayland - 8.06 мс и связки XWayland c dxvk-low-latency - 5.95 мс. Разница в задержках при использовании XWayland уже более заметная, поэтому в пользовательских окружениях на базе Wayland рекомендуется запускать Proton с включением экспериментальной поддержки Wayland, активируемой через выставление переменной окружения "PROTON_ENABLE_WAYLAND=1".
| ||
|
Обсуждение (26 +8) |
Тип: К сведению |
| ||
| · | 14.07.2026 | Firefox переходит на двухнедельный цикл подготовки релизов (34 –2) |
|
Сильвестр Ледрю (Sylvestre Ledru), директор по инжинирингу в Mozilla, объявил о переходе на двухнедельный цикл подготовки релизов Firefox. Начиная с сентября новые выпуски будут формироваться каждые две недели, а не раз в 4 недели. Изменение уже отражено в графике подготовки релизов: последним с 4-недельным циклом разработки станет Firefox 154, намеченный на 18 августа. Далее через 2 недели 1 сентября выйдет Firefox 155, 15 сентября - Firefox 156, 29 сентября - Firefox 157.
Сокращение цикла подготовки релизов преподносится как эксперимент, нацеленный на более частое доведение новых возможностей до пользователей, обеспечение более предсказуемого процесса формирования релизов и снижение нагрузки на разработчиков перед релизами. При разработке можно будет снисходительней относиться к доведению незавершённых возможностей до готовности и тратить на выполнение работы столько времени, сколько требуется, не создавая дедлайны. Эффективность сокращения цикла разработки планируют пристально отслеживать и при необходимости откорректировать. В марте о переходе на двухнедельный цикл разработки Chrome объявила компания Google, не меняя при этом цикл публикации сборок Extended Stable (раз в 8 недель), Dev (1-2 раза в неделю) и Canary (ежедневно). Сокращённый цикл разработки Chrome начнёт действовать 8 сентября, после формирования по старому графику выпуска Chrome 153. Целью сокращения цикла разработки Chrome называется желание быстрее публиковать новые возможности, исправления ошибок и оптимизации. Предполагается, что более частая публикация релизов не повлияет на качество, снизит риск сбоев при обновлении и упростит отладку, так как в каждом выпуске будет предлагаться меньше изменений.
| ||
|
Обсуждение (34 –2) |
Тип: К сведению |
| ||
| · | 14.07.2026 | Анализ безопасности 281 VPN-приложения для Android (16 +31) |
Исследователи из Мичиганского университета разработали инструментарий MVPNalyzer для выявления утечек информации и анализа работы VPN, и проверили с его помощью 281 VPN-приложение для платформы Android. Для изучения были отобраны наиболее популярные VPN-приложений, распространяемые через каталог Google Play. VPN-приложения, в которых были выявлены те или иные проблемы с безопасностью и приватностью, в сумме насчитывают 2.4 миллиарда установок. Основные выводы:
| ||
|
Обсуждение (16 +31) |
Тип: Проблемы безопасности |
| ||
| · | 13.07.2026 | Инициатива по упрощению тестирования экспериментальных версий программ в GNOME OS (25 –11) |
|
Разработчики GNOME OS, дистрибутива для разработчиков и тестировщиков GNOME, представили инициативу по созданию инструментария для упрощения тестирования экспериментальных версий программ в дистрибутивах, распространяемых в форме атомарно обновляемых монолитных системных образов. Развиваемый инструментарий GNOME OS Developer Tool Suite позволит собирать, распространять и тестировать расширения к дистрибутивам, поставляемым в форме системных образов. Инструментарий даст возможность разработчикам и тестировщикам изменять части системы и тестировать вносимые изменения, не нарушая при этом монолитность системного образа, не используя изолированные от системы контейнеры и не отключая механизмы обеспечения безопасности.
В составе инструментария развивается графический интерфейс "Test Center", позволяющий управлять вносимыми в систему экспериментальными изменениями, а также будет создан online-репозиторий для распространения экспериментальных изменений. В качестве примеров подобных изменений приводится задействование в монолитных дистрибутивах экспериментальных версий программ и системных компонентов. Отмечается, что применение пакетов в формате Flatpak решает задачу установки дополнительных программ в монолитных дистрибутивах, но не подходит для тестирования нестабильных версий программ в системе из-за излишнего усложнения процесса работы с тестовыми версиями для обычных пользователей и оставления в системе установленных компонентов до их ручного удаления. Test Center позволит устанавливать экспериментальные версии приложений по ссылке от разработчика. Установленные через Test Center приложения специально помечаются в системе как экспериментальные и привязываются ко времени проведения тестирования, после истечения которого автоматически удаляются. ![]() Экспериментальные системные изменения реализованы в Test Center при помощи инструментария systemd-sysext, предназначенного для создания и установки образов с системными расширениями, подключаемыми в форме оверлеев, накладываемых поверх системы. Подобные оверлеи в любой момент можно откатить и после тестирования изменения вернуться к исходному состоянию системы. Попутно совместно с разработчиками Flatpak ведётся работа по организации установки дополнительных консольных утилит, не входящих в базовый системный образ. В текущем виде Flatpak ориентирован на установку графических программ и мало подходит для распространения консольных приложений.
| ||
|
Обсуждение (25 –11) |
Тип: К сведению |
| ||
| · | 13.07.2026 | Первый стабильный выпуск IncidentRelay, системы для организации дежурств и маршрутизации оповещений (71 +11) |
|
После пяти месяцев разработки опубликован выпуск проекта IncidentRelay 1.1, развивающего открытую систему для организации дежурств, маршрутизации оповещений и сопровождения инцидентов, запускаемую на собственном сервере (self-hosted). IncidentRelay 1.1 отмечен как первый стабильный выпуск (ветка 1.0 имела статус бета-версии). Проект ориентирован на SRE, DevOps и инфраструктурные команды, которым требуется локально разворачиваемая альтернатива SaaS-сервисам для управления дежурством (on-call management), применения политик эскалации и реагирования на инциденты. Код проекта написан на Python и распространяется под лицензией MIT.
IncidentRelay принимает события из систем мониторинга, сопоставляет их с сервисом, командой и ротацией, после чего доставляет уведомления ответственным дежурным или командам. В системе реализованы расписания дежурств, ротации, переопределения смен, подтверждение получения инцидента, состояния ACK/Resolve, напоминания, эскалации, временные замены дежурных, определение времени плановых работ и подавление шумных алертов. Основное преимущество проекта - полный контроль над инфраструктурой и логикой маршрутизации. IncidentRelay разворачивается в своей среде, работает со своей базой данных и позволяет явно разделить входящие маршруты, команды, ротации и каналы доставки. Входящие токены принадлежат маршрутам, а не каналам, поэтому проще понять, какой внешний источник имеет право отправлять события в конкретную команду. В IncidentRelay поддерживается приём событий из Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch и произвольных webhook-ов. Для отправки уведомлений предусмотрены каналы Mattermost, Slack, Telegram, Discord, Microsoft Teams, email, webhook-и, browser/PWA push и провайдеры голосовых вызовов. В Mattermost и Telegram уведомления могут содержать действия для подтверждения и решения проблемы, что позволяет обрабатывать инцидент без перехода в отдельный интерфейс. Проект можно запускать через Docker Compose, RPM-пакет для Red Hat-подобных дистрибутивов, вручную через systemd, а также в Kubernetes с помощью Helm-чарта. Для небольших инсталляций можно использовать SQLite, для рабочих чистем и более высокой нагрузки рекомендуется PostgreSQL. В новой версии предложены следующие изменения:
![]() ![]()
| ||
| · | 13.07.2026 | Бета-версия офисного пакета LibreOffice 26.8 (56 +26) |
|
Организация The Document Foundation объявила о начале бета-тестирования офисного пакета LibreOffice 26.8. Готовые установочные пакеты подготовлены для различных дистрибутивов Linux, Windows и macOS. Релиз состоится 18-20 августа.
Среди изменений:
| ||
|
Обсуждение (56 +26) |
Тип: Программы |
| ||
| · | 12.07.2026 | Открыт код Chatto, платформы для создания групповых чатов (62 +12) |
|
Чат-платформа Chatto, предназначенная для организации общения в сообществах и командах разработчиков, переведена в разряд открытых проектов. Платформа оптимизирована для достижения максимальной отзывчивости интерфейса, минимального потребления ресурсов бэкендом и простоты развёртывания на своём сервере инфраструктуры для групповых чатов, не зависящей от внешних сервисов. На стороне пользователей доступ осуществляется из браузера через web-интерфейс. Код написан на языке Go и открыт под лицензией AGPLv3.
Все персональные данные и история общения в чатах хранится в зашифрованном виде с использованием ключей, привязанных к отдельным пользователям. Помимо текстового чата поддерживаются голосовые и видео вызовы, встраивание мультимедийных сообщений, трансляция содержимого экрана и сквозное шифрование сообщений. Платформа также поддерживает полнотекстовый поиск, предпросмотр ссылок на внешний контент, определение присутствия пользователей, возможность выставления статусов и управление доступом на основе ролей. Для добавления дополнительной функциональности и кастомизации платформы могут использоваться подключаемые дополнения. Возможна организация централизованного входа (SSO) и интеграция с корпоративными системами через API GraphQL и NATS. Установка осуществляется через запуск самодостаточного исполняемого файла, размером около 70 МБ, не требующего установки дополнительных зависимостей и внешней СУБД. Состояние проекта оценивается как достаточно стабильное для рабочих применений, но не вся задуманная функциональность пока реализована. Например, в следующей версии Chatto 0.5 намерены интегрировать возможности для модерирования и отправки жалоб о недопустимом содержимом, а также добавить в клиентскую часть поддержку подключения к нескольким серверам. Через 6-12 месяцев планируют опубликовать релиз Chatto 1.0.0, до формирования которого не исключается внесение изменений, нарушающих обратную совместимость. ![]()
| ||
|
Обсуждение (62 +12) |
Тип: Программы |
| ||
| · | 11.07.2026 | Новые версии Debian 12.15 и 13.6. Debian 12 переведён на стадию LTS-сопровождения (56 +19) |
|
Сформировано шестое корректирующее обновление дистрибутива Debian 13, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 124 обновления с устранением проблем со стабильностью и 120 обновлений с устранением уязвимостей.
Из изменений в Debian 13.6 можно отметить обновление прослойки shim-signed, используемой для верифицированной загрузки в режиме UEFI Secure Boot. Прослойка обновлена в связи с истечением времени жизни сертификата Microsoft, применяемого для заверения цифровой подписью загрузчика. Новая версия пакета заверена сертификатом Microsoft UEFI CA, выпущенным в 2023 году. Попутно обновлён до версии 2.0.20 инструментарий для загрузки прошивок fwupd. В новой версии появилась возможность обновления БД удостоверяющих центров, формирующих сертификаты для Secure Boot, а также БД заслуживающих доверия открытых ключей (KEK, Key Exchange Key) и список отозванных ключей (DBX). Пользователям рекомендуется обновить указанные БД, используя обновление прошивки от производителя оборудования. Из-за проблем с лицензией пакет "geoip-database", содержащий БД GeoLite для определения местоположения по IP-адресам, заменён на устаревшую версию, сформированную ещё в декабре 2019 года, что может привести к потере актуальности результатов определения местоположения в приложениях. Более новую версию БД невозможно поставлять в составе дистрибутива из-за несовместимости с применяемыми в Debian требованиями к лицензиям. Для получения актуальных данных следует загружать БД GeoLite напрямую. Из изменений также можно отметить обновление до свежих стабильных версий пакетов postfix, samba, wireless-regdb и wireshark. Для загрузки и установки "с нуля" в ближайшие часы будут подготовлены установочные сборки c Debian 13.6. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 13.6, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.
Одновременно доступен новый выпуск предыдущей стабильной ветки Debian 12.15, в который включено 88 обновлений с устранением проблем со стабильностью и 97 обновлений с устранением уязвимостей. Это последнее штатное обновление ветки Debian 12, у которой завершён основной трёхлетний цикл сопровождения, осуществляемый командами Debian Release Team, Debian Security Team и Debian Backports. В дальнейшем обновления с устранением уязвимостей для Debian 12 будут выпускаться в рамках программы расширенной поддержки (LTS), которая продлится до 30 июня 2028 года. Штатное сопровождение актуальной ветки Debian 13 продлится до 9 августа 2028 года, после чего для данной ветки до 30 июня 2030 года будет обеспечен выпуск LTS-обновлений. Выпуск обновлений для LTS-ветки осуществляется отдельной группой разработчиков LTS Team, сформированной из энтузиастов и представителей компаний, заинтересованных в длительной поставке обновлений для Debian. Команда LTS Team приняла эстафету от Debian Security Team и продолжила сопровождение Debian 12 без перерыва. Обновления будут выпускаться для архитектур i386, amd64, armhf, arm64, ppc64el. Длительный срок поддержки не будет распространяться на некоторые пакеты, например, на web-приложения для которых невозможно и нет смысла осуществлять поддержку в течение 5 лет (для продолжения использования таких пакетов рекомендуется задействовать бэкпорты). Среди неподдерживаемых пакетов можно отметить chromium, xen, tor, phppgadmin, salt, snort и libreswan, а также все пакеты из секции "games". Проверить наличие в системе неподдерживемых пакетов можно при помощи утилиты check-support-status, входящей в состав пакета debian-security-support. После окончания LTS-поддержки для Debian 12 будет доступна программа расширенного LTS ("Extended LTS"), в рамках которой компания Freexian намерена до 2033 года выпускать своими силами обновления с устранением уязвимостей в ограниченном наборе пакетов для архитектур amd64, armel и i386. Обновления для веток "Extended LTS" распространяются через внешний репозиторий, поддерживаемый компанией Freexian. Доступ бесплатный для всех желающих, а спектр поддерживаемых пакетов зависит от общего числа спонсоров и интересующих их пакетов.
| ||
|
Обсуждение (56 +19) |
Тип: Программы |
| ||
| · | 11.07.2026 | GhostLock, BadEpoll и Januscape - уязвимости в ядре Linux, позволяющие получить права root и обойти изоляцию KVM (83 +27) |
|
Раскрыта информация об уязвимости (CVE-2026-43499) в ядре Linux, получившей кодовое имя GhostLock и позволяющая непривилегированному локальному пользователю получить права root в системе, а также выйти из изолированных контейнеров. При использовании в сочетании с другими уязвимостями в браузерах, выявленная проблема может применяться для удалённого выполнения кода с правами root при открытии специально оформленной web-страницы. Проблема проявляется начиная с ядра Linux 2.6.39 (2011 год).
Утверждается, что уязвимость может быть эксплуатирована во всех дистрибутивах, выпущенных за последние 15 лет. Имеется рабочий эксплоит, создатели которого получили от Google премию в $92337 за успешное повышение привилегий в окружении с ядром KernelCTF (Capture the Flag), включающем дополнительные патчи для блокирования типовых методов работы эксплоитов. Степень успешности работы эксплоита оценивается в 97%. Уязвимость выявлена при помощи AI-инструментария VEGA. Патч с исправлением принят в кодовую базу ядра 21 апреля и вошёл в состав выпусков ядра 7.1.0, 6.18.36, 6.12.95, 6.6.144 и 6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Обходные пути блокирования проблемы отсутствуют. Уязвимость присутствует в реализации блокировок futex и вызвана обращением к памяти после её освобождения, возникающем при работе механизма наследования приоритетов, предотвращающем инверсию приоритетов (блокировка высокоприоритетной задачи из-за ожидания освобождения ресурса, занятого низкоприоритетной задачей). В ситуации, когда установка блокировки завершается ошибкой, ядро откатывает состояние и вызывает функцию очистки. При определённом стечении обстоятельств функция очистки вызывается не в тот момент и освобождает структуру данных другой задачи, после чего остаётся висячий указатель (dangling pointer), ссылающийся на уже освобождённую память. Эксплуатация уязвимости сводится к созданию условий для возникновения висячего указателя, используя только доступные пользователю системные вызовы для работы с потоками, реализации примитива для записи при помощи висячего указателя в произвольную область памяти ядра и применения этого примитива для подстановки перехода в таблицу функций ядра для перехвата потока управления. В предложенном эксплоите осуществляется перезапись
указателя в таблице функций inet6_protos[IPPROTO_UDP], после чего на loopback-интерфейс по IPv6 отправляется UDP-пакет, при обработке которого осуществляется вызов обработчика, указатель на который был подменён на прошлом этапе. Для получения root-доступа получивший управление код эксплоита прописывает в /proc/sys/kernel/core_pattern
свой обработчик, вызываемый с правами root при крахе процессов.
Помимо рассмотренной проблемы в ядре Linux выявлено ещё несколько опасных уязвимостей:
| ||
|
Обсуждение (83 +27) |
Тип: Проблемы безопасности |
Интересно
| ||
| · | 11.07.2026 | Выпуск libtorrent 2.1 с включением протокола WebTorrent (44 +24) |
|
Доступен выпуск библиотеки libtorrent 2.1, предлагающей реализацию протокола BitTorrent, нацеленную на низкое потребление памяти и эффективное использование ресурсов CPU. Библиотека задействована в таких торрент-клиентах, как Deluge, qBittorrent, Folx, Lince, Miro, Flush и Free Download Manager, а также в некоторых сетевых хранилищах. Код libtorrent написан на языке C++ и распространяется под лицензией BSD.
В новой версии включена по умолчанию поддержка протокола WebTorrent, расширяющего протокол BitTorrent возможностями для создания децентрализованных сетей распространения контента, функционирующих через связывание между собой web-браузеров пользователей, просматривающих контент. Для связывания посетителей сайтов в единую сеть доставки контента достаточно разместить на сайте специальный JavaScript-код, использующий технологию WebRTC для прямого обмена данными между браузерами. Интеграция WebTorrent в libtorrent позволит участвовать в раздаче контента как через стационарные торрент-клиенты, так и через браузеры посетителей сайтов, формируя гибридные сети, комбинирующие BitTorrent и WebTorrent. Торрент-клиенты на основе libtorrent смогут соединяться с работающими в браузерах пирами WebTorrent, например, участвующими в обмене файлами через instant.io. В свою очередь, браузерные клиенты WebTorrent смогут через пользователей стационарных клиентов получить доступ к коллекции торрентов, раздаваемой BitTorrent-пирами поверх TCP/UDP. Помимо включения поддержки WebTorrent в версии libtorrent 2.1 реализован новый бэкенд ввода/вывода pread_disk_io, использующий функции pwritev и preadv, позволяющие атомарно записывать и читать данные сразу в несколько буферов. Новый бэкенд более эффективен при работе с дисковыми накопителями, сетевыми хранилищами и файловыми системами, монтируемыми через FUSE. Для подобных применений pread_disk_io задействован по умолчанию. Для NVMe-накопителей более эффективен и продолжает применяться по умолчанию старый бэкенд, применяющий отображение файлов в память при помощи mmap.
| ||
|
Обсуждение (44 +24) |
Тип: Программы |
| ||
| · | 10.07.2026 | Выпуск Rust 1.97. Написанные на Rust ядро Zinnia и P2P-система Iroh с адресацией по ключам (132 +13) |
|
Опубликован релиз языка программирования Rust 1.97, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io. Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок. Основные новшества:
Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:
| ||
|
Обсуждение (132 +13) |
Тип: Программы |
| ||
| · | 10.07.2026 | Десятый экспериментальный выпуск среды рабочего стола Orbitiny (61 +13) |
|
Опубликован десятый выпуск среды рабочего стола Orbitiny Desktop, написанной с нуля с использованием фреймворка Qt. Проект пытается совместить некоторые инновационные идеи, которые раньше не встречались в пользовательских окружениях, с традиционными элементами, такими как панель с поддержкой плагинов, меню приложений и рабочий стол, на котором можно размещать ярлыки. Работа пока сосредоточена на запуск в окружениях на базе X-сервера, но в будущем не исключается добавление поддержки Wayland. Код написан на языке C++ и распространяется под лицензией GPL.
Из специфичных для Orbitiny возможностей отмечается: вызов действий через экранные жесты (очерчивание мышью определённого контура на пустой области рабочего стола); метки на пиктограммах (показываются для новых, изменённых, пустых или перемещённых через буфер обмена файлов, а также пустых каталогов); возможность вставки файла одновременно в несколько выбранных каталогов; поддержка размещения содержимого рабочего стола в любом каталоге (не только в $HOME/Desktop); использование отдельных десктоп-каталогов для каждого виртуального рабочего стола и монитора. Список типовых возможностей Orbitiny можно посмотреть в прошлом анонсе. ![]() Среди изменений:
| ||
|
Обсуждение (61 +13) |
Тип: Программы |
| ||
| · | 10.07.2026 | pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты (204 –18) |
|
Опубликован проект pgrust с реализацией СУБД PostgreSQL, переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента. Заявлено, что проект пока не готов для использования в рабочих проектах, но уже успешно проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения данных PostgreSQL 18.3 и может использовать data-каталог от PostgreSQL 18.3. Код проекта распространяется под лицензией AGPLv3, в отличие от оригинального PostgreSQL, поставляемого под пермиссивной лицензией PostgreSQL, близкой к лицензиям BSD и MIT. Доступна online-демонстрация возможностей, основанная на сборке в WebAssembly, а также docker-образ для быстрого запуска.
В качестве цели разработки упоминается достижение полной совместимости с PostgreSQL 18.3, а также проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам. Проект успешно проходит набор из более чем 46 тысяч регрессионных тестов PostgreSQL, но пока несовместим с дополнениями к PostgreSQL, не предоставляет желаемых оптимизаций производительности и не полностью реализует процедурные языки PL/Python, PL/Perl и PL/Tcl. Планы на будущее:
По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз. При переводе на Rust использован гибридный подход, при котором код PostgreSQL вначале был обработан при помощи транслятора c2rust, генерирующего unsafe-представление Rust, близкое по своей структуре к изначальному коду на Си. После обработки в c2rust было создано около 1000 crate-пакетов, которые параллельно переводились на идиоматический Rust при помощи AI-модели Claude и инструментария Conductor для распределения задач между одновременно запускаемыми субагентами.
| ||
|
Обсуждение (204 –18) |
Тип: Программы |
| ||
| · | 09.07.2026 | В NPM 12.0 по умолчанию отключён запуск скриптов при установке пакетов (69 +13) |
|
Опубликован выпуск пакетного менеджера NPM 12.0, входящего в поставку Node.js и применяемого для распространения модулей на языке JavaScript. Новая версия примечательна прекращением по умолчанию запуска скриптов во время установки пакетов. Предполагается, что изменение усложнит проведение атак через компрометацию зависимостей и замедлит распространение червей, активируемых из установочных скриптов.
Для запрета автозапуска скриптов, указанных в package.json через параметры preinstall, install или postinstall, настройка allowScripts по умолчанию выставлена в значение "off". Выполнение подобных скриптов, а также запуск компиляции C/C++ кода утилитой node-gyp при наличии в пакете файла binding.gyp, теперь производится только при получении явной инструкции от пользователя. Помимо этого, параметры "--allow-git" и "--allow-remote" по умолчанию теперь выставлены в значение "none", что отключает автоматическую загрузку зависимостей из Git-репозиториев и по прямым ссылкам на сайты с tar-архивами. Для организации запуска установочных скриптов следует использовать команду "npm approve-scripts", в качестве аргумента которой передаются имена пакетов, заслуживающих доверия, или опция "--all" для предоставления разрешения всем пакетам. Для сомнительных пакетов рекомендовано запускать команду "npm approve-scripts --allow-scripts-pending", которая выведет список претендующих на запуск скриптов. После проверки данных скриптов их можно разрешить командой "npm approve-scripts" и добавить в белый список в package.json. Помимо этого анонсирован запрет использования в репозитории NPM GAT-токенов доступа (Granular Access Tokens), настроенных для выполнения действий без двухфакторной аутентификации (2FA). Начиная с августа подобные токены без дополнительного ручного подтверждения действий не позволят выполнять такие операции, как создание или удаление токенов, изменение профиля, пароля или email, настройка двухфакторной аутентификации, генерация кодов восстановления, изменение прав доступа и управление сопровождающими. В январе 2027 года намерены запретить прямую публикацию пакетов с использование токенов, обходящих 2FA. При этом пакеты можно будет опубликовать в staging-разделе, в котором они будут находиться до ручного подтверждения релиза сопровождающим. После ручного подтверждения опубликованные пакеты станут доступны для установки пользователями. Для автоматической публикации предлагается использовать механизм "Trusted Publishers", основанный на использовании стандарта OpenID Connect (OIDC) и токенов аутентификации с ограниченным временем действия, которыми обмениваются внешние сервисы и каталог пакетов для подтверждения операции публикации пакета вместо использования традиционных паролей или постоянных токенов доступа к API.
| ||
|
Обсуждение (69 +13) |
Тип: Программы |
| ||
| · | 09.07.2026 | Доступен язык программирования TypeScript 7.0 с компилятором, переписанным на Go (113 +19) |
|
Компания Microsoft опубликовала релиз TypeScript 7.0, языка для разработки web-приложений, расширяющего возможности JavaScript, и связанного с ним инструментария. Выпуск примечателен поставкой нового компилятора typescript-go (tsgo), транслирующего код TypeScript в представление JavaScript, который был переписан на языке Go и теперь признан готовым для сборки рабочих проектов. Инструментарий распространяется под лицензией Apache 2.0, разработка ведётся в публичном репозитории через сервис GitHub. Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement.
Старый компилятор TypeScript был написан на языке TypeScript, что создавало проблемы с масштабированием при использовании в очень больших проектах. При загрузке и проверке кода подобных проектов в интегрированных средах разработки возникали большие задержки, что вынуждало разработчиков жертвовать удобством разработки в пользу сокращения задержек и отключать в редакторах возможности для проверки кода. В экосистеме также назрела потребность в инструментарии командной строки. В новом компиляторе существенно увеличена скорость сборки, уменьшено потребление памяти и реализована новая архитектура, позволяющая распараллеливать выполнение многих операций, включая парсинг, проверку типов и генерацию кода. Парсинг и генерация кода теперь выполняются независимо для разных файлов. Помимо этого предоставлен компактный инструментарии командной строки tsc, позволяющий быстро собирать код для проверки его работоспособности. По функциональности язык TypeScript 7 близок к TypeScript 6 и данные ветки взаимозаменяемы, а компиляторы могут сосуществовать в одной системе. Все необходимые для ветки TypeScript 7 настройки по умолчанию были изменены в выпуске TypeScript 6, в котором также были переведены в разряд устаревших возможности языка, несовместимые с TypeScript 7. Теоретически любой TypeScript-код, компилируемый в TypeScript 6.0, должен компилироваться и в TypeScript 7.0 при выставлении режима stableTypeOrdering и без использования флагов ignoreDeprecations. Какое-то время кодовые базы TypeScript 6.x и TypeScript 7.x будут параллельно сопровождаться и сосуществовать, пока ветка TypeScript 7 не достигнет зрелого состояния, готового полностью заменить старый инструментарий. Что касается производительности компилятора, то по сравнению с прошлой веткой скорость сборки в TypeScript 7 возросла при пересборке vscode в 11.9 раз, sentry - в 8.9 раз, bluesky - 8.7 раз, playwright - 8.7 раз, tldraw - 7.7 раз. При этом потребление памяти уменьшилось при сборке vscode на 18%, sentry - 6%, bluesky - 26%, playwright - 11% и tldraw - 15%. Запуск в режиме проверки типов в TypeScript 7 производится в 10.6-16.7 раз быстрее, чем в TypeScript 6.
![]() Язык Go выбран для написания нового компилятора как наиболее близкий к TypeScript по семантике и структуре кода, что позволило сохранить при портировании существующие шаблоны и упростило перенос изменений между кодовыми базами. При этом язык Go обеспечивает высокую производительность, развивается с оглядкой на многопоточное программирование, демонстрирует эффективную работу на многоядерных системах и имеет встроенные средства защиты от проблем при работе с памятью. Язык TypeScript расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что упрощает перевод существующих приложений на TypeScript. Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать c платформами Node.js, Bun и Deno. В программах на TypeScript можно использовать существующие JavaScript-библиотеки. От JavaScript язык TypeScript отличается средствами для явного определения типов, а также поддержкой использования полноценных классов. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку, делает код более читаемым и простым для доработки и сопровождения.
| ||
|
Обсуждение (113 +19) |
Тип: Программы |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |