From cd4e48e1dbce5a1ae5cb98d65aad64e04580828a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 14 Aug 2026 20:40:47 +0000 Subject: [PATCH] release: v0.3.1 Lockstep bump workspace crates and language SDKs. CHANGELOG covers the Stripe Projects 0.31.0 pin and cargo-vet exemptions since v0.3.0. Co-authored-by: Michael Assaf --- .cursor/skills/stackless/SKILL.md | 2 +- CHANGELOG.md | 25 ++++++++++++++++ Cargo.lock | 46 +++++++++++++++--------------- Cargo.toml | 40 +++++++++++++------------- README.md | 2 +- crates/stackless-render/Cargo.toml | 2 +- crates/stackless-vercel/Cargo.toml | 2 +- docs/PUBLISHING.md | 18 ++++++------ sdks/go/README.md | 2 +- sdks/python/pyproject.toml | 2 +- sdks/typescript/package-lock.json | 4 +-- sdks/typescript/package.json | 2 +- web/public/start.md | 2 +- 13 files changed, 87 insertions(+), 62 deletions(-) diff --git a/.cursor/skills/stackless/SKILL.md b/.cursor/skills/stackless/SKILL.md index 2763d69..eb551c5 100644 --- a/.cursor/skills/stackless/SKILL.md +++ b/.cursor/skills/stackless/SKILL.md @@ -20,7 +20,7 @@ branching. ```bash curl --proto '=https' --tlsv1.2 -LsSf https://github.com/snowmead/stackless/releases/latest/download/stackless-installer.sh | sh -stackless --version # expect 0.3.0 or newer +stackless --version # expect 0.3.1 or newer ``` **From source (this repo):** diff --git a/CHANGELOG.md b/CHANGELOG.md index 0898573..7b5effd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,31 @@ Generate with: ## Unreleased +## v0.3.1 — 2026-08-14 + +Stripe Projects plugin 0.31.0 pin and cargo-vet supply-chain exemptions. + +### Changed + +- Stripe Projects plugin pin 0.30.0 → 0.31.0; catalog snapshot re-blessed (#100). + +### Fixed + +- cargo vet: exempt eight unvetted transitive crates so the supply-chain gate + passes (#99). + +### Commits + +- [1dffab4](https://github.com/snowmead/stackless/commit/1dffab44f5f4d73e448a9d83f0281d481ccaf084) fix(supply-chain): exempt 8 unvetted crates for cargo vet (#99) +- [56065f4](https://github.com/snowmead/stackless/commit/56065f46ba6f0ccf3ee45314ddeded76cd9f9945) feat(stripe-projects): integrate plugin 0.30.0 → 0.31.0 (#100) + +### Install + +```sh +curl --proto '=https' --tlsv1.2 -LsSf https://github.com/snowmead/stackless/releases/download/v0.3.1/stackless-installer.sh | sh +stackless --version +``` + ## v0.3.0 — 2026-07-31 Phase-1 host substrates with real deploy/health/logs, pinned Stripe catalog diff --git a/Cargo.lock b/Cargo.lock index 098adb3..b7cc4a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2315,7 +2315,7 @@ dependencies = [ [[package]] name = "render-client" -version = "0.3.0" +version = "0.3.1" dependencies = [ "bytes", "chrono", @@ -2892,7 +2892,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stackless" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axoupdater", "clap", @@ -2923,7 +2923,7 @@ dependencies = [ [[package]] name = "stackless-bindgen" -version = "0.3.0" +version = "0.3.1" dependencies = [ "serde_json", "stackless-idl", @@ -2933,7 +2933,7 @@ dependencies = [ [[package]] name = "stackless-cloud" -version = "0.3.0" +version = "0.3.1" dependencies = [ "reqwest", "serde", @@ -2948,7 +2948,7 @@ dependencies = [ [[package]] name = "stackless-cloudflare" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -2968,7 +2968,7 @@ dependencies = [ [[package]] name = "stackless-core" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "libsql", @@ -2986,7 +2986,7 @@ dependencies = [ [[package]] name = "stackless-daemon" -version = "0.3.0" +version = "0.3.1" dependencies = [ "http-body-util", "hyper 1.10.1", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "stackless-fly" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3021,7 +3021,7 @@ dependencies = [ [[package]] name = "stackless-git" -version = "0.3.0" +version = "0.3.1" dependencies = [ "grit-lib", "secrecy", @@ -3031,7 +3031,7 @@ dependencies = [ [[package]] name = "stackless-gitlab" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3051,7 +3051,7 @@ dependencies = [ [[package]] name = "stackless-idl" -version = "0.3.0" +version = "0.3.1" dependencies = [ "serde", "serde_json", @@ -3063,7 +3063,7 @@ dependencies = [ [[package]] name = "stackless-integrations" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3081,7 +3081,7 @@ dependencies = [ [[package]] name = "stackless-laravel-cloud" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3100,7 +3100,7 @@ dependencies = [ [[package]] name = "stackless-local" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "bollard", @@ -3120,7 +3120,7 @@ dependencies = [ [[package]] name = "stackless-netlify" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3142,7 +3142,7 @@ dependencies = [ [[package]] name = "stackless-provider-sdk" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "serde", @@ -3155,7 +3155,7 @@ dependencies = [ [[package]] name = "stackless-railway" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3174,7 +3174,7 @@ dependencies = [ [[package]] name = "stackless-render" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "chrono", @@ -3197,7 +3197,7 @@ dependencies = [ [[package]] name = "stackless-stripe-projects" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "serde", @@ -3212,7 +3212,7 @@ dependencies = [ [[package]] name = "stackless-vercel" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "base64 0.22.1", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "stackless-wordpress" -version = "0.3.0" +version = "0.3.1" dependencies = [ "async-trait", "reqwest", @@ -3751,7 +3751,7 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vercel-client" -version = "0.3.0" +version = "0.3.1" dependencies = [ "bytes", "chrono", @@ -4506,7 +4506,7 @@ checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "xtask" -version = "0.3.0" +version = "0.3.1" dependencies = [ "clap", "serde", diff --git a/Cargo.toml b/Cargo.toml index 46076b1..964af39 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ members = [ [workspace.package] edition = "2024" -version = "0.3.0" +version = "0.3.1" license = "MIT OR Apache-2.0" repository = "https://github.com/snowmead/stackless" @@ -44,25 +44,25 @@ dbg_macro = "deny" [workspace.dependencies] # `version` is required for crates.io; `path` keeps the workspace linked locally. -stackless-core = { path = "crates/stackless-core", version = "0.3.0" } -stackless-cloud = { path = "crates/stackless-cloud", version = "0.3.0" } -stackless-daemon = { path = "crates/stackless-daemon", version = "0.3.0" } -stackless-local = { path = "crates/stackless-local", version = "0.3.0" } -stackless-git = { path = "crates/stackless-git", version = "0.3.0" } -stackless-render = { path = "crates/stackless-render", version = "0.3.0" } -stackless-vercel = { path = "crates/stackless-vercel", version = "0.3.0" } -stackless-fly = { path = "crates/stackless-fly", version = "0.3.0" } -stackless-netlify = { path = "crates/stackless-netlify", version = "0.3.0" } -stackless-railway = { path = "crates/stackless-railway", version = "0.3.0" } -stackless-laravel-cloud = { path = "crates/stackless-laravel-cloud", version = "0.3.0" } -stackless-gitlab = { path = "crates/stackless-gitlab", version = "0.3.0" } -stackless-wordpress = { path = "crates/stackless-wordpress", version = "0.3.0" } -stackless-cloudflare = { path = "crates/stackless-cloudflare", version = "0.3.0" } -stackless-integrations = { path = "crates/stackless-integrations", version = "0.3.0" } -stackless-provider-sdk = { path = "crates/stackless-provider-sdk", version = "0.3.0" } -stackless-stripe-projects = { path = "crates/stackless-stripe-projects", version = "0.3.0" } -stackless-idl = { path = "crates/stackless-idl", version = "0.3.0" } -stackless-bindgen = { path = "crates/stackless-bindgen", version = "0.3.0" } +stackless-core = { path = "crates/stackless-core", version = "0.3.1" } +stackless-cloud = { path = "crates/stackless-cloud", version = "0.3.1" } +stackless-daemon = { path = "crates/stackless-daemon", version = "0.3.1" } +stackless-local = { path = "crates/stackless-local", version = "0.3.1" } +stackless-git = { path = "crates/stackless-git", version = "0.3.1" } +stackless-render = { path = "crates/stackless-render", version = "0.3.1" } +stackless-vercel = { path = "crates/stackless-vercel", version = "0.3.1" } +stackless-fly = { path = "crates/stackless-fly", version = "0.3.1" } +stackless-netlify = { path = "crates/stackless-netlify", version = "0.3.1" } +stackless-railway = { path = "crates/stackless-railway", version = "0.3.1" } +stackless-laravel-cloud = { path = "crates/stackless-laravel-cloud", version = "0.3.1" } +stackless-gitlab = { path = "crates/stackless-gitlab", version = "0.3.1" } +stackless-wordpress = { path = "crates/stackless-wordpress", version = "0.3.1" } +stackless-cloudflare = { path = "crates/stackless-cloudflare", version = "0.3.1" } +stackless-integrations = { path = "crates/stackless-integrations", version = "0.3.1" } +stackless-provider-sdk = { path = "crates/stackless-provider-sdk", version = "0.3.1" } +stackless-stripe-projects = { path = "crates/stackless-stripe-projects", version = "0.3.1" } +stackless-idl = { path = "crates/stackless-idl", version = "0.3.1" } +stackless-bindgen = { path = "crates/stackless-bindgen", version = "0.3.1" } # The profile that 'dist' will build with [profile.dist] diff --git a/README.md b/README.md index 827c25f..7aea640 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ npm i stackless-sdk pip install stackless-sdk # Go -go get github.com/snowmead/stackless/sdks/go@v0.3.0 +go get github.com/snowmead/stackless/sdks/go@v0.3.1 ``` All clients need the `stackless` CLI on `PATH` (or `STACKLESS_BIN`) for the diff --git a/crates/stackless-render/Cargo.toml b/crates/stackless-render/Cargo.toml index 1900295..b64e1f8 100644 --- a/crates/stackless-render/Cargo.toml +++ b/crates/stackless-render/Cargo.toml @@ -15,7 +15,7 @@ async-trait = "0.1.89" # DateTime that render-client returns (its own chrono dep omits `alloc`). # Load-bearing via feature unification even though no chrono path is named here. chrono = { version = "0.4.45", default-features = false, features = ["alloc"] } -render-client = { path = "../render-client", version = "0.3.0" } +render-client = { path = "../render-client", version = "0.3.1" } reqwest = { version = "0.13.4", default-features = false, features = [ "rustls", "charset", diff --git a/crates/stackless-vercel/Cargo.toml b/crates/stackless-vercel/Cargo.toml index 1a7dab2..e10a1af 100644 --- a/crates/stackless-vercel/Cargo.toml +++ b/crates/stackless-vercel/Cargo.toml @@ -12,7 +12,7 @@ workspace = true [dependencies] async-trait = "0.1.89" base64 = "0.22.1" -vercel-client = { path = "../vercel-client", version = "0.3.0" } +vercel-client = { path = "../vercel-client", version = "0.3.1" } reqwest = { version = "0.13.4", default-features = false, features = [ "rustls", "charset", diff --git a/docs/PUBLISHING.md b/docs/PUBLISHING.md index 2dd3e7e..c9b892c 100644 --- a/docs/PUBLISHING.md +++ b/docs/PUBLISHING.md @@ -1,7 +1,7 @@ # Publishing stackless packages Release surfaces, lockstep with `[workspace.package].version` (today -`0.3.0`): +`0.3.1`): | Surface | Package | How it ships | | --- | --- | --- | @@ -58,16 +58,16 @@ consume the environment SDK, but it is published in the crates wave below. 4. Open a PR; wait for CI including the `sdk` job (`mise run sdk-test` locally). 5. Merge, then from the release commit: ```bash - git tag v0.3.0 - git tag sdks/go/v0.3.0 - git push origin v0.3.0 sdks/go/v0.3.0 + git tag v0.3.1 + git tag sdks/go/v0.3.1 + git push origin v0.3.1 sdks/go/v0.3.1 ``` - `v0.3.0` triggers cargo-dist + `publish-packages`. `sdks/go/v0.3.0` is for + `v0.3.1` triggers cargo-dist + `publish-packages`. `sdks/go/v0.3.1` is for the Go module proxy only (not a GitHub Release). 6. Confirm: - GitHub Release + installer (cargo-dist on `v*`) - `publish-packages` workflow green (crates.io, npm, PyPI) - - `go list -m github.com/snowmead/stackless/sdks/go@v0.3.0` resolves + - `go list -m github.com/snowmead/stackless/sdks/go@v0.3.1` resolves Manual re-publish of an existing tag (e.g. language SDKs after crates.io already shipped): @@ -75,7 +75,7 @@ already shipped): ```bash # Use --ref main so the latest publish scripts run; pypi env must allow main # (or dispatch from a v* tag that contains the fixed workflow). -gh workflow run publish-packages.yml --ref main -f tag=v0.3.0 +gh workflow run publish-packages.yml --ref main -f tag=v0.3.1 ``` --- @@ -128,8 +128,8 @@ Later waves only need a version bump + tag. && python -m twine upload dist/*) # Go (tag only) -git tag sdks/go/v0.3.0 -git push origin sdks/go/v0.3.0 +git tag sdks/go/v0.3.1 +git push origin sdks/go/v0.3.1 ``` --- diff --git a/sdks/go/README.md b/sdks/go/README.md index c91b630..e791957 100644 --- a/sdks/go/README.md +++ b/sdks/go/README.md @@ -9,7 +9,7 @@ protocol ([`../PROTOCOL.md`](../PROTOCOL.md)) via the `stackless` CLI. github.com/snowmead/stackless/sdks/go ``` -Publish tags use the subdirectory prefix, e.g. `sdks/go/v0.3.0` (lockstep with +Publish tags use the subdirectory prefix, e.g. `sdks/go/v0.3.1` (lockstep with the workspace version). ## Usage diff --git a/sdks/python/pyproject.toml b/sdks/python/pyproject.toml index 261e706..77a95de 100644 --- a/sdks/python/pyproject.toml +++ b/sdks/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "stackless-sdk" -version = "0.3.0" +version = "0.3.1" description = "CLI-backed Python SDK for stackless lifecycle verbs" readme = "README.md" requires-python = ">=3.10" diff --git a/sdks/typescript/package-lock.json b/sdks/typescript/package-lock.json index 0ead951..75a9d45 100644 --- a/sdks/typescript/package-lock.json +++ b/sdks/typescript/package-lock.json @@ -1,12 +1,12 @@ { "name": "stackless-sdk", - "version": "0.3.0", + "version": "0.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "stackless-sdk", - "version": "0.3.0", + "version": "0.3.1", "license": "(MIT OR Apache-2.0)", "devDependencies": { "@types/node": "^22.10.0", diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index b2de8bb..d8f08e9 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "stackless-sdk", - "version": "0.3.0", + "version": "0.3.1", "description": "CLI-backed Stackless client for Node and Bun", "type": "module", "license": "(MIT OR Apache-2.0)", diff --git a/web/public/start.md b/web/public/start.md index b6befc6..2fbc31b 100644 --- a/web/public/start.md +++ b/web/public/start.md @@ -18,7 +18,7 @@ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/snowmead/stackless/rele stackless --version ``` -Expect `0.3.0` or newer. If `stackless` is not on `PATH` after install, refresh the shell environment and retry `--version` before continuing. +Expect `0.3.1` or newer. If `stackless` is not on `PATH` after install, refresh the shell environment and retry `--version` before continuing. ## Step 3: Add the agent skill