Changelog
All notable changes to the RQML schema are documented here.
2.2.0
July 2026
Compact trace edges (breaking)
Trace edge endpoints move from nested elements to from / to attributes. The locator, local, doc, and external elements are removed.
<!-- 2.1.0 -->
<edge id="TR-001" type="satisfies">
<from><locator><local id="REQ-A"/></locator></from>
<to><locator><local id="GOAL-B"/></locator></to>
</edge>
<!-- 2.2.0 -->
<edge id="TR-001" type="satisfies" from="REQ-A" to="GOAL-B"/>
The three endpoint kinds are unchanged in meaning; the kind is now inferred from the value's shape:
- a bare id is local —
REQ-A - an
rqml:URI is a cross-document reference —rqml:goals.rqml#GOAL-B;version=2.0 - any other scheme URI, or a relative path containing
/, is external —jira:PROJ-1,src/auth.ts
The locator's kind and title hints become per-side fromKind / fromTitle / toKind / toTitle attributes. confidence, status, createdBy, createdAt, tags, and <notes> are unchanged.
No other part of the schema changed, and no functionality was added or removed — this release is a serialization change only. It shrinks the trace section by about 40%; how much that saves overall depends on how trace-heavy the document is (7–13% of total bytes on the specs we measured).
Migrating
rqml migrate rewrites a 2.0.1 or 2.1.0 document in place; --dry-run previews it. See the Migration guide.
Fixed
- The XSD's
allIdsidentity constraint used an unprefixed selector, so it never fired. Its selector is namespace-qualified in 2.2.0, and duplicate ids are now caught. - The inert trace keyrefs are removed. Endpoint integrity is enforced by the processor —
rqml validate— since XSD 1.0 cannot express the endpoint grammar.
2.1.0
February 2026
Trace redesign
- Renamed
traceEdgetoedgewith structured endpoints (from/tocontaininglocatorelements) - Added three locator types:
local(same document),doc(cross-document),external(URI-based) - Cross-document references support
versionandgitpinning for immutability
New TraceType values
consumesInterface— source consumes interface provided by targetprovidesInterface— source provides interface consumed by targetconformsTo— source conforms to standard/specification targetdeprecates— source deprecates targetbreaks— source breaks backward compatibility with target
Removed
RefTypeandRefsType— inlinerefselements removed fromscenario,req,transition,testCase,actor, andtestSuite(use trace edges instead)fromUri/toUriattributes on trace edges (replaced byexternallocator)
2.0.1
December 2025
Initial public release of the new LLM-first RQML schema.
1.0.0
June 2000
Original release of RQML - the first XML standard to capture software intent in a structured, machine-readable form - at the University of York department of computer science. It was way ahead of its time.