From 09da03134c2c47af49b4a31dc581076cb0524bc3 Mon Sep 17 00:00:00 2001 From: Matt Jones <47545907+SoundMatt@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:25:07 -0700 Subject: [PATCH] =?UTF-8?q?feat:=20target=20RELAY=20spec=20v1.0=20(stable)?= =?UTF-8?q?=20=E2=80=94=20version=20bump,=20verified=20by=20relay=20confor?= =?UTF-8?q?m?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RELAY v1.0 is a stability promotion with no normative changes from v0.3 (freezes §5/§10/§12/§15). cpp-RCP already conforms, so adoption is a version bump (closes #15): - relay.hpp: kRelaySpecVersion "0.3" → "1.0" - version.hpp: kVersion "0.3.0" → "1.0.0" (binary version aligns with v1.0.0) - test_relay.cpp / test_cli.cpp: assertions updated to "1.0" Verified with the RELAY v1.0 tool: `relay conform ./cpp-rcp` PASSES all three §12 schemas (version / capabilities / status). 28/28 CTest cases pass. Co-Authored-By: Claude Opus 4.8 Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com> --- include/rcp/version.hpp | 2 +- include/relay/relay.hpp | 8 ++++---- tests/test_cli.cpp | 2 +- tests/test_relay.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/rcp/version.hpp b/include/rcp/version.hpp index c454f76..92a75aa 100644 --- a/include/rcp/version.hpp +++ b/include/rcp/version.hpp @@ -6,6 +6,6 @@ namespace rcp { // Semantic version of the cpp-RCP implementation (matches the latest git tag). -constexpr std::string_view kVersion = "0.3.0"; +constexpr std::string_view kVersion = "1.0.0"; } // namespace rcp diff --git a/include/relay/relay.hpp b/include/relay/relay.hpp index 487b7e8..8ada4e8 100644 --- a/include/relay/relay.hpp +++ b/include/relay/relay.hpp @@ -24,11 +24,11 @@ namespace relay { // ── Spec version (§19.4) ───────────────────────────────────────────────────── -constexpr std::string_view kRelaySpecVersion = "0.3"; +constexpr std::string_view kRelaySpecVersion = "1.0"; -// NOTE: keep in sync with RELAY spec/version.json. The v0.3 breaking change -// (§15.7.6 — SOME/IP numeric msg_type) does NOT affect RCP; RCP's -// ToMessage()/FromMessage() mappings are unchanged from v0.2. +// NOTE: keep in sync with RELAY spec/version.json. RELAY v1.0 (stable) carries +// no normative changes from v0.3 — it promotes the spec and freezes §5/§10/§12/ +// §15. RCP's ToMessage()/FromMessage() mappings are unchanged. // ── Protocol identifiers (§3) ──────────────────────────────────────────────── diff --git a/tests/test_cli.cpp b/tests/test_cli.cpp index bc0e5e9..d1261c3 100644 --- a/tests/test_cli.cpp +++ b/tests/test_cli.cpp @@ -75,7 +75,7 @@ TEST_CASE("cli: version --format json has all required fields", "[cli][conforman REQUIRE(has_key(s, k)); } REQUIRE(s.find("\"language\":\"cpp\"") != std::string::npos); - REQUIRE(s.find("\"spec_version\":\"0.3\"") != std::string::npos); + REQUIRE(s.find("\"spec_version\":\"1.0\"") != std::string::npos); REQUIRE(s.find("\"protocol_int\":5") != std::string::npos); } diff --git a/tests/test_relay.cpp b/tests/test_relay.cpp index 10384dd..6d18ded 100644 --- a/tests/test_relay.cpp +++ b/tests/test_relay.cpp @@ -21,8 +21,8 @@ using namespace std::chrono_literals; // ── §19.4: SpecVersion constant ─────────────────────────────────────────────── -TEST_CASE("relay: kRelaySpecVersion is 0.3", "[relay][conformance]") { - REQUIRE(relay::kRelaySpecVersion == "0.3"); +TEST_CASE("relay: kRelaySpecVersion is 1.0", "[relay][conformance]") { + REQUIRE(relay::kRelaySpecVersion == "1.0"); } // ── §3: Protocol enum ─────────────────────────────────────────────────────────