From c3c0115a82c94b086c2be8487ead6128216b023e Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Thu, 23 Jul 2026 18:23:38 +0200 Subject: [PATCH] fix(core/abi): bump ABI_VERSION to 13 for punktfunk_connection_send_pen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pen P0 work added a new embeddable C entry point (punktfunk_connection_send_pen) but left ABI_VERSION at 12 — the value 0.18.0 shipped. Per the project's convention (0.18.0 bumped to 12 for the additive cursor channel), additive C-surface growth bumps the ABI so embedders can gate on the new symbol. Regenerated include/punktfunk_core.h via cbindgen (cargo build -p punktfunk-core); WIRE_VERSION is unchanged (pen is capability-gated on HOST_CAP_PEN). Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/punktfunk-core/src/lib.rs | 5 ++++- include/punktfunk_core.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/punktfunk-core/src/lib.rs b/crates/punktfunk-core/src/lib.rs index 98a41a5a..dae532e3 100644 --- a/crates/punktfunk-core/src/lib.rs +++ b/crates/punktfunk-core/src/lib.rs @@ -106,7 +106,10 @@ pub use stats::Stats; /// (design/remote-desktop-sweep.md §8): the client's mouse-model chord tells the host who /// renders the pointer. Additive; rides the existing control stream (a new message TYPE, which /// pre-§8 hosts ignore), so [`WIRE_VERSION`] is unchanged. -pub const ABI_VERSION: u32 = 12; +/// v13: added `punktfunk_connection_send_pen` — the stylus wire plane +/// (design/pen-tablet-input.md): a client sends `RICH_PEN` sample batches once the host +/// advertises `HOST_CAP_PEN`. Additive and capability-gated, so [`WIRE_VERSION`] is unchanged. +pub const ABI_VERSION: u32 = 13; /// The punktfunk/1 **wire** version — what `Hello`/`Welcome` carry and hosts equality-check. /// Deliberately its own constant: [`ABI_VERSION`] tracks the embeddable **C surface** diff --git a/include/punktfunk_core.h b/include/punktfunk_core.h index 8c44a5cb..14d36c33 100644 --- a/include/punktfunk_core.h +++ b/include/punktfunk_core.h @@ -49,7 +49,10 @@ // (design/remote-desktop-sweep.md §8): the client's mouse-model chord tells the host who // renders the pointer. Additive; rides the existing control stream (a new message TYPE, which // pre-§8 hosts ignore), so [`WIRE_VERSION`] is unchanged. -#define ABI_VERSION 12 +// v13: added `punktfunk_connection_send_pen` — the stylus wire plane +// (design/pen-tablet-input.md): a client sends `RICH_PEN` sample batches once the host +// advertises `HOST_CAP_PEN`. Additive and capability-gated, so [`WIRE_VERSION`] is unchanged. +#define ABI_VERSION 13 // The punktfunk/1 **wire** version — what `Hello`/`Welcome` carry and hosts equality-check. // Deliberately its own constant: [`ABI_VERSION`] tracks the embeddable **C surface**