diff --git a/CHANGELOG.md b/CHANGELOG.md
index 019b3688..9687caa3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,56 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Release notes for GitHub Releases are extracted from the matching version section here.
+## [0.13.1] - 2026-09-18
+
+
+### Added
+
+- **connect-cpp:** Add the C++17 convenience value layer, core helpers and loopback
+
+- **connect-cpp:** Add the callback bridges and the session wrappers
+
+- **connect-cpp:** Add the multi-peer router wrapper and close out C++ coverage
+
+
+### Documentation
+
+- **connect:** Unify native-binding channel classification across SSOT and docs
+
+- **site:** Surface the C/C++ git channel on entry surfaces
+
+- **site:** Name the Windows import library in the quick-start C/C++ list
+
+- **connect-cpp:** State one C++ counterpart invariant in the parity conclusion
+
+- **connect-cpp:** Document the C++17 convenience layer with a runnable walkthrough
+
+- **connect-cpp:** Point consumer READMEs at public destinations
+
+- **connect-cpp:** Route walkthrough failures through the ordered close path
+
+- **knowledge:** Record the C++ convenience-layer pattern
+
+
+### Fixed
+
+- **connect-cpp:** Pass /D_HAS_EXCEPTIONS=0 to the MSVC smoke argv
+
+- **connect-cpp:** Require each smoke configuration's exact banner list
+
+- **connect-cpp:** Split smoke banners on CRLF as well as LF
+
+- **connect-cpp:** Import kFixtureLabel into the smoke's fixture-path helper
+
+
+### Internal
+
+- **connect-cpp:** Run the symbol-check self-test on the Windows lane
+
+- **connect-cpp:** Add macOS smoke lane
+
+- **connect-cpp:** Watch native carrier paths
+
## [0.13.0] - 2026-09-18
diff --git a/Cargo.lock b/Cargo.lock
index 72dfc2f6..07a64bf7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2870,7 +2870,7 @@ dependencies = [
[[package]]
name = "spoke-connect"
-version = "0.13.0"
+version = "0.13.1"
dependencies = [
"async-trait",
"base64",
@@ -2896,7 +2896,7 @@ dependencies = [
[[package]]
name = "spoke-connect-capi"
-version = "0.13.0"
+version = "0.13.1"
dependencies = [
"serde_json",
"spoke-connect",
@@ -2904,7 +2904,7 @@ dependencies = [
[[package]]
name = "spoke-fixture-toy-world"
-version = "0.13.0"
+version = "0.13.1"
dependencies = [
"async-trait",
"futures",
@@ -2917,7 +2917,7 @@ dependencies = [
[[package]]
name = "spoke-operations"
-version = "0.13.0"
+version = "0.13.1"
dependencies = [
"async-trait",
"chrono",
@@ -2930,7 +2930,7 @@ dependencies = [
[[package]]
name = "spoke-schemas"
-version = "0.13.0"
+version = "0.13.1"
dependencies = [
"chrono",
"regress",
diff --git a/Cargo.toml b/Cargo.toml
index 14ee3725..3b5a8e62 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,7 +18,7 @@ default-members = [
resolver = "2"
[workspace.package]
-version = "0.13.0"
+version = "0.13.1"
edition = "2021"
authors = ["42ch"]
license = "Apache-2.0"
diff --git a/crates/spoke-connect/Cargo.toml b/crates/spoke-connect/Cargo.toml
index 1373b354..49481b0e 100644
--- a/crates/spoke-connect/Cargo.toml
+++ b/crates/spoke-connect/Cargo.toml
@@ -13,11 +13,11 @@ description = "SPOKE Connect reference spike — libp2p transport, noise-peerid
exclude = ["bindings/**", "examples/**"]
[dependencies]
-spoke-schemas = { version = "0.13.0", path = "../spoke-schemas" }
+spoke-schemas = { version = "0.13.1", path = "../spoke-schemas" }
# RemoteAdapter (the `remote-adapter` feature) implements the operations
# BaselinePorts + SpokeResult types; optional so default connect builds stay
# lean (TS equivalent: the `./remote` subpath export).
-spoke-operations = { version = "0.13.0", path = "../spoke-operations", optional = true }
+spoke-operations = { version = "0.13.1", path = "../spoke-operations", optional = true }
# Loopback smoke host (RemoteAdapter FFI binding smokes; `ffi-smoke-host` only).
libp2p.workspace = true
serde.workspace = true
diff --git a/crates/spoke-connect/bindings/csharp/42ch.Spoke.Connect.csproj b/crates/spoke-connect/bindings/csharp/42ch.Spoke.Connect.csproj
index bdf547a0..e4c58e66 100644
--- a/crates/spoke-connect/bindings/csharp/42ch.Spoke.Connect.csproj
+++ b/crates/spoke-connect/bindings/csharp/42ch.Spoke.Connect.csproj
@@ -18,7 +18,7 @@
42ch.Spoke.Connect
- 0.13.0
+ 0.13.1
42ch
42ch
SPOKE Connect session-core C# bindings (uniffi + native spoke_connect FFI). Transport stays product-owned.
diff --git a/crates/spoke-connect/bindings/kotlin/build.gradle.kts b/crates/spoke-connect/bindings/kotlin/build.gradle.kts
index 9af0d7cb..1e02b6cf 100644
--- a/crates/spoke-connect/bindings/kotlin/build.gradle.kts
+++ b/crates/spoke-connect/bindings/kotlin/build.gradle.kts
@@ -5,7 +5,7 @@ plugins {
group = "dev.42ch"
// Lockstep SemVer — asserted/bumped with tooling/release lockstep surfaces.
-version = "0.13.0"
+version = "0.13.1"
repositories {
mavenCentral()
diff --git a/crates/spoke-connect/bindings/python/pyproject.toml b/crates/spoke-connect/bindings/python/pyproject.toml
index 31b8aa1a..77920a73 100644
--- a/crates/spoke-connect/bindings/python/pyproject.toml
+++ b/crates/spoke-connect/bindings/python/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "spoke-connect"
-version = "0.13.0"
+version = "0.13.1"
description = "SPOKE Connect session-core Python bindings (uniffi + native spoke_connect FFI)"
readme = "README.md"
license = "Apache-2.0"
diff --git a/crates/spoke-operations/Cargo.toml b/crates/spoke-operations/Cargo.toml
index ee4554b4..0310dd9f 100644
--- a/crates/spoke-operations/Cargo.toml
+++ b/crates/spoke-operations/Cargo.toml
@@ -11,7 +11,7 @@ keywords = ["spoke", "knowledge-entry", "operations"]
categories = ["data-structures"]
[dependencies]
-spoke-schemas = { version = "0.13.0", path = "../spoke-schemas" }
+spoke-schemas = { version = "0.13.1", path = "../spoke-schemas" }
serde.workspace = true
serde_json.workspace = true
chrono.workspace = true
diff --git a/fixtures/toy-world/package.json b/fixtures/toy-world/package.json
index c0723924..3ef09f73 100644
--- a/fixtures/toy-world/package.json
+++ b/fixtures/toy-world/package.json
@@ -1,6 +1,6 @@
{
"name": "@42ch/spoke-fixture-toy-world",
- "version": "0.13.0",
+ "version": "0.13.1",
"private": true,
"description": "SPOKE toy-world protocol fixtures and AJV/Vitest conformance harness",
"license": "Apache-2.0",
diff --git a/package.json b/package.json
index 43cd3aad..8883352e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "spoke",
- "version": "0.13.0",
+ "version": "0.13.1",
"private": true,
"description": "SPOKE protocol monorepo — JSON Schema SSOT with generated TypeScript and Rust types",
"license": "Apache-2.0",
diff --git a/packages/spoke-connect-ts/package.json b/packages/spoke-connect-ts/package.json
index f6a5aceb..661c0743 100644
--- a/packages/spoke-connect-ts/package.json
+++ b/packages/spoke-connect-ts/package.json
@@ -1,6 +1,6 @@
{
"name": "@42ch/spoke-connect",
- "version": "0.13.0",
+ "version": "0.13.1",
"description": "SPOKE connect client library — pure-TS identity derivation, Ed25519 hello signing, and RFC 8785 JCS canonicalization",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/spoke-operations/package.json b/packages/spoke-operations/package.json
index f6c9962c..bfc185d3 100644
--- a/packages/spoke-operations/package.json
+++ b/packages/spoke-operations/package.json
@@ -1,6 +1,6 @@
{
"name": "@42ch/spoke-operations",
- "version": "0.13.0",
+ "version": "0.13.1",
"description": "SPOKE lifecycle operations — pure helpers over wire types",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/spoke-schemas/package.json b/packages/spoke-schemas/package.json
index cb03c200..42bddbdf 100644
--- a/packages/spoke-schemas/package.json
+++ b/packages/spoke-schemas/package.json
@@ -1,6 +1,6 @@
{
"name": "@42ch/spoke-schemas",
- "version": "0.13.0",
+ "version": "0.13.1",
"description": "SPOKE wire types — TypeScript generated from JSON Schema",
"license": "Apache-2.0",
"repository": {
diff --git a/tooling/codegen/package.json b/tooling/codegen/package.json
index 630eabcb..985e4178 100644
--- a/tooling/codegen/package.json
+++ b/tooling/codegen/package.json
@@ -1,6 +1,6 @@
{
"name": "@42ch/spoke-codegen",
- "version": "0.13.0",
+ "version": "0.13.1",
"private": true,
"license": "Apache-2.0",
"description": "SPOKE schema-to-code generation pipeline (TypeScript + Rust)",