Skip to content

docs(core)!: note that DitherConfig gained the dbs field - #75

Merged
g4bri3lDev merged 1 commit into
mainfrom
docs/core-dbs-breaking-note
Oct 7, 2026
Merged

g4bri3lDev merged 1 commit into
mainfrom
docs/core-dbs-breaking-note

Conversation

@g4bri3lDev

Copy link
Copy Markdown
Member

Why

epaper-dithering-core is published to crates.io. #71 added a public field, DitherConfig::dbs, which breaks any Rust code that constructs DitherConfig by listing every field. This repo's own Python and WASM bindings needed dbs: None to compile. The pending release PR (#72) would publish this as 5.1.0, which ^5 requirements pick up automatically, so downstream builds would break on cargo update.

This PR marks the change as breaking so release-please bumps the crate to 6.0.0 and puts a migration note in its changelog.

What

  • One doc note on DitherConfig: prefer ..Default::default(), which keeps compiling when fields are added.
  • The commit carries the footer: BREAKING CHANGE: DitherConfig has a new public field dbs … must add dbs: None, or switch to ..Default::default().

Effect on other packages

  • Python / npm (epaper-dithering): unaffected; this commit only touches packages/rust/core. They stay at 6.1.0, which is correct since their API change only adds things.
  • Bindings: the Python, WASM and iOS crates depend on core by path with no version requirement, so the major bump can't break them.

Merge note: if you squash-merge, keep the BREAKING CHANGE: footer in the squash commit body. With a merge commit it's preserved automatically.

Recommend struct-update syntax (..Default::default()) for DitherConfig,
which is resilient to new fields.

BREAKING CHANGE: `DitherConfig` has a new public field `dbs` (DBS refinement, added in #71). Code that constructs `DitherConfig` with an exhaustive struct literal must add `dbs: None`, or switch to `..Default::default()`.
@g4bri3lDev
g4bri3lDev merged commit 1f2056c into main Oct 7, 2026
8 checks passed
@codecov

codecov Bot commented Oct 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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