Skip to content

fix!: Fix serialization of CustomAddr so that the data serializes the same as a Vec<u8> - #4465

Merged
rklaehn merged 2 commits into
mainfrom
rklaehn/custom-addr-panic
Aug 10, 2026
Merged

fix!: Fix serialization of CustomAddr so that the data serializes the same as a Vec<u8>#4465
rklaehn merged 2 commits into
mainfrom
rklaehn/custom-addr-panic

Conversation

@rklaehn

@rklaehn rklaehn commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Description

Fix serialization of CustomAddr so that the data serializes the same as a Vec

This is needed so the inline size remains an implementation detail. It breaks CustomAddr deser, but that is fine since custom addresses, while being stable, are only used in conjunction with a feature cleary marked as experimental.

Breaking Changes

Does not change the public API, but does change the serialization of CustomAddrs. I think we don't need a iroh-base 2.0 regardless because you only create or use CustomAddrs when working with the experimental custom transports that are explicitly excluded from stability guarantees. YMMV.

Notes & open questions

Note for next release: we technically break serialization format for CustomAddr, so we should add the rationale for not going to 2.0 to the release notes.

Change checklist

  • Self-review.
  • Documentation updates following the style guide, if relevant.
  • Tests if relevant.
  • All breaking changes documented.
  • This PR was created by a human that thought critically about the
    proposed change and wrote an as clear and concise description as
    they could.
  • This PR isn't slop, and is carefully crafted to do have the
    intented effect.

… same

as a Vec<u8>

This is needed so the inline size remains an implementation detail. It breaks
CustomAddr deser, but that is fine since custom addresses, while being stable,
are only used in conjunction with a feature cleary marked as experimental.
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/4465/docs/iroh/

Last updated: 2026-08-06T08:28:14Z

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

Netsim report & logs for this PR have been generated and is available at: LOGS
This report will remain available for 3 days.

Last updated for commit: 7a5329d

@n0bot n0bot Bot added this to iroh Aug 6, 2026
@github-project-automation github-project-automation Bot moved this to 🚑 Needs Triage in iroh Aug 6, 2026
@Frando

Frando commented Aug 10, 2026

Copy link
Copy Markdown
Member

LGTM. The breakage is unfortunate, but I think your reasoning can hold and I don't see a good alternative. So I'd be in favor of doing that. Should be iroh 1.1 though not 1.0.4 I'd say, and get a special note in the release notes.

@rklaehn rklaehn changed the title fix: Fix serialization of CustomAddr so that the data serializes the same as a Vec<u8> fix!: Fix serialization of CustomAddr so that the data serializes the same as a Vec<u8> Aug 10, 2026
@rklaehn
rklaehn added this pull request to the merge queue Aug 10, 2026
Merged via the queue into main with commit 4706ec9 Aug 10, 2026
41 checks passed
@github-project-automation github-project-automation Bot moved this from 🚑 Needs Triage to ✅ Done in iroh Aug 10, 2026
@ramfox
ramfox deleted the rklaehn/custom-addr-panic branch August 11, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants