Skip to content

Releases: deploymenttheory/go-sdk-winmediafoundry

v0.8.0

Choose a tag to compare

@ShocOne ShocOne released this 04 Aug 08:21
0c3d3e1

0.8.0 (2026-08-04)

Features

  • isoinspect: RetargetElToritoUEFI — point the boot catalog at another image file (10cc766)
  • isoinspect: RetargetElToritoUEFI (UDF-aware) for no-prompt Windows boot media (03f7d4a)

v0.7.0

Choose a tag to compare

@ShocOne ShocOne released this 22 Jul 12:01

What's Changed

WIM modification, Win11 bypass, bootable USB, and disk-space guards

Extend the imaging library from build-an-ISO to build-and-deploy media with
Windows 11 requirement bypasses, and fill the WIM "modification" gap that the
existing read/write/codec support left open.

WIM modification (pkg/wim)

  • Updater: edit image XML properties in place (SetProperty/SetPropertyAll),
    add/replace/remove files inside an image via append-mode rebuild, and
    serializeHeader/putResource for faithful header rewrites.
  • Split into .swm sets and Join back, following wimlib's on-disk contract
    (per-part blob tables, shared GUID, metadata in part 1); round-trip tested.
  • Preserve the catalog block (INSTALLATIONTYPE/EDITIONID/ARCH) when
    rebuilding boot.wim/install.wim. Previously dropped, which broke edition
    selection and made the INSTALLATIONTYPE=Server bypass impossible.

Windows 11 bypass (pkg/unattend, pkg/builder)

  • Mechanism A: set WINDOWS/INSTALLATIONTYPE=Server on every install.wim image.
  • Mechanism B: generate an autounattend.xml with LabConfig TPM/SecureBoot/RAM/
    Storage/CPU bypass keys + OOBE BypassNRO; merged via the ExtraFiles hook and
    respecting a caller-supplied answer file.
  • builder.Options.Bypass wires both; CLI flags --bypass-win11 et al.

Bootable USB (pkg/usb)

  • Portable plan/copy/split/EFI-fallback core plus Windows (diskpart) and Linux
    (sfdisk/mkfs) backends behind build tags; unsupported platforms return
    ErrUnsupported so the module still builds everywhere.
  • install.wim over FAT32's 4 GiB limit is emitted as an install.swm set
    a missing EFI loader is synthesized from bootmgfw.efi in the install

El Torito fixes (pkg/iso)

  • Use the fixed oscdimg BIOS load size (8 sectors) instead of a length-
    value; guard the UEFI sector count against uint16 overflow.

Disk-space pre-flight (pkg/diskspace)

  • Cross-platform free-space via GetDiskFreeSpaceEx / statfs (no cgo, bu
    tagged). Wired into builder.BuildISO (checks workdir + output, summin
    requirement when they share a volume) and usb.WriteMedia (media must fit the
    disk). Settable --workdir on iso build targets a volume with room.

