0.26.0
Итерация 22 плана аудита: DX и полировка.
Added
- Argon2id для хеширования паролей вместо bcrypt. Обратная совместимость: bcrypt-хеши проверяются корректно и автоматически мигрируются в argon2id при следующем логине (rehash on login). Функция
NeedsRehash(hash)определяет необходимость перешифрования. - macOS sandbox-exec: новый backend
SandboxSandboxExecвsecurity/sandbox.go. Генерирует Seatbelt-profile с ограничением файлового доступа (read/write только внутри workspace, read-only для системных путей), разрешением сети и fork. ФункцияWrapCommand(command, workspace, workDir, backend)— единая точка входа для всех sandbox-бекендов.DetectSandboxBackend()автоматически выбирает доступный backend по ОС. - UI-индикатор sandbox: в SystemInfo добавлено поле
Sandbox(bwrap / sandbox-exec / disabled). В настройках permissions агента добавлена опция «Sandbox-exec (macOS)». - TAIGACLAW_PORT env-переменная для настройки порта без CLI-флагов. Валидация: 1-65535, при ошибке — fallback на 14888 с предупреждением в stderr.
- TAIGACLAW_DATA_DIR env-переменная для указания каталога данных. Путь по умолчанию по XDG-стандартам: macOS
~/Library/Application Support/TaigaClaw, Linux$XDG_DATA_HOME/taigaclaw(или~/.local/share/taigaclaw), Windows%LOCALAPPDATA%/TaigaClaw. - Миграция из legacy
~/.taigaclaw: при первом запуске с новым путём данных файлы (БД, секреты) автоматически переносятся из~/.taigaclaw. Пустой старый каталог удаляется. - README.md: полная документация проекта — архитектура, компоненты, ENV-переменные, CLI-флаги, платформы, сборка, тестирование.
- Тесты: 6 тестов Argon2id (hash/check/bcrypt-compat/rehash/invalid/different-hashes), 7 тестов sandbox (detect/available/wrap/exec-bwrap/none).
Changed
go.mod: миграцияnhooyr.io/websocket→github.com/coder/websocket(официальный successor). Минимальная версия Go — 1.25.5 (определяется зависимостями).defaultDataDir(): переработан с поддержкой XDG (Linux), Application Support (macOS), LOCALAPPDATA (Windows).WrapCommandBwrapв exec.go: заменён наWrapCommandс поддержкой всех бекендов sandbox. Убрана проверкаruntime.GOOSиз exec.go (делегирована в sandbox.go).