github_changelog_generator 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 48b0c1b422e51b7496fba23d8bde28317f7b5979
4
- data.tar.gz: 1a4c6a16b1a2fc187ec00ad4af38b590336639e3
3
+ metadata.gz: 14e8beb89ae2f1803f59aa8dc82b7ec4bab97861
4
+ data.tar.gz: 6002f6306a1532fc8ff36403923f34a6698e89fa
5
5
  SHA512:
6
- metadata.gz: 61dd8e4d652cddd2e70c5a9772bc5c4feb8500dbb3a368431d1f70b1e0b28373ff83fe44e265a121a2e3991cd04ee5004e812a61906494e5326a1344ce14893e
7
- data.tar.gz: df67b14640559a3f0bba883343a6ff6208aa12159340622eca697659126571f8cb3f448242ce977833350ebb5ada6db693be441fd117e2aeb289b86be9d4d955
6
+ metadata.gz: 8ab2b56f72ca7a624bd626f2ffed3624139d44f36dea500172bc0b155037ee0327bd2bc0a6d597c0038608c7bcfd0bd03d0a64d53bb194eb73e9d1f9d64d4ba2
7
+ data.tar.gz: 3fd4f8006c2af2f89ee23838ecf81b618ef6107847340cef98fead5e0be4434944ea479a9aca503125a03bf3894aa7aa7043b9e8402e9888261ef3ad3f55fc0f
@@ -1,7 +1,14 @@
1
1
  # Change Log
2
2
 
3
- ## [1.6.2](https://github.com/skywinder/github-changelog-generator/tree/1.6.2) (2015-07-16)
3
+ ## [1.7.0](https://github.com/skywinder/github-changelog-generator/tree/1.7.0) (2015-07-16)
4
+ [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.6.2...1.7.0)
5
+
6
+ **Implemented enhancements:**
4
7
 
