OpenClaw v2026.10.9

OpenClaw v2026.10.9

⚠️ Релиз безопасности: v2026.10.9 закрывает уязвимые зависимости и исправляет работу с учётными данными и ограничения рабочего пространства. Обновите OpenClaw, чтобы получить эти исправления.

Обновление OpenClaw вышло 29 октября 2026 года. Это патч-релиз без новых функций: 38 пул-реквестов, 8 прямых коммитов и 22 участника. Основное — исправления безопасности зависимостей, восстановление после сбоев обновления, сохранность данных агентов и надёжность запуска.

Читать полные заметки о релизе

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

  • Патч уязвимых зависимостей — fast-uri 4.2.3 отклоняет некорректные схемы и хосты URI при проверке схем MCP; коллекции Zod сверх объявленного размера отклоняются раньше в A2UI и в SDK встроенного приложения Discord; разбор отправителя в IMAP переведён на nodemailer 10.1.4, чтобы поддельные отправители не проходили проверку по токену; Microsoft Teams использует исправленный MSAL Node 7.1.1.
  • Ограничение рабочего пространства для инструментов Gateway — tools.fs.workspaceOnly теперь применяется к инструментам, которые собирает Gateway: изменения делегирования по-прежнему требуют одобрения, а медиа-инструменты не выходят за рабочее пространство.
  • Учётные данные не попадают в вывод — живые учётные данные больше не видны при проверке MCP из командной строки, а секреты клиента Google OAuth маскируются в журналах.
  • Безопасные откаты неудачных обновлений — откат установки из Git-источника сохраняет правки оператора вместо сброса клона; откат npm повторяет попытки при временных отказах Windows и сообщает точное перемещение, которое возвращает загружаемую установку, вместо того чтобы оставить корень пакета в нерабочем виде.
  • Восстановление баз агентов и индексов — целые базы агентов и устаревшие индексы полного текста восстанавливаются после изменений токенизатора SQLite, включая снимки обновления.
  • Восстановление обновлений после перемонтирования — обновление, прерванное после перемонтирования, доводится до публикации с сохранением исходного загрузчика и запечатанного помощника восстановления.
  • Большие архивы расшифровок — миграция крупных архивов проходит без превышения лимитов строк Node.js.
  • Работа после заполнения диска — агенты восстанавливаются, как только место освободилось, без перезапуска Gateway.

Что нового по разделам

Установка и первичная настройка

  • Команды службы при запуске из корня файловой системы — команды службы снова находят совместимую среду выполнения Node, в том числе в заданиях launchd на macOS. Исправление действует, когда совместимая среда выполнения доступна по поддерживаемым путям восстановления.

Обновления и обслуживание

  • Большие сжатые архивы диалогов — миграции openclaw doctor больше не блокируются большими сжатыми архивами диалогов и не мешают запуску OpenClaw. Архивы обрабатываются по одной записи за раз, а не разворачиваются в строку размером со весь архив; неизменённые архивы сохраняют исходные байты.
  • Запись после освобождения места на диске — агенты принимают новые записи после освобождения диска, без перезапуска Gateway, как только очистка и проверки целостности прошли. Прерванные записи автоматически не повторяются.
  • Откат обновлений из Git-источника — неудачные обновления Git-клона сохраняют обнаруженные правки и неотслеживаемые файлы вместо их удаления при откате. Если откат отклонён, сохраните изменения перед выполнением напечатанных команд восстановления; предыдущую среду выполнения обновление всё равно попытается вернуть.
  • Откат обновлений пакета в Windows — откаты повторяют попытки при временных блокировках файлов. Если установленный пакет всё равно отсутствует, ошибка указывает сохранённые папки восстановления и куда их перенести после закрытия процессов, которые держат эти файлы.
  • Остановленный Gateway после неудачного обновления — часть неудачных обновлений той же версии и исправлений больше не оставляет Gateway остановленным, хотя установленное ядро не менялось и безопасно для перезапуска. Исходная ошибка обновления по-прежнему показывается, а восстановление блокируется, если проверки данных или владения не разрешают перезапуск.
  • Устаревшие поисковые индексы — запуск и восстановление в Doctor больше не считают устаревшие поисковые индексы повреждёнными данными агента после обновления Node или SQLite: подходящие целые базы копируются и исправляются на месте. Снимки обновления тоже копируют такие индексы, не исправляя источник; поддержка резервного копирования при активации требует, чтобы в установленном средстве обновления уже было это исправление.
  • Исправление после перемонтирования файловой системы — исправление больше не падает на прерванных обновлениях пакета после перемонтирования файловой системы. Оно распознаёт опубликованный загрузчик и по-прежнему отклоняет подменённый.

Навыки

  • Метаданные навыков с комментарием в YAML — значки навыков и метаданные обязательных инструментов снова загружаются правильно, когда у строкового значения YAML есть завершающий комментарий. Экранированные символы # остаются частью значения.

Нативные приложения

  • Ложный сбой Gateway в приложении macOS — приложение больше не сообщает о сбое Gateway, когда у удалённого или неактивного профиля нет локальной службы для остановки.

