Skip to content

[postcard2]: Begin extracting heapless and embedded-io into dedicated side crates#274

Merged
jamesmunns merged 14 commits intomainfrom
james/shatter-2
Dec 27, 2025
Merged

[postcard2]: Begin extracting heapless and embedded-io into dedicated side crates#274
jamesmunns merged 14 commits intomainfrom
james/shatter-2

Conversation

@jamesmunns
Copy link
Owner

This is the first step towards "shattering" postcard to extract the "non-core" parts, like Flavor impls, into external crates that can be version bumped more often than the core crate.

I'm not sure if we really want N external crates, we might just want a postcard-extras crate that does more versioning, and can occassionally suffer a breaking change. If I'm already versioning all the deps, then putting these in modules instead of crates is probably not that huge of a deal.

We can make this decision after the full extraction is complete, that way we can see what the remain "postcard core" API looks like.

@jamesmunns jamesmunns requested a review from max-heller October 18, 2025 11:01
@netlify
Copy link

netlify bot commented Oct 18, 2025

Deploy Preview for cute-starship-2d9c9b canceled.

Name Link
🔨 Latest commit a392d6d
🔍 Latest deploy log https://app.netlify.com/projects/cute-starship-2d9c9b/deploys/68f3739e46ae7a0007619c0f

@max-heller
Copy link
Collaborator

I'm not sure if we really want N external crates, we might just want a postcard-extras crate that does more versioning, and can occassionally suffer a breaking change. If I'm already versioning all the deps, then putting these in modules instead of crates is probably not that huge of a deal.

I haven't had a ton of time to think about it, but from an initial read, I'd think we want to either:

  • have a single postcard-extras with feature-versioned deps
  • have postcard-{eio,heapless,...} with unversioned deps (and version postcard-heapless alongside heapless itself)
    • this would be nice to avoid needing ::v0_9::to_vec() and the like

@netlify
Copy link

netlify bot commented Dec 26, 2025

Deploy Preview for cute-starship-2d9c9b canceled.

Name Link
🔨 Latest commit 81d87b1
🔍 Latest deploy log https://app.netlify.com/projects/cute-starship-2d9c9b/deploys/694fd1fda237930008a3e048

@jamesmunns
Copy link
Owner Author

I appreciate the thoughts @max-heller! I'll come back to review this before releasing the accessory crates.

@jamesmunns jamesmunns merged commit e4c4857 into main Dec 27, 2025
5 checks passed
@jamesmunns jamesmunns deleted the james/shatter-2 branch December 27, 2025 12:39
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.

2 participants