# CHANGELOG ## [Unreleased] ### BREAKING CHANGES - **admin:stack:mode 命令全删**:list/use/apply/rollback/current 子命令全部移除(含 app 层和 extend/base/ 层)。下游执行 `php think admin:update` 同步上游代码后,这些命令将不再可用。 ### 新增 - **B-route 多模式运行**:每个运行模式(default/docker-serve/docker-dev/full/author)独立目录,各自直接运行。业务代码始终一套,在仓库根目录。 - default 模式:根目录直接 `php think run` - Docker 模式:`cd source/stack/ && docker compose up -d` - **docker-dev compose profile**:原 docker-dev-sync 模式合并为 docker-dev 的 `sync` profile(Windows I/O 优化)。使用 `docker compose --profile sync up -d` 或设置 `COMPOSE_PROFILES=sync`。 - 根 `.dockerignore`:合并各模式排除规则,排除 `source/stack/` 避免镜像臃肿。 - `source/stack/stack.json` 简化为纯文档元数据(schema v2),加 category 分类。 ### 迁移指引 **原 admin:stack:mode use 用户**: - 旧方式:`php think admin:stack:mode use docker-dev` - 新方式:`cd source/stack/docker-dev && docker compose up -d` - 切换回 default:停掉 Docker 容器,根目录 `php think run` **原 admin:stack:mode current 用户**: - 旧方式:运行命令查询当前模式 - 新方式:检查根目录有无 Docker 文件(无 = default 模式);查看 `source/stack/stack.json` 或 `source/stack/` 目录了解可用模式 **原 admin:stack:mode list 用户**: - 旧方式:运行命令列模式 - 新方式:查看 `source/stack/` 目录(`Get-ChildItem source\stack -Directory`)或读 `source/stack/stack.json` **原 docker-dev-sync 用户**: - 旧方式:`php think admin:stack:mode use docker-dev-sync` - 新方式:`cd source/stack/docker-dev && docker compose --profile sync up -d ulthon_admin_sync mysql redis phpmyadmin` - Windows 自动激活:在 PowerShell profile 加 `$env:COMPOSE_PROFILES = if ($env:OS -eq 'Windows_NT') { 'sync' } else { '' }` **原依赖 state file 的脚本**: - state file(runtime/agents/stack-current.json)已删除。判断模式改读根目录状态。