All notable changes to sunscreen are documented here.
The project follows Semantic Versioning. During the 0.x preview line, CLI flags,
generated file layouts, and plugin protocol details may still change before
1.0.0; breaking changes will be called out in this file.
- Multi-channel distribution pipeline. Tag pushes (
vX.Y.Z) now fan out from the GitHub Release to three additional channels in parallel:- Homebrew tap (
Pantani/homebrew-sunscreen) — formula generated by cargo-dist and committed to the tap on each release. - Snap Store (
sunscreen-cli, classic confinement) — built for amd64 and arm64, published to thestablechannel. - APT via Cloudsmith (
pantani/sunscreen) —cargo-debproduces amd64/arm64 packages and uploads them with idempotentrepublish.
- Homebrew tap (
- Per-channel
continue-on-errorplus arelease-summaryjob that aggregates status into the workflow Job Summary — a broken channel never blocks the release. docs/reference/distribution.mddocumenting install commands, required secrets, rotation policy, and dry-run procedure.
- First public preview release of the Rust
sunscreenCLI. - Anchor workspace bootstrap via
sunscreen chain new, including multi-program templates and optional Next.js/Vite/headless frontend variants. - Pinocchio workspace bootstrap via
sunscreen chain new --framework pinocchio, withcargo build-sbfbuild routing and clear guards for Anchor-only commands. - Marker-based scaffolders for programs, instructions, accounts, events, errors,
and safe marker repair through
sunscreen chain doctor --fix-markers. - Composite recipes for CRUD, SPL token, and Metaplex NFT slices.
- Runtime orchestration through
sunscreen chain build --headlessandsunscreen chain serve --headless, including watcher debounce, Surfpool orsolana-test-validatorsupervision, Codama regeneration, and frontend reload notification. - Code generation commands for deterministic IDL export, Codama client generation, and React/Solid Query frontend hooks.
- Beginner onboarding commands:
init,quickstart,examples,wallet,deploy, andlearn, with actionablenext_steperrors. - Local plugin runtime MVP: plugin manifests, stdio JSON-RPC transport, gRPC
proto contract, sandbox/trust boundaries, marketplace listing, lifecycle hooks,
and plugin-backed
scaffold <noun>routing. - GitHub Actions release pipeline using
cargo-distto publish Linux x64, Linux ARM64, macOS x64, macOS ARM64 archives, checksums, and a shell installer as GitHub Release assets.
sunscreenis distributed through GitHub Releases, Homebrew (tap), Snap Store, and APT (Cloudsmith). crates.io,cargo-binstall, and Windows installers remain future Phase 8 work.- Real Anchor/Codama/Solana integration tests are still gated by the host toolchain and skipped by default on generic CI runners.
- Pinocchio support is currently a bootstrap/build MVP; native Pinocchio scaffold/codegen flows are intentionally deferred.