Skip to content

Releases: DawnMagnet/wslc-compose-go

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 09 Oct 15:09

wslc-compose v0.1.2

Installer fix release. No changes to the wslc-compose binary behaviour.

Install / upgrade (Windows PowerShell or PowerShell 7, no admin required)

irm https://raw.githubusercontent.com/DawnMagnet/wslc-compose-go/main/scripts/install.ps1 | iex

Pin this version:

& ([scriptblock]::Create((irm https://github.com/DawnMagnet/wslc-compose-go/releases/download/v0.1.2/install.ps1))) -Version v0.1.2

Then open a new terminal:

wslc-compose version     # main command, works in every shell
wslc compose version     # PowerShell sugar, forwards to wslc-compose

Changes

  • Fixed: wslc compose missing in PowerShell 7. Windows PowerShell 5.1 and PowerShell 7 read separate
    profiles (Documents\WindowsPowerShell\profile.ps1 vs Documents\PowerShell\profile.ps1). install.ps1
    previously wired only the profile of the shell it ran in. It now adds the wslc compose wrapper line to
    both profiles, whichever shell you install from, and -Uninstall removes it from both.
    Re-run the installer to upgrade; the operation is idempotent.

Assets

Same layout as v0.1.1: UPX-packed windows-amd64 / linux-amd64 binaries, uncompressed arm64 binaries,
install.ps1, the wslc compose wrappers and checksums.txt (SHA-256 of every asset).

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Oct 14:59

wslc-compose v0.1.1

Packaging and documentation release. No behaviour changes in the Compose engine.

Install / upgrade (Windows PowerShell, no admin required)

irm https://raw.githubusercontent.com/DawnMagnet/wslc-compose-go/main/scripts/install.ps1 | iex

Pin this version:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/DawnMagnet/wslc-compose-go/main/scripts/install.ps1))) -Version v0.1.1

Then open a new terminal:

wslc-compose version     # main command, works in every shell
wslc compose version     # PowerShell sugar, forwards to wslc-compose

Changes

  • Fixed: wslc-compose printed nothing in PowerShell. v0.1.0 installed the PowerShell wrapper as
    wslc-compose.ps1 next to wslc-compose.exe; PowerShell prefers .ps1 over .exe, so the wrapper
    shadowed the binary. The wrapper is now wslc-compose.profile.ps1. Re-running the installer migrates
    existing installs automatically (removes the old file and rewrites the $PROFILE line).
  • Smaller downloads. wslc-compose-windows-amd64.exe and wslc-compose-linux-amd64 are packed with
    UPX 5.2.1 (--best --lzma), about 70% smaller. checksums.txt covers the packed files.
    arm64 binaries are left uncompressed because they are not smoke-tested on real hardware.
  • English-first docs. README is now bilingual (English, then Chinese); architecture notes and release notes
    are in English. wslc-compose is documented as the primary command, wslc compose as PowerShell sugar.
  • Release pipeline. make dist gained a compress step (UPX= disables it); release.yml installs a
    pinned UPX and smoke-tests the packed Linux binary before publishing.

Assets

File Description
wslc-compose-windows-amd64.exe Windows x64 (UPX-packed)
wslc-compose-windows-arm64.exe Windows ARM64
wslc-compose-linux-amd64 Inside WSL distros, x64 (UPX-packed)
wslc-compose-linux-arm64 Inside WSL distros, ARM64
install.ps1 One-line installer / upgrader / uninstaller
wslc-compose.profile.ps1, wslc-compose.sh, wslc.cmd wslc compose wrappers for PowerShell, bash/zsh and cmd
checksums.txt SHA-256 of every asset

Note: some antivirus engines flag UPX-packed executables heuristically. If yours does, restore the
original binary with upx -d wslc-compose.exe, or build an uncompressed one from source with make dist UPX=.

v0.1.0

Choose a tag to compare

@DawnMagnet DawnMagnet released this 09 Oct 14:37

wslc-compose v0.1.0 — 首个公开版本

用标准 compose.yaml 驱动 WSL Containers(wslc):在微软官方 wslc compose 发布之前,提供 docker compose 风格的体验。

一键安装(Windows PowerShell,无需管理员)

irm https://raw.githubusercontent.com/DawnMagnet/wslc-compose-go/main/scripts/install.ps1 | iex

自动识别 amd64/arm64、校验 SHA-256、安装到 %LOCALAPPDATA%\Programs\wslc-compose、加入用户 PATH,并在 $PROFILE 中启用 wslc compose。指定版本:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/DawnMagnet/wslc-compose-go/main/scripts/install.ps1))) -Version v0.1.0

功能

  • 命令:up(-d/--build/--pull/--force-recreate/--no-deps/--remove-orphans/--scale/--wait)、down(-v)、ps(--services/--status/--format json,含 HEALTH 列)、logs -f、exec、run --rm、build、pull、config、start/stop/restart、version
  • Compose 解析:官方 compose-go v2,支持插值、.env、多 -f 合并、extends、include、profiles
  • 字段映射:ports、environment/env_file、bind/命名/匿名卷、tmpfs、networks(别名、internal、子网)、depends_on(started/healthy/completed)、healthcheck、build(args/target/多阶段)、资源限制、ulimits、DNS、GPU(gpus: all / deploy.resources.reservations.devices)、replicas/scale 等
  • 无状态文件:项目状态全部存在 com.docker.compose.* 容器标签上;配置哈希驱动增量重建
  • --dry-run 打印将执行的 wslc 命令;--strict 对 wslc 无法实现的字段报错
  • up 失败时自动回滚本次新建的资源;pull 对网络抖动自动重试

已验证

Windows 11 + wslc 3.0.1 真机回归:up/up -d/down -v/ps/logs/exec/run/build/pull/--scale、健康检查等待、匿名卷、GPU(CUDA 显存读写)。

已知限制

wslc 不支持重启策略、privileged、cap_add、devices、多网络、secrets/configs 等(警告忽略,--strict 报错);GPU 仅支持 all。详见 README。

附件

文件 说明
wslc-compose-windows-amd64.exe / -arm64.exe Windows 原生
wslc-compose-linux-amd64 / -arm64 WSL 发行版内使用
install.ps1、wslc-compose.ps1、wslc-compose.sh、wslc.cmd 安装与 wslc compose 包装脚本
checksums.txt SHA-256