[0.4.0] - 2026-05-04
Plugin protocol expansion release.
This release adds three new plugin categories alongside the existing courier and channel infrastructure: provider plugins for LLM inference backends, database plugin protocol and registry support for read+write database backends, and deployment plugins for managed deployment lifecycle control planes. It also extends dispatch up to reconcile project-local deployment declarations and channel bindings against managed cloud backends.
Breaking
- Extension catalog documents now require a top-level
catalog_id, and every catalog entry now requires a stable publisher-prefixedid; catalogs missing those identity fields are rejected on refresh or load
Extensions
- Added
dispatch-provider-protocol,dispatch-database-protocol, anddispatch-deployment-protocolcrates with JSON-RPC 2.0 stdio framing - Added provider and database plugin manifest validation, registry storage, catalog recognition, and
dispatch extension installsupport - Added installed-provider-plugin bridging from the native courier model-backend path; the
DISPATCH_BACKEND_<PROVIDER>override resolves to the installed plugin when one is registered for that provider name - Added the deployment plugin category, including manifest validation, registry storage, catalog recognition, and the
dispatch deploymentCLI forvalidate,test-run,deploy,upsert,update,get,list,list-revisions,preview-rollback,rollback,start,stop, anddeleteoperations - Added project-local deployment bindings to
dispatch.tomlwithvalidate,test_run,deploy, andupsertreconcile modes - Added confirmation gating for
dispatch updeployment bindings that mutate remote resources, with--yesfor non-interactivedeployandupsertruns - Added
.dispatch/state/deployments.jsontracking for deployment IDs and active revision IDs produced bydispatch up - Added cached deployment bundles so
dispatch upmaterializescode.parcel_dirandcode.bundle_pathspecs into reproducible bundles before sending them to the backend - Added channel-to-deployment binding support so channel parcels receive
dispatch.deployment.*metadata labels generated during reconciliation - Added
dispatch up --target seren-cloudsupport that resolves catalog-sourced extension artifacts for the remote target, embedsdispatch.resolved_extensionsanddispatch_channelsmetadata in deployment specs, and skips local channel runtime startup for remote-target deployments - Added a websocket ingress mode to the channel plugin protocol for plugins that hold an upstream socket open instead of polling
- Added provider, database, and deployment registry path configuration to project-local
dispatch.tomlresolution - Added provider, database, and deployment plugin protocol documentation under
docs/
Changed
dispatch parcel inspectnow renders courier inspection extension metadata generically instead of special-casing Seren deployment IDs- Connector bundles are superseded in extension documentation by the concrete provider and database plugin categories
- Deployment plugin capabilities carry backend-specific capability details under namespaced
extensionskeys - Deployment
test_runoutput may return either structured JSON or plain text - Provider, database, and deployment plugin protocols follow the existing lenient wire-protocol policy for forward compatibility
- Plugin ecosystem documentation drops version anchors from tier status lines so the docs do not need to be updated each release