v0.9.14
This release fixes a class of runtime panics and adds a connection-template generator, closing out the API surface audit (Phases 3 and 5).
Highlights
Section titled “Highlights”Fixed: --output arg collision panics
Section titled “Fixed: --output arg collision panics”Four commands defined a local --output file-path argument that collided with the global --output <text|json> format flag (same clap argument id, different type). Every invocation panicked at runtime. All four now use --output-file for the file path:
flows export— now exports a.yxzppackage end-to-end (was completely broken)server system-infoserver runtime-settingstools workspace init
The global --output text|json format flag is unaffected on every other command.
Added: connection template generator
Section titled “Added: connection template generator”-
connections connector-metadata template --connector <slug>: callsGET /v4/connectorMetadata/{slug}/defaultsand emits a fillable JSON create-body. It derivestypefrom the connector category (relational→jdbc, otherwiseremotefile), setsvendor/vendorNameto the slug, picks the firstcredentialTypefrom the metadata, and builds aparamsskeleton from the connector’sconnectionParameters(using defaults or<type>placeholders). This unblocks the body-construction half ofconnections create.bigquery→type: jdbc,credentialType: apiKey,params: { projectId }gsheetsuser→type: remotefile,credentialType: oauth2
Audit closeout
Section titled “Audit closeout”The full API surface audit (docs/one-api-surface-audit.md) is complete. docs/one-live-validation.md now carries a per-endpoint status table grouped into: working surfaces, PAT-scope-blocked surfaces, absent routes, and enterprise-tier-gated surfaces.
Known limitations (API/token scope, not CLI bugs)
Section titled “Known limitations (API/token scope, not CLI bugs)”- A cluster of surfaces returns
AccessControlException(403) under the PAT minted by the workspace-bearer OIDC flow:flows permissions-get,flows parameters,platform role list,connections dry-run. The PAT has create/read/delete on flows and connections but lacks scope for these. Resolving requires a UI-minted token or broader OAuth scopes at the token-mint step. flows validate(/v4/flows/{id}/validate) andwebhook-flow-tasks(/v4/webhookFlowTasks) return 404 — these routes are not present on non-enterprise tiers.- Billing, plans, and scheduling remain enterprise-tier-gated (404 on non-enterprise tiers).
Validation
Section titled “Validation”cargo fmt --allcargo clippy --workspace --all-targets -- -D warningscargo nextest run --workspace --locked- Live smoke checks against a live test workspace