docs(changeset): Add section on version compatibility#391
docs(changeset): Add section on version compatibility#391ValuedMammal merged 2 commits intobitcoindevkit:masterfrom
Conversation
This tells serde to use the default value if the field is missing when deserializing, which is useful when upgrading between versions.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #391 +/- ##
==========================================
- Coverage 79.17% 79.06% -0.11%
==========================================
Files 24 24
Lines 5311 5298 -13
Branches 242 241 -1
==========================================
- Hits 4205 4189 -16
- Misses 1029 1032 +3
Partials 77 77
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
tnull
left a comment
There was a problem hiding this comment.
Thank you, I much appreciate this move to clearly define the provided guarantees!
| /// | ||
| /// ### Responsibilities | ||
| /// | ||
| /// Library authors SHOULD test all upgrade paths using the persistence test suite and in CI. |
There was a problem hiding this comment.
Are there any plans to add {backward,forward} compatibility tests in BDK CI to ensure the above described rules are actually enforced at all times?
137ba7f to
80c962b
Compare
|
|
Added this item as something to outline in the Release Guide for 3.0. See the current list here: bitcoindevkit/book-of-bdk#137. |
Description
Partially addresses #234 by improving the documentation of
ChangeSetby adding a version compatibility policy, clarifying what upgrade/downgrade paths are supported and how breaking changes should be handled. It also adds the#[serde(default)]attribute tolocked_outpointswhich is a newly added field in 3.0.In summary the policy says:
ChangeSetdata structure will correspond to a major version bump.Defaultso that when deserializing, any missing fields are filled in with the default.Changelog notice
Changed
#[serde(default)]toChangeSet::locked_outpointsChecklists
All Submissions: