Skip to content

Document sparse contracttype unpacking (SDK v28) - #2763

Draft
leighmcculloch wants to merge 2 commits into
mainfrom
document-contracttype-sparse-unpacking
Draft

Document sparse contracttype unpacking (SDK v28)#2763
leighmcculloch wants to merge 2 commits into
mainfrom
document-contracttype-sparse-unpacking

Conversation

@leighmcculloch

@leighmcculloch leighmcculloch commented Aug 18, 2026

Copy link
Copy Markdown
Member

What

Document the soroban-sdk v28 change (CAP-86, rs-soroban-sdk#2006) that makes #[contracttype] struct unpacking tolerant of missing and extra map fields, updating the custom types reference and rewriting the parts of the storage migration guide that no longer hold.

Why

Before v28, a map had to match a struct's fields exactly or the host trapped, which is the whole premise the storage migration guide's versioned-enum and version-marker patterns exist to work around, and that premise is now false for the guide's own example of adding an Option field or removing a field.

@leighmcculloch
leighmcculloch force-pushed the document-contracttype-sparse-unpacking branch 2 times, most recently from 12746c9 to 9704602 Compare August 18, 2026 17:58
@stellar-jenkins-ci

Copy link
Copy Markdown

1 similar comment
@stellar-jenkins-ci

Copy link
Copy Markdown

@stellar-jenkins-ci

Copy link
Copy Markdown

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