Skip to content

v0.3.1

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Aug 12:57
d6827e9

stable-diffusion-go v0.3.1 — pure-Go binding + prebuilt native libraries.

Built from leejet/stable-diffusion.cpp @ e92e86f (upstream pin: master-802-e92e86f).

go get github.com/pendra-ai/stable-diffusion-go@v0.3.1 for the
binding; the lib archives attached here match this exact tag. Each archive
contains a self-contained libstable-diffusion (ggml statically linked,
hidden visibility — exports only the sd_* symbols pkg/sd/load.go registers).

CUDA archives require a matching host CUDA runtime; Vulkan archives require
a Vulkan loader/ICD on the host. The Windows archive carries the per-CPU/GPU
(avx2/avx512/avx/noavx/vulkan/cuda13) subdir tree the binding selects from.

The GitHub org was renamed Pendra-CloudPendra-AI, so this repo now lives at github.com/pendra-ai/stable-diffusion-go. The go.mod module path still declared the old org, which works only for as long as GitHub's redirect survives — and that redirect dies the moment anyone re-registers the old org name.

Changes

File What
go.mod module path → github.com/pendra-ai/stable-diffusion-go
stable_diffusion.go, maps_test.go internal imports of /pkg/sd
examples/txt2img, examples/txt2vid imports
README.md (5), CLAUDE.md go get, release URLs, import snippets, the module-path statement
csrc/sd_devmem.cpp provenance comment
.github/workflows/build-libs.yml the go get line in the generated release notes

Lowercase pendra-ai throughout: GitHub resolves case-insensitively, it matches the GHCR namespace and the already-published github.com/pendra-ai/pendra-go, and it avoids Go's !-escaping for uppercase module paths.

Please do NOT add release:skip

This PR needs its release train run. A module path rename makes this a new module to Go, and the existing v0.3.0 tag's go.mod still declares Pendra-Cloud/stable-diffusion-go — so go get github.com/pendra-ai/stable-diffusion-go@v0.3.0 fails with a module-path mismatch, redirect or not. Only a new tag cut after this merge makes the renamed path resolvable.

Merging therefore publishes v0.3.1 (patch) with the full lib matrix.

Downstream follow-up in pendra-ai/pendra

Once v0.3.1 exists, the worker needs all of these moved in lockstep — they're deliberately coupled, since one tag serves both the Go module and the runtime-downloaded native archives:

  • packages/worker/go.modrequire github.com/pendra-ai/stable-diffusion-go v0.3.1
  • internal/stablediffusioninstall.DefaultVersionv0.3.1
  • internal/stablediffusioninstall/checksums.json → new version and new hashes
  • .stable-diffusion-go-version

packages/worker/scripts/bump-stable-diffusion-go.sh automates exactly this — note its MODULE= still points at the old org and needs updating in the same change.

The hashes genuinely change: this release rebuilds the archives rather than re-uploading v0.3.0's, so every per-variant SHA-256 is new. That's expected, not a red flag.

Testing

go build ./..., go vet ./..., go test ./... — 2 packages ok, no failures.

What's Changed

  • refactor: rename the module path to github.com/pendra-ai/stable-diffusion-go by @tomcrawf90 in #30

Full Changelog: v0.3.0...v0.3.1