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-Cloud → Pendra-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.mod→require github.com/pendra-ai/stable-diffusion-go v0.3.1internal/stablediffusioninstall.DefaultVersion→v0.3.1internal/stablediffusioninstall/checksums.json→ newversionand 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