SDK versions and deprecation
What is versioned, what keeps working, and how APIs are deprecated.
What is versioned:
- The SDK, named by
sdkVersionin each manifest (now0.1.0), with its
packages, CLI and documentation.
- Contracts inside a package, each with its own
schemaVersion: the
manifest, capability descriptors, module descriptors, portable packages and conversions.
- Each Block release, with its own semantic version. A published release is
immutable: StillMade keeps its exact source and the contract it was built for.
What stays true:
- A published release keeps working. Installed pins never move to a newer
version on their own, and saved projects reopen with the pinned version.
- New capabilities are additive: new optional manifest fields, port types,
hosted operations, host API methods and templates do not change how existing packages behave.
- A change that would alter existing behavior ships under a new name or a new
schemaVersion, and the old one keeps working for releases that use it.
Before 1.0 (0.x), the SDK may still change between minor versions; every change is listed in the changelog, and published releases keep working regardless. From 1.0 the SDK follows semantic versioning: a major version only for removals, and a deprecated API keeps working for at least 12 months after its replacement ships. Deprecations are marked in these docs, in stillmade-block validate warnings and in the changelog, and removing an API never changes a release that was already published with it.
Licence. The SDK (its packages, CLI, guides and examples) is licensed under the PolyForm Shield License 1.0.0. You may use and change it, and build, publish and sell Blocks with it; you may not use it to provide a product that competes with StillMade. Your Blocks are yours: each Block carries the licence its creator names in its manifest, and StillMade's own Blocks use MIT.