Features
- Переключатель встроенного браузера — Добавлена опция в Settings для отключения встроенного
browser_tool, если вы предпочитаете внешний браузер MCP или реальную авторизованную сессию браузера. (Fixes #497) - Единый OAuth для источников WebUI — Авторизация источников на основе браузера теперь проходит через стабильный relay-обратный вызов с серверной завершённостью, что делает потоки WebUI OAuth более надёжными для Google, Microsoft, Slack и источников на базе MCP.
- Ассеты установочного приложения WebUI — Добавлена поддержка фавиконки, манифеста и Apple touch icon для браузерного интерфейса.
- Более быстрые задачи с интенсивной работой с файловой системой — Добавлено кэширование на уровне сессии для дорогих файловых операций, снижающее повторные накладные расходы во время turns агента.
Improvements
- Усиление безопасности аутентификации WebUI — Заменён hand-rolled путь JWT на
jose, пароли теперь хэшируются с помощьюargon2id, добавлен глобальный rate limiter для headless/WebUI auth endpoints. - Документация для headless-развёртывания — Расширена документация self-hosted сервера с руководством по Cloudflare Tunnel и более понятными инструкциями по устранению проблем с Docker и домашней директорией.
- Визуальная полировка — Улучшен контраст тёмной темы в приложении и выровнен стиль по умолчанию значений темы.
- Очистка метаданных примечаний к выпуску — Исправлены отсутствующие заголовки версий в in-app «What’s New» примечаниях к выпуску.
Bug Fixes
- Несоответствие перенаправления Google OAuth в WebUI — Исправлено
redirect_uri_mismatchв WebUI с использованием стабильного provider-facing обратного вызова (https://aikraft.ru/auth/callback) и передача реального целевого адреса через state. - Надёжность поиска и согласованность счётчиков — Исправлено несколько регрессий поиска: более старые сессии теперь находятся более надёжно, совпадения между узлами внутри синтаксически выделенных блоков кода находятся корректно, значения badge теперь соответствуют фактическим выделенным совпадениям, и WebUI/удалённый поиск более грациозно деградируют, когда
ripgrepнедоступен. (Partially addresses #394) - Стабильность выделения поиска — Переработано отображение выделения на основе CSS Custom Highlight API для избежания устаревших ссылок, отменённых RAF и предупреждений о таблицах стилей.
- Подключение обратного вызова OAuth — Прокинуто
oauthCallbackDepsчерез server bootstrap, чтобы завершение WebUI обратного вызова всегда достигало соответствующего серверного потока. - Фильтрация вложений — Расширен базовый фильтр base64 для перехвата миниатюр вложений и избежания ложноположительных совпадений в поиске.
- Исправления маршрутизации и ссылок — Исправлен маркетинговый маршрут и обновлены ссылки для загрузки в соответствии с текущим именованием артефактов.
Breaking Changes
- None.