Changelog
Changelog
用户可见的变化记在这里。格式参考 Keep a Changelog,版本号与 git tag 对齐。
Unreleased
0.1.2 - 2026-10-11
修复
- 首次启动读取
wsl --version时按 UTF-16LE 解码。以前按 UTF-8 读,版本号被空字节拆开(日志里像W S L Hr,g: 3 . 0 . 1 . 0),已安装的 WSL 3.0.1.0 会被当成未检测到。3.0.1.0 满足 2.9.3+。- First-launch
wsl --versionis decoded as UTF-16LE, so WSL 3.0.1.0 counts as 2.9.3 or newer.
- First-launch
- 已缓存的 SDK 在 host 版本探测字符串漂移时不再重复下载;仅当缓存包 major 落后于本机 WSL,或用户点「重试」时才会重新拉取。
- Cached SDK is reused across launches when the host version string drifts; re-download only if the cache is major-behind or Retry is used.
- 禁止多开:同一用户会话只允许一个 WSLc Desktop 实例;再次启动会提示已在运行。
- Single-instance lock: a second launch shows a notice and exits.
0.1.1 - 2026-10-11
新增
- 首次启动分成两步,并显示等待 / 检查中 / 通过 / 失败:先检查 WSL(要求 2.9.3+,过低或缺失时提示
wsl --update),再下载安装 SDK。失败原因写在对应步骤上,并提供「查看日志」和「重试」。WSL 检查未通过时不继续下载 SDK。- First-launch setup shows a WSL version step and an SDK install step, with the error on the failed step plus View logs and Retry.
- 安装日志可在应用内复制,并追加写入
%LOCALAPPDATA%\WSLcDesktop\logs\sdk-setup.log,可打开日志文件夹。- Setup logs are copyable in-app and appended under the app data
logsfolder.
- Setup logs are copyable in-app and appended under the app data
- 创建容器可「存为模板」(镜像、名称、端口、绑定挂载、命名卷、退出后删除、命令),打开对话框时可「从模板填充」,字段仍可改。模板可重命名、删除,保存在
%LOCALAPPDATA%\WSLcDesktop\templates.json。这一版没有导入/导出。- Container create can save, fill, rename, and delete local JSON templates. No import/export yet.
0.1.0 - 2026-10-10
新增
- 总览(默认页):引擎状态、SDK 与应用版本、会话 CPU·内存,以及容器 / 镜像 / 卷数量。
- Overview of engine, versions, session resources, and resource counts.
- 容器:按镜像创建,可填端口、绑定挂载、命名卷、退出后删除和可选命令。行内启动、停止、重启、日志、检查、执行、删除。列表写入
%LOCALAPPDATA%\WSLcDesktop\catalog.json,重启后用OpenContainer恢复。- Create containers (ports, bind mounts, named volumes) and operate on each row. Catalog survives app restart.
- 镜像:弹窗拉取;行内用该镜像创建容器,或删除镜像。
- Pull images in a dialog; create a container or remove an image from the row.
- 卷:弹窗创建 1/2/5/10 GiB 的 VHD;行内删除。卷与容器一起记在 catalog 里。
- Create 1/2/5/10 GiB VHD volumes and remove them from the row.
- 设置:界面语言(中文 / 英文,默认跟系统区域)、深色 / 浅色主题、会话 CPU 与内存。资源偏好马上写入
prefs.json,只在下次新建会话时生效。- Settings for ZH/EN, theme, and session CPU/memory (applied on the next new session).
- 首次启动用阻塞弹窗下载并缓存与本机 WSL 版本匹配的
wslcsdk.dll(NuGetMicrosoft.WSL.Containers)。MSI 不捆绑该 DLL。会话名为wslc-desktop,与默认wslcCLI 隔离;退出应用不terminate会话。- First run installs a version-matched SDK in a blocking dialog. The
wslc-desktopsession is left running on exit.
- First run installs a version-matched SDK in a blocking dialog. The
- 界面文案中英双语,系统语言以
zh开头时用中文,否则英文。- UI strings in Chinese and English, chosen from the system locale.
- Windows x64 MSI(
WSLc.Desktop-<version>-x86_64.msi),由 tagv*的 GitHub Actions 构建并挂到 Release。同版本安装沿用固定UpgradeCode覆盖旧包。安装程序带桌面快捷方式;主窗口为侧栏加标题栏。- MSI installer with same-version upgrade, desktop shortcut, sidebar, and title bar.
- 容器日志走
timeroute/wslc-rs的LogsOptions(wslc --session wslc-desktop container logs)。- Container logs use the
wslc-rsfork rather than a separate CLI path.
- Container logs use the
