Stability Policy
The semantic-versioning, deprecation, and cross-version compatibility guarantees Portwing will make at v1.0.
Portwing v0.8.x publishes its compatibility and stability policy for review
before the guarantees become binding at v1.0.0. The canonical policy is
maintained in STABILITY.md,
and the tested product pairings remain in
COMPATIBILITY.md.
Stable at v1
At v1.0.0, semantic-versioning guarantees cover:
- the versioned
/api/v1REST and SSE surface; - documented Drydock-compatible routes and operational
/_portwing/*endpoints; - audit event identifiers plus the stable sink and cursor/NDJSON export schemas (binding from v0.8.0);
- the names, defaults, value grammar, precedence, and security semantics of documented environment variables;
- the MCP transport, tool names, schemas, and read-only security model; and
- the
portwing/1.0agent/controller WebSocket contract.
The raw Docker API proxy follows the connected Docker daemon's negotiated API version and is not frozen by Portwing's semantic version.
Compatible additions
New endpoints, message types, tools, optional fields, optional arguments, and optional environment variables are additive. Both sides of the edge protocol must ignore unknown object fields and unknown message types so mixed-version deployments can receive additive upgrades safely.
Removing or renaming a stable surface, adding a required field, changing a field's type or meaning, changing ordering/correlation semantics, or weakening a security control requires a major release after v1.
Deprecations
A stable behavior remains available for at least one minor release and 90 days after deprecation. The changelog and reference docs identify the replacement, and runtime use emits an actionable warning when practical. Removal occurs only in the next major release.
An urgent security fix may shorten that window when preserving the old behavior would leave operators exposed. The release notes must identify and explain the exception.
Mixed Portwing/Drydock versions
drydockCompat and serverCompatLevel identify the wire compatibility epoch;
their major component must match. Product versions are independent. The
compatibility matrix lists the exact supported pairings, and every Portwing
release runs contract tests against the oldest and newest Drydock versions it
claims to support.
See the canonical policy for the complete HTTP, environment-variable, MCP, wire-protocol, change-control, and security-exception rules.