0.3.0 migration notes
0.3.0 closes the m-2 milestone. It is released together with
@archont561/qgis-sdk 0.2.0 - two tags, python-v0.3.0 and
ts-v0.2.0, two numbers that are not meant to match
(decision-25).
- No breaking change. Every public name of
0.2.0is still there with the same signature; what the diff adds are optional fields with defaults (AlgorithmContext.network,JobContext.workers/network,PluginContext.network,UiContext.network,PluginDescription.streams,BridgeOperation.request/result/events,Dispatcher(ledger=...),Handoff(on_cancel=...)). Code written against0.2.0runs unchanged. PLUGIN_DESCRIPTION_SCHEMA_VERSIONstays1. A description now carries astreamslist besideactions; bridge0.1.1ignores the key, bridge0.2.0reads it.BRIDGE_PROTOCOL_VERSIONandHOST_SCHEMA_VERSIONare both1and are versioned independently of the packages.- Package root:
qgis_sdk.__all__grows from six names to eight -StreamDescriptionandstreamjoinActionDescription,PluginDescription,QgisSdkDeclarationError,action,describe_pluginandplugin. - Additive: the WebEngine bridge host side (
qgis_sdk.bridge:Dispatcher, protocol and refusal codes, bounded streams,HostAuthorityfile refs and network grants, the release ledger,register_host_operations, the TypeScript client generator) withqgis_sdk.adapters.webchanneland the restricted page inqgis_sdk.adapters.webengine(BrowserPolicy,create_restricted_page); the QGIS-aware HTTP client and typed services (qgis_sdk.network); scoped jobs with typed handles (qgis_sdk.jobs,qgis_sdk.adapters.qgisthread-pool workers);@streamdeclarations (qgis_sdk.declarations, withdescribeand theDescriptionprotocol shared by plugins, algorithms and jobs);qgis_sdk.testingfakes for all of it. - Manifests:
pyproject.tomlandrecipe.yamlcarry0.3.0; the bridge’spackage.jsoncarries0.2.0. Verify withpython scripts/release.py verify-versions --scope python --version 0.3.0and--scope typescript --version 0.2.0.