Repository navigation
Releases: Sakura520222/Sakura-AI
Release list
Release v3.2.4
v3.2.4 (2026-10-10)
总结 / Summary
本版本为包含功能扩展、架构精简与平台支持增强的常规功能与维护版本。
核心变化包括:正式支持 Windows x86_64 源码开发环境并补充 CI 冒烟测试;为 Agent 团队依赖安装引入指数退避重试与动态配置;在 AI 审查器 read_file 工具中支持范围限制搜索;统一 WebUI 弹窗与确认交互体系;彻底移除 Telegram 专用业务事件通知并收敛其职责为公告投递通道;新增中英文贡献指南与安全策略文档,同时升级了 SQLAlchemy 与 Starlette 等核心依赖。
This release is a minor feature and maintenance update delivering functional enhancements, architectural cleanup, and expanded platform compatibility.
Key highlights include adding Windows x86_64 source development support with CI smoke testing, introducing retry fault tolerance and dynamic configurations for Agent team dependency installations, enabling range-restricted search in the AI reviewer read_file tool, and unifying the WebUI dialog and modal architecture. Furthermore, dedicated Telegram business notifications have been removed in favor of unified announcement delivery and GitHub PR comment triggers, accompanied by new bilingual contributing and security policies alongside runtime dependency upgrades including SQLAlchemy and Starlette.
升级提示 / Upgrade Notes
-
依赖重新同步:由于 pyproject.toml 与 uv.lock 升级了 SQLAlchemy(2.1+)、Starlette(1.7+)等多项核心运行时依赖并新增 Windows 平台标记,源码部署环境需执行 uv sync --locked 重新同步依赖。
-
服务重启要求:在 WebUI 系统核心配置中修改 telegram_enabled 或 telegram_bot_token 配置项后,必须重启后端服务方可使 Telegram Bot 实例加载生效。
-
沙箱镜像重构:docker/Dockerfile.agent-sandbox 与 docker/Dockerfile.sandboxd 更新了 Python 3.14 基础镜像的固定摘要,本地构建镜像的环境需重新构建容器镜像。
-
Dependency Synchronization: Because core runtime dependencies such as SQLAlchemy (2.1+) and Starlette (1.7+) were updated in pyproject.toml and uv.lock alongside Windows environment markers, source deployments must run 'uv sync --locked' to update dependencies.
-
Service Restart Required: Modifying telegram_enabled or telegram_bot_token in the WebUI core system configuration requires a backend service restart for the bot instance changes to take effect.
-
Sandbox Container Rebuild: Base Python 3.14 image digest pins were updated in docker/Dockerfile.agent-sandbox and docker/Dockerfile.sandboxd; deployments building images locally should rebuild their containers.
注意事项 / Important Notes
Warning
Telegram 业务事件通知彻底下线:PR 审查、Issue 分析、安全扫描、MFA 失败锁定及退款等业务流程的 Telegram 专用消息推送已完全移除,且未引入替代的即时业务事件通道。PR 审查和扫描结果均转由 GitHub PR/Issue、WebUI 或 API 查看。Telegram 目前仅作为系统公告广播的可选 Provider,Bot 命令仅保留 /start 与 /bind 用于端点绑定。
Telegram Business Notifications Removed: Dedicated Telegram messages for PR reviews, issue analyses, security scans, MFA lockout alerts, and refunds have been removed without an immediate event substitute. Review and scan outcomes should be viewed via GitHub PR/Issue, WebUI, or API. Telegram is now retained solely as an optional provider for broadcast announcements, with bot commands restricted to /start and /bind.
Important
手动审查触发机制变更:原 Telegram Bot 中的 /review <pr_url> 命令已停用。手动触发 PR 全量审查统一调整为在 GitHub PR 评论区中发布 /full-review 评论,且触发者须具备 PR 作者身份或仓库写权限。
Manual Review Trigger Changed: The legacy Telegram Bot '/review <pr_url>' command has been retired. Triggering a full PR review manually must now be done by posting a '/full-review' comment directly inside an open GitHub PR, requiring the comment author to be the PR author or a collaborator with write permissions.
Note
Windows 平台源码开发支持:官方源码开发平台现已涵盖 Windows 11 x86_64。需要注意在 Windows 模式下沙箱执行策略可能受限,生产部署与审查执行后端仍建议保持容器化环境运行。
Windows Source Development Support: Windows 11 x86_64 is now officially recognized as a supported source development platform. Note that sandbox backends may be restricted under native Windows execution, and containerized deployment remains recommended for production.
中文更新日志
新增功能
- 支持 Windows x86_64 平台源码开发,并在 CI 工作流中新增 Windows uv 依赖同步与模块导入冒烟测试。
- Agent 专家团队实现依赖安装容错重试机制,瞬时网络故障默认支持最多 3 次指数退避重试并保留脱敏诊断信息。
- 后端增加依赖安装重试次数与等待延迟的动态配置,并优化配置读取与 WebUI 交互展示。
- AI 审查器的 read_file 工具支持范围限制搜索能力。
问题修复
- Agent 团队页面对话框全面接入 Sakura 统一弹窗管理器。
重构
- 移除 Telegram 专用业务通知实现及相关废弃代码,将 Telegram Bot 职责收敛至端点绑定与公告投递。
- 统一 WebUI 的 modal 弹窗、dialog 对话框与 confirm 确认交互体系。
文档更新
- 添加中英文贡献指南文档(CONTRIBUTING.md / CONTRIBUTING_EN.md)与安全策略文档(SECURITY.md / SECURITY_CN.md)。
- 更新手动触发审查文档,明确通过 GitHub PR 评论 /full-review 触发全量审查的操作流程与权限边界。
- 更新 Python 语法基线至 3.14+,移除 Python 2 遗留规则,并明确 PEP 758 语法误报规则与异常捕获规范。
- 更新 AGENTS.md 中的项目目录结构与通知服务架构说明。
其他变更
- 调整 Agent 团队页面弹窗遮罩层的不透明度样式。
- 更新运行依赖与开发依赖版本,包括 SQLAlchemy 升级至 2.1+(启用 asyncio 额外特性)、Starlette 升级至 1.7.0、asyncmy 升级至 0.2.15、python-slugify、OAuthLib、PyJWT 及 Ruff。
- 升级 Dockerfile.agent-sandbox 与 Dockerfile.sandboxd 中的 Python 3.14 基础镜像哈希摘要。
- 合并 Sakura 记忆记录,并从审查反思中抽取结构化知识文档。
- 项目版本号递增至 3.2.4。
English Changelog
New Features
- Support Windows x86_64 for source development and add Windows uv lockfile sync and module import smoke testing in CI.
- Implement dependency installation fault tolerance for Agent teams, providing exponential backoff retries (up to 3 attempts by default) for transient network failures while preserving sanitized diagnostics.
- Add dynamic configuration in the backend for dependency retry attempts and delay duration, improving config retrieval and WebUI interaction.
- Support range-restricted search within the read_file tool for the AI reviewer.
Bug Fixes
- Integrate Sakura modal manager for dialogs in the Agent team page.
Refactor
- Remove Telegram dedicated business notification functionality and related legacy code, scoping Telegram Bot strictly to endpoint binding and announcement delivery.
- Unify modal, dialog, and confirm prompt systems across WebUI.
Documentation
- Add bilingual contribution guidelines (CONTRIBUTING.md / CONTRIBUTING_EN.md) and security policies (SECURITY.md / SECURITY_CN.md).
- Update manual review documentation to document GitHub PR comment triggers via /full-review along with permission specifications.
- Update Python syntax baseline to 3.14+, remove legacy Python 2 rules, and define PEP 758 false-positive rules and exception handling specifications.
- Update project structure layout and notification service descriptions in AGENTS.md.
Other Changes
- Increase modal backdrop opacity in the Agent team page styling.
- Update runtime and development dependencies, bumping SQLAlchemy to 2.1+ with asyncio extra, Starlette to 1.7.0, asyncmy to 0.2.15, python-slugify, OAuthLib, PyJWT, and Ruff.
- Bump Python 3.14 base image digest hashes in Dockerfile.agent-sandbox and Dockerfile.sandboxd.
- Consolidate Sakura memory entries and extract structured knowledge from reflections.
- Bump project version to 3.2.4.
Release v3.2.3
v3.2.3 (2026-09-26)
总结 / Summary
本版本为功能与维护版本,新增 GitHub App 用户授权中心与 7 天滑动 WebUI 会话,重构了 WebUI 导航与路由架构,并显著增强了 Host Updater 的回滚自愈与镜像清理能力。
核心变化包括:普通用户可直接在 GitHub App 授权中心查看与扩展授权范围;WebUI 统一按业务领域组织导航并将旧审查日志地址平滑重定向至 PR 页面;AI 审查与压缩全面支持单模型输出上限与请求策略解析;Host Updater 增强了部署前基线镜像拉取保障并在更新验证通过后自动清理未引用的旧官方镜像;针对仓库互助与后台服务,修复了并发 Token 刷新死锁、连接池耗尽以及管理端搜索转义与分页状态保留等问题。
This release is a feature and maintenance release that introduces the GitHub App user authorization center and seven-day sliding WebUI sessions, reorganizes the WebUI navigation and routing architecture, and hardens Host Updater rollback self-healing and post-update image cleanup.
Core changes include: enabling regular users to manage repository authorization scopes directly in the GitHub App authorization center; reorganizing WebUI navigation into business domains while smoothly redirecting legacy review logs to PR pages; enforcing per-model output limits and request policy resolution in AI review and compression; hardening Host Updater to ensure baseline rollback images exist before activation and safely clean up unused official images post-update; and resolving Star-Aid token refresh deadlocks, database pool exhaustion, and admin filter/pagination regressions.
升级提示 / Upgrade Notes
-
重新同步 Python 依赖环境:本次发布升级了 cryptography (>=50.0.1)、sqlalchemy (2.0.54)、uvicorn (0.53.0)、pydantic (>=2.13.5)、openai (>=3.8.0) 和 redis (>=8.1.0) 等关键依赖,部署环境需执行依赖同步(例如 uv sync 或 pip install -r requirements.txt)。
-
核对 GitHub App 与网关超时配置:若使用独立的 GitHub App 提供授权中心或仓库互助功能,需在系统配置中配置 star_aid_github_app_slug;若反向代理超时时间较短,需检查并配置 star_aid_github_app_discovery_timeout_seconds(默认 45 秒),确保低于网关或代理的超时设置。
-
Resynchronize Python dependencies: Key dependencies including cryptography (>=50.0.1), sqlalchemy (2.0.54), uvicorn (0.53.0), pydantic (>=2.13.5), openai (>=3.8.0), and redis (>=8.1.0) have been upgraded. Environments must resynchronize dependencies (e.g., via uv sync or pip install -r requirements.txt).
-
Verify GitHub App and gateway timeout settings: If using an independent GitHub App for the authorization center or Star-Aid, configure star_aid_github_app_slug in system config; if using a short reverse proxy timeout, verify star_aid_github_app_discovery_timeout_seconds (default 45s) is set lower than proxy/gateway timeouts.
注意事项 / Important Notes
Important
WebUI 导航架构调整:主导航已全面重构并按业务领域收拢,PR 列表成为唯一的审查记录入口。旧版 /logs/ 与 /logs/list-fragment 请求会自动重定向至 /pr/,旧审查片段请求会重定向至完整 PR 详情页。
WebUI navigation restructure: Primary navigation is now consolidated into business domains, and the PR list is the sole review record list. Legacy /logs/ and /logs/list-fragment requests automatically redirect to /pr/, and legacy review fragments redirect to the full PR detail page.
Note
AI 摘要输出上限折叠到单模型配置:历史摘要和仓库互助摘要的输出上限不再跟随全局 ai_max_tokens,而是折叠为跟随 summary 角色实际绑定模型的 max_output_tokens,并严格受当前上下文预算约束。
AI summary token limits folded into per-model configuration: Output caps for incremental history summaries and Star-Aid summaries no longer follow global ai_max_tokens; they now follow max_output_tokens on the model bound to the summary role under context budget constraints.
Note
Host Updater 镜像自动清理:三镜像部署验证成功并结束事务后,Updater 会自动清理本地不再被任何容器引用的旧版 Sakura-AI 官方镜像;清理失败仅记录警告,不影响已成功提交的更新。
Host Updater automated image cleanup: After a verified three-image deployment commits, the updater automatically cleans up unused official Sakura-AI images not referenced by any container; cleanup errors produce warnings and do not affect the committed deployment.
Note
WebUI 会话机制变更为 7 天滑动过期,仅在响应阶段基于最新权威账户状态刷新 claims。
WebUI sessions now use a 7-day sliding expiration, refreshing claims during response completion based on authoritative account state.
中文更新日志
新增功能
- 新增 GitHub App 用户授权中心,支持普通用户查看已授权安装与仓库范围,并支持语言感知的 OAuth 流程与仓库可见性区分。
- 支持 GitHub App slug 配置、应用身份解析以及在系统配置中显式清空 slug,并允许自定义发现超时时间。
- 引入 7 天滑动 WebUI 会话机制,并在最终响应阶段使用权威账户状态刷新 claims。
- Host Updater 在更新验证成功后自动清理不再被任何容器引用的官方旧镜像,并增强 systemd 单元管理与启动超时传递。
- AI 审查器新增有效消息追踪、搜索限制与压缩器运行时刷新,并在压缩预算中纳入工具 token 和 enforce read_file 字符上限。
- 在 AI 协议层引入请求策略解析机制并细化错误处理。
- 增强仓库互助中的 GitHub 速率限制处理与安全同步机制,管理端仓库支持分页、搜索与筛选。
问题修复
- 修复 Token 刷新时的连接池耗尽问题,在刷新期间复用调用方数据库会话,并通过行级排他锁与一致的 DB 加锁顺序消除并发死锁。
- 修复仓库互助管理端 SQL 搜索通配符转义与筛选状态丢失问题,支持成员分页,并修复重新授权状态同步与调度器生命周期管理。
- 限制用户安装发现的并发与超时时间;当发现期间凭据被替换时报告可重试错误,防止过期 401 撤销已替换的凭据,并在缺少回调 URL 时正确报告未配置状态。
- 修复 WebUI 导航与审查筛选问题,在认证拒绝时保留 return_to 参数,并正确处理 App slug 缓存中的 Client ID 变更。
- Host Updater 在激活前校验部署快照中的基线沙箱镜像对并在缺失时自动拉取;在回滚时保留镜像恢复错误;限制镜像清理执行时间并在清理异常时安全保留活动锁。
- 修正 Updater 停止时优先经由 systemd 并在 socket 残留时回退至原生进程停止,确保重装与守护进程启动时正确透传 CLI 参数。
- 在 Agent Team 中对不可安装的 pyproject.toml 文件跳过可编辑安装。
重构
- 重构 WebUI 业务领域导航结构,将旧版审查日志平滑重定向至 PR 页面并清理导航界面。
- 移除 AI 审查器中的最大文件大小硬编码检查,改为统一执行输出行数限制。
- 简化 Updater 的 Docker 镜像清理流程与活跃作业检查逻辑。
文档更新
- 补充代码审查规则并更新项目结构规范指南。
- 补充 Host Updater 基于 systemd 的服务管理与运维文档。
测试
- 在沙箱测试中增加 Docker 守护进程探测重试与 setup 失败门禁,适配时间戳白名单行号偏移与仓库互助回调注入回归测试。
其他变更
- 升级运行时与工具依赖:SQLAlchemy (2.0.54)、Uvicorn (0.53.0)、Cryptography (>=50.0.1)、Pydantic (>=2.13.5)、OpenAI (>=3.8.0)、Redis (>=8.1.0)、Ruff (0.16.8)、Tzdata (2026.4)、Python-Slugify (>=9.0.0)、Watchfiles (>=1.2.0)、PyYAML (>=6.0.3)、Alembic (>=1.19.2) 与 Stripe (>=15.6.1)。
- 版本号递增至 3.2.3,在 .gitignore 中忽略 .codex/ 目录,并补充 PR#600、Issue#599 与 Issue#613 的反思记录。
English Changelog
New Features
- Added GitHub App user authorization center, allowing regular users to view authorized installations and repository scopes with language-aware OAuth flows and repository visibility support.
- Added support for GitHub App slug configuration, app identity resolution, explicit slug clearing in system config, and configurable discovery timeout.
- Introduced seven-day sliding WebUI sessions with claim renewal on final response against authoritative account state.
- Added automatic cleanup of unused official images in Host Updater after verified updates, along with hardened systemd unit management and startup timeout propagation.
- Added effective messages tracking, search limits, and compressor runtime refresh to AI reviewer, while including tool tokens in compression budget and enforcing read_file character limits.
- Introduced request policy resolution and refined error handling in the AI protocol layer.
- Enhanced GitHub rate limit handling and safe repository sync for Star-Aid, and added pagination, search, and filtering to admin repositories.
Bug Fixes
- Fixed connection pool exhaustion during token refresh by reusing caller DB sessions, and eliminated concurrency deadlocks through durable row locks and consistent lock ordering.
- Fixed SQL wildcard escaping and preserved filter states in Star-Aid admin views, added member pagination, and fixed reauthorization status sync and scheduler ticker lifecycle.
- Bounded user installation discovery concurrency and timeout; reported retryable errors when credentials are replaced during discovery, prevented stale 401s from revoking replaced credentials, and reported unconfigured status when App callback URLs are missing.
- Fixed navigation and review filter issues, preserved return_to on authentication denial, and handled client ID changes in the app slug cache.
- Host Updater now ensures baseline sandbox image pairs exist before activation by automatically pulling missing images; preserved recovery errors during rollback; bounded image cleanup duration and safely retained the active gate across cleanup failures.
- Routed updater stop operations through systemd with fallback to raw process termination if sockets survive, and forwarded CLI arguments during reinstall and daemon startup.
- Skipped editable installation in Agent Team for non-installable pyproject.toml files.
Refactor
- Consolidated WebUI navigation into business domains, sanitized legacy review log redirects to the PR page, and refined navigation UI.
- Removed max file size check in AI reviewer and enforced output line limits.
- Simplified Docker image cleanup logic and active job checks in the updater.
Documentation
- Added code review rules and updated project structure guidelines.
- Documented systemd service management for the host updater.
Tests
- Added Docker daemon probe retries and setup error fail gate in sandboxer tests, and adapted timestamp allowlist and Star-Aid callback response injection regression tests.
Other Changes
- Upgraded runtime and tool dependencies: SQLAlchemy (2.0.54), Uvicorn (0.53.0), Cryptography (>=50.0.1), Pydantic (>=2.13.5), OpenAI (>=3.8.0), Redis (>=8.1.0), Ruff (0.16.8), Tzdata (2026.4), Python-Slugify (>=9.0.0), Watchfiles (>=1.2.0), PyYAML (>=6.0.3), Alembic (>=1.19.2), and Stripe (>=15.6.1).
- Bumped version to 3.2.3, added .codex/ to .gitignore, and added reflections for PR#600, Issue#599, and Issue#613.
Release v3.2.2
v3.2.2 (2026-09-16)
总结 / Summary
本版本为维护与修复版本,主要解决更新模块在打包运行环境下的系统调用兼容性问题。
核心修复了 PyInstaller onefile 单文件打包环境下执行宿主机 systemctl 时,因动态链接器环境变量污染导致可能出现的符号校验失败与库冲突问题;同时优化了发布工作流的模型推理参数配置,并合并了智能体记忆与反思沉淀。
This is a maintenance and bug fix release primarily addressing system call compatibility under packaged runtime environments in the updater.
It resolves dynamic loader environment contamination (LD_LIBRARY_PATH and LD_PRELOAD) when invoking the host systemctl under PyInstaller onefile packages, preventing host binaries from failing symbol resolution against bundled libraries; it also optimizes model inference parameters in the release workflow and updates agent memory reflections.
注意事项 / Important Notes
Note
更新模块在调用宿主机 systemctl 命令时,会自动剔除 LD_LIBRARY_PATH 与 LD_PRELOAD 中属于 PyInstaller 运行解压目录的路径,保留宿主机原有的动态链接器配置。
When executing host systemctl commands, the updater automatically strips paths pointing to the PyInstaller runtime extraction directory from LD_LIBRARY_PATH and LD_PRELOAD while preserving host-native dynamic loader settings.
中文更新日志
问题修复
- updater: 隔离调用宿主机 systemctl 时的动态链接器加载环境(LD_LIBRARY_PATH 与 LD_PRELOAD),避免 PyInstaller 内部打包库干扰宿主机系统命令执行。
其他变更
English Changelog
Bug Fixes
- updater: Isolate systemctl dynamic loader environment variables (LD_LIBRARY_PATH and LD_PRELOAD) to prevent PyInstaller-bundled libraries from interfering with host command execution.
Other Changes
- ci(workflows): Update release prompt payload settings by setting reasoning effort to high and max tokens to 32000.
- sakura: Add reflection records for Issues #581 through #589 and consolidate memory records (#32, #33, #35).
- release: Bump project version to 3.2.2 and synchronize database default version and documentation badges.
Release v3.2.1
v3.2.1 (2026-09-16)
总结 / Summary
Sakura AI 3.2.1 是一个包含重要架构加固与功能增强的维护及功能版本。
本版本为 WebUI 引入了 7 天滑动会话机制并修复了会话刷新时的账户状态校验;同时将 Host Updater 升级至 0.3.0,正式引入生产环境下的 systemd 服务托管与自启动生命周期管理,全面强制执行 Web、sandboxd 与 Agent Runner 的三镜像事务部署契约,并对多项核心依赖及 CI 构建发布流程进行了更新与优化。
Sakura AI 3.2.1 is a maintenance and feature release focusing on architectural hardening and key feature enhancements.
This release introduces seven-day sliding WebUI sessions along with fixes to ensure session renewal checks authoritative account states; upgrades Host Updater to 0.3.0 with production systemd service management and reboot self-recovery; strictly enforces the three-image transaction deployment contract across Web, sandboxd, and Agent runner; and updates several core dependencies alongside CI build and release workflows.
升级提示 / Upgrade Notes
-
生产环境宿主机升级:已安装 Host Updater 的管理员需执行 sudo ./start.sh updater reinstall,以获取支持三镜像契约的 0.3.0 版本二进制,并自动生成、启用和启动 sakura-ai-updater.service systemd 自启动服务。
-
宿主机环境检查:生产环境 Host Updater 要求 Linux 宿主机的 PID 1 为可用的 systemd;在容器、NAS 或其他无可用 systemd 的环境下执行生产安装将会明确报错失败(开发调试需显式声明 SAKURA_UPDATER_DEV=1)。
-
依赖重新同步:源码或直接在宿主机运行后端的环境需重新同步依赖(如运行 uv sync 或 pip install -r requirements.txt),以满足升级后的 openai (>=3.8.0)、redis (>=8.1.0)、python-telegram-bot (>=22.8)、pydantic (>=2.13.5) 等包版本约束。
-
Host Updater migration in production: Administrators running the Host Updater must execute 'sudo ./start.sh updater reinstall' to acquire the 0.3.0 binary supporting the three-image contract and render, enable, and start the sakura-ai-updater.service systemd unit.
-
Host environment check: Production Host Updater requires PID 1 on the Linux host to be an active systemd daemon; running production install in containers, NAS, or non-systemd environments will fail explicitly (development mode requires explicit SAKURA_UPDATER_DEV=1).
-
Re-sync dependencies: Environments deploying from source or running the backend directly on the host must re-synchronize Python packages (e.g., via 'uv sync' or 'pip install -r requirements.txt') to meet updated constraints including openai (>=3.8.0), redis (>=8.1.0), python-telegram-bot (>=22.8), and pydantic (>=2.13.5).
注意事项 / Important Notes
Important
Host Updater 0.3.0 强制要求 three-image-transaction-v1、deployment-reconcile-v1 和 deployment-manifest-v1 能力;未提供这些能力的旧版 Updater 将被阻止执行应用更新,不再允许单独更新 Web 镜像。
Host Updater 0.3.0 strictly requires three-image-transaction-v1, deployment-reconcile-v1, and deployment-manifest-v1 capabilities; older Updaters lacking these capabilities are blocked from performing updates, disallowing Web-only updates.
Note
生产环境下的 Host Updater 守护进程生命周期改由 systemd (sakura-ai-updater.service) 管理,具备故障自动重启(Restart=on-failure)和开机自启能力,启停均路由至 systemd。
Host Updater daemon lifecycle in production is now supervised via systemd (sakura-ai-updater.service), providing automatic failure recovery (Restart=on-failure) and boot persistence with stop/start routed through systemd.
Note
WebUI 认证现在采用 7 天滑动过期会话,活跃请求会持续获取新鲜 Claims 进行续期,但必须通过账户状态为有效(active)的权威校验。
WebUI authentication now employs seven-day sliding sessions, automatically renewing with fresh claims on active requests while strictly validating authoritative active account state.
中文更新日志
新增功能
- 新增 WebUI 7 天滑动会话支持
- 支持传递启动超时配置并加固 Host Updater 的 systemd unit 托管
问题修复
- 修复 WebUI 会话刷新逻辑,严格基于权威账户状态进行鉴权门禁
- 修复 WebUI 会话续期机制,在最终响应中写入包含最新 Claims 的凭据
- 强制执行 Web、sandboxd 与 Agent Runner 三镜像部署契约,并在启动与更新时校验完整运行时身份与崩溃恢复
- 将 Updater 停止命令路由至 systemd,并在 reinstall 与守护进程启动过程中完整透传 CLI 参数
- 修复 start.sh 脚本在 systemd stop 后 socket 残留时自动回退至底层停止逻辑
- 优化 edge 镜像发布工作流,自动跳过已被后续提交替代的旧开发分支构建
- 最小化 Docker Hub 镜像同步任务的 CI 权限
文档更新
- 更新部署指南,增加 Host Updater 的 systemd 服务管理、开机自启验证与迁移步骤说明
测试
- 更新 WebUI 认证时间戳白名单行并调整 Star Aid 回调测试以适配响应注入
其他变更
- 升级核心依赖库:openai (>=3.8.0)、redis (>=8.1.0)、pydantic (>=2.13.5)、python-telegram-bot (>=22.8)、python-slugify (>=9.0.0)、alembic (>=1.19.2)、pyyaml (>=6.0.3)、watchfiles (>=1.2.0)、stripe (>=15.6.1)、ruff (>=0.16.6) 并同步 uv.lock
- 调整发布说明工作流中大模型调用的 reasoning effort 与 max tokens 配置
- 将版本号提升至 3.2.1,并将 .codex/ 忽略项加入 .gitignore
- 整理与提炼 Sakura 知识库结构化经验,合并反思与记忆记录
English Changelog
New Features
- Add seven-day sliding WebUI sessions
- Propagate startup timeout and harden systemd unit management for host updater
Bug Fixes
- Gate WebUI session renewal on authoritative account state
- Renew WebUI sessions on final response with fresh claims
- Enforce three-image deployment contract across Web, sandboxd, and Agent runner, verifying full runtime identity and crash recovery
- Route updater stop through systemd and forward CLI arguments through reinstall and daemon startup
- Fall back to raw backend stop in start.sh if updater socket survives systemd stop
- Skip superseded development heads in edge image publication workflows
- Minimize mirror job permissions in CI
Documentation
- Document systemd service management, boot enablement verification, and migration procedures for Host Updater
Tests
- Track shifted timestamp allowlist line and adapt Star Aid callback regression tests to response injection
Other Changes
- Update dependencies: openai (>=3.8.0), redis (>=8.1.0), pydantic (>=2.13.5), python-telegram-bot (>=22.8), python-slugify (>=9.0.0), alembic (>=1.19.2), pyyaml (>=6.0.3), watchfiles (>=1.2.0), stripe (>=15.6.1), ruff (>=0.16.6), and sync uv.lock
- Update reasoning effort and max tokens in release prompt workflow payload
- Bump version to 3.2.1 and add .codex/ to .gitignore
- Extract structured knowledge from reflections and consolidate Sakura memory records
Release v3.2.0
v3.2.0 (2026-09-09)
总结 / Summary
Sakura AI v3.2.0 是一个包含重大功能与架构升级的版本。
本次更新引入了 OS 级 Agent 隔离沙箱与独立 sandboxd 守护进程、Issues 图片多模态 AI 分析能力、统一身份认证与公告通知中心,同时全面支持 uv 依赖管理、简化单条命令部署流程,并对系统配置与运行时进行了优化与安全硬化。
Sakura AI v3.2.0 is a major release introducing key features and architectural enhancements.
This update brings OS-level Agent sandbox isolation with a dedicated sandboxd daemon, multimodal AI image analysis for Issues, a unified identity system with an announcement center, full support for uv dependency management, simplified single-command deployment, and system configuration refactoring.
升级提示 / Upgrade Notes
-
数据库结构已新增公告、通知投递与外部身份等表(启动时自动幂等迁移),建议在升级前备份数据库。
-
依赖配置文件已更新并新增 uv 锁定文件,源码部署用户升级后应运行 uv sync 或重新同步 Python 依赖。
-
Docker 部署架构已调整(Agent 工具链从 Web 镜像剥离至 sakura-ai-agent-runner 镜像,新增 sakura-ai-sandboxd 守护进程),使用 Docker 部署的用户建议通过 ./start.sh --prod 重新拉取配置并重建服务。
-
Database schema includes new tables for announcements, notification deliveries, and external identities (automatically migrated on startup). A database backup before upgrading is recommended.
-
Dependency configurations have updated and added a uv lockfile; source deployment users should run uv sync or re-sync Python dependencies after upgrading.
-
Docker deployment architecture updated (Agent toolchain moved out of Web image into sakura-ai-agent-runner, adding sakura-ai-sandboxd daemon). Docker deployments should re-fetch configuration and rebuild using ./start.sh --prod.
注意事项 / Important Notes
Important
Docker 部署模式下 Agent 命令与依赖安装默认通过 OS 级沙箱在一次性非 root 容器中隔离执行,不继承 Web 容器环境变量与控制凭据。
In Docker deployment mode, Agent commands and dependency installations are isolated by default in ephemeral non-root OS-level sandbox containers without inheriting Web container environment variables or credentials.
Important
策略与标签默认配置已集中迁移至 Python 源码(backend/core/config_section_defaults.py),Release 源码归档不再包含 config/strategies.yaml。
Strategy and label configuration defaults are centralized in Python source code (backend/core/config_section_defaults.py), and config/strategies.yaml is no longer included in release source archives.
Note
单命令部署脚本(start.sh)现在支持 --channel=stable|development 参数,且自动处理 Web、sandboxd 与 runner 镜像的拉取与验证。
The single-command deployment script (start.sh) now supports --channel=stable|development parameters and automatically handles pulling and validating Web, sandboxd, and runner images.
Note
旧版 telegram_users 数据已自动回填至 user_identities 与 notification_endpoints,Telegram ID 变为可为空,账号体系正式以内部 User ID 与 GitHub 身份为主体。
Legacy telegram_users identity data is automatically backfilled into user_identities and notification_endpoints; telegram_id is now nullable as the system transitions to internal User ID and GitHub identity.
中文更新日志
新增功能
- 提供 Agent OS 级沙箱隔离与独立 sandboxd 守护进程支持
- 新增 Issue 图片多模态 AI 分析及超大图片自动压缩
- 新增公告中心、双渠道通知(Telegram 与邮件)以及统一身份认证模型 (#556)
- 简化部署体验至单条命令,并提供镜像频道(stable/development)选择
- 新增 Agent 依赖虚拟环境生命周期管理与 LocalExecutionRunner 依赖安装支持
- 在关于页面与 API 中提供详细的构建信息展示
- Webhook 接收到 Issue 关闭或删除事件时自动取消分析任务
- 启动器自动推断源码部署模式
问题修复
- 将 Agent 沙箱工具链配置于固定 PATH 及可执行 tmpfs HOME 目录,并强化沙箱交接后的工作区文件写入
- 优化 Issue 图片解析逻辑并确保 release 归档中完整打包 sandboxer
- 修复全角色候选链中的 Vision 视觉能力校验
- 修复并保留 Linked Worktree 的 Git 布局与合法可写 Bind Mounts
- 修复 AI 审查器 Reasoning Content 评估逻辑,基于内置声明与实际服务模型进行匹配
- 按 glibc 限制 Linux 平台支持并在 Release 归档中打入 uv 项目文件
- 隔离 Local 与 Sandbox 的依赖虚拟环境(.venv/local 与 .venv/sandbox)
- 硬化热重载与日志桥接在边缘场景下的异常处理
- 改进卸载及 Purge 过程中的沙箱容器清理回收
性能优化
- 优化超大图片解码与多模态分析过程中的内存消耗
重构
- 集中 Python 配置默认值管理,重构发布打包逻辑
- 基于认证用户派生 Prompt 提交者身份,不再依赖请求状态
- Webhook 中 Agent 任务识别迁移为基于字段的查表机制
- 解耦 Issue Reopen 同步逻辑与语义向量开关
- 重构 uninstall --purge 菜单布局并彻底清理 Sakura 仓库镜像
文档更新
- 更新中英文 README 与部署文档,补充镜像频道、清理卸载与日志查看细节
- 补充 Agent OS 沙箱设计与 Linked Worktree 挂载布局文档
测试
- 更新时间原语白名单位置校验与 Docker 沙箱隔离 CI 测试集
其他变更
- 新增 uv 项目依赖锁定支持与 Docker 构建解耦(将 Agent 工具链移至专用 agent-sandbox 镜像)
- 升级项目 Python 依赖版本(stripe, asyncmy, starlette, paddle-python-sdk, python-jose, PyGithub, ruff, pytest 等)
- 增强 Release CI 工作流,在发布说明生成中包含全量事实信号与敏感文件 diff
- 更新与整合 Sakura 知识库反思记忆集
English Changelog
New Features
- Add OS-level Agent sandbox isolation and dedicated sandboxd daemon support
- Add Issue image multimodal AI analysis with automatic compression for oversized images
- Add announcement center, dual notification channels (Telegram and Email), and unified identity model (#556)
- Simplify deployment to a single command with image channel selection (stable/development)
- Add lifecycle management for Agent dependency virtual environments and local execution dependency installation
- Display detailed build information on the about page and API
- Cancel issue analysis tasks on close or delete events in webhook
- Auto-infer source deploy mode in launcher
Bug Fixes
- Place runner toolchains on fixed PATH and exec-permitted tmpfs HOME, and harden workspace file writes after sandbox handoff
- Optimize issue image parsing and bundle sandboxer in release archives
- Fix vision capability check across full role candidate chain
- Preserve linked worktree Git layout and use valid writable bind mounts in sandbox
- Fix reasoning content evaluation using winner served capabilities and builtin declarations
- Qualify Linux platforms by glibc and ship uv files in release archive
- Separate local and sandbox dependency virtual environments
- Harden hot-reload and logging bridge against edge-case failures
- Improve sandbox container recovery during uninstall
Performance
- Optimize memory consumption for oversized image decoding and multimodal analysis
Refactor
- Centralize configuration defaults in Python and update release packaging
- Derive prompt submitter from auth user instead of request state
- Migrate agent task identification in webhook to field-based lookup
- Decouple issue reopened sync from semantic vector toggle
- Refactor uninstall --purge menu layout and remove all Sakura repository images during purge
Documentation
- Update READMEs with precise channel selection, purge, and log viewing details
- Align linked worktree mount layout and document Agent OS sandbox specifications
Tests
- Update time primitive allowlist positions and Docker sandbox isolation CI test suite
Other Changes
- Add uv lockfile support and adjust Docker build by moving agent toolchains into dedicated agent-sandbox image
- Update Python dependencies (stripe, asyncmy, starlette, paddle-python-sdk, python-jose, PyGithub, ruff, pytest, etc.)
- Enhance Release CI workflow to collect change facts and sensitive diffs for release notes
- Consolidate Sakura memory reflections and knowledge base
Release v3.1.3
v3.1.3 (2026-09-06)
总结 / Summary
Sakura AI 3.1.3 是一个重要的功能更新与维护修复版本。
本版本将系统运行环境与构建基础升级至 Python 3.14 和 Debian Bookworm,统一收敛了配置默认值与 Section 处理逻辑,优化了 Agent 团队控制台布局与 WebUI 主题动画,同时修复了 AI 思考内容评估、账号 API Key 归一化及 Windows 下文件清理等多项后端稳定性问题。
Sakura AI 3.1.3 is a major feature update and maintenance release.
This release upgrades the system runtime and build environment to Python 3.14 and Debian Bookworm, centralizes configuration defaults and section handling logic, enhances the Agent Team console layout and WebUI theme transitions, and resolves multiple backend stability issues including AI reasoning content evaluation, API key normalization, and Windows file removal.
升级提示 / Upgrade Notes
-
宿主更新程序 Host Updater 构建基础升级至 Debian Bookworm(glibc >= 2.36),运行 Host Updater 的宿主机需具备 glibc >= 2.36(如 Debian 12+、Ubuntu 24.04+)。使用旧版系统宿主机的用户请勿更新 Host Updater 二进制,或切换为纯容器部署。
-
项目依赖项(包括 Python 3.14、SQLAlchemy、Pydantic-Settings、Ruff 等)已更新,源码部署用户升级后应重新同步运行环境依赖。
-
Docker 部署相关文件与基础镜像已变更,使用 Docker 部署的用户建议重新拉取最新镜像并重建服务容器。
-
The Host Updater build environment has been upgraded to Debian Bookworm (glibc >= 2.36). Host systems running Host Updater require glibc >= 2.36 (such as Debian 12+ or Ubuntu 24.04+). Users on older host distributions should refrain from updating the Host Updater binary or switch to container-only deployment.
-
Project dependencies (including Python 3.14, SQLAlchemy, Pydantic-Settings, Ruff, etc.) have been updated. Source code deployment users should re-sync environment dependencies after upgrading.
-
Docker deployment files and base images have been updated. Users deploying via Docker are recommended to pull the latest images and rebuild service containers.
注意事项 / Important Notes
Important
策略与标签等配置默认值已收敛至 Python 源码定义中(backend/core/config_section_defaults.py),不再随源码包提供独立 YAML 默认文件;用户覆盖配置继续在数据库 app_config 节中持久化。
Configuration defaults for strategies and labels have been centralized into Python source code (backend/core/config_section_defaults.py) and are no longer packaged as standalone YAML default files; user overrides remain persisted in the database app_config section.
Note
Compose 部署中的内置 MySQL 针对低内存环境进行了参数调优,降低了内存开销。
The bundled MySQL configuration in Compose deployment has been tuned for lower memory utilization.
中文更新日志
新增功能
- WebUI 支持平滑的主题切换与圆形视图过渡动画
- 优化 Agent 团队控制台布局与滚动行为,简化 Agent 配置与生命周期控制
- 部署脚本 start.sh 新增 MySQL 卷存在性校验、镜像 Digest 锁定及环境变量初始化优化
- 后端支持本地开发模式下的模块级热重载
- AI 模型配置界面支持在下拉选择框前新增输入框,并增强 GitHub App 校验与 JWT 生命周期常量控制
问题修复
- 修复 AI Reviewer 在评估思考内容 (reasoning content) 时 served capabilities 的匹配与内置声明解析逻辑
- 剥离 API Key 前后空白字符并在账号探针阶段统一进行归一化处理
- 修复 Windows 环境下清理工作区和 worktree 时遇到的只读文件移除错误
- 修复活动观测模型中的循环外键排序依赖并添加租约心跳机制
- 确定性处理 AI 审查过程中的 CONTEXT_OVERFLOW 并转义非信任 Prompt 文本
- 优化 AI 发布说明生成流程,补齐浏览器 Header、捕获 HTTP 错误详情及收集敏感 Path Diff
重构
- 统一收敛配置默认值至 Python 源码并更新发布说明打包清单
- 统一跨模块配置 Section 处理逻辑及全局统一保存端点
- 重构 Agent Team 术语并将上下文压缩配置替换为统一压缩器
- 重构 AI 协议错误分类与降级回退行为
- 停止 Webhook 对 Issue 'edited' 编辑事件的自动处理
文档更新
- 新增中英文 GitHub Bug 报告 Issue 模板
测试
- 重构测试代码以提升一致性,补全账号探针与客户端回退机制的测试覆盖
- 在 Updater 测试集中忽略 Starlette httpx 弃用警告
其他变更
- 升级 Python 运行时至 3.14,并将 Docker 基础镜像与 Host Updater 构建环境迁移至 Debian Bookworm
- 更新 CI/CD 工作流与 Dependabot 分支策略,升级 SQLAlchemy、Pydantic-Settings、Ruff 等依赖包
- 整理与整合 Sakura AI 项目记忆、审查反思及结构化知识库提取记录
English Changelog
New Features
- Implement smooth WebUI theme switching with circular view transition
- Enhance Agent Team console layout and scrolling behavior, simplifying agent configuration and lifecycle controls
- Enhance start.sh script with MySQL volume checks, image digest pinning, and deployment environment initialization
- Add module-level hot reload for backend local development
- Add input field before model selection dropdowns in AI configuration UI, improve GitHub App validation, and add JWT lifetime constants
Bug Fixes
- Resolve reasoning content evaluation and served capabilities resolution in backend and AI reviewer
- Strip surrounding whitespace from API keys and normalize key input during account probes
- Handle read-only file errors when removing workspaces and worktrees on Windows
- Resolve circular sort dependencies in activity observability models via use_alter=True and add lease heartbeat
- Handle CONTEXT_OVERFLOW deterministically in AI reviewer and escape untrusted prompt text
- Enhance release notes generator by adding browser headers, capturing HTTP error details, and collecting sensitive diffs
Refactor
- Centralize configuration defaults in Python source code and update release packaging logic
- Unify config section handling across modules and consolidate config save-all endpoint
- Rename implementation agent terminology to agent and replace context compression with unified compressor
- Refactor AI error categories and fallback behavior
- Stop processing issue 'edited' events in webhook handling
Documentation
- Add English and Chinese bug report templates for GitHub Issues
Tests
- Refactor test suite for consistency and expand test coverage for account probe normalization and client fallbacks
- Ignore Starlette httpx deprecation warnings in updater test suite
Other Changes
- Upgrade Python runtime to 3.14 and migrate Docker base images and Host Updater build pipeline to Debian Bookworm
- Update CI/CD workflows and Dependabot branch policy; upgrade SQLAlchemy, Pydantic-Settings, Ruff, and other dependencies
- Consolidate Sakura AI project memory, reflections, and structured knowledge extraction records
Release v3.1.2
v3.1.2 (2026-08-17)
总结 / Summary
本次 3.1.2 发布新增默认自动标签创建,以及更新器的原子维护门控和旧版本失败关闭逻辑;修复 WebUI 中遗留更新任务保留、更新器镜像摘要验证恢复和开发通道更新恢复;将 README 更新至 3.1.2;并包含 Sakura 相关的条件调整、反思记录、记忆整合与结构化知识提取等维护变更。
This 3.1.2 release adds automatic label creation by default and an atomic maintenance gate with fail-closed logic for legacy versions in the updater; fixes preservation of legacy update jobs in the WebUI, recovery verification by image digest, and recovery of development channel updates; updates the README to 3.1.2; and includes Sakura-related maintenance changes such as condition updates, reflection records, memory consolidation, and structured knowledge extraction.
中文更新日志
新增功能
- 默认启用自动标签创建
- 为更新器添加原子维护门控和旧版本失败关闭逻辑
问题修复
- 保留 WebUI 中的遗留更新任务
- 更新器通过镜像摘要验证恢复
- 恢复开发通道更新
文档更新
- 将 README 更新至 3.1.2
其他变更
English Changelog
New Features
- Enable automatic label creation by default
- Add an atomic maintenance gate and fail-closed logic for legacy versions to the updater
Bug Fixes
- Preserve legacy update jobs in the WebUI
- Verify recovery by image digest in the updater
- Recover development channel updates
Documentation
- Update README to version 3.1.2
Other Changes
Release v3.1.1
v3.1.1 (2026-08-15)
总结 / Summary
3.1.1 版本带来多项功能增强与问题修复,包括受监督的优雅重启流程、本地化审查签名及 Sakura Agent 链接、备份恢复时保留部署连接设置;同时修复 WebUI 与更新器在频道处理、镜像验证、日志时间戳等方面的问题,并完善相关文档。
Version 3.1.1 brings several feature enhancements and bug fixes, including a supervised graceful restart flow, localized review signatures and Sakura Agent links, and preservation of deployment connection settings during backup restore; it also fixes issues in the WebUI and updater related to channel handling, image verification, and log timestamps, and improves the documentation.
中文更新日志
新增功能
- 运行时:添加受监督的优雅重启流程
- 添加本地化审查签名和 Sakura Agent 链接
- 设置:在备份恢复期间保留部署连接设置
问题修复
- WebUI:保留遗留更新任务
- 更新器:通过镜像摘要验证恢复
- 更新器:恢复开发频道更新
- 日志:使用兼容 strftime 的时间戳格式
- 核心:将审查签名辅助函数移出 AI 栈导入路径
- Docker:复用已发布的稳定摘要
- WebUI:本地化注册表就绪错误
- WebUI:保留频道更新状态
- 更新器:遵循当前镜像频道
- WebUI:澄清更新进度描述
文档更新
- 记录时间、更新和设置恢复的架构契约
- 记录设置验证令牌和部署细节
测试
- 更新允许的时间戳转换行引用
其他变更
- 忽略 .mimosa 目录
- 将命令超时时间增加到 600 秒以提高稳定性
English Changelog
New Features
- Runtime: add supervised graceful restart flow
- Add localized review signatures and Sakura Agent links
- Setup: preserve deployment connection settings during backup restore
Bug Fixes
- WebUI: preserve legacy update jobs
- Updater: verify recovery by image digest
- Updater: recover development channel updates
- Logging: use strftime-compatible timestamp formats
- Core: move review signature helpers out of the AI stack import path
- Docker: reuse published stable digest
- WebUI: localize registry readiness errors
- WebUI: preserve channel update state
- Updater: respect current image channel
- WebUI: clarify update progress description
Documentation
- Document architecture contracts for time, updates, and setup restore
- Document setup verification token and deployment details
Tests
- Update allowed timestamp conversion line reference
Other Changes
- Ignore .mimosa directory
- Increase command timeout to 600 seconds for better stability
Release v3.1.0
v3.1.0 (2026-08-14)
总结 / Summary
版本 3.1.0(2026-08-14)主要新增更新器的稳定与开发镜像通道、统一应用时间与时区处理,并在 Web UI 中显示更新进度。同时修复了 Docker 通道更新、时区处理及终端更新器轮询等问题,更新了相关文档,并包含测试与维护性调整。
Version 3.1.0 (2026-08-14) adds stable and development image channels to the updater, unifies application time and timezone handling, and shows an update progress dialog in the Web UI. It also fixes issues with Docker channel updates, timezone handling, and terminal updater polling, updates documentation, and includes test and maintenance changes.
中文更新日志
新增功能
- 新增更新器的稳定版与开发版镜像通道
- 统一应用时间与时区处理
- 在 Web UI 中显示更新进度对话框
问题修复
- 复用已发布的稳定 Docker 摘要
- 将 Docker 通道与统一时间对齐
- 保留 aware 活动与夏令时折叠
- 处理后续评审反馈
- 加固 Docker 通道更新
- 处理时区评审反馈
- 处理终端更新器轮询错误
文档更新
- 记录时间、更新与安装恢复的架构约定
- 记录安装验证令牌与部署细节
- 记录应用运行时日志访问
- 将 Python 语法指南更新至 3.14 基线并纳入 PEP 758
测试
- 在更新信息测试中动态推导较新版本
其他变更
English Changelog
New Features
- Add stable and development image channels to the updater
- Unify application time and timezone handling
- Show an update progress dialog in the Web UI
Bug Fixes
- Reuse the published stable digest
- Align Docker channels with unified time
- Preserve aware activity and DST folds
- Address follow-up review feedback
- Harden Docker channel updates
- Address timezone review feedback
- Handle terminal updater polling errors
Documentation
- Document architecture contracts for time, updates, and setup restore
- Document setup verification token and deployment details
- Document application runtime log access
- Update Python syntax guidelines for 3.14 baseline and PEP 758
Tests
- Derive newer version dynamically in update info test
Other Changes
Release v3.0.2
v3.0.2 (2026-08-13)
总结 / Summary
本版本修复了日志记录中的堆栈跟踪遗漏以及 API 错误响应中的内部信息泄露,改用更可靠的异常日志方式,并让启动脚本强制拉取最新镜像。文档方面补充了运行时日志访问说明、基于 Python 3.14 与 PEP 758 的语法指南更新,以及更新器的健康检查与更新后同步说明。此外完成了 Sakura 相关的反思记录、知识提取与记忆整合。
This release fixes missing tracebacks in logging and internal detail leakage in API error responses, adopts more reliable exception logging, and forces pulling latest images on service startup. Documentation adds guidance on accessing runtime logs, updates Python syntax guidelines to align with the 3.14 baseline and PEP 758, and covers updater health verification and post-update synchronization. It also includes Sakura-related reflections, knowledge extraction, and memory consolidation.
中文更新日志
问题修复
- 用户配置中将 logger.error 替换为 logger.exception,以正确记录堆栈跟踪
- 安全模块改用 loguru 异常日志记录,替代 exc_info=True
- 从 API 错误响应中隐藏内部错误详情
- 启动脚本在服务启动时强制拉取最新镜像
文档更新
- 记录应用运行时日志的访问方式
- 更新 Python 语法指南,使其基于 3.14 基线并符合 PEP 758
- 在更新器文档中要求手动健康检查
- 在更新器文档中补充更新后同步说明
其他变更
English Changelog
Bug Fixes
- Replace logger.error with logger.exception in user-config to properly log tracebacks
- Replace exc_info=True with loguru exception logging in security module
- Hide internal error details from API error responses
- Force pull latest images on service startup in start.sh
Documentation
- Document how to access application runtime logs
- Update Python syntax guidelines to align with the 3.14 baseline and PEP 758
- Require manual health verification in updater documentation
- Document post-update synchronization in updater documentation