TalkingBytes 2.1 runtime and Foundation integration hardening - #13
Merged
abmmhasan merged 51 commits intoSep 22, 2026
Merged
Conversation
abmmhasan
marked this pull request as ready for review
September 22, 2026 16:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares TalkingBytes 2.1 as the Foundation 3 communication/runtime hardening release.
This PR keeps TalkingBytes protocol-focused and framework-neutral while hardening persistent-runtime behavior, cancellation, state isolation, transport cleanup, observability, optional-capability boundaries, native composition, and Foundation integration seams.
Highlights
Runtime and lifecycle hardening
CommunicationEventBusstate while retaining the compatibility facadeHTTP
gRPC
Email
EmailLimits::fromArray()Webhook
Webhook security compatibility note
TalkingBytes 2.1 native senders emit
t=<timestamp>,v2=<hmac>, and native receivers require that boundv2format.This intentionally closes two security gaps in the previous native delivery format: event substitution and replay-identity substitution through an unsigned delivery ID. Native 2.0 senders and 2.1 receivers are therefore not wire-compatible and must be upgraded together.
Low-level/direct
WebhookSignature::buildHeader($body, $timestamp)and verifier usage retain legacyv1support for explicit direct integrations; the native sender/receiver path does not downgrade.Optional capability policy
pcntl_*pathValidation
Release-candidate head:
67ba1d3b75ea0484df320425d207e2ef2b98c19dExact-head Security & Standards run: #99 /
35757068541— green.Validated on:
There are no unresolved PR review threads and no open repository issues blocking this release.
Foundation 3 handoff
After release, Foundation point 26.9 can consume the 2.1 APIs and remove duplicated protocol composition while retaining Foundation-owned concerns: