File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33All notable changes to this project will be documented in this file.
44
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
6- and this project adheres to [ Semantic Versioning ] ( https://semver.org/spec/v2.0.0.html ) .
6+ and this project adheres to the versioning scheme outlined in the [ README.md ] ( README.md ) .
77
88## [ Unreleased]
99
@@ -37,6 +37,12 @@ compatible with prior chainstate directories.
3737- Fixed faulty logic in the mempool that was still treating the transaction fee
3838 as a fee rate, which prevented replace-by-fee from working as expected.
3939
40+ ## [ 2.0.10.0.1]
41+
42+ This is a low-priority hotfix release to address a bug in the deserialization logic. The
43+ chainstate directory of 2.0.10.0.1 is compatible with 2.0.10. This release also begins the
44+ usage of the versioning scheme outlined in the [ README.md] ( README.md ) .
45+
4046## [ 2.0.10]
4147
4248This is a low-priority hotfix release to address two bugs in the block downloader. The
Original file line number Diff line number Diff line change @@ -33,6 +33,23 @@ according to the following rubric:
3333- ** Medium Priority** . Any fix for an issue that could cause miners to waste funds
3434- ** Low Priority** . Any fix for an issue that could deny service to individual nodes
3535
36+ ## Versioning
37+
38+ This repository uses a 5 part version number.
39+
40+ ```
41+ X.Y.Z.A.n
42+
43+ X = 2 and does not change in practice unless there’s another Stacks 2.0 type event
44+ Y increments on consensus-breaking changes
45+ Z increments on non-consensus-breaking changes that require a fresh chainstate (akin to semantic MAJOR)
46+ A increments on non-consensus-breaking changes that do not require a fresh chainstate, but introduce new features (akin to semantic MINOR)
47+ n increments on patches and hot-fixes (akin to semantic PATCH)
48+ ```
49+
50+ For example, a node operator running version ` 2.0.10.0.0 ` would not need to wipe and refresh their chainstate
51+ to upgrade to ` 2.0.10.1.0 ` or ` 2.0.10.0.1 ` . However, upgrading to ` 2.0.11.0.0 ` would require a new chainstate.
52+
3653## Roadmap
3754
3855- [x] [ SIP 001: Burn Election] ( https://github.com/stacksgov/sips/blob/main/sips/sip-001/sip-001-burn-election.md )
Original file line number Diff line number Diff line change @@ -342,8 +342,7 @@ impl Value {
342342
343343 r. read_exact ( & mut data[ ..] ) ?;
344344
345- // can safely unwrap, because the buffer length was _already_ checked.
346- Ok ( Value :: buff_from ( data) . unwrap ( ) )
345+ Value :: buff_from ( data) . map_err ( |_| "Bad buffer" . into ( ) )
347346 }
348347 TypePrefix :: BoolTrue => {
349348 check_match ! ( expected_type, TypeSignature :: BoolType ) ?;
@@ -517,8 +516,7 @@ impl Value {
517516
518517 r. read_exact ( & mut data[ ..] ) ?;
519518
520- // can safely unwrap, because the string length was _already_ checked.
521- Ok ( Value :: string_ascii_from_bytes ( data) . unwrap ( ) )
519+ Value :: string_ascii_from_bytes ( data) . map_err ( |_| "Bad string" . into ( ) )
522520 }
523521 TypePrefix :: StringUTF8 => {
524522 let mut total_len = [ 0 ; 4 ] ;
You can’t perform that action at this time.
0 commit comments