Skip to content

Commit b6db63a

Browse files
committed
[docs] Add yank log and update yank policy
Closes #238 Closes #679
1 parent cb82d57 commit b6db63a

File tree

2 files changed

+40
-4
lines changed

2 files changed

+40
-4
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Changelog
2+
3+
## Releases
4+
5+
We track releases and release notes using [GitHub
6+
Releases](https://github.com/google/zerocopy/releases).
7+
8+
## Yanks and Regressions
9+
10+
### 0.7.27, 0.7.28
11+
12+
These versions were briefly yanked due to a non-soundness regression reported in
13+
[#672][pull-672]. After reconsidering our yanking policy in [#679][issue-679],
14+
we un-yanked these versions.
15+
16+
[pull-672]: https://github.com/google/zerocopy/pull/672
17+
[issue-679]: https://github.com/google/zerocopy/issues/679

POLICIES.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,27 @@ increase our MSRV during semver-breaking version changes (e.g., 0.1 -> 0.2, 1.0
9696

9797
## Yanking
9898

99-
Whenever a bug or regression is identified, we will yank any affected versions
100-
which are part of the current version train. For example, if the most recent
101-
version is 0.10.20 and a bug is uncovered, we will release a fix in 0.10.21 and
102-
yank all 0.10.X versions which are affected. We *may* also yank versions in previous
99+
Whenever a bug or regression is identified, we will yank according to the following
100+
rules:
101+
- If the bug causes compilation to fail, we will not yank
102+
- Otherwise, we will yank if any of the following conditions hold:
103+
- The bug affects soundness
104+
- The bug contradicts documented behavior
105+
- The bug contradics widely assumed behavior
106+
- The bug is a regression (code exists which would succeed on a version X and
107+
would fail on a version Y > X)
108+
109+
When these rules instruct us to yank, we will yank any affected versions which
110+
are part of the current version train. For example, if the most recent version
111+
is 0.10.20 and a bug is uncovered, we will release a fix in 0.10.21 and yank all
112+
0.10.X versions which are affected. We *may* also yank versions in previous
103113
version trains on a case-by-case basis, but we don't guarantee it.
114+
115+
In addition to yanking, we will do the following:
116+
- Submit a [RustSec Advisory][rustsec]
117+
- Submit a [GitHub Security Advisory][github-advisories]
118+
- Add an entry in our [yank log][yank-log]
119+
120+
[rustsec]: https://rustsec.org/
121+
[github-advisories]: https://github.com/advisories
122+
[yank-log]: https://github.com/google/zerocopy/blob/main/CHANGELOG.md#yanks-and-regressions

0 commit comments

Comments
 (0)