Skip to content

0.1.0 experimental release and migration policy

  • Experimental 0.x SemVer: 0.1.0 (and prereleases such as 0.1.0-alpha.1, 0.1.0-beta.1, 0.1.0-rc.1) is an experimental milestone target; no 1.0.0 stability promise is made. Breaking changes during 0.x require a documented minor version bump (0.Y.0) with migration notes; compatible bug fixes and additive changes use patch releases (0.Y.Z).
  • Scoped manifests, independent versions: scripts/release.py (pixi run release-stamp --scope python|typescript|all) updates only the manifests in the selected scope. qgis-sdk and @archont561/qgis-sdk both shipped 0.1.0/0.1.1 because they were built together; they version independently from 0.2.0 onward, so the 0.2.0 Python release leaves the bridge at 0.1.1. A Python-scope stamp also moves examples/simple/pyproject.toml’s qgis-sdk-runtime>=X.Y,<X.Y+1 / qgis-sdk-tools>=X.Y,<X.Y+1 windows to the released minor (the runtime and tools scopes move their own line), and verify-versions refuses a release the example’s window excludes - the example is the project the released tools are qualified against, and a stale window would be VERSION004 on it. The scaffold derives the same windows from the installed distributions at new time, so nothing in the templates is stamped.
  • Independent protocol versions: PluginDescription.schema_version = 1 (PLUGIN_DESCRIPTION_SCHEMA_VERSION in qgis_sdk.declarations) and future WebEngine IPC protocol versions are versioned independently of the package versions. The bridge declares the same PLUGIN_DESCRIPTION_SCHEMA_VERSION, and scripts/release.py verify-versions refuses a workspace where the two declarations disagree.
  • 0.1.0 surface & migration note: The placeholder qgis_sdk.hello() and bridge hello() smoke functions were removed prior to the first release (PR #23); the public root surface of qgis_sdk is qgis_sdk.__all__ (ActionDescription, PluginDescription, QgisSdkDeclarationError, action, describe_plugin, plugin), plus the explicit submodules qgis_sdk.models, qgis_sdk.services, qgis_sdk.core, qgis_sdk.adapters.desktop, qgis_sdk.adapters.webengine, the then-optional Pydantic modules (retired in the next Python minor), and qgis_sdk.scaffold (qgis-sdk new CLI, spelled scaffold until 0.3.0). All packages and the repository root are licensed under MIT (LICENSE).