inq 26.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/.cirrus.yml +84 -0
  3. data/.codeclimate.yml +23 -0
  4. data/.github_changelog_generator +2 -0
  5. data/.gitignore +15 -0
  6. data/.rspec +2 -0
  7. data/.rubocop.yml +260 -0
  8. data/.travis.yml +24 -0
  9. data/CHANGELOG.md +499 -0
  10. data/CODE_OF_CONDUCT.md +49 -0
  11. data/CONTRIBUTING.md +34 -0
  12. data/Gemfile +15 -0
  13. data/ISSUES.md +62 -0
  14. data/LICENSE.txt +21 -0
  15. data/README.md +91 -0
  16. data/Rakefile +76 -0
  17. data/bin/console +14 -0
  18. data/bin/prerelease-generate-changelog +28 -0
  19. data/bin/setup +8 -0
  20. data/bors.toml +17 -0
  21. data/build-debug.rb +20 -0
  22. data/exe/inq +7 -0
  23. data/fixtures/vcr_cassettes/how-is-example-empty-repository.yml +597 -0
  24. data/fixtures/vcr_cassettes/how-is-example-repository.yml +768 -0
  25. data/fixtures/vcr_cassettes/how-is-from-config-frontmatter.yml +23940 -0
  26. data/fixtures/vcr_cassettes/how-is-how-is-travis-api-repos-builds.yml +66 -0
  27. data/fixtures/vcr_cassettes/how-is-with-config-file.yml +23940 -0
  28. data/fixtures/vcr_cassettes/how_is_contributions_additions_count.yml +247 -0
  29. data/fixtures/vcr_cassettes/how_is_contributions_all_contributors.yml +247 -0
  30. data/fixtures/vcr_cassettes/how_is_contributions_changed_files.yml +247 -0
  31. data/fixtures/vcr_cassettes/how_is_contributions_changes.yml +247 -0
  32. data/fixtures/vcr_cassettes/how_is_contributions_commits.yml +247 -0
  33. data/fixtures/vcr_cassettes/how_is_contributions_compare_url.yml +81 -0
  34. data/fixtures/vcr_cassettes/how_is_contributions_default_branch.yml +81 -0
  35. data/fixtures/vcr_cassettes/how_is_contributions_deletions_count.yml +247 -0
  36. data/fixtures/vcr_cassettes/how_is_contributions_new_contributors.yml +402 -0
  37. data/fixtures/vcr_cassettes/how_is_contributions_summary.yml +325 -0
  38. data/fixtures/vcr_cassettes/how_is_contributions_summary_2.yml +325 -0
  39. data/inq.gemspec +45 -0
  40. data/lib/inq.rb +63 -0
  41. data/lib/inq/cacheable.rb +71 -0
  42. data/lib/inq/cli.rb +135 -0
  43. data/lib/inq/config.rb +123 -0
  44. data/lib/inq/constants.rb +9 -0
  45. data/lib/inq/date_time_helpers.rb +48 -0
  46. data/lib/inq/exe.rb +66 -0
  47. data/lib/inq/frontmatter.rb +51 -0
  48. data/lib/inq/report.rb +140 -0
  49. data/lib/inq/report_collection.rb +113 -0
  50. data/lib/inq/sources.rb +11 -0
  51. data/lib/inq/sources/ci/appveyor.rb +87 -0
  52. data/lib/inq/sources/ci/travis.rb +159 -0
  53. data/lib/inq/sources/github.rb +57 -0
  54. data/lib/inq/sources/github/contributions.rb +204 -0
  55. data/lib/inq/sources/github/issue_fetcher.rb +148 -0
  56. data/lib/inq/sources/github/issues.rb +126 -0
  57. data/lib/inq/sources/github/pulls.rb +29 -0
  58. data/lib/inq/sources/github_helpers.rb +106 -0
  59. data/lib/inq/template.rb +9 -0
  60. data/lib/inq/templates/contributions_partial.html +1 -0
  61. data/lib/inq/templates/issues_or_pulls_partial.html +7 -0
  62. data/lib/inq/templates/new_contributors_partial.html +5 -0
  63. data/lib/inq/templates/report.html +19 -0
  64. data/lib/inq/templates/report_partial.html +12 -0
  65. data/lib/inq/text.rb +26 -0
  66. data/lib/inq/version.rb +6 -0
  67. metadata +263 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a2099c1ae1f39dfc5102c2cd4fe8139c6e1bfd2a08aceef832d1dac6760d8ad8