8
+ - Custom header [\#251](https://github.com/skywinder/github-changelog-generator/issues/251)
9
+ - Arbitrary templates [\#242](https://github.com/skywinder/github-changelog-generator/issues/242)
10
+
11
+ ## [1.6.2](https://github.com/skywinder/github-changelog-generator/tree/1.6.2) (2015-07-16)
5
12
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.6.1...1.6.2)
6
13
 
7
14
  **Fixed bugs:**
@@ -9,7 +16,6 @@
9
16
  - --unreleased-only broken [\#250](https://github.com/skywinder/github-changelog-generator/issues/250)
10
17
 
11
18
  ## [1.6.1](https://github.com/skywinder/github-changelog-generator/tree/1.6.1) (2015-06-12)
12
-
13
19
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.6.0...1.6.1)
14
20
 
15
21
  **Implemented enhancements:**
@@ -21,33 +27,26 @@
21
27
  - not encapsulated character `\<` [\#249](https://github.com/skywinder/github-changelog-generator/issues/249)
22
28
 
23
29
  ## [1.6.0](https://github.com/skywinder/github-changelog-generator/tree/1.6.0) (2015-06-11)
24
-
25
30
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.5.0...1.6.0)
26
31
 
27
32
  **Implemented enhancements:**
28
33
 
29
34
  - Issues with any label except "bug", "enhancement" should not be excluded by default. [\#240](https://github.com/skywinder/github-changelog-generator/issues/240)
30
-
31
35
  - Add ability to specify custom labels for enhancements & bugfixes [\#54](https://github.com/skywinder/github-changelog-generator/issues/54)
32
36
 
33
37
  **Fixed bugs:**
34
38
 
35
39
  - --user and --project options are broken [\#246](https://github.com/skywinder/github-changelog-generator/issues/246)
36
-
37
40
  - Exclude and Include tags is broken [\#245](https://github.com/skywinder/github-changelog-generator/issues/245)
38
41
 
39
42
  ## [1.5.0](https://github.com/skywinder/github-changelog-generator/tree/1.5.0) (2015-05-26)
40
-
41
43
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.4.1...1.5.0)
42
44
 
43
45
  **Implemented enhancements:**
44
46
 
45
47
  - Show `Unreleased` section even when there is no tags in repo. [\#228](https://github.com/skywinder/github-changelog-generator/issues/228)
46
-
47
48
  - Add option `--exclude-tags x,y,z` [\#214](https://github.com/skywinder/github-changelog-generator/issues/214)
48
-
49
49
  - Generate change log between 2 specific tags [\#172](https://github.com/skywinder/github-changelog-generator/issues/172)
50
-
51
50
  - Yanked releases support [\#53](https://github.com/skywinder/github-changelog-generator/issues/53)
52
51
 
53
52
  **Merged pull requests:**
@@ -55,7 +54,6 @@
55
54
  - Big refactoring [\#243](https://github.com/skywinder/github-changelog-generator/pull/243) ([skywinder](https://github.com/skywinder))
56
55
 
57
56
  ## [1.4.1](https://github.com/skywinder/github-changelog-generator/tree/1.4.1) (2015-05-19)
58
-
59
57
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.4.0...1.4.1)
60
58
 
61
59
  **Implemented enhancements:**
@@ -65,27 +63,21 @@
65
63
  **Fixed bugs:**
66
64
 
67
65
  - github\_changelog\_generator.rb:220:in ``': No such file or directory - pwd \(Errno::ENOENT\) [\#237](https://github.com/skywinder/github-changelog-generator/issues/237)
68
-
69
66
  - Doesnot generator changelog [\#235](https://github.com/skywinder/github-changelog-generator/issues/235)
70
-
71
67
  - Exclude closed \(not merged\) PR's from changelog. [\#69](https://github.com/skywinder/github-changelog-generator/issues/69)
72
68
 
73
69
  **Merged pull requests:**
74
70
 
75
71
  - Wrap GitHub requests in function check\_github\_response [\#238](https://github.com/skywinder/github-changelog-generator/pull/238) ([skywinder](https://github.com/skywinder))
76
-
77
72
  - Add fetch token tests [\#236](https://github.com/skywinder/github-changelog-generator/pull/236) ([skywinder](https://github.com/skywinder))
78
-
79
73
  - Add future release option [\#231](https://github.com/skywinder/github-changelog-generator/pull/231) ([sildur](https://github.com/sildur))
80
74
 
81
75
  ## [1.4.0](https://github.com/skywinder/github-changelog-generator/tree/1.4.0) (2015-05-07)
82
-
83
76
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.11...1.4.0)
84
77
 
85
78
  **Implemented enhancements:**
86
79
 
87
80
  - Parsing of existing Change Log file [\#212](https://github.com/skywinder/github-changelog-generator/issues/212)
88
-
89
81
  - Warn users about 0 tags in repo. [\#208](https://github.com/skywinder/github-changelog-generator/issues/208)
90
82
 
91
83
  **Closed issues:**
@@ -95,21 +87,14 @@
95
87
  **Merged pull requests:**
96
88
 
97
89
  - Implement fetcher class [\#227](https://github.com/skywinder/github-changelog-generator/pull/227) ([skywinder](https://github.com/skywinder))
98
-
99
90
  - Add coveralls integration [\#223](https://github.com/skywinder/github-changelog-generator/pull/223) ([skywinder](https://github.com/skywinder))
100
-
101
91
  - Cleanup [\#220](https://github.com/skywinder/github-changelog-generator/pull/220) ([tuexss](https://github.com/tuexss))
102
-
103
92
  - Rspec & rubocop integration [\#217](https://github.com/skywinder/github-changelog-generator/pull/217) ([skywinder](https://github.com/skywinder))
104
-
105
93
  - Implement Reader class to parse ChangeLog.md [\#216](https://github.com/skywinder/github-changelog-generator/pull/216) ([estahn](https://github.com/estahn))
106
-
107
94
  - Relatively require github\_changelog\_generator library [\#207](https://github.com/skywinder/github-changelog-generator/pull/207) ([sneal](https://github.com/sneal))
108
-
109
95
  - Add --max-issues argument to limit requests [\#76](https://github.com/skywinder/github-changelog-generator/pull/76) ([sneal](https://github.com/sneal))
110
96
 
111
97
  ## [1.3.11](https://github.com/skywinder/github-changelog-generator/tree/1.3.11) (2015-03-21)
112
-
113
98
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.10...1.3.11)
114
99
 
115
100
  **Merged pull requests:**
@@ -117,7 +102,6 @@
117
102
  - Add fallback with warning message to prevent crash in case of exceed API Rate Limit \(temporary workaround for \#71\) [\#75](https://github.com/skywinder/github-changelog-generator/pull/75) ([skywinder](https://github.com/skywinder))
118
103
 
119
104
  ## [1.3.10](https://github.com/skywinder/github-changelog-generator/tree/1.3.10) (2015-03-18)
120
-
121
105
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.9...1.3.10)
122
106
 
123
107
  **Merged pull requests:**
@@ -125,7 +109,6 @@
125
109
  - Fix termination in case of empty unreleased section with `--unreleased-only` option. [\#70](https://github.com/skywinder/github-changelog-generator/pull/70) ([skywinder](https://github.com/skywinder))
126
110
 
127
111
  ## [1.3.9](https://github.com/skywinder/github-changelog-generator/tree/1.3.9) (2015-03-06)
128
-
129
112
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.8...1.3.9)
130
113
 
131
114
  **Implemented enhancements:**
@@ -137,15 +120,12 @@
137
120
  - Resolved concurrency problem in case of issues \> 2048 [\#65](https://github.com/skywinder/github-changelog-generator/pull/65) ([skywinder](https://github.com/skywinder))
138
121
 
139
122
  ## [1.3.8](https://github.com/skywinder/github-changelog-generator/tree/1.3.8) (2015-03-05)
140
-
141
123
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.6...1.3.8)
142
124
 
143
125
  ## [1.3.6](https://github.com/skywinder/github-changelog-generator/tree/1.3.6) (2015-03-05)
144
-
145
126
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.5...1.3.6)
146
127
 
147
128
  ## [1.3.5](https://github.com/skywinder/github-changelog-generator/tree/1.3.5) (2015-03-04)
148
-
149
129
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.4...1.3.5)
150
130
 
151
131
  **Fixed bugs:**
@@ -153,7 +133,6 @@
153
133
  - Pull Requests in Wrong Tag [\#60](https://github.com/skywinder/github-changelog-generator/issues/60)
154
134
 
155
135
  ## [1.3.4](https://github.com/skywinder/github-changelog-generator/tree/1.3.4) (2015-03-03)
156
-
157
136
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.3...1.3.4)
158
137
 
159
138
  **Fixed bugs:**
@@ -161,7 +140,6 @@
161
140
  - --no-issues appears to break PRs [\#59](https://github.com/skywinder/github-changelog-generator/issues/59)
162
141
 
163
142
  ## [1.3.3](https://github.com/skywinder/github-changelog-generator/tree/1.3.3) (2015-03-03)
164
-
165
143
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.2...1.3.3)
166
144
 
167
145
  **Closed issues:**
@@ -169,7 +147,6 @@
169
147
  - Add \# character to encapsulate list. [\#58](https://github.com/skywinder/github-changelog-generator/issues/58)
170
148
 
171
149
  ## [1.3.2](https://github.com/skywinder/github-changelog-generator/tree/1.3.2) (2015-03-03)
172
-
173
150
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.1...1.3.2)
174
151
 
175
152
  **Fixed bugs:**
@@ -177,21 +154,16 @@
177
154
  - generation failed if github commit api return `404 Not Found` [\#57](https://github.com/skywinder/github-changelog-generator/issues/57)
178
155
 
179
156
  ## [1.3.1](https://github.com/skywinder/github-changelog-generator/tree/1.3.1) (2015-02-27)
180
-
181
157
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.3.0...1.3.1)
182
158
 
183
159
  ## [1.3.0](https://github.com/skywinder/github-changelog-generator/tree/1.3.0) (2015-02-26)
184
-
185
160
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.8...1.3.0)
186
161
 
187
162
  **Implemented enhancements:**
188
163
 
189
164
  - Do not show `Unreleased` section, when it's empty. [\#55](https://github.com/skywinder/github-changelog-generator/issues/55)
190
-
191
165
  - Separate list exclude and include labels [\#52](https://github.com/skywinder/github-changelog-generator/issues/52)
192
-
193
166
  - Unreleased issues in separate section [\#47](https://github.com/skywinder/github-changelog-generator/issues/47)
194
-
195
167
  - Separate by lists: Enhancements, Bugs, Pull requests. [\#31](https://github.com/skywinder/github-changelog-generator/issues/31)
196
168
 
197
169
  **Fixed bugs:**
@@ -203,7 +175,6 @@
203
175
  - Implement filtering of Pull Requests by milestones [\#50](https://github.com/skywinder/github-changelog-generator/pull/50) ([skywinder](https://github.com/skywinder))
204
176
 
205
177
  ## [1.2.8](https://github.com/skywinder/github-changelog-generator/tree/1.2.8) (2015-02-17)
206
-
207
178
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.7...1.2.8)
208
179
 
209
180
  **Closed issues:**
@@ -213,11 +184,9 @@
213
184
  **Merged pull requests:**
214
185
 
215
186
  - Feature/fix 37 [\#49](https://github.com/skywinder/github-changelog-generator/pull/49) ([skywinder](https://github.com/skywinder))
216
-
217
187
  - Prettify output [\#48](https://github.com/skywinder/github-changelog-generator/pull/48) ([skywinder](https://github.com/skywinder))
218
188
 
219
189
  ## [1.2.7](https://github.com/skywinder/github-changelog-generator/tree/1.2.7) (2015-01-26)
220
-
221
190
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.6...1.2.7)
222
191
 
223
192
  **Merged pull requests:**
@@ -225,7 +194,6 @@
225
194
  - Add compare link between older version and newer version [\#46](https://github.com/skywinder/github-changelog-generator/pull/46) ([sue445](https://github.com/sue445))
226
195
 
227
196
  ## [1.2.6](https://github.com/skywinder/github-changelog-generator/tree/1.2.6) (2015-01-21)
228
-
229
197
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.5...1.2.6)
230
198
 
231
199
  **Merged pull requests:**
@@ -233,7 +201,6 @@
233
201
  - fix link tag format [\#45](https://github.com/skywinder/github-changelog-generator/pull/45) ([sugamasao](https://github.com/sugamasao))
234
202
 
235
203
  ## [1.2.5](https://github.com/skywinder/github-changelog-generator/tree/1.2.5) (2015-01-15)
236
-
237
204
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.4...1.2.5)
238
205
 
239
206
  **Implemented enhancements:**
@@ -247,27 +214,22 @@
247
214
  **Merged pull requests:**
248
215
 
249
216
  - PrettyPrint class is included using lowercase 'pp' [\#43](https://github.com/skywinder/github-changelog-generator/pull/43) ([schwing](https://github.com/schwing))
250
-
251
217
  - support enterprise github via command line options [\#42](https://github.com/skywinder/github-changelog-generator/pull/42) ([glenlovett](https://github.com/glenlovett))
252
218
 
253
219
  ## [1.2.4](https://github.com/skywinder/github-changelog-generator/tree/1.2.4) (2014-12-16)
254
-
255
220
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.3...1.2.4)
256
221
 
257
222
  **Fixed bugs:**
258
223
 
259
224
  - Sometimes user is NULL during merges [\#41](https://github.com/skywinder/github-changelog-generator/issues/41)
260
-
261
225
  - Crash when try generate log for rails [\#35](https://github.com/skywinder/github-changelog-generator/issues/35)
262
226
 
263
227
  ## [1.2.3](https://github.com/skywinder/github-changelog-generator/tree/1.2.3) (2014-12-16)
264
-
265
228
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.2...1.2.3)
266
229
 
267
230
  **Implemented enhancements:**
268
231
 
269
232
  - Add ability to run with one parameter instead -u -p [\#38](https://github.com/skywinder/github-changelog-generator/issues/38)
270
-
271
233
  - Detailed output [\#33](https://github.com/skywinder/github-changelog-generator/issues/33)
272
234
 
273
235
  **Fixed bugs:**
@@ -277,11 +239,9 @@
277
239
  **Merged pull requests:**
278
240
 
279
241
  - Implement async fetching [\#39](https://github.com/skywinder/github-changelog-generator/pull/39) ([skywinder](https://github.com/skywinder))
280
-
281
242
  - Fix crash when user is NULL [\#40](https://github.com/skywinder/github-changelog-generator/pull/40) ([skywinder](https://github.com/skywinder))
282
243
 
283
244
  ## [1.2.2](https://github.com/skywinder/github-changelog-generator/tree/1.2.2) (2014-12-10)
284
-
285
245
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.1...1.2.2)
286
246
 
287
247
  **Fixed bugs:**
@@ -293,7 +253,6 @@
293
253
  - Add a Bitdeli Badge to README [\#36](https://github.com/skywinder/github-changelog-generator/pull/36) ([bitdeli-chef](https://github.com/bitdeli-chef))
294
254
 
295
255
  ## [1.2.1](https://github.com/skywinder/github-changelog-generator/tree/1.2.1) (2014-11-22)
296
-
297
256
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.0...1.2.1)
298
257
 
299
258
  **Fixed bugs:**
@@ -303,23 +262,18 @@
303
262
  **Merged pull requests:**
304
263
 
305
264
  - Issues for last tag not in list [\#29](https://github.com/skywinder/github-changelog-generator/pull/29) ([skywinder](https://github.com/skywinder))
306
-
307
265
  - Disable default --filter-pull-requests option. [\#28](https://github.com/skywinder/github-changelog-generator/pull/28) ([skywinder](https://github.com/skywinder))
308
266
 
309
267
  ## [1.2.0](https://github.com/skywinder/github-changelog-generator/tree/1.2.0) (2014-11-19)
310
-
311
268
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.4...1.2.0)
312
269
 
313
270
  **Merged pull requests:**
314
271
 
315
272
  - Add filter for pull-requests labels. \(option --filter-pull-requests\) [\#27](https://github.com/skywinder/github-changelog-generator/pull/27) ([skywinder](https://github.com/skywinder))
316
-
317
273
  - Add ability to insert authors of pull-requests \(--\[no-\]author option\) [\#25](https://github.com/skywinder/github-changelog-generator/pull/25) ([skywinder](https://github.com/skywinder))
318
-
319
274
  - Don't receive issues in case of --no-isses flag specied [\#24](https://github.com/skywinder/github-changelog-generator/pull/24) ([skywinder](https://github.com/skywinder))
320
275
 
321
276
  ## [1.1.4](https://github.com/skywinder/github-changelog-generator/tree/1.1.4) (2014-11-18)
322
-
323
277
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.2...1.1.4)
324
278
 
325
279
  **Implemented enhancements:**
@@ -331,29 +285,23 @@
331
285
  - Sort tags by date [\#23](https://github.com/skywinder/github-changelog-generator/pull/23) ([skywinder](https://github.com/skywinder))
332
286
 
333
287
  ## [1.1.2](https://github.com/skywinder/github-changelog-generator/tree/1.1.2) (2014-11-12)
334
-
335
288
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.1...1.1.2)
336
289
 
337
290
  **Merged pull requests:**
338
291
 
339
292
  - Fix bug with dot signs in project name [\#18](https://github.com/skywinder/github-changelog-generator/pull/18) ([skywinder](https://github.com/skywinder))
340
-
341
293
  - Fix bug with dot signs in user name [\#17](https://github.com/skywinder/github-changelog-generator/pull/17) ([skywinder](https://github.com/skywinder))
342
294
 
343
295
  ## [1.1.1](https://github.com/skywinder/github-changelog-generator/tree/1.1.1) (2014-11-10)
344
-
345
296
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.1.0...1.1.1)
346
297
 
347
298
  **Merged pull requests:**
348
299
 
349
300
  - Remove duplicates of issues and pull-requests with same number [\#15](https://github.com/skywinder/github-changelog-generator/pull/15) ([skywinder](https://github.com/skywinder))
350
-
351
301
  - Sort issues by tags [\#14](https://github.com/skywinder/github-changelog-generator/pull/14) ([skywinder](https://github.com/skywinder))
352
-
353
302
  - Add ability to add or exclude issues without any labels [\#13](https://github.com/skywinder/github-changelog-generator/pull/13) ([skywinder](https://github.com/skywinder))
354
303
 
355
304
  ## [1.1.0](https://github.com/skywinder/github-changelog-generator/tree/1.1.0) (2014-11-10)
356
-
357
305
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.0.1...1.1.0)
358
306
 
359
307
  **Implemented enhancements:**
@@ -363,21 +311,17 @@
363
311
  **Fixed bugs:**
364
312
 
365
313
  - Bug with wrong credentials in 1.0.1 [\#12](https://github.com/skywinder/github-changelog-generator/issues/12)
366
-
367
314
  - Markdown formating in the last line wrong [\#9](https://github.com/skywinder/github-changelog-generator/issues/9)
368
315
 
369
316
  ## [1.0.1](https://github.com/skywinder/github-changelog-generator/tree/1.0.1) (2014-11-10)
370
-
371
317
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.0.0...1.0.1)
372
318
 
373
319
  ## [1.0.0](https://github.com/skywinder/github-changelog-generator/tree/1.0.0) (2014-11-07)
374
-
375
320
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.1.0...1.0.0)
376
321
 
377
322
  **Implemented enhancements:**
378
323
 
379
324
  - Add support for fixed issues and implemented enchanments. [\#6](https://github.com/skywinder/github-changelog-generator/issues/6)
380
-
381
325
  - Implement option to specify output filename [\#4](https://github.com/skywinder/github-changelog-generator/issues/4)
382
326
 
383
327
  **Fixed bugs:**
@@ -387,27 +331,21 @@
387
331
  **Merged pull requests:**
388
332
 
389
333
  - Implement support of different tags. [\#8](https://github.com/skywinder/github-changelog-generator/pull/8) ([skywinder](https://github.com/skywinder))
390
-
391
334
  - Add support for issues in CHANGELOG [\#7](https://github.com/skywinder/github-changelog-generator/pull/7) ([skywinder](https://github.com/skywinder))
392
335
 
393
336
  ## [0.1.0](https://github.com/skywinder/github-changelog-generator/tree/0.1.0) (2014-11-07)
394
-
395
337
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.0.2...0.1.0)
396
338
 
397
339
  **Merged pull requests:**
398
340
 
399
341
  - Fix parsing date of pull request [\#3](https://github.com/skywinder/github-changelog-generator/pull/3) ([skywinder](https://github.com/skywinder))
400
-
401
342
  - Add changelog generation for last tag [\#2](https://github.com/skywinder/github-changelog-generator/pull/2) ([skywinder](https://github.com/skywinder))
402
-
403
343
  - Add option \(-o --output\) to specify name of the output file. [\#1](https://github.com/skywinder/github-changelog-generator/pull/1) ([skywinder](https://github.com/skywinder))
404
344
 
405
345
  ## [0.0.2](https://github.com/skywinder/github-changelog-generator/tree/0.0.2) (2014-11-06)
406
-
407
346
  [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/0.0.1...0.0.2)
408
347
 
409
348
  ## [0.0.1](https://github.com/skywinder/github-changelog-generator/tree/0.0.1) (2014-11-06)
410
349
 
411
350
 
412
-
413
351
  \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- github_changelog_generator (1.6.2)
4
+ github_changelog_generator (1.7.0)
5
5
  colorize (~> 0.7)
6
6
  github_api (~> 0.12)
7
7
 
data/README.md CHANGED
@@ -1,194 +1,216 @@
1
- [![Gem Version](https://badge.fury.io/rb/github_changelog_generator.svg)](http://badge.fury.io/rb/github_changelog_generator)
2
- [![Dependency Status](https://gemnasium.com/skywinder/github-changelog-generator.svg)](https://gemnasium.com/skywinder/github-changelog-generator)
3
- [![Build Status](https://travis-ci.org/skywinder/github-changelog-generator.svg?branch=master)](https://travis-ci.org/skywinder/github-changelog-generator)
4
- [![Inline docs](http://inch-ci.org/github/skywinder/github-changelog-generator.svg)](http://inch-ci.org/github/skywinder/github-changelog-generator)
5
- [![Code Climate](https://codeclimate.com/github/skywinder/github-changelog-generator/badges/gpa.svg)](https://codeclimate.com/github/skywinder/github-changelog-generator)
6
- [![Test Coverage](https://codeclimate.com/github/skywinder/github-changelog-generator/badges/coverage.svg)](https://codeclimate.com/github/skywinder/github-changelog-generator)
7
-
8
- GitHub Changelog Generator ![GitHub Logo](../master/images/logo.jpg)
9
- ==================
10
-
11
- - [Installation](#installation)
12
- - [Output example](#output-example)
13
- - [Usage](#usage)
14
- - [Params](#params)
15
- - [GitHub token](#github-token)
16
- - [Features and advantages of this project](#features-and-advantages-of-this-project)
17
- - [Alternatives](#alternatives)
18
- - [Projects using this library](#projects-using-this-library)
19
- - [Am I missing some essential feature?](#am-i-missing-some-essential-feature)
20
- - [Contributing](#contributing)
21
- - [License](#license)
22
-
23
-
24
- ### Changelog generation has never been so easy:
25
-
26
- **Fully automate changelog generation** - This gem generates change log file based on **tags**, **issues** and merged **pull requests** (and splits them into separate lists according labels) from :octocat: GitHub Issue Tracker.
27
-
28
- Since now you don't have to fill your `CHANGELOG.md` manually: just run the script, relax and take a cup of :coffee: before your next release! :tada:
29
-
30
- >### *What’s the point of a change log?*
31
- To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.
32
- ### *Why should I care?*
33
- Because software tools are for people. If you don’t care, why are you contributing to open source? Surely, there must be a kernel (ha!) of care somewhere in that lovely little brain of yours.
34
-
35
- > :copyright: *[http://keepachangelog.com](http://keepachangelog.com/)*
36
-
37
- ## Installation
38
-
39
- [sudo] gem install github_changelog_generator
40
-
41
- ## Output example
42
-
43
- - Look at **[CHANGELOG.md](https://github.com/skywinder/Github-Changelog-Generator/blob/master/CHANGELOG.md)** for this project
44
- - [ActionSheetPicker-3.0/CHANGELOG.md](https://github.com/skywinder/ActionSheetPicker-3.0/blob/master/CHANGELOG.md) was generated by command:
45
-
46
- github_changelog_generator -u skywinder -p ActionSheetPicker-3.0
47
-
48
- - In general it looks like this:
49
-
50
- > ## [1.2.5](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.5) (2015-01-15)
51
- >
52
- > [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.4...1.2.5)
53
- >
54
- > **Implemented enhancements:**
55
- >
56
- > - Use milestone to specify in which version bug was fixed [\#22](https://github.com/skywinder/Github-Changelog-Generator/issues/22)
57
- >
58
- > **Fixed bugs:**
59
- >
60
- > - Error when trying to generate log for repo without tags [\#32](https://github.com/skywinder/Github-Changelog-Generator/issues/32)
61
- >
62
- > **Merged pull requests:**
63
- >
64
- > - PrettyPrint class is included using lowercase 'pp' [\#43](https://github.com/skywinder/Github-Changelog-Generator/pull/43) ([schwing](https://github.com/schwing))
65
- >
66
- > - support enterprise github via command line options [\#42](https://github.com/skywinder/Github-Changelog-Generator/pull/42) ([glenlovett](https://github.com/glenlovett))
67
-
68
-
69
- ## Usage
70
- **It's really simple**:
71
-
72
- - If your **git remote** `origin` refers to your GitHub repo, then just go to your project folder and run:
73
-
74
- github_changelog_generator
75
-
76
- - or from anywhere:
77
- - `github_changelog_generator -u github_username -p github_project`
78
- - `github_changelog_generator github_username/github_project`
79
-
80
- As output you will get `CHANGELOG.md` file with pretty *Markdown-formatted* changelog.
81
-
82
- ### Params
83
- Type `github_changelog_generator --help` for details.
84
-
85
- More detailed info about params you can find in Wiki page: [**Advanced change log generation examples**](https://github.com/skywinder/github-changelog-generator/wiki/Advanced-change-log-generation-examples)
86
-
87
- ### GitHub token
88
-
89
- Since GitHub allows you to make only 50 requests without authentication it's recommended to run this script with a token (`-t, --token` option)
90
-
91
- **You can easily [generate it here](https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token)**.
92
-
93
- And:
94
-
95
- - Run with key `-t [your-16-digit-token]`
96
- - Or set environment variable `CHANGELOG_GITHUB_TOKEN` and specify there your token.
97
-
98
- i.e. add to your `~/.bash_profile` or `~/.zshrc` or any other place to load ENV variables string :
99
-
100
- export CHANGELOG_GITHUB_TOKEN="your-40-digit-github-token"
101
-
102
- So, if you got error like this:
103
- >! /Library/Ruby/Gems/2.0.0/gems/github_api-0.12.2/lib/github_api/response/raise_error.rb:14:in `on_complete'
104
-
105
- It's time to create this token or wait for 1 hour before GitHub reset the counter for your IP.
106
-
107
- ##Features and advantages of this project
108
- - Generate canonical, neat change log file, followed by [basic change log guidelines](http://keepachangelog.com/) :gem:
109
- - Possible to generate **Unreleased** changes (closed issues that have not released yet) :dizzy:
110
- - **GitHub Enterprise support** via command line options! :factory:
111
- - Flexible format **customisation**:
112
- - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk:
113
- - **Custom date format** supported (but get in mind [ISO 8601](http://xkcd.com/1179/) ) :date:
114
- - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin:
115
- - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors:
116
- - **Distinguish** issues **according labels**. :mag_right:
117
- - Merged pull requests (all `merged` pull-requests) :twisted_rightwards_arrows:
118
- - Bug fixes (by label `bug` in issue) :beetle:
119
- - Enhancements (by label `enhancement` in issue) :star2:
120
- - Issues (closed issues `w/o any labels`) :non-potable_water:
121
-
122
- - You can manually set which labels should be included/excluded. :wrench:
123
- - Apply a lot of other customisations, to fit changelog for your personal style :tophat:
124
- (*look `github_changelog_generator --help` for details)*
125
-
126
-
127
- ###Alternatives
128
- Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Changelog-Generator/wiki/Alternatives), that I found. But none satisfied my requirements.
129
-
130
- *If you know other projects - feel free to edit this Wiki page!*
131
-
132
-
133
- ### Projects using this library
134
- [Wikipage with list of projects](https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator)
135
-
1
+ [![Gem Version](https://badge.fury.io/rb/github_changelog_generator.svg)](http://badge.fury.io/rb/github_changelog_generator)
2
+ [![Dependency Status](https://gemnasium.com/skywinder/github-changelog-generator.svg)](https://gemnasium.com/skywinder/github-changelog-generator)
3
+ [![Build Status](https://travis-ci.org/skywinder/github-changelog-generator.svg?branch=master)](https://travis-ci.org/skywinder/github-changelog-generator)
4
+ [![Inline docs](http://inch-ci.org/github/skywinder/github-changelog-generator.svg)](http://inch-ci.org/github/skywinder/github-changelog-generator)
5
+ [![Code Climate](https://codeclimate.com/github/skywinder/github-changelog-generator/badges/gpa.svg)](https://codeclimate.com/github/skywinder/github-changelog-generator)
6
+ [![Test Coverage](https://codeclimate.com/github/skywinder/github-changelog-generator/badges/coverage.svg)](https://codeclimate.com/github/skywinder/github-changelog-generator)
7
+
8
+ GitHub Changelog Generator ![GitHub Logo](../master/images/logo.jpg)
9
+ ==================
10
+
11
+ - [Installation](#installation)
12
+ - [Output example](#output-example)
13
+ - [Usage](#usage)
14
+ - [Params](#params)
15
+ - [GitHub token](#github-token)
16
+ - [Features and advantages of this project](#features-and-advantages-of-this-project)
17
+ - [Alternatives](#alternatives)
18
+ - [Projects using this library](#projects-using-this-library)
19
+ - [Am I missing some essential feature?](#am-i-missing-some-essential-feature)
20
+ - [Contributing](#contributing)
21
+ - [License](#license)
22
+
23
+
24
+ ### Changelog generation has never been so easy:
25
+
26
+ **Fully automate changelog generation** - This gem generates change log file based on **tags**, **issues** and merged **pull requests** (and splits them into separate lists according labels) from :octocat: GitHub Issue Tracker.
27
+
28
+ Since now you don't have to fill your `CHANGELOG.md` manually: just run the script, relax and take a cup of :coffee: before your next release! :tada:
29
+
30
+ >### *What’s the point of a change log?*
31
+ To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.
32
+ ### *Why should I care?*
33
+ Because software tools are for people. If you don’t care, why are you contributing to open source? Surely, there must be a kernel (ha!) of care somewhere in that lovely little brain of yours.
34
+
35
+ > :copyright: *[http://keepachangelog.com](http://keepachangelog.com/)*
36
+
37
+ ## Installation
38
+
39
+ [sudo] gem install github_changelog_generator
40
+
41
+ ## Output example
42
+
43
+ - Look at **[CHANGELOG.md](https://github.com/skywinder/Github-Changelog-Generator/blob/master/CHANGELOG.md)** for this project
44
+ - [ActionSheetPicker-3.0/CHANGELOG.md](https://github.com/skywinder/ActionSheetPicker-3.0/blob/master/CHANGELOG.md) was generated by command:
45
+
46
+ github_changelog_generator -u skywinder -p ActionSheetPicker-3.0
47
+
48
+ - In general it looks like this:
49
+
50
+ > ## [1.2.5](https://github.com/skywinder/Github-Changelog-Generator/tree/1.2.5) (2015-01-15)
51
+ >
52
+ > [Full Changelog](https://github.com/skywinder/Github-Changelog-Generator/compare/1.2.4...1.2.5)
53
+ >
54
+ > **Implemented enhancements:**
55
+ >
56
+ > - Use milestone to specify in which version bug was fixed [\#22](https://github.com/skywinder/Github-Changelog-Generator/issues/22)
57
+ >
58
+ > **Fixed bugs:**
59
+ >
60
+ > - Error when trying to generate log for repo without tags [\#32](https://github.com/skywinder/Github-Changelog-Generator/issues/32)
61
+ >
62
+ > **Merged pull requests:**
63
+ >
64
+ > - PrettyPrint class is included using lowercase 'pp' [\#43](https://github.com/skywinder/Github-Changelog-Generator/pull/43) ([schwing](https://github.com/schwing))
65
+ >
66
+ > - support enterprise github via command line options [\#42](https://github.com/skywinder/Github-Changelog-Generator/pull/42) ([glenlovett](https://github.com/glenlovett))
67
+
68
+
69
+ ## Usage
70
+ **It's really simple**:
71
+
72
+ - If your **git remote** `origin` refers to your GitHub repo, then just go to your project folder and run:
73
+
74
+ github_changelog_generator
75
+
76
+ - or from anywhere:
77
+ - `github_changelog_generator -u github_username -p github_project`
78
+ - `github_changelog_generator github_username/github_project`
79
+
80
+ As output you will get `CHANGELOG.md` file with pretty *Markdown-formatted* changelog.
81
+
82
+ ### Params
83
+ Type `github_changelog_generator --help` for details.
84
+
85
+ More detailed info about params you can find in Wiki page: [**Advanced change log generation examples**](https://github.com/skywinder/github-changelog-generator/wiki/Advanced-change-log-generation-examples)
86
+
87
+ ### GitHub token
88
+
89
+ Since GitHub allows you to make only 50 requests without authentication it's recommended to run this script with a token (`-t, --token` option)
90
+
91
+ **You can easily [generate it here](https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token)**.
92
+
93
+ And:
94
+
95
+ - Run with key `-t [your-40-digit-token]`
96
+ - Or set environment variable `CHANGELOG_GITHUB_TOKEN` and specify there your token.
97
+
98
+ i.e. add to your `~/.bash_profile` or `~/.zshrc` or any other place to load ENV variables string :
99
+
100
+ export CHANGELOG_GITHUB_TOKEN="your-40-digit-github-token"
101
+
102
+ So, if you got error like this:
103
+ >! /Library/Ruby/Gems/2.0.0/gems/github_api-0.12.2/lib/github_api/response/raise_error.rb:14:in `on_complete'
104
+
105
+ It's time to create this token or wait for 1 hour before GitHub reset the counter for your IP.
106
+
107
+ ## Migrating from a manual changelog
108
+
109
+ Knowing how dedicated you are to your project, you probably haven't been waiting for github-changelog-generator to keep a changelog,
110
+ but you most likely wouln't like to have to open issues and PRs for all past features listed in your historic changelog.
111
+
112
+ That's where `--base` comes handy. This option lets you pass a static changelog to be appended at the end of the generated entries.
113
+
114
+ If you have a `HISTORY.md` file in your project, it will automatically be picked as the static historical changelog and appended.
115
+
116
+ ### Rake task
117
+
118
+ You love Rake? So do we! And so we've made it easier for you by providing a Rake task library for your Change log generation. In your Rakefile, use:
119
+
120
+ ```ruby
121
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
122
+ config.since_tag = '0.1.14'
123
+ config.future_release = '0.2.0'
124
+ end
125
+ ```
126
+
127
+ All command line options can be passed to the Rake task as `config` parameters. Since you're naming the Rake task yourself, you can create as many as you want, too.
128
+
129
+ ##Features and advantages of this project
130
+ - Generate canonical, neat change log file, followed by [basic change log guidelines](http://keepachangelog.com/) :gem:
131
+ - Possible to generate **Unreleased** changes (closed issues that have not released yet) :dizzy:
132
+ - **GitHub Enterprise support** via command line options! :factory:
133
+ - Flexible format **customisation**:
134
+ - **Customize** issues, that **should be added** to changelog :eight_spoked_asterisk:
135
+ - **Custom date format** supported (but get in mind [ISO 8601](http://xkcd.com/1179/) ) :date:
136
+ - Ability to manually specify in which version issue was fixed (in case, when closed date is not match) by setting `milestone` of issue the same name as tag of required version :pushpin:
137
+ - Automatically **exclude specific issues**, not-related to change log (any issue, that has label `question` `duplicate` `invalid` `wontfix`by default) :scissors:
138
+ - **Distinguish** issues **according labels**. :mag_right:
139
+ - Merged pull requests (all `merged` pull-requests) :twisted_rightwards_arrows:
140
+ - Bug fixes (by label `bug` in issue) :beetle:
141
+ - Enhancements (by label `enhancement` in issue) :star2:
142
+ - Issues (closed issues `w/o any labels`) :non-potable_water:
143
+
144
+ - You can manually set which labels should be included/excluded. :wrench:
145
+ - Apply a lot of other customisations, to fit changelog for your personal style :tophat:
146
+ (*look `github_changelog_generator --help` for details)*
147
+
148
+
149
+ ###Alternatives
150
+ Here is a [wikipage list of alternatives](https://github.com/skywinder/Github-Changelog-Generator/wiki/Alternatives), that I found. But none satisfied my requirements.
151
+
152
+ *If you know other projects - feel free to edit this Wiki page!*
153
+
154
+
155
+ ### Projects using this library
156
+ [Wikipage with list of projects](https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator)
157
+
136
158
  If you've used this project in a live app, please let me know! Nothing makes me happier than seeing someone else take my work and go wild with it.
137
-
138
- *If you are using `github_changelog_generator` for generation change log in your project or know another project that uses it, please add it to [this] (https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator) list.*
139
-
140
- ## Am I missing some essential feature?
141
-
142
- - **Nothing is impossible!**
143
-
144
- - Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together!
145
-
146
- - *Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark:
147
-
148
- ## FAQ
149
-
150
- - ***I already use GitHub Releases. Why do I need this?***
151
-
152
- GitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations:
153
-
154
- *BDW: I would like to support GitHub Releases in [next releases](https://github.com/skywinder/github-changelog-generator/issues/56) ;)*
155
-
156
- I'm not try to compare quality of auto-generated and manually generated logs.. but:
157
-
158
- The auto generated Changelog really helps even if you manually fill Releases notes!
159
-
160
- For example:
161
-
162
- When I found a closed bug - it's very useful to understand, in which release it was fixed. In that case you can easily find this issue by \# in `CHANGELOG.md`.
163
-
164
- - it's not so quite easy to find it in manually filled Releases notes.
165
- - this file can also help you to build your Release note and not miss features in manually-filled list.
166
-
167
- In the end:
168
-
169
- I think, that GitHub Releases is more for end-users.
170
- But `CHANGELOG.md` could stay in the repo for developers with detailed list of changes.
171
- And it's nothing bad to combine GitHub Releases and `CHANGELOG.md` file together in that manner.
172
-
173
- - ***I received a warning: GitHub API rate limit exceed, what does this mean?***
174
-
175
- GitHub [limits the number of API requests](https://developer.github.com/v3/#rate-limiting) you can make in an hour. You can make up to 5,000 requests per hour. For unauthenticated requests, the rate limit allows you to make up to 60 requests per hour. Unauthenticated requests are associated with your IP address, and not the user making requests.
176
-
177
- If you're seeing this warning:
178
-
179
- 1. Make sure you're providing an OAuth token so you're not anonymously making requests. This will increase the number of requests from 60 to 5000 per hour.
180
- 2. You probably have a large repo with lots of issues/PRs. You can use the `--max-issues NUM` argument to limit the number of issues that are pulled back. For example: `--max-issues 1000`
181
-
182
- ## Contributing
183
-
184
- 1. Create an issue to discuss about your idea
185
- 2. [Fork it] (https://github.com/skywinder/Github-Changelog-Generator/fork)
186
- 3. Create your feature branch (`git checkout -b my-new-feature`)
187
- 4. Commit your changes (`git commit -am 'Add some feature'`)
188
- 5. Push to the branch (`git push origin my-new-feature`)
189
- 6. Create a new Pull Request
190
- 7. Profit! :white_check_mark:
191
-
192
- ## License
193
-
194
- Github Changelog Generator is released under the [MIT License](http://www.opensource.org/licenses/MIT).
159
+
160
+ *If you are using `github_changelog_generator` for generation change log in your project or know another project that uses it, please add it to [this] (https://github.com/skywinder/Github-Changelog-Generator/wiki/Projects-using-Github-Changelog-Generator) list.*
161
+
162
+ ## Am I missing some essential feature?
163
+
164
+ - **Nothing is impossible!**
165
+
166
+ - Open an [issue](https://github.com/skywinder/Github-Changelog-Generator/issues/new) and let's make generator better together!
167
+
168
+ - *Bug reports, feature requests, patches, well-wishes are always welcome* :heavy_exclamation_mark:
169
+
170
+ ## FAQ
171
+
172
+ - ***I already use GitHub Releases. Why do I need this?***
173
+
174
+ GitHub Releases is a very good thing. And it's very good practice to maintain it (not so much people using it yet)! :congratulations:
175
+
176
+ *BDW: I would like to support GitHub Releases in [next releases](https://github.com/skywinder/github-changelog-generator/issues/56) ;)*
177
+
178
+ I'm not try to compare quality of auto-generated and manually generated logs.. but:
179
+
180
+ The auto generated Changelog really helps even if you manually fill Releases notes!
181
+
182
+ For example:
183
+
184
+ When I found a closed bug - it's very useful to understand, in which release it was fixed. In that case you can easily find this issue by \# in `CHANGELOG.md`.
185
+
186
+ - it's not so quite easy to find it in manually filled Releases notes.
187
+ - this file can also help you to build your Release note and not miss features in manually-filled list.
188
+
189
+ In the end:
190
+
191
+ I think, that GitHub Releases is more for end-users.
192
+ But `CHANGELOG.md` could stay in the repo for developers with detailed list of changes.
193
+ And it's nothing bad to combine GitHub Releases and `CHANGELOG.md` file together in that manner.
194
+
195
+ - ***I received a warning: GitHub API rate limit exceed, what does this mean?***
196
+
197
+ GitHub [limits the number of API requests](https://developer.github.com/v3/#rate-limiting) you can make in an hour. You can make up to 5,000 requests per hour. For unauthenticated requests, the rate limit allows you to make up to 60 requests per hour. Unauthenticated requests are associated with your IP address, and not the user making requests.
198
+
199
+ If you're seeing this warning:
200
+
201
+ 1. Make sure you're providing an OAuth token so you're not anonymously making requests. This will increase the number of requests from 60 to 5000 per hour.
202
+ 2. You probably have a large repo with lots of issues/PRs. You can use the `--max-issues NUM` argument to limit the number of issues that are pulled back. For example: `--max-issues 1000`
203
+
204
+ ## Contributing
205
+
206
+ 1. Create an issue to discuss about your idea
207
+ 2. [Fork it] (https://github.com/skywinder/Github-Changelog-Generator/fork)
208
+ 3. Create your feature branch (`git checkout -b my-new-feature`)
209
+ 4. Commit your changes (`git commit -am 'Add some feature'`)
210
+ 5. Push to the branch (`git push origin my-new-feature`)
211
+ 6. Create a new Pull Request
212
+ 7. Profit! :white_check_mark:
213
+
214
+ ## License
215
+
216
+ Github Changelog Generator is released under the [MIT License](http://www.opensource.org/licenses/MIT).
@@ -16,6 +16,8 @@ module GitHubChangelogGenerator
16
16
  log += generate_log_for_all_tags
17
17
  end
18
18
 
19
+ log += File.read(@options[:base]) if File.file?(@options[:base])
20
+
19
21
  log += "\n\n\\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*"
20
22
  @log = log
21
23
  end
@@ -76,10 +78,15 @@ module GitHubChangelogGenerator
76
78
  time_string = newer_tag_time.strftime @options[:date_format]
77
79
 
78
80
  # Generate tag name and link
81
+ if @options[:release_url]
82
+ release_url = format(@options[:release_url], newer_tag_link)
83
+ else
84
+ release_url = "#{project_url}/tree/#{newer_tag_link}"
85
+ end
79
86
  if newer_tag_name.equal? @options[:unreleased_label]
80
- log += "## [#{newer_tag_name}](#{project_url}/tree/#{newer_tag_link})\n\n"
87
+ log += "## [#{newer_tag_name}](#{release_url})\n\n"
81
88
  else
82
- log += "## [#{newer_tag_name}](#{project_url}/tree/#{newer_tag_link}) (#{time_string})\n"
89
+ log += "## [#{newer_tag_name}](#{release_url}) (#{time_string})\n"
83
90
  end
84
91
 
85
92
  if @options[:compare_link] && older_tag_link
@@ -52,14 +52,68 @@ module GitHubChangelogGenerator
52
52
  [newer_tag_link, newer_tag_name, newer_tag_time]
53
53
  end
54
54
 
55
+ # @return [Object] try to find newest tag using #Reader and :base option if specified otherwise returns nil
56
+ def detect_since_tag
57
+ if @options[:base] && File.file?(@options[:base])
58
+ reader = GitHubChangelogGenerator::Reader.new
59
+ content = reader.read(@options[:base])
60
+ return content[0]["version"] if content
61
+ end
62
+ end
63
+
55
64
  # Return tags after filtering tags in lists provided by option: --between-tags & --exclude-tags
56
65
  #
57
66
  # @return [Array]
58
67
  def get_filtered_tags(all_tags)
59
- filtered_tags = filter_between_tags(all_tags)
68
+ filtered_tags = filter_since_tag(all_tags)
69
+ filtered_tags = filter_between_tags(filtered_tags)
60
70
  filter_excluded_tags(filtered_tags)
61
71
  end
62
72
 
73
+ # @param [Array] all_tags all tags
74
+ # @return [Array] filtered tags according :since_tag option
75
+ def filter_since_tag(all_tags)
76
+ filtered_tags = all_tags
77
+ tag = @options[:since_tag]
78
+ tag ||= detect_since_tag
79
+ if tag
80
+ if all_tags.map(&:name).include? tag
81
+ idx = all_tags.index { |t| t.name == tag }
82
+ if idx > 0
83
+ filtered_tags = all_tags[0..idx - 1]
84
+ else
85
+ filtered_tags = []
86
+ end
87
+ else
88
+ Helper.log.warn "Warning: can't find tag #{tag}, specified with --since-tag option."
89
+ end
90
+ end
91
+ filtered_tags
92
+ end
93
+
94
+ # @param [Array] all_tags all tags
95
+ # @return [Array] filtered tags according :due_tag option
96
+ def filter_due_tag(all_tags)
97
+ filtered_tags = all_tags
98
+ tag = @options[:due_tag]
99
+ if tag
100
+ if (all_tags.count > 0) && (all_tags.map(&:name).include? tag)
101
+ idx = all_tags.index { |t| t.name == tag }
102
+ last_index = all_tags.count - 1
103
+ if idx > 0 && idx < last_index
104
+ filtered_tags = all_tags[idx + 1..last_index]
105
+ else
106
+ filtered_tags = []
107
+ end
108
+ else
109
+ Helper.log.warn "Warning: can't find tag #{tag}, specified with --due-tag option."
110
+ end
111
+ end
112
+ filtered_tags
113
+ end
114
+
115
+ # @param [Array] all_tags all tags
116
+ # @return [Array] filtered tags according :between_tags option
63
117
  def filter_between_tags(all_tags)
64
118
  filtered_tags = all_tags
65
119
  if @options[:between_tags]
@@ -73,6 +127,8 @@ module GitHubChangelogGenerator
73
127
  filtered_tags
74
128
  end
75
129
 
130
+ # @param [Array] all_tags all tags
131
+ # @return [Array] filtered tags according :exclude_tags option
76
132
  def filter_excluded_tags(all_tags)
77
133
  filtered_tags = all_tags
78
134
  if @options[:exclude_tags]
@@ -14,7 +14,7 @@ module GitHubChangelogGenerator
14
14
  parser.parse!
15
15
 
16
16
  if options[:user].nil? || options[:project].nil?
17
- detect_user_and_project(options)
17
+ detect_user_and_project(options, ARGV[0], ARGV[1])
18
18
  end
19
19
 
20
20
  if !options[:user] || !options[:project]
@@ -50,6 +50,9 @@ module GitHubChangelogGenerator
50
50
  opts.on("-o", "--output [NAME]", "Output file. Default is CHANGELOG.md") do |last|
51
51
  options[:output] = last
52
52
  end
53
+ opts.on("-b", "--base [NAME]", "Optional base file to append generated changes to.") do |last|
54
+ options[:base] = last
55
+ end
53
56
  opts.on("--bugs-label [LABEL]", "Setup custom label for bug-fixes section. Default is \"**Fixed bugs:**""") do |v|
54
57
  options[:bug_prefix] = v
55
58
  end
@@ -110,12 +113,21 @@ module GitHubChangelogGenerator
110
113
  opts.on("--between-tags x,y,z", Array, "Change log will be filled only between specified tags") do |list|
111
114
  options[:between_tags] = list
112
115
  end
113
- opts.on("--exclude-tags x,y,z", Array, "Change log will be exclude specified tags") do |list|
116
+ opts.on("--exclude-tags x,y,z", Array, "Change log will exclude specified tags") do |list|
114
117
  options[:exclude_tags] = list
115
118
  end
119
+ opts.on("--since-tag x", "Change log will start after specified tag") do |v|
120
+ options[:since_tag] = v
121
+ end
122
+ opts.on("--due-tag x", "Change log will end before specified tag") do |v|
123
+ options[:due_tag] = v
124
+ end
116
125
  opts.on("--max-issues [NUMBER]", Integer, "Max number of issues to fetch from GitHub. Default is unlimited") do |max|
117
126
  options[:max_issues] = max
118
127
  end
128
+ opts.on("--release-url [URL]", "The URL to point to for release links, in printf format (with the tag as variable).") do |url|
129
+ options[:release_url] = url
130
+ end
119
131
  opts.on("--github-site [URL]", "The Enterprise Github site on which your project is hosted.") do |last|
120
132
  options[:github_site] = last
121
133
  end
@@ -150,6 +162,7 @@ module GitHubChangelogGenerator
150
162
  tag2: nil,
151
163
  date_format: "%Y-%m-%d",
152
164
  output: "CHANGELOG.md",
165
+ base: "HISTORY.md",
153
166
  issues: true,
154
167
  add_issues_wo_labels: true,
155
168
  add_pr_wo_labels: true,
@@ -177,8 +190,8 @@ module GitHubChangelogGenerator
177
190
  end
178
191
 
179
192
  # Detects user and project from git
180
- def self.detect_user_and_project(options)
181
- options[:user], options[:project] = user_project_from_option(ARGV[0], ARGV[1], options[:github_site])
193
+ def self.detect_user_and_project(options, arg0 = nil, arg1 = nil)
194
+ options[:user], options[:project] = user_project_from_option(arg0, arg1, options[:github_site])
182
195
  if !options[:user] || !options[:project]
183
196
  if ENV["RUBYLIB"] =~ /ruby-debug-ide/
184
197
  options[:user] = "skywinder"
@@ -0,0 +1,68 @@
1
+ require "rake"
2
+ require "rake/tasklib"
3
+ require "github_changelog_generator"
4
+
5
+ module GitHubChangelogGenerator
6
+ class RakeTask < ::Rake::TaskLib
7
+ include ::Rake::DSL if defined?(::Rake::DSL)
8
+
9
+ OPTIONS = %w( user project token date_format output
10
+ bug_prefix enhancement_prefix issue_prefix
11
+ header merge_prefix issues
12
+ add_issues_wo_labels add_pr_wo_labels
13
+ pulls filter_issues_by_milestone author
14
+ unreleased_only unreleased unreleased_label
15
+ compare_link include_labels exclude_labels
16
+ bug_labels enhancement_labels
17
+ between_tags exclude_tags since_tag max_issues
18
+ github_site github_endpoint simple_list
19
+ future_release verbose release_url )
20
+
21
+ OPTIONS.each do |o|
22
+ attr_accessor o.to_sym
23
+ end
24
+
25
+ # Public: Initialise a new GitHubChangelogGenerator::RakeTask.
26
+ #
27
+ # Example
28
+ #
29
+ # GitHubChangelogGenerator::RakeTask.new
30
+ def initialize(*args, &task_block)
31
+ @name = args.shift || :changelog
32
+
33
+ define(args, &task_block)
34
+ end
35
+
36
+ def define(args, &task_block)
37
+ desc "Generate a Change log from GitHub"
38
+
39
+ task_block.call(*[self, args].slice(0, task_block.arity)) if task_block
40
+
41
+ # clear any (auto-)pre-existing task
42
+ Rake::Task[@name].clear if Rake::Task.task_defined?(@name)
43
+
44
+ task @name do
45
+ # mimick parse_options
46
+ options = Parser.get_default_options
47
+
48
+ if options[:user].nil? || options[:project].nil?
49
+ Parser.detect_user_and_project(options)
50
+ end
51
+
52
+ OPTIONS.each do |o|
53
+ v = instance_variable_get("@#{o}")
54
+ options[o.to_sym] = v if v
55
+ end
56
+
57
+ generator = Generator.new options
58
+
59
+ log = generator.compound_changelog
60
+
61
+ output_filename = "#{options[:output]}"
62
+ File.open(output_filename, "w") { |file| file.write(log) }
63
+ puts "Done!"
64
+ puts "Generated log placed in #{Dir.pwd}/#{output_filename}"
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,3 +1,3 @@
1
1
  module GitHubChangelogGenerator
2
- VERSION = "1.7.0"
2
+ VERSION = "1.8.0"
3
3
  end
@@ -89,6 +89,74 @@ describe GitHubChangelogGenerator::Generator do
89
89
  end
90
90
  end
91
91
 
92
+ describe "#filter_since_tag" do
93
+ context "with filled array" do
94
+ subject { generator.filter_since_tag(tags_mash_from_strings(%w(1 2 3))) }
95
+
96
+ context "with valid since tag" do
97
+ let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "2") }
98
+ it { is_expected.to be_a Array }
99
+ it { is_expected.to match_array(tags_mash_from_strings(%w(1))) }
100
+ end
101
+
102
+ context "with invalid since tag" do
103
+ let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "Invalid tag") }
104
+ it { is_expected.to be_a Array }
105
+ it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
106
+ end
107
+ end
108
+
109
+ context "with empty array" do
110
+ subject { generator.filter_since_tag(tags_mash_from_strings(%w())) }
111
+
112
+ context "with valid since tag" do
113
+ let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "2") }
114
+ it { is_expected.to be_a Array }
115
+ it { is_expected.to match_array(tags_mash_from_strings(%w())) }
116
+ end
117
+
118
+ context "with invalid since tag" do
119
+ let(:generator) { GitHubChangelogGenerator::Generator.new(since_tag: "Invalid tag") }
120
+ it { is_expected.to be_a Array }
121
+ it { is_expected.to match_array(tags_mash_from_strings(%w())) }
122
+ end
123
+ end
124
+ end
125
+
126
+ describe "#filter_due_tag" do
127
+ context "with filled array" do
128
+ subject { generator.filter_due_tag(tags_mash_from_strings(%w(1 2 3))) }
129
+
130
+ context "with valid due tag" do
131
+ let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "2") }
132
+ it { is_expected.to be_a Array }
133
+ it { is_expected.to match_array(tags_mash_from_strings(%w(3))) }
134
+ end
135
+
136
+ context "with invalid due tag" do
137
+ let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "Invalid tag") }
138
+ it { is_expected.to be_a Array }
139
+ it { is_expected.to match_array(tags_mash_from_strings(%w(1 2 3))) }
140
+ end
141
+ end
142
+
143
+ context "with empty array" do
144
+ subject { generator.filter_due_tag(tags_mash_from_strings(%w())) }
145
+
146
+ context "with valid due tag" do
147
+ let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "2") }
148
+ it { is_expected.to be_a Array }
149
+ it { is_expected.to match_array(tags_mash_from_strings(%w())) }
150
+ end
151
+
152
+ context "with invalid due tag" do
153
+ let(:generator) { GitHubChangelogGenerator::Generator.new(due_tag: "Invalid tag") }
154
+ it { is_expected.to be_a Array }
155
+ it { is_expected.to match_array(tags_mash_from_strings(%w())) }
156
+ end
157
+ end
158
+ end
159
+
92
160
  describe "#get_time_of_tag" do
93
161
  current_time = Time.now
94
162
  before(:all) { @generator = GitHubChangelogGenerator::Generator.new }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_changelog_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Korolev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-16 00:00:00.000000000 Z
11
+ date: 2015-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: github_api
@@ -102,6 +102,7 @@ files:
102
102
  - lib/github_changelog_generator/helper.rb
103
103
  - lib/github_changelog_generator/parser.rb
104
104
  - lib/github_changelog_generator/reader.rb
105
+ - lib/github_changelog_generator/task.rb
105
106
  - lib/github_changelog_generator/version.rb
106
107
  - spec/files/angular.js.md
107
108
  - spec/files/bundler.md