Skip to content

spec(gossipsub): add v1.3 specification for Partial Messages Extension#25

Open
shivv23 wants to merge 1 commit into
seetadev:masterfrom
shivv23:feat/gossipsub-v1.3-spec
Open

spec(gossipsub): add v1.3 specification for Partial Messages Extension#25
shivv23 wants to merge 1 commit into
seetadev:masterfrom
shivv23:feat/gossipsub-v1.3-spec

Conversation

@shivv23

@shivv23 shivv23 commented May 21, 2026

Copy link
Copy Markdown

We've had spec documents for v1.0 through v1.2 for a while now, and the Partial Messages design doc has been sitting alongside them as an extension proposal. This PR promotes it into a proper versioned spec — v1.3 — so it sits naturally in the lineage and implementers have a single place to look.

The core idea hasn't changed: instead of sending an entire large message when a peer is only missing a small piece, you send just the parts they need. The Ethereum DA use case is the main driver here, but it's general enough that other applications will benefit too.

Changes in this PR:

  • pubsub/gossipsub/gossipsub-v1.3.md — new file. Covers the protocol ID, the two new SubOpts fields, the PartialMessagesExtension message, when to send partial vs full messages (with behavior tables), gossip semantics, and how to migrate an existing topic incrementally. The structure mirrors the existing v1.0/v1.1/v1.2 docs so nothing feels out of place.

  • pubsub/gossipsub/README.md — v1.3 added to the spec index and the implementation status table.

  • pubsub/gossipsub/implementation-status.md — promoted the [1.3-alpha] row to [1.3] and added tracking rows for [1.4] and [Large Message Segmentation] so the DMP 2026 contributions have somewhere to land once they're ready.

Promotes the Partial Messages Extension design document to a formal
versioned specification (gossipsub v1.3). Updates the README and
implementation-status.md to reflect the new version.

- Creates pubsub/gossipsub/gossipsub-v1.3.md with protocol ID /meshsub/1.3.0
  SubOpts negotiation fields (requestsPartial, supportsSendingPartial),
  PartialMessagesExtension RPC message, behavior tables, and backwards
  compatibility guarantees
- Updates README.md to add v1.3 to the specification index and
  implementation status table
- Updates implementation-status.md to promote [1.3-alpha] to [1.3],
  add [1.4] tracking row, and add [Large Message Segmentation] extension row
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant