Version format
Every release follows MAJOR.MINOR.PATCH as defined by semver.org.
- Major — Breaking changes to CLI commands, API endpoints, or SpooktacularKit public API. Requires migration steps.
- Minor — New features, new commands, new API endpoints. Fully backward-compatible. Safe to upgrade.
- Patch — Bug fixes, performance improvements, documentation updates. Always safe to upgrade immediately.
Pre-1.0 stability
Spooktacular is currently pre-1.0. Minor versions may include breaking changes. We document all breaking changes in release notes.
During the 0.x series, treat minor version bumps as potentially breaking. Pin to a specific version in production environments.
What counts as the public API
The following surfaces are covered by semver stability guarantees (post-1.0):
- CLI commands: Command names, flags, and output format for machine-parseable output
- HTTP API: Endpoint paths, request/response schemas, status codes
- SpooktacularKit: Public types, methods, and protocols
- VM bundle format: On-disk structure of .spookvm bundles
- LaunchDaemon plist format: Service configuration schema
The following are not covered by stability guarantees:
- Internal types (anything not marked
public) - GUI layout and visual design
- Human-readable CLI output formatting
- File paths for internal caches
Pinning versions
For enterprise deployments, pin to a specific version to avoid surprises.
# Pin to a specific version brew install spooktacular@0.1.0 # Or download a specific release from GitHub curl -LO https://github.com/Spooky-Labs/spooktacular/releases/download/v0.1.0/Spooktacular.dmg
// Pin to exact version .package(url: "https://github.com/Spooky-Labs/spooktacular", exact: "0.1.0") // Or use a range .package(url: "https://github.com/Spooky-Labs/spooktacular", from: "0.1.0")
macOS compatibility
| Spooktacular | Minimum macOS | Recommended | Notes |
|---|---|---|---|
| 0.1.x | macOS 14 Sonoma | macOS 15 Sequoia | macOS 14+ for save/restore state, auto-resize |
| 0.1.x | — | macOS 15+ | Required for unattended Setup Assistant |
| 0.1.x | — | macOS 26 | Liquid Glass support (optional) |
Release process
- Tags: Every release is tagged as
v{MAJOR}.{MINOR}.{PATCH}in Git - GitHub Releases: Every tag gets a GitHub Release with compiled binaries and release notes
- Changelog: Breaking changes are documented in release notes with migration instructions
- Tests: Every release must pass all 424 tests across 53 test suites
Support policy
As an open-source project, we provide best-effort community support.
- Latest release: Actively maintained with bug fixes and security patches
- Previous minor: Critical security fixes only
- Older releases: No active support; upgrade recommended
Enterprise teams needing guaranteed SLAs should consider contributing to the project or sponsoring development via GitHub Discussions.