CLI

  • New usb list|write (with --dry-run/--yes guards), wim set-property --workdir on iso build`.

Validated end to end against a SHA1-verified Windows 11 Pro ESD: the re
ISO passes isoinspect with zero errors, stores the 6.13 GB install.wim
allocation-descriptor extents at full size, applies the bypass to all 7

Full Changelog: v0.6.2...v0.7.0

v0.6.2

Choose a tag to compare

@ShocOne ShocOne released this 06 Jul 05:52
dd70aca

What's Changed

  • chore(deps)(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot[bot] in #25
  • chore(deps)(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot[bot] in #28
  • chore(deps)(deps): bump goreleaser/goreleaser-action from 6.4.0 to 7.2.3 by @dependabot[bot] in #27

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@ShocOne ShocOne released this 25 Jun 15:58
38607a3

0.6.1 (2026-06-25)

Bug Fixes

  • produce bootable LZX-compressed WIMs compatible with go-winio (654d53c)

v0.6.0

Choose a tag to compare

@ShocOne ShocOne released this 25 Jun 09:55
8173ac0

0.6.0 (2026-06-25)

Features

  • add support for injecting extra files into ISO media (a735e22)

v0.5.0

Choose a tag to compare

@ShocOne ShocOne released this 24 Jun 05:01

feat: expose softwaredownload via CLI and refresh docs

Add a swdl command group to the winmediafoundry CLI that exposes the
previously library-only softwaredownload client for downloading consumer
Windows 11 ISOs:

  • swdl list — scrape and list available ISO editions (x64/ARM64)
  • swdl resolve — resolve a signed, time-limited download link
  • swdl download — resolve and stream the ISO to disk with progress

Wiring follows the existing esd/wim command conventions: a newSWDLClient()
helper in client.go, an --architecture flag (x64/arm64) local to the group
to avoid clashing with the windowsuup --arch persistent flag, and id-vs-name
dispatch (all-digit arg -> GetByID, otherwise GetByName).

Docs:

  • README.md / cli/README.md: document the softwaredownload client and the
    swdl commands (previously undocumented entirely)
  • CHANGELOG.md: note the new client and swdl commands; drop the fabricated
    [1.0.0]/[1.1.0] placeholder blocks
  • De-template stale boilerplate: CONTRIBUTING issues link, CODE_OF_CONDUCT
    contact, and BUG_REPORT environment fields (Terraform -> Go/SDK/CLI)

v0.4.0

Choose a tag to compare

@ShocOne ShocOne released this 24 Jun 04:45

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@ShocOne ShocOne released this 23 Jun 15:23
0960731

What's Changed

  • fix: rename module path to match repository (go-sdk-winmediafoundry) by @ShocOne in #21
  • chore(deps)(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #18

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@ShocOne ShocOne released this 23 Jun 14:26
543bcc1

What's Changed

  • feat: Windows 11 release resolver, build progress, ~25x faster + fixed ISO builds by @ShocOne in #20

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@ShocOne ShocOne released this 23 Jun 11:32

What's Changed

  • chore(deps)(deps): bump actions/setup-go from 6.2.0 to 6.4.0 by @dependabot[bot] in #2
  • chore(deps)(deps): bump actions/dependency-review-action from 4.8.2 to 4.9.0 by @dependabot[bot] in #3
  • chore(deps)(deps): bump super-linter/super-linter from 8.5.0 to 8.6.0 by @dependabot[bot] in #6
  • chore(deps)(deps): bump googleapis/release-please-action from 4.4.0 to 5.0.0 by @dependabot[bot] in #5
  • chore(deps)(deps): bump step-security/harden-runner from 2.14.2 to 2.19.0 by @dependabot[bot] in #4
  • chore(deps)(deps): bump actions/github-script from 8.0.0 to 9.0.0 by @dependabot[bot] in #1
  • chore(deps)(deps): bump go.uber.org/zap from 1.27.1 to 1.28.0 by @dependabot[bot] in #9
  • chore(deps)(deps): bump step-security/harden-runner from 2.19.0 to 2.19.1 by @dependabot[bot] in #11
  • chore(deps)(deps): bump step-security/harden-runner from 2.19.1 to 2.19.3 by @dependabot[bot] in #12
  • chore(deps)(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot[bot] in #13
  • chore(deps)(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #15
  • chore(deps)(deps): bump actions/upload-artifact from 6.0.0 to 7.0.1 by @dependabot[bot] in #7
  • chore(deps)(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.1.0 by @dependabot[bot] in #8
  • chore(deps)(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0 by @dependabot[bot] in #10
  • chore(deps)(deps): bump step-security/harden-runner from 2.19.3 to 2.19.4 by @dependabot[bot] in #14
  • chore(deps)(deps): bump resty.dev/v3 from 3.0.0-beta.6 to 3.0.0-rc.1 by @dependabot[bot] in #16
  • chore(deps)(deps): bump resty.dev/v3 from 3.0.0-rc.1 to 3.0.0-rc.2 by @dependabot[bot] in #17
  • chore(deps)(deps): bump super-linter/super-linter from 8.6.0 to 8.7.0 by @dependabot[bot] in #19

New Contributors

Full Changelog: https://github.com/deploymenttheory/go-sdk-winmediafoundry/commits/v0.1.0