History

Also parse 'style' if there are breaking changes (#198)

Sebastian Thiel committed 5 years ago

Commit bc9d85a1 parent 4eebaac2 files · +89 −46Browse files

Unified · Split

2 files
  1. cargo-smart-release/CHANGELOG.md +87 −45
  2. cargo-smart-release/src/changelog/parse.rs +2 −1
cargo-smart-release/CHANGELOG.md+87−45
@@ -7,17 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 · 6 unmodified lines
77
88 ## Unreleased
99
10−- Conservative pre-release version handling along with a flag to turn it off. See [this issue][194] for details.
11−- Rename `--allow-auto-publish-of-stable-crates` to `--no-auto-publish-of-stable-crates`, inverting its meaning.
12−- Add `--no-multi-crate-release` flag to return to previous default behaviour. All crate manifest changes are put into one commit.
13−- automatically bump pre-release transient dependents of published crates to prevent breakage down the road unless
14− `--no-isolate-dependencies-from-breaking-change` is set.
10+<csr-id-3c0a6389fe5ff981dadca20e8a4a4a0d2ef66e13/>
11+<csr-id-77ed17c703e502e132cda9a94eb8c63db0b627ad/>
12+
13+### New Features
14+
15+ - <csr-id-ae8780e08303946412cedc19ea4d2679be49ec97/> smart-release with --changelog-without option…
16+
17+ …to allow disabling various changelog segments like clippy, or commit
18+ statistics.
19+
20+ Note that it's always possible to delete individual sections afterwards.
21+ - <csr-id-509550f8aa8210f3688c78167a56a21fc1817515/> changelog command learns the --without <section> option
22+ With it one can omit auto-generated sections of the given name.
23+
24+### Fixed
25+
26+ - <csr-id-11eebdcc572a72b2e66a9db3cae0a01f12a81619/> don't claim to change manifest version if it's the same one
27+
28+### refactor (BREAKING)
29+
30+ - <csr-id-1cb41f81cffe19c75aadf49a5cc7ec390ec6cae7/> Use 'to_*' when converting `easy::Object` to specific object kind
31+ This also makes the API more consistent while being more idiomatic.
32+ - rename --skip-* flags to --no-* for consistency
33+ - rename --skip-dependencies to --no-dependencies…
34+
35+ …to be more inline with existing terminology of other flags.
1536
1637 ### Commit Statistics
1738
1839 <csr-read-only-do-not-edit/>
1940
20− - 178 commits contributed to the release over the course of 19 calendar days.
41+ - 199 commits contributed to the release over the course of 31 calendar days.
2142 - 14 commits where understood as [conventional](https://www.conventionalcommits.org).
2243 - 6 unique issues were worked on
2344
@@ -25,7 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 · 1 unmodified line
2546
2647 <csr-read-only-do-not-edit/>
2748
28−[Clippy](https://github.com/rust-lang/rust-clippy) helped 16 times to make code idiomatic.
49+[Clippy](https://github.com/rust-lang/rust-clippy) helped 18 times to make code idiomatic.
2950
3051 ### Commit Details
3152
@@ -52,41 +73,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 · 20 unmodified lines
5273 - smart-release: an algorithm to collect dependencies by 'growing' (73794a4)
5374 - smart-release: foundation for bumping versions (d1145d1)
5475 * **#198**
55− - smart-release with --changelog-without option… (7db19a8)
56− - changelog command learns the --without <section> option (1df3ad7)
57− - Easy removal of statistical sections, by just removing them… (dce113d)
58− - Rebuild all changelogs to assure properly ordered headlines (cfcaa66)
59− - reorder headlines according to version ordering… (733d7f1)
60− - Sort all commits by time, descending… (7c37a3d)
61− - greatly reduce changelog size now that the traversal fix is applied (3924c03)
62− - Use most relevant parent tree for change comparison… (6d02ac8)
63− - Use hashmap based lookup for trees… (55d2d17)
64− - refactor and improve path filtering to find relevant commits… (99db079)
65− - The first headline level controls all the other ones (302b267)
66− - adapt to git-hash refactor (d881734)
67− - Fixup remaining changelogs… (0ac488a)
68− - Generate changelogs with details (fd0f3bd)
69− - Only use short hashes for logs, without detecting ambiguity for now (8d48d59)
70− - boost allowed package sizes… (c1636e4)
71− - Stable smart-release journey tests… (d5b3099)
72− - Update all changelogs with details (0732699)
73− - Put commit details to the end of generated segments (bef2e0e)
74− - Use message commit id instead of body… (2746d93)
75− - fix md formatting on github (f90f3ce)
76− - create details headline based on log message (4eaab37)
77− - Add details behind a fold, but… (3c711f4)
78− - Use the notion of 'changes after merge' only to drive previews… (fb0e46b)
79− - Update changelogs (b30db3b)
80− - refactor (90c304e)
81− - Also provide a duration in days for preparing a release as part of statistics (4d36844)
82− - Fix tests (ff15c1b)
83− - refactor (bcec911)
84− - More commit statistics (29a01d6)
85− - Basic commit statistics with round-trip, more actual information to come (83e2b2d)
86− - refactor… (6edf196)
87− - More robust parsing of read-only sections (252e84f)
88− - treat clippy as generated statistical section… (96df84d)
89− - Add new section type and write it out: clippy (37280cd)
76+ - Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
77+ - Support writing whole bodies in conventional messages… (c1f3c9d)
78+ - Support for paragraphs in conventional items (7f52823)
79+ - respect release-wide ignore list to allow removing entire conventional headlines (145103d)
80+ - Only write headlines that we can parse back… (d44369a)
81+ - handle all possible changelog headlines and add roundtrip tests (fda5ccf)
82+ - First basic parsing of conventional user and generated messages (56cd4ac)
83+ - parsing of removed conventional messages from changelogs (c593252)
84+ - first basic merging of conventional messages… (9af3248)
85+ - Trivially emulate gits way of handling commit dates… (f58b30a)
86+ - Also consider changes of changelogs themselves… (8a2042c)
87+ - Adjust date of upcoming version as well (fab4649)
88+ - assure git-conventional is treated like user generated content for statistics (1fd5acb)
89+ - merge doesn't consider user generated sections, only the ones it would want to add (ebbebdd)
90+ - Quick and dirty writing of conventional messages… (adfbd0d)
91+ - basic generation of git-conventional information (77b0feb)
92+ - Sketch out data structure for git-conventional segments (2713c02)
93+ - refactor (bcdec5e)
94+ - smart-release with --changelog-without option… (ae8780e)
95+ - changelog command learns the --without <section> option (509550f)
96+ - Easy removal of statistical sections, by just removing them… (91efd68)
97+ - Rebuild all changelogs to assure properly ordered headlines (4a9a05f)
98+ - reorder headlines according to version ordering… (2ff0c20)
99+ - Sort all commits by time, descending… (f536bad)
100+ - greatly reduce changelog size now that the traversal fix is applied (a0bc98c)
101+ - Use most relevant parent tree for change comparison… (5b9dd14)
102+ - Use hashmap based lookup for trees… (48a0c76)
103+ - refactor and improve path filtering to find relevant commits… (01b2466)
104+ - The first headline level controls all the other ones (715ea54)
105+ - adapt to git-hash refactor (925d668)
106+ - Fixup remaining changelogs… (2f75db2)
107+ - Generate changelogs with details (e1861ca)
108+ - Only use short hashes for logs, without detecting ambiguity for now (772525c)
109+ - boost allowed package sizes… (1b21d71)
110+ - Stable smart-release journey tests… (fc79188)
111+ - Update all changelogs with details (58ab2ae)
112+ - Put commit details to the end of generated segments (054d207)
113+ - Use message commit id instead of body… (9b46f32)
114+ - fix md formatting on github (262c000)
115+ - create details headline based on log message (04bbcbb)
116+ - Add details behind a fold, but… (3360b2e)
117+ - Use the notion of 'changes after merge' only to drive previews… (634267c)
118+ - Update changelogs (c857d61)
119+ - refactor (7a83103)
120+ - Also provide a duration in days for preparing a release as part of statistics (bd12cac)
121+ - Fix tests (6c98afc)
122+ - refactor (65fa0a4)
123+ - More commit statistics (0840e7e)
124+ - Basic commit statistics with round-trip, more actual information to come (6d097ae)
125+ - refactor… (ce0dda2)
126+ - More robust parsing of read-only sections (a3954f4)
127+ - treat clippy as generated statistical section… (1cff425)
128+ - Add new section type and write it out: clippy (6fca2ac)
90129 - introduce notion of essential sections in a changelog… (be891e2)
91130 - Preview changelog support for smart-release as well (b9e6de1)
92131 - Detect changes after merge; add flag for controlling changelog preview (6beb734)
@@ -184,9 +223,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 · 91 unmodified lines
184223 * **#67**
185224 - split data::output::count::objects into files (8fe4612)
186225 * **Uncategorized**
187− - thanks clippy (738538c)
188− - thanks clippy (b693e62)
189− - thanks clippy (11bd4a3)
226+ - thanks clippy (ce48e18)
227+ - thanks clippy (af9d137)
228+ - Update changelogs just for fun (21541b3)
229+ - thanks clippy (bf514a2)
230+ - thanks clippy (ead04f2)
231+ - thanks clippy (e4f1c09)
190232 - thanks clippy (b856da4)
191233 - thanks clippy (31498bb)
192234 - thanks clippy (c55f909)
cargo-smart-release/src/changelog/parse.rs+2−1
@@ -164,6 +164,7 @@ impl Section { · 163 unmodified lines
164164 || title.starts_with(as_headline("perf").expect("valid"))
165165 || title.starts_with("refactor")
166166 || title.starts_with("other")
167+ || title.starts_with("style")
167168 || title.starts_with(as_headline("fix").expect("valid")) =>
168169 {
169170 State::ParseConventional {
@@ -230,7 +231,7 @@ fn parse_conventional_to_next_section_title( · 60 unmodified lines
230231 ) -> Segment {
231232 let is_breaking = title.ends_with(section::segment::Conventional::BREAKING_TITLE_ENCLOSED);
232233 let kind = [
233− "fix", "add", "feat", "revert", "remove", "change", "docs", "perf", "refactor", "other",
234+ "fix", "add", "feat", "revert", "remove", "change", "docs", "perf", "refactor", "other", "style",
234235 ]
235236 .iter()
236237 .find(|kind| title.starts_with(section::segment::conventional::as_headline(*kind).unwrap_or(*kind)))

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t