4
+ data.tar.gz: e2e37d3b222f1cb636e6bdaf26b45608686e974652ad697b32c2b3228614321b
5
+ SHA512:
6
+ metadata.gz: 34d94c4d21b97a5ab9a6824045160014346c4afc00329deec3c868ae6fb5d3868a5fdf295433ccde77d941e5f5443990995669dde16fffcfe9564d1520e3540f
7
+ data.tar.gz: a6f1cf81e74497fcc981990d7d46ed1b985ec15403ebca7d5eed49a7ce813e89caa96bb0e585cd28002d6c821d0e05eecb64a8a1da92eabaad824e57a348b9c9
@@ -0,0 +1,84 @@
1
+ # Allow compute credits usage.
2
+ use_compute_credits: $CIRRUS_USER_COLLABORATOR == 'true'
3
+
4
+ # Use an expired token that was used when fixtures were generated.
5
+ env:
6
+ INQ_GITHUB_USERNAME: "duckinator"
7
+ INQ_GITHUB_TOKEN: "9182777ff3c006795193a570cdac326b64459dc9"
8
+ INQ_USE_ENV: "true"
9
+
10
+ Lint_task:
11
+ container:
12
+ image: ruby:2.6-alpine
13
+ install_script:
14
+ - apk add --no-cache git build-base
15
+ - gem install bundler
16
+ - bundle install
17
+ script:
18
+ - ruby --version
19
+ - bundle exec rubocop
20
+
21
+ Linux_task:
22
+ container:
23
+ matrix:
24
+ - image: ruby:2.4-alpine
25
+ - image: ruby:2.5-alpine
26
+ - image: ruby:2.6-alpine
27
+ install_script:
28
+ - apk add --no-cache git build-base
29
+ - gem install bundler
30
+ - bundle install
31
+ script:
32
+ - ruby --version
33
+ - bundle exec rake spec
34
+
35
+ macOS_task:
36
+ osx_instance:
37
+ image: mojave-base
38
+ env:
39
+ matrix:
40
+ - RUBY_VERSION: 2.5
41
+ - RUBY_VERSION: 2.6
42
+ PATH: "/usr/local/opt/ruby@${RUBY_VERSION}/bin:$HOME/.gem/ruby/${RUBY_VERSION}.0/bin:$PATH"
43
+ install_script:
44
+ # Based on pyenv homebrew recommendations.
45
+ # https://github.com/pyenv/pyenv/wiki#suggested-build-environment
46
+ - sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
47
+ - "brew install ruby@${RUBY_VERSION}"
48
+ - gem install bundler --user-install
49
+ - bundle install
50
+ script:
51
+ - ruby --version
52
+ - bundle exec rake spec
53
+
54
+ # NOTE: The `ruby` package on FreeBSD is currently Ruby 2.4.
55
+ FreeBSD_task:
56
+ freebsd_instance:
57
+ image: freebsd-12-0-release-amd64
58
+ env:
59
+ RUBY_VERSION: 2.4
60
+ install_script:
61
+ - RB=`echo $RUBY_VERSION | tr -d '.'`
62
+ - pkg install -y ruby ruby${RB}-gems rubygem-rake git
63
+ - gem install bundler
64
+ - bundle install
65
+ script:
66
+ - ruby --version
67
+ - bundle exec rake spec
68
+
69
+ Windows_task:
70
+ env:
71
+ matrix:
72
+ - RUBY_VERSION: 2.5.3.101
73
+ - RUBY_VERSION: 2.6.3.1
74
+ windows_container:
75
+ os_version: 2019
76
+ image: cirrusci/windowsservercore:2019
77
+ install_script:
78
+ - choco install -y ruby --version %RUBY_VERSION%
79
+ - refreshenv
80
+ - gem install bundler
81
+ - bundle install
82
+ script:
83
+ - refreshenv
84
+ - bundle exec rake spec
@@ -0,0 +1,23 @@
1
+ ---
2
+ engines:
3
+ bundler-audit:
4
+ enabled: false
5
+ duplication:
6
+ enabled: true
7
+ config:
8
+ languages:
9
+ - ruby
10
+ fixme:
11
+ enabled: true
12
+ rubocop:
13
+ enabled: true
14
+ channel: rubocop-0-49
15
+ ratings:
16
+ paths:
17
+ - Gemfile.lock
18
+ - "**.rb"
19
+ exclude_paths:
20
+ - fixtures/vcr_cassettes/
21
+ - spec/
22
+ - ".bundle/"
23
+ - vendor/
@@ -0,0 +1,2 @@
1
+ user=duckinator
2
+ project=inq
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ report.json
11
+ report.html
12
+ !lib/inq/templates/report.html
13
+ *.dat
14
+ *.png
15
+ Thumbs.db
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --require spec_helper
@@ -0,0 +1,260 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ DisplayStyleGuide: true
4
+ TargetRubyVersion: 2.4
5
+ Exclude:
6
+ - 'inq.gemspec'
7
+ - 'bin/*'
8
+ - '**/*~'
9
+ - 'spec/capture_warnings.rb'
10
+ - 'spec/**/*.rb' # FIXME: Don't exclude this!
11
+ - 'lib/inq/report_collection.rb' # FIXME: Don't exclude this!
12
+ - 'lib/inq/text.rb' # FIXME: Don't exclude this!
13
+
14
+
15
+ # ===== BEGIN TEMPORARY DISABLED THINGS ===
16
+ # TODO: Go through these in detail and enable/configure any we want.
17
+
18
+ Style/RescueStandardError: # FIXME: Don't disable this.
19
+ Enabled: false
20
+
21
+ Style/SafeNavigation:
22
+ Enabled: false
23
+
24
+ Naming/MemoizedInstanceVariableName: # FIXME: Don't disable this.
25
+ Enabled: false
26
+
27
+ Style/AccessModifierDeclarations: # ??? wtf?
28
+ Enabled: false
29
+
30
+ Layout/AlignArguments: # I Really thought this was already enabled.
31
+ Enabled: false
32
+
33
+ Style/MutableConstant: # FIXME: Don't disable this.
34
+ Enabled: false
35
+
36
+ Naming/HeredocDelimiterNaming: # FIXME: Don't disable this.
37
+ Enabled: false
38
+
39
+ Style/EmptyLambdaParameter: # FIXME: Don't disable this.
40
+ Enabled: false
41
+
42
+ Naming/UncommunicativeMethodParamName: # FIXME: Probably don't disable this.
43
+ Enabled: false
44
+
45
+ # ===== END TEMPORARY DISABLED THINGS ===
46
+
47
+
48
+
49
+ # Exceptions should inherit from StandardError.
50
+ # (RuboCop default is to inherit from RuntimeError.)
51
+ Lint/InheritException:
52
+ EnforcedStyle: standard_error
53
+
54
+ Metrics/AbcSize:
55
+ Max: 17
56
+
57
+ Metrics/BlockLength:
58
+ Exclude:
59
+ - 'spec/**/*_spec.rb'
60
+
61
+
62
+ # Getting this back to the default of 100 would be nice,
63
+ # but the few cases that exceed it don't seem overly concerning.
64
+ Metrics/ClassLength:
65
+ Max: 130
66
+
67
+ # Still try for 80, but we'll allow 110 because there's a not-insignificant
68
+ # number of cases where we have long lines.
69
+ #
70
+ # It may be worth revisiting this in the future and refactoring those lines.
71
+ Metrics/LineLength:
72
+ Max: 120
73
+ AllowHeredoc: true
74
+
75
+ # Too short methods lead to extraction of single-use methods, which can make
76
+ # the code easier to read (by naming things), but can also clutter the class
77
+ Metrics/MethodLength:
78
+ Max: 25
79
+
80
+ Style/Alias:
81
+ EnforcedStyle: prefer_alias_method
82
+
83
+ # Most readable form.
84
+ Layout/AlignHash:
85
+ EnforcedHashRocketStyle: table
86
+ EnforcedColonStyle: table
87
+ # Disable because it wound up conflicting with a lot of things like:
88
+ # foo('bar',
89
+ # baz: 'asdf',
90
+ # beep: 'boop')
91
+ #
92
+ # I suspect these'll disappear when overarching architectural issues are
93
+ # addressed.
94
+ Enabled: false
95
+
96
+ Layout/AlignParameters:
97
+ # See Style/AlignedHash.
98
+ Enabled: false
99
+
100
+ # This codebase may be English, but some English words contain diacritics.
101
+ Style/AsciiComments:
102
+ Enabled: false
103
+
104
+ # Despite the fact that some English words contain diacritics, we want all
105
+ # method names to be writable by people who don't have an easy way to type
106
+ # words with diacritics.
107
+ Naming/AsciiIdentifiers:
108
+ Enabled: true
109
+
110
+ # { ... } for multi-line blocks is okay, follow Weirichs rule instead:
111
+ # https://web.archive.org/web/20140221124509/http://onestepback.org/index.cgi/Tech/Ruby/BraceVsDoEnd.rdoc
112
+ Style/BlockDelimiters:
113
+ Enabled: false
114
+
115
+ # There's more nuance around this than RuboCop seems capable of.
116
+ Style/BracesAroundHashParameters:
117
+ Enabled: false
118
+
119
+ Style/ConditionalAssignment:
120
+ Enabled: false
121
+
122
+ # Don't force use of Time or Date; DateTime is okay.
123
+ Style/DateTime:
124
+ Enabled: false
125
+
126
+ # Unicode is good, mkay?
127
+ Style/Encoding:
128
+ Enabled: true
129
+
130
+ # Force Unix line endings.
131
+ Layout/EndOfLine:
132
+ Enabled: true
133
+ EnforcedStyle: lf
134
+
135
+ Layout/EmptyLineAfterGuardClause:
136
+ Enabled: false
137
+
138
+ # A lot of the approaches I use for making things readable makes this angry.
139
+ # E.g., formatting multiple consecutive assignments so that the equal signs
140
+ # and values line up.
141
+ #
142
+ # foobar = 'blah'
143
+ # baz = 'asdf'
144
+ # beep = 'boop'
145
+ Layout/ExtraSpacing:
146
+ Enabled: false
147
+
148
+ # # bad
149
+ #
150
+ # format('%<greeting>s', greeting: 'Hello')
151
+ # format('%s', 'Hello')
152
+ #
153
+ # # good
154
+ #
155
+ # format('%{greeting}', greeting: 'Hello')
156
+ Style/FormatStringToken:
157
+ EnforcedStyle: template
158
+
159
+ # Freeze string literals to future-proof the code.
160
+ Style/FrozenStringLiteralComment:
161
+ Enabled: true
162
+ EnforcedStyle: always
163
+
164
+ # Mixing hash styles just looks silly.
165
+ # http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/HashSyntax
166
+ Style/HashSyntax:
167
+ EnforcedStyle: no_mixed_keys
168
+
169
+ Layout/IndentFirstHashElement:
170
+ Enabled: true
171
+ EnforcedStyle: consistent
172
+
173
+ Layout/IndentFirstArrayElement:
174
+ Enabled: true
175
+ EnforcedStyle: consistent
176
+
177
+ # I deplore assignments in conditions and never want them in any codebase
178
+ # I have direct control over.
179
+ Style/ParenthesesAroundCondition:
180
+ AllowSafeAssignment: false
181
+ Lint/AssignmentInCondition:
182
+ AllowSafeAssignment: false
183
+
184
+ # Use [] for `%`-literal delimiters (e.g. for %q[]) that RuboCop doesn't define
185
+ # anything for. (E.g., %q[].)
186
+ #
187
+ # The reason I prefer [] instead of () is that most of the time I use
188
+ # `%`-literals is inside of function calls, and using () makes it blend in too
189
+ # much.
190
+ Style/PercentLiteralDelimiters:
191
+ Enabled: true
192
+ PreferredDelimiters:
193
+ default: "[]"
194
+ '%w': '[]'
195
+ '%W': '[]'
196
+
197
+ # `has_key?` and `has_value?` are clearer than `key?` and `value?`.
198
+ Style/PreferredHashMethods:
199
+ Enabled: true
200
+ EnforcedStyle: verbose
201
+
202
+ # do / end blocks should be used for side effects,
203
+ # methods that run a block for side effects and have
204
+ # a useful return value are rare, assign the return
205
+ # value to a local variable for those cases.
206
+ Style/MethodCalledOnDoEndBlock:
207
+ Enabled: true
208
+
209
+ # Indent method calls relative to the receiver, e.g.:
210
+ # foo \
211
+ # .bar \
212
+ # .baz \
213
+ # .asdf
214
+ Layout/MultilineMethodCallIndentation:
215
+ EnforcedStyle: indented_relative_to_receiver
216
+
217
+ # Indenting the chained dots beneath each other is not supported by this cop,
218
+ # see https://github.com/bbatsov/rubocop/issues/1633
219
+ Layout/MultilineOperationIndentation:
220
+ Enabled: false
221
+
222
+ # {'foo' => 'bar'} not { 'foo' => 'bar' }
223
+ Layout/SpaceInsideHashLiteralBraces:
224
+ Enabled: true
225
+ EnforcedStyle: no_space
226
+
227
+ # I find "foo > 0" more readable than "foo.positive?" personally.
228
+ Style/NumericPredicate:
229
+ Enabled: false
230
+
231
+ # https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/RegexpLiteral
232
+ Style/RegexpLiteral:
233
+ Enabled: false
234
+
235
+ # Use double quotes everywhere by default.
236
+ Style/StringLiterals:
237
+ EnforcedStyle: double_quotes
238
+
239
+ # Prefer [:foo, :bar] over %i[foo bar].
240
+ Style/SymbolArray:
241
+ Enabled: true
242
+ EnforcedStyle: brackets
243
+
244
+ # Prefer ["foo", "bar"] over %w[foo bar].
245
+ Style/WordArray:
246
+ Enabled: true
247
+ EnforcedStyle: brackets
248
+
249
+ # Require parentheses around complex ternary conditions.
250
+ Style/TernaryParentheses:
251
+ Enabled: true
252
+ EnforcedStyle: require_parentheses_when_complex
253
+
254
+ # Require a comma after the last item in an array or hash if each item is on
255
+ # its own line.
256
+ Style/TrailingCommaInArrayLiteral:
257
+ EnforcedStyleForMultiline: comma
258
+
259
+ Style/TrailingCommaInHashLiteral:
260
+ EnforcedStyleForMultiline: comma
@@ -0,0 +1,24 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.4
4
+ - 2.5
5
+ - 2.6
6
+ - ruby-head
7
+
8
+ matrix:
9
+ allow_failures:
10
+ - rvm:
11
+ - ruby-head
12
+
13
+ before_install:
14
+ - gem install bundler
15
+
16
+ # See https://bors.tech/documentation/getting-started/
17
+ branches:
18
+ only:
19
+ # This is where pull requests from "bors r+" are built.
20
+ - staging
21
+ # This is where pull requests from "bors try" are built.
22
+ - trying
23
+ # Build pull requests.
24
+ - master
@@ -0,0 +1,499 @@
1
+ # Change Log
2
+
3
+ ## [v26.0.0](https://github.com/duckinator/inq/tree/v26.0.0) (2019-05-03)
4
+ [Full Changelog](https://github.com/duckinator/inq/compare/v25.0.0...v26.0.0)
5
+
6
+ **Closed issues:**
7
+
8
+ - Define/add APIs used by HowIs-compat gem [\#275](https://github.com/duckinator/inq/issues/275)
9
+ - Rename to inq [\#258](https://github.com/duckinator/inq/issues/258)
10
+
11
+ **Merged pull requests:**
12
+
13
+ - Implement APIs for HowIs compatibility gem. [\#276](https://github.com/duckinator/inq/pull/276) ([duckinator](https://github.com/duckinator))
14
+ - Attempt to add Cirrus CI support. [\#273](https://github.com/duckinator/inq/pull/273) ([duckinator](https://github.com/duckinator))
15
+ - Rename HowIs to Inq. [\#271](https://github.com/duckinator/inq/pull/271) ([duckinator](https://github.com/duckinator))
16
+
17
+ ## [v25.0.0](https://github.com/duckinator/inq/tree/v25.0.0) (2019-04-26)
18
+ [Full Changelog](https://github.com/duckinator/inq/compare/v24.0.0...v25.0.0)
19
+
20
+ **Closed issues:**
21
+
22
+ - Image example of report.html [\#260](https://github.com/duckinator/inq/issues/260)
23
+ - Alternative to "Issues Per Label" section [\#245](https://github.com/duckinator/inq/issues/245)
24
+ - Travis CI: Configure HOWIS\_BASIC\_AUTH et al [\#240](https://github.com/duckinator/inq/issues/240)
25
+ - "Issues per label" missing issues. [\#230](https://github.com/duckinator/inq/issues/230)
26
+ - resolve codeclimate issues [\#227](https://github.com/duckinator/inq/issues/227)
27
+ - no implicit conversion of nil into String \(TypeError\) [\#222](https://github.com/duckinator/inq/issues/222)
28
+ - Document PR process [\#198](https://github.com/duckinator/inq/issues/198)
29
+ - Better visualization of 'Issues Per Label' section [\#152](https://github.com/duckinator/inq/issues/152)
30
+ - Exporting to HTML file returns HTML partial [\#151](https://github.com/duckinator/inq/issues/151)
31
+ - Track data over time [\#111](https://github.com/duckinator/inq/issues/111)
32
+ - group Issues Per Label by category type [\#71](https://github.com/duckinator/inq/issues/71)
33
+ - Use authentication [\#6](https://github.com/duckinator/inq/issues/6)
34
+ - Add ReportCollection\#save\_all [\#257](https://github.com/duckinator/inq/issues/257)
35
+ - Support project configs with multiple repositories. [\#256](https://github.com/duckinator/inq/issues/256)
36
+ - Show progress while generating reports [\#255](https://github.com/duckinator/inq/issues/255)
37
+ - Use config file instead of env vars [\#253](https://github.com/duckinator/inq/issues/253)
38
+ - Include new contributors in reports [\#248](https://github.com/duckinator/inq/issues/248)
39
+ - Remove "Issues per Label" section. [\#244](https://github.com/duckinator/inq/issues/244)
40
+ - Refactor how\_is/cli.rb [\#243](https://github.com/duckinator/inq/issues/243)
41
+ - Refactor Sources::Github.basic\_auth [\#241](https://github.com/duckinator/inq/issues/241)
42
+
43
+ **Merged pull requests:**
44
+
45
+ - Update changelog [\#270](https://github.com/duckinator/inq/pull/270) ([duckinator](https://github.com/duckinator))
46
+ - Version bump to v25.0.0. [\#269](https://github.com/duckinator/inq/pull/269) ([duckinator](https://github.com/duckinator))
47
+ - Multi repo configs [\#268](https://github.com/duckinator/inq/pull/268) ([duckinator](https://github.com/duckinator))
48
+ - Remove dead code. [\#266](https://github.com/duckinator/inq/pull/266) ([duckinator](https://github.com/duckinator))
49
+ - yay documentation! [\#265](https://github.com/duckinator/inq/pull/265) ([duckinator](https://github.com/duckinator))
50
+ - Add caching mechanism to speed up duplicate runs [\#263](https://github.com/duckinator/inq/pull/263) ([jules2689](https://github.com/jules2689))
51
+ - README: Add screenshot [\#261](https://github.com/duckinator/inq/pull/261) ([olleolleolle](https://github.com/olleolleolle))
52
+ - Clean up reports [\#259](https://github.com/duckinator/inq/pull/259) ([duckinator](https://github.com/duckinator))
53
+ - Refactor; support config files. [\#254](https://github.com/duckinator/inq/pull/254) ([duckinator](https://github.com/duckinator))
54
+ - HowIs::CLI refactor [\#252](https://github.com/duckinator/inq/pull/252) ([duckinator](https://github.com/duckinator))
55
+ - update build-debug.rb script [\#251](https://github.com/duckinator/inq/pull/251) ([duckinator](https://github.com/duckinator))
56
+ - update supported Ruby versions [\#250](https://github.com/duckinator/inq/pull/250) ([duckinator](https://github.com/duckinator))
57
+ - Misc cleanup [\#249](https://github.com/duckinator/inq/pull/249) ([duckinator](https://github.com/duckinator))
58
+ - Refactor GitHub authentication [\#247](https://github.com/duckinator/inq/pull/247) ([duckinator](https://github.com/duckinator))
59
+ - Document PR and issue management processes. [\#246](https://github.com/duckinator/inq/pull/246) ([duckinator](https://github.com/duckinator))
60
+ - Skip tests that require an access token if running as a PR build. [\#242](https://github.com/duckinator/inq/pull/242) ([duckinator](https://github.com/duckinator))
61
+ - README: fix typo [\#239](https://github.com/duckinator/inq/pull/239) ([olleolleolle](https://github.com/olleolleolle))
62
+ - Enable the executable flag \(chmod +x\) for bin/setup [\#238](https://github.com/duckinator/inq/pull/238) ([olleolleolle](https://github.com/olleolleolle))
63
+ - Only throw errors for undefined env vars if they're used. [\#237](https://github.com/duckinator/inq/pull/237) ([duckinator](https://github.com/duckinator))
64
+ - README: Drop Gemnasium badge [\#236](https://github.com/duckinator/inq/pull/236) ([olleolleolle](https://github.com/olleolleolle))
65
+ - Rubocop-related cleanup [\#235](https://github.com/duckinator/inq/pull/235) ([duckinator](https://github.com/duckinator))
66
+ - Refactor cli [\#234](https://github.com/duckinator/inq/pull/234) ([duckinator](https://github.com/duckinator))
67
+ - Refactor 2 [\#233](https://github.com/duckinator/inq/pull/233) ([duckinator](https://github.com/duckinator))
68
+ - Fix Rubocop warnings. [\#232](https://github.com/duckinator/inq/pull/232) ([duckinator](https://github.com/duckinator))
69
+ - Refactor [\#231](https://github.com/duckinator/inq/pull/231) ([duckinator](https://github.com/duckinator))
70
+ - Miscellaneous cleanup. [\#229](https://github.com/duckinator/inq/pull/229) ([duckinator](https://github.com/duckinator))
71
+ - CLI Refactor [\#228](https://github.com/duckinator/inq/pull/228) ([duckinator](https://github.com/duckinator))
72
+ - \[WIP\] Collect CI information. [\#226](https://github.com/duckinator/inq/pull/226) ([duckinator](https://github.com/duckinator))
73
+
74
+ ## [v24.0.0](https://github.com/duckinator/inq/tree/v24.0.0) (2018-03-17)
75
+ [Full Changelog](https://github.com/duckinator/inq/compare/v23.0.0...v24.0.0)
76
+
77
+ **Merged pull requests:**
78
+
79
+ - bump version to v24.0.0; add json dependency; add future\_changelog Rake task [\#225](https://github.com/duckinator/inq/pull/225) ([duckinator](https://github.com/duckinator))
80
+ - Improve error output; update README. [\#224](https://github.com/duckinator/inq/pull/224) ([duckinator](https://github.com/duckinator))
81
+ - update .travis.yml. [\#223](https://github.com/duckinator/inq/pull/223) ([duckinator](https://github.com/duckinator))
82
+
83
+ ## [v23.0.0](https://github.com/duckinator/inq/tree/v23.0.0) (2018-01-19)
84
+ [Full Changelog](https://github.com/duckinator/inq/compare/v22.0.0...v23.0.0)
85
+
86
+ **Merged pull requests:**
87
+
88
+ - Make config-based reports work again. [\#221](https://github.com/duckinator/inq/pull/221) ([duckinator](https://github.com/duckinator))
89
+
90
+ ## [v22.0.0](https://github.com/duckinator/inq/tree/v22.0.0) (2018-01-19)
91
+ [Full Changelog](https://github.com/duckinator/inq/compare/v21.0.0...v22.0.0)
92
+
93
+ **Merged pull requests:**
94
+
95
+ - Make CLI parser store the date when passed --config. [\#220](https://github.com/duckinator/inq/pull/220) ([duckinator](https://github.com/duckinator))
96
+ - Update readme [\#219](https://github.com/duckinator/inq/pull/219) ([duckinator](https://github.com/duckinator))
97
+
98
+ ## [v21.0.0](https://github.com/duckinator/inq/tree/v21.0.0) (2018-01-19)
99
+ [Full Changelog](https://github.com/duckinator/inq/compare/v20.0.0...v21.0.0)
100
+
101
+ **Merged pull requests:**
102
+
103
+ - Release v21.0.0 [\#218](https://github.com/duckinator/inq/pull/218) ([duckinator](https://github.com/duckinator))
104
+ - Idempotent reports [\#217](https://github.com/duckinator/inq/pull/217) ([duckinator](https://github.com/duckinator))
105
+
106
+ ## [v20.0.0](https://github.com/duckinator/inq/tree/v20.0.0) (2017-12-22)
107
+ [Full Changelog](https://github.com/duckinator/inq/compare/v19.0.0...v20.0.0)
108
+
109
+ **Closed issues:**
110
+
111
+ - Figure out why CodeClimate is unhappy [\#200](https://github.com/duckinator/inq/issues/200)
112
+ - Refactor + improve tests for Contributions class [\#194](https://github.com/duckinator/inq/issues/194)
113
+ - Analysis/Analyzer refactor. [\#142](https://github.com/duckinator/inq/issues/142)
114
+ - Make internal-only methods private [\#138](https://github.com/duckinator/inq/issues/138)
115
+ - Export cleanup [\#133](https://github.com/duckinator/inq/issues/133)
116
+ - Use APIs instead of scraping /pulse [\#122](https://github.com/duckinator/inq/issues/122)
117
+ - Rake task for clearing VCR cache [\#95](https://github.com/duckinator/inq/issues/95)
118
+
119
+ **Merged pull requests:**
120
+
121
+ - version bump to v20.0.0. :3 [\#216](https://github.com/duckinator/inq/pull/216) ([duckinator](https://github.com/duckinator))
122
+ - Partial rewrite [\#215](https://github.com/duckinator/inq/pull/215) ([duckinator](https://github.com/duckinator))
123
+ - switch from Tessellator::Fetcher to Okay::HTTP. [\#214](https://github.com/duckinator/inq/pull/214) ([duckinator](https://github.com/duckinator))
124
+ - Remove XPulse class. [\#213](https://github.com/duckinator/inq/pull/213) ([duckinator](https://github.com/duckinator))
125
+ - Switch from Pulse to Contributions [\#212](https://github.com/duckinator/inq/pull/212) ([duckinator](https://github.com/duckinator))
126
+ - Gem: github\_api 0.18.1 [\#211](https://github.com/duckinator/inq/pull/211) ([olleolleolle](https://github.com/olleolleolle))
127
+ - Add tests for Contributions class [\#210](https://github.com/duckinator/inq/pull/210) ([duckinator](https://github.com/duckinator))
128
+ - Refactor [\#209](https://github.com/duckinator/inq/pull/209) ([duckinator](https://github.com/duckinator))
129
+ - use stable version of pry since there's no longer a conflict with slop [\#208](https://github.com/duckinator/inq/pull/208) ([duckinator](https://github.com/duckinator))
130
+ - add icons to README for Waffle.io, Travis, Code Climate, RubyGems, Gemnasium. [\#207](https://github.com/duckinator/inq/pull/207) ([duckinator](https://github.com/duckinator))
131
+
132
+ ## [v19.0.0](https://github.com/duckinator/inq/tree/v19.0.0) (2017-09-16)
133
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.1.0...v19.0.0)
134
+
135
+ **Closed issues:**
136
+
137
+ - move away from slop bc of conflicts [\#202](https://github.com/duckinator/inq/issues/202)
138
+ - Contributions: look up default\_branch in GitHub API [\#195](https://github.com/duckinator/inq/issues/195)
139
+ - Only enable VCR when used [\#185](https://github.com/duckinator/inq/issues/185)
140
+
141
+ **Merged pull requests:**
142
+
143
+ - bump version to 19.0.0; update changelog [\#206](https://github.com/duckinator/inq/pull/206) ([duckinator](https://github.com/duckinator))
144
+ - Move away from slop [\#205](https://github.com/duckinator/inq/pull/205) ([duckinator](https://github.com/duckinator))
145
+ - add .codeclimate.yml [\#204](https://github.com/duckinator/inq/pull/204) ([duckinator](https://github.com/duckinator))
146
+ - quick refactor of spec/capture\_warnings. [\#203](https://github.com/duckinator/inq/pull/203) ([duckinator](https://github.com/duckinator))
147
+ - \[docs\] YARD annotation for example [\#201](https://github.com/duckinator/inq/pull/201) ([olleolleolle](https://github.com/olleolleolle))
148
+ - Refactor: introduce pretty\_date\(date\) [\#199](https://github.com/duckinator/inq/pull/199) ([olleolleolle](https://github.com/olleolleolle))
149
+ - update VCR fixture [\#197](https://github.com/duckinator/inq/pull/197) ([duckinator](https://github.com/duckinator))
150
+ - Contributions: default\_branch fetching [\#196](https://github.com/duckinator/inq/pull/196) ([olleolleolle](https://github.com/olleolleolle))
151
+ - update tessellator-fetcher to ~\>5.0.2 [\#193](https://github.com/duckinator/inq/pull/193) ([duckinator](https://github.com/duckinator))
152
+ - Builds: a Travis CI API fetcher [\#192](https://github.com/duckinator/inq/pull/192) ([olleolleolle](https://github.com/olleolleolle))
153
+ - Contributions: YARD docblock type typo; typos [\#191](https://github.com/duckinator/inq/pull/191) ([olleolleolle](https://github.com/olleolleolle))
154
+
155
+ ## [v18.1.0](https://github.com/duckinator/inq/tree/v18.1.0) (2017-08-06)
156
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.5...v18.1.0)
157
+
158
+ **Merged pull requests:**
159
+
160
+ - bump version -- 18.1.0 [\#190](https://github.com/duckinator/inq/pull/190) ([duckinator](https://github.com/duckinator))
161
+ - Replace Pulse scraping with API calls [\#187](https://github.com/duckinator/inq/pull/187) ([duckinator](https://github.com/duckinator))
162
+
163
+ ## [v18.0.5](https://github.com/duckinator/inq/tree/v18.0.5) (2017-08-06)
164
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.4...v18.0.5)
165
+
166
+ **Closed issues:**
167
+
168
+ - Track new contributors [\#172](https://github.com/duckinator/inq/issues/172)
169
+ - Stop using hashie's master branch [\#168](https://github.com/duckinator/inq/issues/168)
170
+ - Include JSON reports in HTML reports [\#110](https://github.com/duckinator/inq/issues/110)
171
+
172
+ **Merged pull requests:**
173
+
174
+ - version bump -- v18.0.5 [\#188](https://github.com/duckinator/inq/pull/188) ([duckinator](https://github.com/duckinator))
175
+ - re-add Gemfile.lock to .gitignore [\#186](https://github.com/duckinator/inq/pull/186) ([duckinator](https://github.com/duckinator))
176
+ - List new contributors during period [\#184](https://github.com/duckinator/inq/pull/184) ([olleolleolle](https://github.com/olleolleolle))
177
+ - Remove Gemfile.lock. [\#183](https://github.com/duckinator/inq/pull/183) ([duckinator](https://github.com/duckinator))
178
+ - Gemfile: add pry as Git dep [\#182](https://github.com/duckinator/inq/pull/182) ([olleolleolle](https://github.com/olleolleolle))
179
+ - Add config file for github\_changelog\_generator [\#179](https://github.com/duckinator/inq/pull/179) ([olleolleolle](https://github.com/olleolleolle))
180
+ - RuboCop linting [\#178](https://github.com/duckinator/inq/pull/178) ([olleolleolle](https://github.com/olleolleolle))
181
+ - Use github\_changelog\_generator for generating the changelog. [\#177](https://github.com/duckinator/inq/pull/177) ([duckinator](https://github.com/duckinator))
182
+ - Include name of rules in RuboCop output [\#175](https://github.com/duckinator/inq/pull/175) ([olleolleolle](https://github.com/olleolleolle))
183
+ - Rubocop 0.49.1 [\#174](https://github.com/duckinator/inq/pull/174) ([olleolleolle](https://github.com/olleolleolle))
184
+ - Rubocop warning removal [\#173](https://github.com/duckinator/inq/pull/173) ([olleolleolle](https://github.com/olleolleolle))
185
+
186
+ ## [v18.0.4](https://github.com/duckinator/inq/tree/v18.0.4) (2017-07-14)
187
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.3...v18.0.4)
188
+
189
+ **Closed issues:**
190
+
191
+ - HowIs::CLI refactor [\#156](https://github.com/duckinator/inq/issues/156)
192
+ - "Invalid file" error doesn't include filename. [\#155](https://github.com/duckinator/inq/issues/155)
193
+ - No report and Hashie::Mash\#default warnings [\#154](https://github.com/duckinator/inq/issues/154)
194
+ - Remove from\_config\_file from docs [\#153](https://github.com/duckinator/inq/issues/153)
195
+ - Fix warnings when running `rake spec` [\#124](https://github.com/duckinator/inq/issues/124)
196
+ - Number of issues closed in the past month [\#106](https://github.com/duckinator/inq/issues/106)
197
+ - Number of PRs merged in the past month. [\#105](https://github.com/duckinator/inq/issues/105)
198
+ - Number of PRs/issues opened in past month [\#99](https://github.com/duckinator/inq/issues/99)
199
+ - Number of PRs/issues not updated in the past month [\#87](https://github.com/duckinator/inq/issues/87)
200
+
201
+ **Merged pull requests:**
202
+
203
+ - Release v18 0 4 [\#171](https://github.com/duckinator/inq/pull/171) ([duckinator](https://github.com/duckinator))
204
+ - Use Hashie stable; update Gemfile/add Gemfile.lock [\#170](https://github.com/duckinator/inq/pull/170) ([duckinator](https://github.com/duckinator))
205
+ - Pass -w to Ruby when running 'rake spec'. [\#169](https://github.com/duckinator/inq/pull/169) ([duckinator](https://github.com/duckinator))
206
+ - Rubocop cleanup [\#167](https://github.com/duckinator/inq/pull/167) ([duckinator](https://github.com/duckinator))
207
+ - Gemfile: use Hashie from master branch [\#166](https://github.com/duckinator/inq/pull/166) ([olleolleolle](https://github.com/olleolleolle))
208
+ - Update github\_api, contracts to latest [\#165](https://github.com/duckinator/inq/pull/165) ([olleolleolle](https://github.com/olleolleolle))
209
+ - Fix \(a significant number of\) RuboCop violations. [\#162](https://github.com/duckinator/inq/pull/162) ([duckinator](https://github.com/duckinator))
210
+ - README: Drop from\_config\_file reference [\#161](https://github.com/duckinator/inq/pull/161) ([olleolleolle](https://github.com/olleolleolle))
211
+ - move rubocop dep to gemspec [\#160](https://github.com/duckinator/inq/pull/160) ([duckinator](https://github.com/duckinator))
212
+
213
+ ## [v18.0.3](https://github.com/duckinator/inq/tree/v18.0.3) (2017-05-25)
214
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.2...v18.0.3)
215
+
216
+ **Closed issues:**
217
+
218
+ - Issue: report.html renders only \#\<HowIs:0x007fae56966700\> [\#149](https://github.com/duckinator/inq/issues/149)
219
+ - Make CONFIG\_FILE optional when using --config. [\#41](https://github.com/duckinator/inq/issues/41)
220
+
221
+ **Merged pull requests:**
222
+
223
+ - v18.0.3 -- CHANGELOG and version bump. [\#159](https://github.com/duckinator/inq/pull/159) ([duckinator](https://github.com/duckinator))
224
+ - Add RuboCop config [\#158](https://github.com/duckinator/inq/pull/158) ([duckinator](https://github.com/duckinator))
225
+ - CLI parser refactor [\#157](https://github.com/duckinator/inq/pull/157) ([duckinator](https://github.com/duckinator))
226
+ - exe/how\_is: Reinstate to\_json, to\_html [\#150](https://github.com/duckinator/inq/pull/150) ([olleolleolle](https://github.com/olleolleolle))
227
+
228
+ ## [v18.0.2](https://github.com/duckinator/inq/tree/v18.0.2) (2017-03-05)
229
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.1...v18.0.2)
230
+
231
+ **Merged pull requests:**
232
+
233
+ - v18.0.2 - Remove unnecessary .send\(\) call in exe/how\_is. [\#148](https://github.com/duckinator/inq/pull/148) ([duckinator](https://github.com/duckinator))
234
+
235
+ ## [v18.0.1](https://github.com/duckinator/inq/tree/v18.0.1) (2017-03-05)
236
+ [Full Changelog](https://github.com/duckinator/inq/compare/v18.0.0...v18.0.1)
237
+
238
+ **Merged pull requests:**
239
+
240
+ - v18.0.1 - fix --config flag [\#147](https://github.com/duckinator/inq/pull/147) ([duckinator](https://github.com/duckinator))
241
+
242
+ ## [v18.0.0](https://github.com/duckinator/inq/tree/v18.0.0) (2017-03-05)
243
+ [Full Changelog](https://github.com/duckinator/inq/compare/v17.0.0...v18.0.0)
244
+
245
+ **Closed issues:**
246
+
247
+ - Determine what is using open-uri [\#140](https://github.com/duckinator/inq/issues/140)
248
+ - :from != :from\_file [\#137](https://github.com/duckinator/inq/issues/137)
249
+ - Move --from documentation to README [\#136](https://github.com/duckinator/inq/issues/136)
250
+ - Why is rack required? [\#135](https://github.com/duckinator/inq/issues/135)
251
+ - Is :from\_file still an option? [\#134](https://github.com/duckinator/inq/issues/134)
252
+ - Move from\_config/from\_config\_file out of HowIs::CLI [\#52](https://github.com/duckinator/inq/issues/52)
253
+
254
+ **Merged pull requests:**
255
+
256
+ - v18.0.0 release [\#146](https://github.com/duckinator/inq/pull/146) ([duckinator](https://github.com/duckinator))
257
+ - Add HowIs.from\_hash method [\#144](https://github.com/duckinator/inq/pull/144) ([indirect](https://github.com/indirect))
258
+ - Move documentation from design/ to README. [\#143](https://github.com/duckinator/inq/pull/143) ([duckinator](https://github.com/duckinator))
259
+ - Fix --from. [\#141](https://github.com/duckinator/inq/pull/141) ([duckinator](https://github.com/duckinator))
260
+ - Unpin Rack version. [\#139](https://github.com/duckinator/inq/pull/139) ([duckinator](https://github.com/duckinator))
261
+ - Documentation! [\#132](https://github.com/duckinator/inq/pull/132) ([duckinator](https://github.com/duckinator))
262
+ - Remove shebang line from lib/ file. [\#131](https://github.com/duckinator/inq/pull/131) ([duckinator](https://github.com/duckinator))
263
+ - Fix URL in gemspec. [\#130](https://github.com/duckinator/inq/pull/130) ([duckinator](https://github.com/duckinator))
264
+ - Gemspec: Description grammar [\#129](https://github.com/duckinator/inq/pull/129) ([olleolleolle](https://github.com/olleolleolle))
265
+
266
+ ## [v17.0.0](https://github.com/duckinator/inq/tree/v17.0.0) (2017-02-09)
267
+ [Full Changelog](https://github.com/duckinator/inq/compare/v16.0.0...v17.0.0)
268
+
269
+ **Merged pull requests:**
270
+
271
+ - Make from\_json parse ALL dates, not just some of them. [\#128](https://github.com/duckinator/inq/pull/128) ([duckinator](https://github.com/duckinator))
272
+
273
+ ## [v16.0.0](https://github.com/duckinator/inq/tree/v16.0.0) (2017-02-09)
274
+ [Full Changelog](https://github.com/duckinator/inq/compare/v15.0.0...v16.0.0)
275
+
276
+ **Merged pull requests:**
277
+
278
+ - Make from\_json\(\) parse dates. [\#127](https://github.com/duckinator/inq/pull/127) ([duckinator](https://github.com/duckinator))
279
+
280
+ ## [v15.0.0](https://github.com/duckinator/inq/tree/v15.0.0) (2017-02-09)
281
+ [Full Changelog](https://github.com/duckinator/inq/compare/v14.0.0...v15.0.0)
282
+
283
+ **Closed issues:**
284
+
285
+ - include data from GitHub Pulse in Analysis [\#116](https://github.com/duckinator/inq/issues/116)
286
+
287
+ **Merged pull requests:**
288
+
289
+ - Implement HowIs.from\_json\(\). [\#126](https://github.com/duckinator/inq/pull/126) ([duckinator](https://github.com/duckinator))
290
+
291
+ ## [v14.0.0](https://github.com/duckinator/inq/tree/v14.0.0) (2017-02-09)
292
+ [Full Changelog](https://github.com/duckinator/inq/compare/v13.0.0...v14.0.0)
293
+
294
+ **Closed issues:**
295
+
296
+ - Remove dead code [\#121](https://github.com/duckinator/inq/issues/121)
297
+ - Update documentation with API changes [\#118](https://github.com/duckinator/inq/issues/118)
298
+ - design an API [\#115](https://github.com/duckinator/inq/issues/115)
299
+ - correct readme [\#114](https://github.com/duckinator/inq/issues/114)
300
+
301
+ **Merged pull requests:**
302
+
303
+ - Include Pulse data in JSON reports. [\#125](https://github.com/duckinator/inq/pull/125) ([duckinator](https://github.com/duckinator))
304
+ - Remove dead code. [\#123](https://github.com/duckinator/inq/pull/123) ([duckinator](https://github.com/duckinator))
305
+ - Update README.md about API redesign. [\#120](https://github.com/duckinator/inq/pull/120) ([duckinator](https://github.com/duckinator))
306
+ - CHANGELOG typo [\#119](https://github.com/duckinator/inq/pull/119) ([olleolleolle](https://github.com/olleolleolle))
307
+
308
+ ## [v13.0.0](https://github.com/duckinator/inq/tree/v13.0.0) (2017-02-09)
309
+ [Full Changelog](https://github.com/duckinator/inq/compare/v12.0.0...v13.0.0)
310
+
311
+ **Closed issues:**
312
+
313
+ - Add ISSUES.md [\#102](https://github.com/duckinator/inq/issues/102)
314
+ - Have change log link to tags [\#100](https://github.com/duckinator/inq/issues/100)
315
+
316
+ **Merged pull requests:**
317
+
318
+ - API redesign [\#117](https://github.com/duckinator/inq/pull/117) ([duckinator](https://github.com/duckinator))
319
+ - Update README.md [\#113](https://github.com/duckinator/inq/pull/113) ([duckinator](https://github.com/duckinator))
320
+ - remove pdfs and relax rack version [\#112](https://github.com/duckinator/inq/pull/112) ([indirect](https://github.com/indirect))
321
+ - \[design.md\] add 'information about how\_is' section. [\#109](https://github.com/duckinator/inq/pull/109) ([duckinator](https://github.com/duckinator))
322
+ - Specifications [\#108](https://github.com/duckinator/inq/pull/108) ([duckinator](https://github.com/duckinator))
323
+ - Have CHANGELOG link to code snapshots. [\#107](https://github.com/duckinator/inq/pull/107) ([duckinator](https://github.com/duckinator))
324
+ - Add link for ungrouped issues. [\#104](https://github.com/duckinator/inq/pull/104) ([duckinator](https://github.com/duckinator))
325
+ - Add ISSUES.md. [\#103](https://github.com/duckinator/inq/pull/103) ([duckinator](https://github.com/duckinator))
326
+ - CLI warning on single-word repository argument [\#98](https://github.com/duckinator/inq/pull/98) ([olleolleolle](https://github.com/olleolleolle))
327
+
328
+ ## [v12.0.0](https://github.com/duckinator/inq/tree/v12.0.0) (2016-12-11)
329
+ [Full Changelog](https://github.com/duckinator/inq/compare/v11.0.0...v12.0.0)
330
+
331
+ **Closed issues:**
332
+
333
+ - ZeroDivisionError [\#91](https://github.com/duckinator/inq/issues/91)
334
+ - Rake task\(s\) for regenerating example reports. [\#84](https://github.com/duckinator/inq/issues/84)
335
+ - make issue\_or\_pr\_summary use kwargs [\#78](https://github.com/duckinator/inq/issues/78)
336
+ - Define unimplemented BaseReport methods [\#77](https://github.com/duckinator/inq/issues/77)
337
+ - Extract BaseReport [\#76](https://github.com/duckinator/inq/issues/76)
338
+ - Release v11.0 [\#75](https://github.com/duckinator/inq/issues/75)
339
+ - convert average age/oldest/newest to lists [\#70](https://github.com/duckinator/inq/issues/70)
340
+ - newest PR/issue [\#69](https://github.com/duckinator/inq/issues/69)
341
+
342
+ **Merged pull requests:**
343
+
344
+ - version bump to 12.0.0 [\#97](https://github.com/duckinator/inq/pull/97) ([duckinator](https://github.com/duckinator))
345
+ - rake generate =\> rake generate\_reports. [\#96](https://github.com/duckinator/inq/pull/96) ([duckinator](https://github.com/duckinator))
346
+ - Rake tasks [\#94](https://github.com/duckinator/inq/pull/94) ([duckinator](https://github.com/duckinator))
347
+ - Fix divide by zero when no issues [\#92](https://github.com/duckinator/inq/pull/92) ([duckinator](https://github.com/duckinator))
348
+ - Changelog v12.0 [\#89](https://github.com/duckinator/inq/pull/89) ([duckinator](https://github.com/duckinator))
349
+ - Refactoring Report + \*Report. [\#88](https://github.com/duckinator/inq/pull/88) ([duckinator](https://github.com/duckinator))
350
+ - Rake tasks [\#86](https://github.com/duckinator/inq/pull/86) ([duckinator](https://github.com/duckinator))
351
+ - Newest pr issue attempt 2 [\#85](https://github.com/duckinator/inq/pull/85) ([duckinator](https://github.com/duckinator))
352
+ - Convert issue/PR info to a list. [\#83](https://github.com/duckinator/inq/pull/83) ([duckinator](https://github.com/duckinator))
353
+ - Improve generated HTML, for easier debugging. [\#82](https://github.com/duckinator/inq/pull/82) ([duckinator](https://github.com/duckinator))
354
+ - Update readme [\#81](https://github.com/duckinator/inq/pull/81) ([duckinator](https://github.com/duckinator))
355
+ - Define unimplemented methods; make github\_pulse\_summary private. [\#80](https://github.com/duckinator/inq/pull/80) ([duckinator](https://github.com/duckinator))
356
+ - Extract BaseReport into its own file. [\#79](https://github.com/duckinator/inq/pull/79) ([duckinator](https://github.com/duckinator))
357
+
358
+ ## [v11.0.0](https://github.com/duckinator/inq/tree/v11.0.0) (2016-11-13)
359
+ [Full Changelog](https://github.com/duckinator/inq/compare/v10.0.0...v11.0.0)
360
+
361
+ **Closed issues:**
362
+
363
+ - Failing tests. [\#68](https://github.com/duckinator/inq/issues/68)
364
+ - `how\_is how-is/how\_is` is broken [\#61](https://github.com/duckinator/inq/issues/61)
365
+ - Rename export! to export\_file [\#57](https://github.com/duckinator/inq/issues/57)
366
+ - Remove how\_is/chart.rb [\#56](https://github.com/duckinator/inq/issues/56)
367
+ - Unknown option --report-file referenced in the README [\#51](https://github.com/duckinator/inq/issues/51)
368
+ - Specify period for reports [\#50](https://github.com/duckinator/inq/issues/50)
369
+ - Handle singular/plural PRs and issues properly [\#49](https://github.com/duckinator/inq/issues/49)
370
+ - HTML graph messes up "\(No label\)" graph label [\#48](https://github.com/duckinator/inq/issues/48)
371
+ - Document library usage. [\#45](https://github.com/duckinator/inq/issues/45)
372
+ - Use VCR instead of files containing API responses [\#37](https://github.com/duckinator/inq/issues/37)
373
+ - Make integration tests not rely on GitHub API [\#36](https://github.com/duckinator/inq/issues/36)
374
+ - Integration tests [\#26](https://github.com/duckinator/inq/issues/26)
375
+ - Links [\#18](https://github.com/duckinator/inq/issues/18)
376
+ - \[PDF\] Show labels outside of graph [\#8](https://github.com/duckinator/inq/issues/8)
377
+
378
+ **Merged pull requests:**
379
+
380
+ - Add changelog. [\#73](https://github.com/duckinator/inq/pull/73) ([duckinator](https://github.com/duckinator))
381
+ - Fix failing tests. [\#72](https://github.com/duckinator/inq/pull/72) ([duckinator](https://github.com/duckinator))
382
+ - Add tests for --help, -h, --version, and -v. [\#67](https://github.com/duckinator/inq/pull/67) ([duckinator](https://github.com/duckinator))
383
+ - Test refactoring [\#66](https://github.com/duckinator/inq/pull/66) ([duckinator](https://github.com/duckinator))
384
+ - Handle singular/plural PRs and issues correctly. [\#65](https://github.com/duckinator/inq/pull/65) ([duckinator](https://github.com/duckinator))
385
+ - Remove duplicate period. [\#64](https://github.com/duckinator/inq/pull/64) ([duckinator](https://github.com/duckinator))
386
+ - Handle cases where there are no issues or PRs. [\#63](https://github.com/duckinator/inq/pull/63) ([duckinator](https://github.com/duckinator))
387
+ - Fix "No label" graph label. [\#62](https://github.com/duckinator/inq/pull/62) ([duckinator](https://github.com/duckinator))
388
+ - Rename export! to export\_file. [\#60](https://github.com/duckinator/inq/pull/60) ([duckinator](https://github.com/duckinator))
389
+ - Remove remnants of PDF-related stuff. [\#59](https://github.com/duckinator/inq/pull/59) ([duckinator](https://github.com/duckinator))
390
+ - FUCK YEAH DOCUMENTATION [\#58](https://github.com/duckinator/inq/pull/58) ([duckinator](https://github.com/duckinator))
391
+ - Specify time period for reports. [\#55](https://github.com/duckinator/inq/pull/55) ([duckinator](https://github.com/duckinator))
392
+ - SO LONG, PDF REPORTS. YOU WILL NOT BE MISSED. [\#54](https://github.com/duckinator/inq/pull/54) ([duckinator](https://github.com/duckinator))
393
+ - Document Ruby API. [\#53](https://github.com/duckinator/inq/pull/53) ([duckinator](https://github.com/duckinator))
394
+ - Update roadmap.markdown [\#47](https://github.com/duckinator/inq/pull/47) ([duckinator](https://github.com/duckinator))
395
+ - New roadmap. [\#46](https://github.com/duckinator/inq/pull/46) ([duckinator](https://github.com/duckinator))
396
+
397
+ ## [v10.0.0](https://github.com/duckinator/inq/tree/v10.0.0) (2016-09-01)
398
+ [Full Changelog](https://github.com/duckinator/inq/compare/v9.0.0...v10.0.0)
399
+
400
+ **Closed issues:**
401
+
402
+ - --version is broken [\#42](https://github.com/duckinator/inq/issues/42)
403
+ - report generation fails [\#25](https://github.com/duckinator/inq/issues/25)
404
+
405
+ **Merged pull requests:**
406
+
407
+ - Parser specs [\#43](https://github.com/duckinator/inq/pull/43) ([duckinator](https://github.com/duckinator))
408
+
409
+ ## [v9.0.0](https://github.com/duckinator/inq/tree/v9.0.0) (2016-08-20)
410
+ [Full Changelog](https://github.com/duckinator/inq/compare/v8.0.0...v9.0.0)
411
+
412
+ **Closed issues:**
413
+
414
+ - Help text is outdated. [\#33](https://github.com/duckinator/inq/issues/33)
415
+ - `how\_is rubygems/rubygems` raises contract violation [\#32](https://github.com/duckinator/inq/issues/32)
416
+ - Warning when executing how\_is [\#29](https://github.com/duckinator/inq/issues/29)
417
+ - Intermittent off-by-one date error in Analyzer\#average\_date\_for test [\#21](https://github.com/duckinator/inq/issues/21)
418
+
419
+ **Merged pull requests:**
420
+
421
+ - We're not using Cucumber + Aruba. [\#40](https://github.com/duckinator/inq/pull/40) ([duckinator](https://github.com/duckinator))
422
+ - Option parser refactor [\#39](https://github.com/duckinator/inq/pull/39) ([duckinator](https://github.com/duckinator))
423
+ - Fix first integration test [\#38](https://github.com/duckinator/inq/pull/38) ([duckinator](https://github.com/duckinator))
424
+ - Update documentation. [\#35](https://github.com/duckinator/inq/pull/35) ([duckinator](https://github.com/duckinator))
425
+ - Fix contract error [\#34](https://github.com/duckinator/inq/pull/34) ([duckinator](https://github.com/duckinator))
426
+ - Use the correct config file in integration tests. [\#31](https://github.com/duckinator/inq/pull/31) ([duckinator](https://github.com/duckinator))
427
+ - Remove redundant definiton of C. [\#30](https://github.com/duckinator/inq/pull/30) ([duckinator](https://github.com/duckinator))
428
+ - Fix Analyzer\#average\_age\_for test. [\#28](https://github.com/duckinator/inq/pull/28) ([duckinator](https://github.com/duckinator))
429
+ - Integration tests [\#27](https://github.com/duckinator/inq/pull/27) ([duckinator](https://github.com/duckinator))
430
+
431
+ ## [v8.0.0](https://github.com/duckinator/inq/tree/v8.0.0) (2016-07-28)
432
+ [Full Changelog](https://github.com/duckinator/inq/compare/v7.0.0...v8.0.0)
433
+
434
+ ## [v7.0.0](https://github.com/duckinator/inq/tree/v7.0.0) (2016-07-28)
435
+ [Full Changelog](https://github.com/duckinator/inq/compare/v6.0.0...v7.0.0)
436
+
437
+ ## [v6.0.0](https://github.com/duckinator/inq/tree/v6.0.0) (2016-07-28)
438
+ [Full Changelog](https://github.com/duckinator/inq/compare/v5.0.0...v6.0.0)
439
+
440
+ **Merged pull requests:**
441
+
442
+ - CLI specs [\#24](https://github.com/duckinator/inq/pull/24) ([duckinator](https://github.com/duckinator))
443
+ - Spelling in OptParser help for --config [\#23](https://github.com/duckinator/inq/pull/23) ([olleolleolle](https://github.com/olleolleolle))
444
+
445
+ ## [v5.0.0](https://github.com/duckinator/inq/tree/v5.0.0) (2016-07-21)
446
+ [Full Changelog](https://github.com/duckinator/inq/compare/v4.0.0...v5.0.0)
447
+
448
+ ## [v4.0.0](https://github.com/duckinator/inq/tree/v4.0.0) (2016-07-19)
449
+ [Full Changelog](https://github.com/duckinator/inq/compare/v3.0.0...v4.0.0)
450
+
451
+ **Closed issues:**
452
+
453
+ - Monthly summary [\#19](https://github.com/duckinator/inq/issues/19)
454
+
455
+ **Merged pull requests:**
456
+
457
+ - Add text summary. [\#22](https://github.com/duckinator/inq/pull/22) ([duckinator](https://github.com/duckinator))
458
+
459
+ ## [v3.0.0](https://github.com/duckinator/inq/tree/v3.0.0) (2016-07-13)
460
+ [Full Changelog](https://github.com/duckinator/inq/compare/v2.0.0...v3.0.0)
461
+
462
+ **Closed issues:**
463
+
464
+ - Exception when running `how\_is duckinator/how\_is` from master [\#16](https://github.com/duckinator/inq/issues/16)
465
+
466
+ **Merged pull requests:**
467
+
468
+ - HTML links [\#20](https://github.com/duckinator/inq/pull/20) ([duckinator](https://github.com/duckinator))
469
+
470
+ ## [v2.0.0](https://github.com/duckinator/inq/tree/v2.0.0) (2016-06-27)
471
+ [Full Changelog](https://github.com/duckinator/inq/compare/v1.0.0...v2.0.0)
472
+
473
+ **Closed issues:**
474
+
475
+ - HTML exports [\#13](https://github.com/duckinator/inq/issues/13)
476
+ - When importing from JSON, don't require repository name as argument. [\#10](https://github.com/duckinator/inq/issues/10)
477
+ - Allow export to Ruby objects as well as files [\#7](https://github.com/duckinator/inq/issues/7)
478
+
479
+ **Merged pull requests:**
480
+
481
+ - HTML graphs [\#17](https://github.com/duckinator/inq/pull/17) ([duckinator](https://github.com/duckinator))
482
+
483
+ ## [v1.0.0](https://github.com/duckinator/inq/tree/v1.0.0) (2016-06-22)
484
+ **Closed issues:**
485
+
486
+ - Fix failing tests [\#15](https://github.com/duckinator/inq/issues/15)
487
+ - Update README [\#11](https://github.com/duckinator/inq/issues/11)
488
+ - Find a better name [\#2](https://github.com/duckinator/inq/issues/2)
489
+ - Metrics to track [\#1](https://github.com/duckinator/inq/issues/1)
490
+
491
+ **Merged pull requests:**
492
+
493
+ - waffle.io Badge [\#14](https://github.com/duckinator/inq/pull/14) ([waffle-iron](https://github.com/waffle-iron))
494
+ - Executable: Fail faster, use abort [\#9](https://github.com/duckinator/inq/pull/9) ([olleolleolle](https://github.com/olleolleolle))
495
+ - Rotate images with MiniMagick [\#5](https://github.com/duckinator/inq/pull/5) ([olleolleolle](https://github.com/olleolleolle))
496
+
497
+
498
+
499
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*