2026 — executable conformance, SDK parity, runnable demos
Closes the distance between a well-written spec and a standard people ship on.
No wire change; everything additive.
- Executable, level-aware certification.
conformance/check.pytags every check L0/L1/L2, reports the highest level a server actually reaches (CERTIFIED LEVEL: …), skips checks for unadvertised capabilities, and fails a server that overclaims its_meta.conformanceeven with zero failed checks.--jsonemits a CI report; non-zero exit gates a release. - Reference algorithms in all four SDKs, byte-for-byte identical.
Reciprocal Rank Fusion
(
rrf_fuse/weighted_fuse— deterministic §16.3 tie-break, richest-body dedup, origin tags) and the compactf32-base64vector codec. The C++ liveFederationnow delegates to the samercp::fusion::rrf_fuse. - Streaming (SSE), end to end. The Python
Servergainedstream(method, generator)and aProgressframe type;serve_httphonoursAccept: text/event-stream, emittingnotifications/progressframes then one final response frame — the same handler answers a plain unary POST buffered. See Streaming. - Runnable demos.
examples/example_streaming.py(HTTP+SSE progress) andexamples/example_federation.py(one command: two engines fanned out and RRF-fused). The reference server is now a real dense + sparse → RRF → rerank hybrid pipeline that certifies L2.
2026 — distinctness & abstraction hardening
Additive hardening driven by validating RCP against a real third-party engine
(a Whoosh
BM25F adapter). No wire break.
- Why not an MCP tool? — the spec and ecosystem docs now argue RCP’s distinctness on six axes (negotiated pipeline, funnel invariant, structured comparable hits, rank fusion, streaming, per-hit trust) plus a litmus test.
retrieve.scoreScale— an optional capability (cosine·dot·bm25·probability·unbounded) that labels the scale ofHit.score. Normative rule: cross-server ranking/fusion MUST key on rank orconfidence, never rawscore. See Retrieve.- Canonical filter builder + validator in all four SDKs — a typed builder
(
eq/gte/in_/… +all/any/not_) and a server-sidevalidate()that turns any malformed tree into a clean-32602withdata.field. See Metadata filtering. - SDK capability enums gained the missing
filter/streaming/pagination/citations/logmembers (the JSON schema already had them).
2026 — agentic & frontier RAG coverage
Additive, fully backward-compatible coverage of 2024–2026 RAG frontiers — all
gated behind new optional capabilities (absent ⇒ pre-existing behaviour,
no wire break).
- New optional
Hitfields:confidence(normalised[0,1]for corrective/adaptive/Self-RAG thresholds),unit/level(retrieval granularity & abstraction level),provenance(graph/tree lineage), andtrust.injectionSuspected/sanitizedsafety signals (§7.7.2, §15.2). - New optional
retrieveparams:unit,level,tokenBudget(long-context / chunk-explosion packing),sessionId(agentic trajectories), plusretrieve.units/levels/tokenBudget/confidencemetadata (§6.1, §7.7.2–§7.7.3). - New optional capabilities:
session,feedback,memory. - New optional methods:
feedback(RL / corrective / integrity signals, client→server) andmemory/build+memory/recall(MemoRAG / HippoRAG global memory → clues). - Appendix B maps Self-RAG, CRAG, Adaptive-RAG, FLARE, DeepRAG/Search-R1, DRIFT, graph granularities, HippoRAG, MemoRAG, RAPTOR, LongRAG, SafeRAG/PoisonedRAG defenses, and RAGAS/ARES eval onto RCP surfaces. See Agentic & self-improving RAG.
2026 — editorial revision
Clarifications and one notification rename. No changes to any
request/response shape.
- Normative timestamp/date encoding, score-scale & comparability rules, and
trust.score ∈ [0,1](§4.6). filterfield-type × operator value-typing table and empty-combinator handling (§8).- Client
capabilitiessemantics and tightened version-negotiation wording (§7.1). embedaccepts Content blocks viainputs, withtextsretained as a legacy synonym (§7.3).- Explicit
strictdefault and thecandidateK ≥ rerank.topN ≥ kfunnel invariant (§7.7). progressTokentyping/uniqueness (§9) and JSON-RPC batch edge cases (§11).- Rename: the log notification method
log→notifications/log, and thenotifications/*namespace is now reserved (§4.5, §17.1). Thelogcapability key is unchanged.
2026 — initial stable release
The first stable release of the Retrieval Context Protocol.
- Core methods:
initialize,info,embed,embed/sparse,embed/multi,rerank,retrieve,query/transform,graph,index/add,index/delete,catalog/list,shutdown,notifications/cancel,ping. - Capability negotiation; stdio + HTTP(+SSE) transports.
- A Content/modality model for multimodal & visual-document retrieval.
- Metadata filtering, streaming/progress,
notifications/logobservability, pagination, batching. - Structured errors with retryability; determinism (
seed/indexVersion). - A full threat model and federation (registry + RRF/weighted fusion).
- Native C++, Python, Node.js, and Rust SDKs.
The authoritative change log lives in
Appendix E of the specification.