From ebde8a39131dfa1dcf22f321017ec60df366ab95 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 04:12:10 +0000 Subject: [PATCH] chore(release): bump version to 0.16.0 --- CHANGELOG.md | 223 ++++++++++++++++++ Cargo.lock | 12 +- Cargo.toml | 2 +- crates/spoke-connect/Cargo.toml | 4 +- .../bindings/csharp/42ch.Spoke.Connect.csproj | 2 +- .../bindings/kotlin/build.gradle.kts | 2 +- .../bindings/python/pyproject.toml | 2 +- crates/spoke-operations/Cargo.toml | 2 +- fixtures/toy-world/package.json | 2 +- package.json | 2 +- packages/spoke-connect-ts/package.json | 2 +- packages/spoke-operations/package.json | 2 +- packages/spoke-schemas/package.json | 2 +- tooling/codegen/package.json | 2 +- 14 files changed, 242 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c2b0aba..23ed14fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,229 @@ 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.16.0] - 2026-11-09 + + +### Added + +- **cognition:** Add structured cognition protocol and consumers + +- **cognition:** Add structured cognition protocol and consumers (#154) + + +### Changed + +- **cognition:** Isolate projection identity mismatch vectors + +- **toy-world:** Pass explicit assemble policy to adapter fixture + +- **connect:** Drop the memory table size pin in the dispatch suite + +- **release:** Drop the optional-dependency shape pin from the bump suite + +- **memory:** Isolate conformance admission principals + +- **cognition:** Extend timestamp parity fixture boundaries + +- **cognition:** Pin shared timestamp parity boundaries + +- **spoke-connect:** Isolate the cognition fail-closed pin arm + +- **spoke-connect:** Drop incidental error wording pin + +- **connect:** Compile C++ inclusion probe in both exception modes + +- **connect:** Drop incidental diagnostic wording pins + +- **connect:** Drop pre-existing dirty-source wording pin + + +### Documentation + +- **cognition:** Fix Chinese data-model cognition anchor link + +- **cognition:** State the frozen capability-denial split and current symbols + +- **spoke-connect,memory-engine:** Align remote gating and measure test wording + +- **spoke-operations:** Document distinct cognition reject helpers + +- **spoke-operations:** Condense cognition reject helper rationale + +- **spoke-operations:** Note shared cognition reject reason in helper comments + +- **cognition:** Integrate intentional reject-shape rationale + +- **cpp:** Clarify paired header LF pins + +- Align release and native artifact contracts + +- **knowledge:** Attribute the canonicalize pin to the library, not the demo + +- Align Node runtime facts and toolchain prerequisites + +- Describe Ed25519 backend selection as a runtime capability + +- **release:** Integrate current runtime and prerequisite facts + +- **knowledge:** Normalize connect metadata and responder scope + +- **knowledge:** Attribute responder demo to the public factory + +- **connect-ts:** State the probe contract instead of version-cutoff claims + +- **connect:** Scope D10 enforcement wording and state exact probe and sidecar facts + +- **connect:** Align enforcement and provenance descriptions + + +### Fixed + +- **cognition:** Reject repeated carrier ids and inconsistent projections + +- **cognition:** Enforce carrier and projection integrity + +- **connect:** Route the host peer-manifest op and share the port capability map + +- **connect:** Align remote capability routing and parity + +- **cognition:** Scope projection record-id identity to carriers + +- **cognition:** Preserve carrier-local identities in projections + +- **tests:** Isolate conformance case principals + +- **scope:** Keep explicit empty refinements through typed serving + +- **scope:** Preserve optional-array presence through served requests + +- **cognition:** Treat undefined content cognition as absence + +- **cognition:** Accept omitted TypeScript Content members + +- **cognition:** Reject grammar-invalid typed Scope cognition filters + +- **cognition:** Validate typed Scope requirements at the shared boundary + +- **release:** Refuse non-increasing version bumps + +- **connect:** Verify C++ header provenance + +- **cpp:** Preserve header provenance checkout bytes + +- **cpp:** Include dependency crates in source identity + +- **connect:** Integrate dependency-aware native source identity + +- **schemas:** Pin mental MindDelta roots to the nine-field vocabulary + +- **spoke-connect:** Fail closed on unreadable reflection pins + +- **cognition:** Integrate fail-closed fixture pin coverage + +- **cognition:** Integrate validation and fixture pin hardening + +- **connect:** Compare non-callback C ABI record field types + +- **connect:** Infer carrier field types without coercion + +- **go:** Refresh Darwin native carriers + +- **connect:** Refresh Swift carriers from verified CI artifact + +- **connect:** Integrate guarded Swift carrier refresh + +- Harden release readiness and refresh native carriers + +- **kotlin:** Extend Gradle wrapper network timeout + +- Stabilize Kotlin wrapper downloads + +- **connect-capi:** Restore single-writer ABI report test invariant + +- Preserve a single ABI report writer + +- **connect:** Bind Swift artifacts to producer checkout + +- **connect:** Verify delivered xcframework bytes before staging + +- Verify Swift artifact producer and delivered bytes + +- **release:** Align git-cliff fallback with root pin + +- **packages:** **BREAKING:** Require Node >= 22 for published runtime packages + +- Preflight shasum and parse gh download --dir in apply fixture + +- **release:** Integrate runtime and tooling corrections + +- **connect:** Refuse missing git-lfs in fail-fast preflight before any network or tree mutation + +- **connect:** Integrate early prerequisites and knowledge corrections + +- **release:** Complete maintenance and release readiness + + +### Internal + +- Enforce Swift xcframework freshness + +- **connect:** Integrate Swift freshness comparison + +- **connect:** Integrate reviewed header provenance prerequisites + +- **cpp:** Verify committed carrier provenance + +- **connect:** Integrate per-carrier provenance verification + +- **connect:** Integrate reviewed header-pair provenance + +- **native:** Integrate ABI gates and header provenance + +- **native:** Combine accepted source for carrier refresh + +- Align maintenance with current dependencies + +- **connect:** Refresh Go Darwin native libraries + + +### build + +- **deps:** Bump glob from 13.0.6 to 14.0.3 + +- **connect:** Refresh C carriers from CI + +- **connect:** Integrate refreshed C carriers + +- **connect:** Integrate refreshed Go Darwin carriers + +- **deps:** Bump @noble/ciphers from 2.2.0 to 2.4.0 + +- **deps:** Bump libp2p-identity from 0.3.0 to 0.3.1 (#155) + +- **deps:** Bump futures from 0.3.33 to 0.3.34 (#160) + +- **deps:** Bump sha2 from 0.10.9 to 0.11.0 (#158) + +- **connect:** Refresh C carriers from CI + +- **connect:** Integrate aligned C carriers + +- **connect:** Refresh xcframework from CI artifact 42479247964 + +- **connect:** Integrate aligned Swift carrier + +- **connect:** Integrate aligned Go carriers + + +### merge + +- **release:** Integrate consumer node requirements + +- **release:** Integrate artifact helper checks + +- **docs:** Clarify demo ownership + ## [0.15.2] - 2026-11-06 diff --git a/Cargo.lock b/Cargo.lock index 8907287b..5ac7cdcf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3141,7 +3141,7 @@ dependencies = [ [[package]] name = "spoke-connect" -version = "0.15.2" +version = "0.16.0" dependencies = [ "async-trait", "base64 0.23.1", @@ -3169,7 +3169,7 @@ dependencies = [ [[package]] name = "spoke-connect-capi" -version = "0.15.2" +version = "0.16.0" dependencies = [ "serde_json", "spoke-connect", @@ -3177,7 +3177,7 @@ dependencies = [ [[package]] name = "spoke-fixture-memory-engine" -version = "0.15.2" +version = "0.16.0" dependencies = [ "chrono", "ryu", @@ -3190,7 +3190,7 @@ dependencies = [ [[package]] name = "spoke-fixture-toy-world" -version = "0.15.2" +version = "0.16.0" dependencies = [ "async-trait", "futures", @@ -3203,7 +3203,7 @@ dependencies = [ [[package]] name = "spoke-operations" -version = "0.15.2" +version = "0.16.0" dependencies = [ "async-trait", "chrono", @@ -3218,7 +3218,7 @@ dependencies = [ [[package]] name = "spoke-schemas" -version = "0.15.2" +version = "0.16.0" dependencies = [ "chrono", "regress", diff --git a/Cargo.toml b/Cargo.toml index fedb433f..142e40bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ default-members = [ resolver = "2" [workspace.package] -version = "0.15.2" +version = "0.16.0" edition = "2021" authors = ["42ch"] license = "Apache-2.0" diff --git a/crates/spoke-connect/Cargo.toml b/crates/spoke-connect/Cargo.toml index 81654698..1542f8e3 100644 --- a/crates/spoke-connect/Cargo.toml +++ b/crates/spoke-connect/Cargo.toml @@ -13,7 +13,7 @@ description = "SPOKE Connect reference spike — libp2p transport, noise-peerid exclude = ["bindings/**", "examples/**"] [dependencies] -spoke-schemas = { version = "0.15.2", path = "../spoke-schemas" } +spoke-schemas = { version = "0.16.0", path = "../spoke-schemas" } # The C5 closed cognition grammar + `SpokeReject`/`SpokeResult` vocabulary. # Required (not feature-gated): the generic node dispatch rejects an # unsupported cognition requirement before running its handler, so the raw @@ -21,7 +21,7 @@ spoke-schemas = { version = "0.15.2", path = "../spoke-schemas" } # the same crate is what keeps that diagnosis from re-implementing the # grammar. The `remote-adapter` feature still gates the remote module # (BaselinePorts proxy; TS equivalent: the `./remote` subpath export). -spoke-operations = { version = "0.15.2", path = "../spoke-operations" } +spoke-operations = { version = "0.16.0", path = "../spoke-operations" } # 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 a89b7cfb..0dd5ba24 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.15.2 + 0.16.0 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 abe46507..2af67908 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.15.2" +version = "0.16.0" repositories { mavenCentral() diff --git a/crates/spoke-connect/bindings/python/pyproject.toml b/crates/spoke-connect/bindings/python/pyproject.toml index e2db7ced..31882725 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.15.2" +version = "0.16.0" 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 9ffc139f..08894bb0 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.15.2", path = "../spoke-schemas" } +spoke-schemas = { version = "0.16.0", 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 b84d105c..c0873e86 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.15.2", + "version": "0.16.0", "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 bbad56f0..77325de4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spoke", - "version": "0.15.2", + "version": "0.16.0", "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 0783f65f..4b8e490e 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.15.2", + "version": "0.16.0", "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 7059f00d..e0591ae6 100644 --- a/packages/spoke-operations/package.json +++ b/packages/spoke-operations/package.json @@ -1,6 +1,6 @@ { "name": "@42ch/spoke-operations", - "version": "0.15.2", + "version": "0.16.0", "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 b656836f..9ed46af9 100644 --- a/packages/spoke-schemas/package.json +++ b/packages/spoke-schemas/package.json @@ -1,6 +1,6 @@ { "name": "@42ch/spoke-schemas", - "version": "0.15.2", + "version": "0.16.0", "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 917ed8ee..03c85435 100644 --- a/tooling/codegen/package.json +++ b/tooling/codegen/package.json @@ -1,6 +1,6 @@ { "name": "@42ch/spoke-codegen", - "version": "0.15.2", + "version": "0.16.0", "private": true, "license": "Apache-2.0", "description": "SPOKE schema-to-code generation pipeline (TypeScript + Rust)",