Модели и провайдеры

  • Пересекающиеся обновления входа — запросы чата и списка моделей больше не падают, когда одно обновление входа опережает другое, а нужные плагины остаются доступны, пока готовится обновлённый список моделей. Лишняя работа по обновлению входа пропускается, если её уже выполнило другое обновление.
  • Отклонённые провайдером параметры видео — результаты генерации видео теперь показывают параметры, которые провайдер проигнорировал, и в текстовом, и в JSON-выводе.
  • Изображения при управлении ходом Codex — изображения, отправленные во время управления активным ходом Codex, берутся из рабочего пространства этой сессии, а не из общего пространства, и не отклоняются ошибочно. Исправлен путь изображения в рамках сессии при выключенном tools.fs.workspaceOnly.

Плагины и интеграции

  • Новые сессии ACP в запрошенной папке — новые сессии ACP запускают инструменты в запрошенной папке проекта, в том числе после сброса сессии, а не в рабочем пространстве по умолчанию. Указывайте абсолютный путь к папке на хосте Gateway; сессии, выбранные по существующему ключу или метке, сохраняют свою папку.
  • Переподключение узлов при повторном одобрении — подключённые узлы больше не отключаются, если повторно одобрить их возможности во время подготовки команды. Команды, одобренные в предыдущем поколении сопряжения, по-прежнему отклоняются.

Безопасность и приватность

  • Проверка адресов в MCP — инструменты MCP отклоняют некорректные адреса во входных определениях и правильно следуют валидным относительным ссылкам. Уязвимости URI-парсера закрыты обновлением fast-uri до 4.2.3; некорректные идентификаторы схем, которые раньше принимались, теперь могут не пройти проверку.
  • Microsoft Teams и Azure Identity — входы Microsoft Teams и затронутые входы Azure Identity получают исправление уязвимости библиотеки, из-за которой учётные данные приложения могли уйти не по адресу. Исправление входит в управляемые установки и обновления плагинов; MSAL Node 7.1.1 применяется к затронутым приложениям Teams и версиям Azure Identity.
  • Подмена отправителя в IMAP — проверки отправителя больше не принимают поддельное письмо, когда доверенный адрес спрятан во вложенных комментариях заголовка From. Касается случая, когда IMAP использует токен, привязанный к конкретному отправителю; затронутые парсеры адресов переведены на Nodemailer 10.1.4.
  • Ограничение размера коллекций — Canvas/A2UI и Discord Activity больше не тратят ресурсы впустую: коллекции данных сверх объявленного предела отклоняются сразу. Патчи касаются массивов и наборов с объявленными верхними границами в стабильном пакете Zod 3 и в отдельном встроенном парсере Discord. В ошибках о превышении размера может быть меньше отдельных ошибок по элементам.
  • Ограничение рабочего пространства — режим «только рабочее пространство» теперь применяется к инструментам делегирования и работы с медиа, которые собирает Gateway: изменения настроек в ограниченном режиме требуют одобрения, а чтение медиа не выходит за разрешённые папки. Явные переопределения политики и исключения для вложений только на чтение работают как раньше.
  • Скрытие учётных данных в проверке MCP — проверка MCP из командной строки скрывает распознанные учётные данные вместо их показа в выводе терминала и сохранённых расшифровках. Скрипты, читающие результаты проверки, получают заполнители вместо секретов; сохранённые учётные данные остаются целыми, включая циклы просмотра, правки и сохранения.
  • Маскировка секретов Google — секреты клиента Google при входе маскируются в выводе консоли и в хвосте журнала. Исходные локальные файлы журналов и вывод инструментов, видимый модели, не меняются.

Удобство работы

  • Порт SSH 22 в проверке Gateway — удалённые проверки Gateway соблюдают явно указанный порт SSH 22, а не переключаются на порт, заданный в алиасе SSH. Цели без явного порта по-прежнему используют свою конфигурацию SSH.
  • Предупреждения при очистке процессов — ошибки команд сохраняют предупреждения о том, что OpenClaw не смог подтвердить завершение очистки процессов, вместе с выводом команды и деталями кода выхода.

Проверка релиза

  • npm-пакет: openclaw 2026.10.9
  • tarball в реестре: openclaw-2026.10.9.tgz
  • integrity: sha512-KbIl0/7an0/nKBo92FnJg7LFcEpFVQyOgSRfHNE9yxELg1Ebql7BmBsdLL+1dDOLZnQtuwjt6Hy45CCrmYdJNA==
  • SHA релиза: 8b18b5578f66eab1501cba4cef2310d88bfb9a41
  • полный отчёт CI по релизу: release-evidence.md
  • публикация релиза: run 40896462808
  • npm preflight: run 40863629738
  • полная валидация релиза: run 40862370666
  • публикация плагинов в npm: run 40898170961
  • отправка плагинов в ClawHub: run 40898180399 — публичная финализация и сверка артефактов идут после завершения родительского релиза
  • bootstrap плагинов в ClawHub: не потребовался
  • публикация OpenClaw в npm: run 40899799314
  • E2E беты npm Telegram: не предоставлено
  • Android APK: пропущен — apps/android/version.json остался на 2026.8.2 при релизной ветке 2026.10.9; перед следующим тегом нужен запуск pnpm android:version:pin -- --from-gateway