REFERENCE · PROTOCOL
Versions, capabilities, and compatibility.
Version range
The current application protocol is N=2 and supports N-1=1. ALPN astra/1 identifies the framing and authentication family; Hello's version range and capability selection define the actual semantics.
Capability table
| Capability | Version | Status |
|---|---|---|
terminal.semantic_state | v2 | Enabled |
terminal.history_paging | v1 | Enabled |
session.objects | v1 | Enabled |
terminal.input_lease | v1 | Enabled |
terminal.state_ack / terminal.semantic_diff | v1 | Enabled |
transport.stream_channels | v1 | Negotiated |
terminal.datagram_state | v3 / v2 | Fully negotiated per peer |
Version 1.2 uses Quinn by default. DATAGRAM requires semantic state v2, state ACKs, semantic diffs, session objects, and stream channels. Older servers missing dependencies use reliable compatibility; no experimental switch is required.
Compatibility boundary
Only N-1 clients without semantic capability negotiation enter the isolated ANSI path. Standalone SSH/SFTP Hosts are a separate product mode, not Astra-over-SSH stdio fallback.
Evolution rules
Capabilities must be negotiated explicitly. UI code must not guess old-field semantics, and migration paths must be versioned and registered. Clients reject unknown or incomplete state and request a reliable baseline.