Skip to content

Commit 634e36d

Browse files
author
Aaron Blankstein
committed
Merge branch 'master' into develop
2 parents 35b5f6b + f9e91d9 commit 634e36d

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
All notable changes to this project will be documented in this file.
44

55
The 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

4248
This is a low-priority hotfix release to address two bugs in the block downloader. The

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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)

src/vm/types/serialization.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff 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];

0 commit comments

Comments
 (0)