Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/skills/stackless/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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):**
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Comment on lines +20 to +24

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Medium: These notes (copied into the GitHub Release by cargo-dist) say the plugin pin is 0.30.0 → 0.31.0. #100 as merged pins 0.33.0 (STRIPE_PROJECTS_PINNED, plugin-version.txt). stackless doctor then fails a 0.31.0 install. #100 also shipped shopify/store with no ### Added line.

Fix before tag: 0.30.0 → 0.33.0, and mention shopify/store.


### 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
Expand Down
46 changes: 23 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 20 additions & 20 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion crates/stackless-render/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion crates/stackless-vercel/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
18 changes: 9 additions & 9 deletions docs/PUBLISHING.md
Original file line number Diff line number Diff line change
@@ -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 |
| --- | --- | --- |
Expand Down Expand Up @@ -58,24 +58,24 @@ 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):

```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
```

---
Expand Down Expand Up @@ -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
```

---
Expand Down
2 changes: 1 addition & 1 deletion sdks/go/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Loading
Loading