rspec-core 2.11.1 → 3.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/.document +1 -1
  4. data/.yardopts +3 -1
  5. data/Changelog.md +1814 -29
  6. data/{License.txt → LICENSE.md} +6 -4
  7. data/README.md +197 -48
  8. data/exe/rspec +2 -23
  9. data/lib/rspec/autorun.rb +1 -0
  10. data/lib/rspec/core/backtrace_formatter.rb +65 -0
  11. data/lib/rspec/core/bisect/coordinator.rb +62 -0
  12. data/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  13. data/lib/rspec/core/bisect/fork_runner.rb +138 -0
  14. data/lib/rspec/core/bisect/server.rb +61 -0
  15. data/lib/rspec/core/bisect/shell_command.rb +126 -0
  16. data/lib/rspec/core/bisect/shell_runner.rb +73 -0
  17. data/lib/rspec/core/bisect/utilities.rb +69 -0
  18. data/lib/rspec/core/configuration.rb +1846 -407
  19. data/lib/rspec/core/configuration_options.rb +154 -50
  20. data/lib/rspec/core/did_you_mean.rb +46 -0
  21. data/lib/rspec/core/drb.rb +120 -0
  22. data/lib/rspec/core/dsl.rb +90 -18
  23. data/lib/rspec/core/example.rb +488 -152
  24. data/lib/rspec/core/example_group.rb +733 -294
  25. data/lib/rspec/core/example_status_persister.rb +235 -0
  26. data/lib/rspec/core/filter_manager.rb +175 -147
  27. data/lib/rspec/core/flat_map.rb +20 -0
  28. data/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  29. data/lib/rspec/core/formatters/base_formatter.rb +32 -130
  30. data/lib/rspec/core/formatters/base_text_formatter.rb +62 -190
  31. data/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  32. data/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  33. data/lib/rspec/core/formatters/console_codes.rb +76 -0
  34. data/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  35. data/lib/rspec/core/formatters/documentation_formatter.rb +62 -27
  36. data/lib/rspec/core/formatters/exception_presenter.rb +521 -0
  37. data/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  38. data/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  39. data/lib/rspec/core/formatters/helpers.rb +93 -14
  40. data/lib/rspec/core/formatters/html_formatter.rb +104 -415
  41. data/lib/rspec/core/formatters/html_printer.rb +414 -0
  42. data/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  43. data/lib/rspec/core/formatters/json_formatter.rb +102 -0
  44. data/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  45. data/lib/rspec/core/formatters/progress_formatter.rb +12 -15
  46. data/lib/rspec/core/formatters/protocol.rb +182 -0
  47. data/lib/rspec/core/formatters/snippet_extractor.rb +115 -39
  48. data/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  49. data/lib/rspec/core/formatters.rb +279 -0
  50. data/lib/rspec/core/hooks.rb +451 -300
  51. data/lib/rspec/core/invocations.rb +87 -0
  52. data/lib/rspec/core/memoized_helpers.rb +580 -0
  53. data/lib/rspec/core/metadata.rb +395 -173
  54. data/lib/rspec/core/metadata_filter.rb +255 -0
  55. data/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  56. data/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  57. data/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  58. data/lib/rspec/core/mocking_adapters/null.rb +14 -0
  59. data/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  60. data/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  61. data/lib/rspec/core/notifications.rb +521 -0
  62. data/lib/rspec/core/option_parser.rb +208 -64
  63. data/lib/rspec/core/ordering.rb +169 -0
  64. data/lib/rspec/core/output_wrapper.rb +29 -0
  65. data/lib/rspec/core/pending.rb +115 -59
  66. data/lib/rspec/core/profiler.rb +34 -0
  67. data/lib/rspec/core/project_initializer/.rspec +1 -0
  68. data/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  69. data/lib/rspec/core/project_initializer.rb +26 -65
  70. data/lib/rspec/core/rake_task.rb +140 -131
  71. data/lib/rspec/core/reporter.rb +207 -44
  72. data/lib/rspec/core/ruby_project.rb +15 -6
  73. data/lib/rspec/core/runner.rb +180 -44
  74. data/lib/rspec/core/sandbox.rb +37 -0
  75. data/lib/rspec/core/set.rb +54 -0
  76. data/lib/rspec/core/shared_context.rb +25 -19
  77. data/lib/rspec/core/shared_example_group.rb +229 -54
  78. data/lib/rspec/core/shell_escape.rb +49 -0
  79. data/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  80. data/lib/rspec/core/version.rb +3 -1
  81. data/lib/rspec/core/warnings.rb +40 -0
  82. data/lib/rspec/core/world.rb +208 -49
  83. data/lib/rspec/core.rb +166 -80
  84. data.tar.gz.sig +0 -0
  85. metadata +230 -445
  86. metadata.gz.sig +0 -0
  87. data/exe/autospec +0 -13
  88. data/features/Autotest.md +0 -38
  89. data/features/README.md +0 -17
  90. data/features/Upgrade.md +0 -364
  91. data/features/command_line/README.md +0 -28
  92. data/features/command_line/example_name_option.feature +0 -101
  93. data/features/command_line/exit_status.feature +0 -83
  94. data/features/command_line/format_option.feature +0 -81
  95. data/features/command_line/init.feature +0 -18
  96. data/features/command_line/line_number_appended_to_path.feature +0 -140
  97. data/features/command_line/line_number_option.feature +0 -58
  98. data/features/command_line/order.feature +0 -29
  99. data/features/command_line/pattern_option.feature +0 -31
  100. data/features/command_line/rake_task.feature +0 -68
  101. data/features/command_line/ruby.feature +0 -22
  102. data/features/command_line/tag.feature +0 -91
  103. data/features/configuration/alias_example_to.feature +0 -48
  104. data/features/configuration/custom_settings.feature +0 -84
  105. data/features/configuration/default_path.feature +0 -38
  106. data/features/configuration/fail_fast.feature +0 -77
  107. data/features/configuration/read_options_from_file.feature +0 -87
  108. data/features/example_groups/basic_structure.feature +0 -55
  109. data/features/example_groups/shared_context.feature +0 -74
  110. data/features/example_groups/shared_examples.feature +0 -204
  111. data/features/expectation_framework_integration/configure_expectation_framework.feature +0 -102
  112. data/features/filtering/exclusion_filters.feature +0 -139
  113. data/features/filtering/if_and_unless.feature +0 -168
  114. data/features/filtering/inclusion_filters.feature +0 -105
  115. data/features/filtering/run_all_when_everything_filtered.feature +0 -46
  116. data/features/formatters/custom_formatter.feature +0 -36
  117. data/features/formatters/text_formatter.feature +0 -46
  118. data/features/helper_methods/arbitrary_methods.feature +0 -40
  119. data/features/helper_methods/let.feature +0 -50
  120. data/features/helper_methods/modules.feature +0 -149
  121. data/features/hooks/around_hooks.feature +0 -343
  122. data/features/hooks/before_and_after_hooks.feature +0 -423
  123. data/features/hooks/filtering.feature +0 -234
  124. data/features/metadata/current_example.feature +0 -17
  125. data/features/metadata/described_class.feature +0 -17
  126. data/features/metadata/user_defined.feature +0 -113
  127. data/features/mock_framework_integration/use_any_framework.feature +0 -106
  128. data/features/mock_framework_integration/use_flexmock.feature +0 -96
  129. data/features/mock_framework_integration/use_mocha.feature +0 -97
  130. data/features/mock_framework_integration/use_rr.feature +0 -98
  131. data/features/mock_framework_integration/use_rspec.feature +0 -97
  132. data/features/pending/pending_examples.feature +0 -229
  133. data/features/spec_files/arbitrary_file_suffix.feature +0 -13
  134. data/features/step_definitions/additional_cli_steps.rb +0 -30
  135. data/features/subject/attribute_of_subject.feature +0 -124
  136. data/features/subject/explicit_subject.feature +0 -82
  137. data/features/subject/implicit_receiver.feature +0 -29
  138. data/features/subject/implicit_subject.feature +0 -63
  139. data/features/support/env.rb +0 -12
  140. data/lib/autotest/discover.rb +0 -1
  141. data/lib/autotest/rspec2.rb +0 -73
  142. data/lib/rspec/core/backward_compatibility.rb +0 -65
  143. data/lib/rspec/core/command_line.rb +0 -36
  144. data/lib/rspec/core/deprecation.rb +0 -36
  145. data/lib/rspec/core/drb_command_line.rb +0 -26
  146. data/lib/rspec/core/drb_options.rb +0 -87
  147. data/lib/rspec/core/extensions/instance_eval_with_args.rb +0 -44
  148. data/lib/rspec/core/extensions/kernel.rb +0 -9
  149. data/lib/rspec/core/extensions/module_eval_with_args.rb +0 -38
  150. data/lib/rspec/core/extensions/ordered.rb +0 -21
  151. data/lib/rspec/core/extensions.rb +0 -4
  152. data/lib/rspec/core/formatters/text_mate_formatter.rb +0 -34
  153. data/lib/rspec/core/let.rb +0 -110
  154. data/lib/rspec/core/load_path.rb +0 -3
  155. data/lib/rspec/core/metadata_hash_builder.rb +0 -97
  156. data/lib/rspec/core/mocking/with_absolutely_nothing.rb +0 -11
  157. data/lib/rspec/core/mocking/with_flexmock.rb +0 -27
  158. data/lib/rspec/core/mocking/with_mocha.rb +0 -29
  159. data/lib/rspec/core/mocking/with_rr.rb +0 -27
  160. data/lib/rspec/core/mocking/with_rspec.rb +0 -23
  161. data/lib/rspec/core/subject.rb +0 -219
  162. data/spec/autotest/discover_spec.rb +0 -19
  163. data/spec/autotest/failed_results_re_spec.rb +0 -45
  164. data/spec/autotest/rspec_spec.rb +0 -123
  165. data/spec/command_line/order_spec.rb +0 -137
  166. data/spec/rspec/core/command_line_spec.rb +0 -108
  167. data/spec/rspec/core/command_line_spec_output.txt +0 -0
  168. data/spec/rspec/core/configuration_options_spec.rb +0 -377
  169. data/spec/rspec/core/configuration_spec.rb +0 -1196
  170. data/spec/rspec/core/deprecations_spec.rb +0 -66
  171. data/spec/rspec/core/drb_command_line_spec.rb +0 -108
  172. data/spec/rspec/core/drb_options_spec.rb +0 -180
  173. data/spec/rspec/core/dsl_spec.rb +0 -17
  174. data/spec/rspec/core/example_group_spec.rb +0 -1098
  175. data/spec/rspec/core/example_spec.rb +0 -370
  176. data/spec/rspec/core/filter_manager_spec.rb +0 -256
  177. data/spec/rspec/core/formatters/base_formatter_spec.rb +0 -80
  178. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +0 -363
  179. data/spec/rspec/core/formatters/documentation_formatter_spec.rb +0 -88
  180. data/spec/rspec/core/formatters/helpers_spec.rb +0 -66
  181. data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +0 -410
  182. data/spec/rspec/core/formatters/html_formatted-1.8.7.html +0 -409
  183. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +0 -416
  184. data/spec/rspec/core/formatters/html_formatted-1.9.3.html +0 -416
  185. data/spec/rspec/core/formatters/html_formatter_spec.rb +0 -82
  186. data/spec/rspec/core/formatters/progress_formatter_spec.rb +0 -30
  187. data/spec/rspec/core/formatters/snippet_extractor_spec.rb +0 -18
  188. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +0 -410
  189. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +0 -409
  190. data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +0 -416
  191. data/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +0 -416
  192. data/spec/rspec/core/formatters/text_mate_formatter_spec.rb +0 -83
  193. data/spec/rspec/core/hooks_filtering_spec.rb +0 -227
  194. data/spec/rspec/core/hooks_spec.rb +0 -250
  195. data/spec/rspec/core/kernel_extensions_spec.rb +0 -9
  196. data/spec/rspec/core/let_spec.rb +0 -55
  197. data/spec/rspec/core/metadata_spec.rb +0 -447
  198. data/spec/rspec/core/option_parser_spec.rb +0 -166
  199. data/spec/rspec/core/pending_example_spec.rb +0 -220
  200. data/spec/rspec/core/project_initializer_spec.rb +0 -130
  201. data/spec/rspec/core/rake_task_spec.rb +0 -138
  202. data/spec/rspec/core/reporter_spec.rb +0 -103
  203. data/spec/rspec/core/resources/a_bar.rb +0 -0
  204. data/spec/rspec/core/resources/a_foo.rb +0 -0
  205. data/spec/rspec/core/resources/a_spec.rb +0 -1
  206. data/spec/rspec/core/resources/custom_example_group_runner.rb +0 -14
  207. data/spec/rspec/core/resources/formatter_specs.rb +0 -60
  208. data/spec/rspec/core/resources/utf8_encoded.rb +0 -8
  209. data/spec/rspec/core/rspec_matchers_spec.rb +0 -45
  210. data/spec/rspec/core/ruby_project_spec.rb +0 -24
  211. data/spec/rspec/core/runner_spec.rb +0 -81
  212. data/spec/rspec/core/shared_context_spec.rb +0 -67
  213. data/spec/rspec/core/shared_example_group_spec.rb +0 -84
  214. data/spec/rspec/core/subject_spec.rb +0 -244
  215. data/spec/rspec/core/world_spec.rb +0 -144
  216. data/spec/rspec/core_spec.rb +0 -35
  217. data/spec/spec_helper.rb +0 -98
  218. data/spec/support/config_options_helper.rb +0 -24
  219. data/spec/support/helper_methods.rb +0 -5
  220. data/spec/support/matchers.rb +0 -65
  221. data/spec/support/shared_example_groups.rb +0 -41
  222. data/spec/support/spec_files.rb +0 -44
data/Changelog.md CHANGED
@@ -1,5 +1,1789 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.11.0...3-11-maintenance)
3
+
4
+ ### 3.11.0 / 2022-02-09
5
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.2...v3.11.0)
6
+
7
+ Enhancements:
8
+
9
+ * Improve pluralisation of words ending with `s` (like process). (Joshua Pinter, #2779)
10
+ * Add ordering by file modification time (most recent first). (Matheus Richard, #2778)
11
+ * Add `to_s` to reserved names for #let and #subject. (Nick Flückiger, #2886)
12
+ * Introduce `RSpec.current_scope` to expose the current scope in which
13
+ RSpec is executing. e.g. `:before_example_hook`, `:example` etc. (@odinhb, #2895)
14
+ * Add named bold colours as options for custom colours. (#2913, #2914)
15
+ * Warn when (but not prevent) a `SystemExit` occurs. (Jared Beck, #2926)
16
+
17
+ ### 3.10.2 / 2022-01-27
18
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.1...v3.10.2)
19
+
20
+ Bug fixes:
21
+
22
+ * Ensure bisect communication uses consistent encoding. (Mike Jarema, #2852)
23
+ * Fix exception presenter when the root cause exception has nil backtrace.
24
+ (Zinovyev Ivan, #2903)
25
+ * Fix `inspect` output of `RSpec::Core::Example::Procsy` to namespace correctly.
26
+ (Keiko Kaneko, #2915)
27
+ * Ensure formatters not exposing `#output` will not crash duplicate check.
28
+ (@niceking, #2916)
29
+
30
+ ### 3.10.1 / 2020-12-27
31
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1)
32
+
33
+ Bug fixes:
34
+
35
+ * RSpec warning output was missing deprecations from Ruby, these are now included.
36
+ (Jon Rowe, #2811)
37
+
38
+ ### 3.10.0 / 2020-10-30
39
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0)
40
+
41
+ Enhancements:
42
+
43
+ * Memoize `RSpec::Core::Formatters::ExceptionPresenter#exception_lines` to improve performance
44
+ with slow exception messages. (Maxime Lapointe, #2743)
45
+ * Add configuration for an error exit code (to disambiguate errored builds from failed builds
46
+ by exit status). (Dana Sherson, #2749)
47
+
48
+ ### 3.9.3 / 2020-09-30
49
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.2...v3.9.3)
50
+
51
+ Bug Fixes:
52
+
53
+ * Declare `ruby2_keywords` on `method_missing` for other gems. (Jon Rowe, #2731)
54
+ * Ensure custom error codes are returned from bisect runs. (Jon Rowe, #2732)
55
+ * Ensure `RSpec::Core::Configuration` predicate config methods return booleans.
56
+ (Marc-André Lafortune, #2736)
57
+ * Prevent `rspec --bisect` from generating zombie processes while executing
58
+ bisect runs. (Benoit Tigeot, Jon Rowe, #2739)
59
+ * Predicates for pending examples, (in `RSpec::Core::Example`, `#pending?`, `#skipped?` and
60
+ `#pending_fixed?`) now return boolean values rather than truthy values.
61
+ (Marc-André Lafortune, #2756, #2758)
62
+ * Exceptions which have a message which cannot be cast to a string will no longer
63
+ cause a crash. (Jon Rowe, #2761)
64
+
65
+ ### 3.9.2 / 2020-05-02
66
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.1...v3.9.2)
67
+
68
+ Bug Fixes:
69
+
70
+ * Emit a warning when `around` hook is used with `:context` scope
71
+ (Phil Pirozhkov, #2687)
72
+ * Prevent invalid implementations of `Exception#cause` from being treated as a
73
+ valid cause (and causing strange errors) in `RSpec::Core::Formatters::ExceptionPresenter`.
74
+ (Jon Rowe, #2703)
75
+ * Correctly detect patterns when `rspec_opts` is an array in `RSpec::Core::RakeTask`.
76
+ (Marc-André Lafortune, #2704)
77
+ * Make `RSpec.clear_examples` reset example counts for example groups. This fixes
78
+ an issue with re-running specs not matching ids. (Agis Anastasopoulos, #2723)
79
+
80
+ ### 3.9.1 / 2019-12-28
81
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.0...v3.9.1)
82
+
83
+ Bug Fixes:
84
+
85
+ * Prevent bisect command from blocking when number of specs exceeds file
86
+ descriptor limit on OSX or Linux. (Benoit Tigeot, #2669)
87
+ * Prevent warnings being issued on Ruby 2.7.0. (Jon Rowe, #2680)
88
+
89
+ ### 3.9.0 / 2019-10-07
90
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.2...v3.9.0)
91
+
92
+ Enhancements:
93
+
94
+ * Improve the handling of errors during loading support files, if a file
95
+ errors before loading specs, RSpec will now skip loading the specs.
96
+ (David Rodríguez, #2568)
97
+ * Add support for --example-matches to run examples by regular expression.
98
+ (Sam Joseph, Matt Rider, @okothkongo1, #2586)
99
+ * Add `did_you_mean` suggestions for file names encountering a `LoadError`
100
+ outside of examples. (@obromios, #2601)
101
+ * Add a minimalist quick fix style formatter, only outputs failures as
102
+ `file:line:message`. (Romain Tartière, #2614)
103
+ * Convert string number values to integer when used for `RSpec::Configuration#fail_fast`
104
+ (Viktor Fonic, #2634)
105
+ * Issue warning when invalid values are used for `RSpec::Configuration#fail_fast`
106
+ (Viktor Fonic, #2634)
107
+ * Add support for running the Rake task in a clean environment.
108
+ (Jon Rowe, #2632)
109
+ * Indent messages by there example group / example in the documentation formatter.
110
+ (Samuel Williams, #2649)
111
+
112
+ ### 3.8.2 / 2019-06-29
113
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.1...v3.8.2)
114
+
115
+ Bug Fixes:
116
+
117
+ * Fix `config.define_derived_metadata` so that cascades are not triggered
118
+ until metadata has been assigned to the example or example group
119
+ (Myron Marston, #2635).
120
+
121
+ ### 3.8.1 / 2019-06-13
122
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...v3.8.1)
123
+
124
+ Bug Fixes:
125
+
126
+ * Handle RSpec description(s) with japanese chars in CP932 encoded files.
127
+ (Benoit Tigeot, #2575)
128
+ * When defining `let` methods that overwrite an existing method, prevent
129
+ a warning being issued by removing the old definition. (Jon Rowe, #2593)
130
+ * Prevent warning on Ruby 2.6.0-rc1 (Keiji Yoshimi, #2582)
131
+ * Fix `config.define_derived_metadata` so that it supports cascades.
132
+ (Myron Marston, #2630).
133
+
134
+ ### 3.8.0 / 2018-08-04
135
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.7.1...v3.8.0)
136
+
137
+ Enhancements:
138
+
139
+ * Improve shell escaping used by `RSpec::Core::RakeTask` and `--bisect` so
140
+ that it works on `Pathname` objects. (Andrew Vit, #2479)
141
+ * Nicely format errors encountered while loading files specified
142
+ by `--require` option. (Myron Marston, #2504)
143
+ * Significantly improve the performance of `--bisect` on platforms that
144
+ support forking by replacing the shell-based runner with one that uses
145
+ forking so that RSpec and the application environment can be booted only
146
+ once, instead of once per spec run. (Myron Marston, #2511)
147
+ * Provide a configuration API to pick which bisect runner is used for
148
+ `--bisect`. Pick a runner via `config.bisect_runner = :shell` or
149
+ `config.bisect_runner = :fork` in a file loaded by a `--require`
150
+ option passed at the command line or set in `.rspec`. (Myron Marston, #2511)
151
+ * Support the [XDG Base Directory
152
+ Specification](https://specifications.freedesktop.org/basedir-spec/latest/)
153
+ for the global options file. `~/.rspec` is still supported when no
154
+ options file is found in `$XDG_CONFIG_HOME/rspec/options` (Magnus Bergmark, #2538)
155
+ * Extract `RSpec.world.prepare_example_filtering` that sets up the
156
+ example filtering for custom RSpec runners. (Oleg Pudeyev, #2552)
157
+
158
+ Bug Fixes:
159
+
160
+ * Prevent an `ArgumentError` when truncating backtraces with two identical
161
+ backtraces. (Systho, #2515, Benoit Tigeot, #2539)
162
+
163
+ ### 3.7.1 / 2018-01-02
164
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.7.0...v3.7.1)
165
+
166
+ Bug Fixes:
167
+
168
+ * Work around duplicate config hook regression introduced
169
+ by Ruby 2.5's lazy proc allocation. (Myron Marston, #2497)
170
+
171
+ ### 3.7.0 / 2017-10-17
172
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0...v3.7.0)
173
+
174
+ Enhancements:
175
+
176
+ * Add `-n` alias for `--next-failure`. (Ian Ker-Seymer, #2434)
177
+ * Improve compatibility with `--enable-frozen-string-literal` option
178
+ on Ruby 2.3+. (Pat Allan, #2425, #2427, #2437)
179
+ * Do not run `:context` hooks for example groups that have been skipped.
180
+ (Devon Estes, #2442)
181
+ * Add `errors_outside_of_examples_count` to the JSON formatter.
182
+ (Takeshi Arabiki, #2448)
183
+
184
+ Bug Fixes:
185
+
186
+ * Improve compatibility with frozen string literal flag. (#2425, Pat Allan)
187
+
188
+ ### 3.6.0 / 2017-05-04
189
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0.beta2...v3.6.0)
190
+
191
+ Enhancements:
192
+
193
+ * Add seed information to JSON formatter output. (#2388, Mitsutaka Mimura)
194
+ * Include example id in the JSON formatter output. (#2369, Xavier Shay)
195
+ * Respect changes to `config.output_stream` after formatters have been
196
+ setup. (#2401, #2419, Ilya Lavrov)
197
+
198
+ Bug Fixes:
199
+
200
+ * Delay formatter loading until the last minute to allow accessing the reporter
201
+ without triggering formatter setup. (Jon Rowe, #2243)
202
+ * Ensure context hook failures running before an example can access the
203
+ reporter. (Jon Jensen, #2387)
204
+ * Multiple fixes to allow using the runner multiple times within the same
205
+ process: `RSpec.clear_examples` resets the formatter and no longer clears
206
+ shared examples, and streams can be used across multiple runs rather than
207
+ being closed after the first. (#2368, Xavier Shay)
208
+ * Prevent unexpected `example_group_finished` notifications causing an error.
209
+ (#2396, VTJamie)
210
+ * Fix bugs where `config.when_first_matching_example_defined` hooks would fire
211
+ multiple times in some cases. (Yuji Nakayama, #2400)
212
+ * Default `last_run_status` to "unknown" when the `status` field in the
213
+ persistence file contains an unrecognized value. (#2360, matrinox)
214
+ * Prevent `let` from defining an `initialize` method. (#2414, Jon Rowe)
215
+
216
+ ### 3.6.0.beta2 / 2016-12-12
217
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.6.0.beta1...v3.6.0.beta2)
218
+
219
+ Enhancements:
220
+
221
+ * Include count of errors occurring outside examples in default summaries.
222
+ (#2351, Jon Rowe)
223
+ * Warn when including shared example groups recursively. (#2356, Jon Rowe)
224
+ * Improve failure snippet syntax highlighting with CodeRay to highlight
225
+ RSpec "keywords" like `expect`. (#2358, Myron Marston)
226
+
227
+ ### 3.6.0.beta1 / 2016-10-09
228
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.4...v3.6.0.beta1)
229
+
230
+ Enhancements:
231
+
232
+ * Warn when duplicate shared examples definitions are loaded due to being
233
+ defined in files matching the spec pattern (e.g. `_spec.rb`) (#2278, Devon Estes)
234
+ * Improve metadata filtering so that it can match against any object
235
+ that implements `===` instead of treating regular expressions as
236
+ special. (Myron Marston, #2294)
237
+ * Improve `rspec -v` so that it prints out the versions of each part of
238
+ RSpec to prevent confusion. (Myron Marston, #2304)
239
+ * Add `config.fail_if_no_examples` option which causes RSpec to fail if
240
+ no examples are found. (Ewa Czechowska, #2302)
241
+ * Nicely format errors encountered while loading spec files.
242
+ (Myron Marston, #2323)
243
+ * Improve the API for enabling and disabling color output (Josh
244
+ Justice, #2321):
245
+ * Automatically enable color if the output is a TTY, since color is
246
+ nearly always desirable if the output can handle it.
247
+ * Introduce new CLI flag to force color on (`--force-color`), even
248
+ if the output is not a TTY. `--no-color` continues to work as well.
249
+ * Introduce `config.color_mode` for configuring the color from Ruby.
250
+ `:automatic` is the default and will produce color if the output is
251
+ a TTY. `:on` forces it on and `:off` forces it off.
252
+
253
+ ### 3.5.4 / 2016-09-30
254
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.3...v3.5.4)
255
+
256
+ Bug Fixes:
257
+
258
+ * Remove accumulated `ExampleGroup` constants when reseting RSpec,
259
+ preventing a memory leak. (TravisSpangle, #2328)
260
+
261
+ ### 3.5.3 / 2016-09-02
262
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.2...v3.5.3)
263
+
264
+ Bug Fixes:
265
+
266
+ * When applying shared group metadata to a host group, overwrite
267
+ conflicting keys if the value in the host group was inherited from
268
+ a parent group instead of being specified at that level.
269
+ (Myron Marston, #2307)
270
+ * Handle errors in `:suite` hooks and provide the same nicely formatted
271
+ output as errors that happen in examples. (Myron Marston, #2316)
272
+ * Set the exit status to non-zero when an error occurs in an
273
+ `after(:context)` hook. (Myron Marston, #2320)
274
+
275
+ ### 3.5.2 / 2016-07-28
276
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.1...v3.5.2)
277
+
278
+ Bug Fixes:
279
+
280
+ * Wait to report `example_finished` until the example's `execution_result`
281
+ has been completely filled in. (Myron Marston, #2291)
282
+ * Make sure example block is still available when using `duplicate_with`
283
+ to clone examples. (bootstraponline, #2298)
284
+ * Don't include the default `--pattern` in the Rake task when
285
+ `rspec_opts` specifies its own. (Jon Rowe, #2305)
286
+
287
+ ### 3.5.1 / 2016-07-06
288
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0...v3.5.1)
289
+
290
+ Bug Fixes:
291
+
292
+ * Ensure that config hooks that are added to existing example groups are
293
+ added only once. (Eugene Kenny, #2280)
294
+
295
+ ### 3.5.0 / 2016-07-01
296
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta4...v3.5.0)
297
+
298
+ Enhancements:
299
+
300
+ * Include any `SPEC_OPTS` in reproduction command printed at the end of
301
+ a bisect run. (Simon Coffey, #2274)
302
+
303
+ Bug Fixes:
304
+
305
+ * Handle `--bisect` in `SPEC_OPTS` environment variable correctly so as
306
+ to avoid infinite recursion. (Simon Coffey, #2271)
307
+
308
+ ### 3.5.0.beta4 / 2016-06-05
309
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta3...v3.5.0.beta4)
310
+
311
+ Enhancements:
312
+
313
+ * Filter out bundler stackframes from backtraces by default, since
314
+ Bundler 1.12 now includes its own frames in stack traces produced
315
+ by using `bundle exec`. (Myron Marston, #2240)
316
+ * HTML Formatter uses exception presenter to get failure message
317
+ for consistency with other formatters. (@mrageh, #2222)
318
+ * Load spec files in the order of the directories or files passed
319
+ at the command line, making it easy to make some specs run before
320
+ others in a one-off manner. For example, `rspec spec/unit
321
+ spec/acceptance --order defined` will run unit specs before acceptance
322
+ specs. (Myron Marston, #2253)
323
+ * Add new `config.include_context` API for configuring global or
324
+ filtered inclusion of shared contexts in example groups.
325
+ (Myron Marston, #2256)
326
+ * Add new `config.shared_context_metadata_behavior = :apply_to_host_groups`
327
+ option, which causes shared context metadata to be inherited by the
328
+ metadata hash of all host groups and examples instead of configuring
329
+ implicit auto-inclusion based on the passed metadata. (Myron Marston, #2256)
330
+
331
+ Bug Fixes:
332
+
333
+ * Fix `--bisect` so it works on large spec suites that were previously triggering
334
+ "Argument list too long errors" due to all the spec locations being passed as
335
+ CLI args. (Matt Jones, #2223).
336
+ * Fix deprecated `:example_group`-based filtering so that it properly
337
+ applies to matching example groups. (Myron Marston, #2234)
338
+ * Fix `NoMethodError` caused by Java backtraces on JRuby. (Michele Piccirillo, #2244)
339
+
340
+ ### 3.5.0.beta3 / 2016-04-02
341
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta2...v3.5.0.beta3)
342
+
343
+ Enhancements:
344
+
345
+ * Add new `config.filter_run_when_matching` API, intended to replace
346
+ the combination of `config.filter_run` and
347
+ `config.run_all_when_everything_filtered` (Myron Marston, #2206)
348
+
349
+ Bug Fixes:
350
+
351
+ * Use the encoded string logic for source extraction. (Jon Rowe, #2183)
352
+ * Fix rounding issue in duration formatting helper. (Fabersky, Jon Rowe, #2208)
353
+ * Fix failure snippet extraction so that `def-end` snippets
354
+ ending with `end`-only line can be extracted properly.
355
+ (Yuji Nakayama, #2215)
356
+
357
+ ### 3.5.0.beta2 / 2016-03-10
358
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.5.0.beta1...v3.5.0.beta2)
359
+
360
+ Enhancements:
361
+
362
+ * Remove unneeded `:execution_result` example group metadata, saving a
363
+ bit of memory. (Myron Marston, #2172)
364
+ * Apply hooks registered with `config` to previously defined groups.
365
+ (Myron Marston, #2189)
366
+ * `RSpec::Core::Configuration#reporter` is now public API under SemVer.
367
+ (Jon Rowe, #2193)
368
+ * Add new `config.when_first_matching_example_defined` hook. (Myron
369
+ Marston, #2175)
370
+
371
+ ### 3.5.0.beta1 / 2016-02-06
372
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.4...v3.5.0.beta1)
373
+
374
+ Enhancements:
375
+
376
+ * Add `RSpec::Core::ExampleGroup.currently_executing_a_context_hook?`,
377
+ primarily for use by rspec-rails. (Sam Phippen, #2131)
378
+
379
+ Bug Fixes:
380
+
381
+ * Ensure `MultipleExceptionError` does not contain a recursive reference
382
+ to itself. (Sam Phippen, #2133)
383
+
384
+ ### 3.4.4 / 2016-03-09
385
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.3...v3.4.4)
386
+
387
+ Bug Fixes:
388
+
389
+ * Fix `RSpec::Core::RakeTask` so that it works with Rake 11.
390
+ (Travis Grathwell, #2197)
391
+
392
+ ### 3.4.3 / 2016-02-19
393
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.2...v3.4.3)
394
+
395
+ Bug Fixes:
396
+
397
+ * Prevent a `TypeError` from occurring when running via the rake task when
398
+ Ruby crashes. (Patrik Wenger, #2161)
399
+ * Only consider example and group declaration lines from a specific file
400
+ when applying line number filtering, instead of considering all
401
+ declaration lines from all spec files. (Myron Marston, #2170)
402
+ * Fix failure snippet extraction so that snippets that contain `do-end` style
403
+ block and end with `end`-only line can be extracted properly.
404
+ (Yuji Nakayama, #2173)
405
+ * Prevent infinite recursion when an exception is caused by itself.
406
+ (Jon Rowe, #2128)
407
+
408
+ ### 3.4.2 / 2016-01-26
409
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.1...v3.4.2)
410
+
411
+ Bug Fixes:
412
+
413
+ * Fix `rspec --profile` when an example calls `abort` or `exit`.
414
+ (Bradley Schaefer, #2144)
415
+ * Fix `--drb` so that when no DRb server is running, it prevents
416
+ the DRb connection error from being listed as the cause of all
417
+ expectation failures. (Myron Marston, #2156)
418
+ * Fix syntax highlighter so that it works when the `coderay` gem is
419
+ installed as a rubygem but not already available on your load path
420
+ (as happens when you use bundler). (Myron Marston, #2159)
421
+
422
+ ### 3.4.1 / 2015-11-18
423
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.4.0...v3.4.1)
424
+
425
+ Bug Fixes:
426
+
427
+ * Fix backtrace formatter to handle backtraces that are `nil`.
428
+ (Myron Marston, #2118)
429
+
430
+ ### 3.4.0 / 2015-11-11
431
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.2...v3.4.0)
432
+
433
+ Enhancements:
434
+
435
+ * Combine multiple `--pattern` arguments making them equivalent to
436
+ `--pattern=1,2,...,n`. (Jon Rowe, #2002)
437
+ * Improve `inspect` and `to_s` output for `RSpec::Core::Example`
438
+ objects, replacing Ruby's excessively verbose output. (Gavin Miller, #1922)
439
+ * Add `silence_filter_announcements` configuration option.
440
+ (David Raffensperger, #2007)
441
+ * Add optional `example_finished` notification to the reporter protocol for
442
+ when you don't care about the example outcome. (Jon Rowe, #2013)
443
+ * Switch `--bisect` to a recursion-based bisection algorithm rather than
444
+ a permutation-based one. This better handles cases where an example
445
+ depends upon multiple other examples instead of just one and minimizes
446
+ the number of runs necessary to determine that an example set cannot be
447
+ minimized further. (Simon Coffey, #1997)
448
+ * Allow simple filters (e.g. `:symbol` key only) to be triggered by truthey
449
+ values. (Tim Mertens, #2035)
450
+ * Remove unneeded warning about need for `ansicon` on Windows when using
451
+ RSpec's `--color` option. (Ashley Engelund, #2038)
452
+ * Add option to configure RSpec to raise errors when issuing warnings.
453
+ (Jon Rowe, #2052)
454
+ * Append the root `cause` of a failure or error to the printed failure
455
+ output when a `cause` is available. (Adam Magan)
456
+ * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
457
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #2063)
458
+ * Add `config.project_source_dirs` setting which RSpec uses to determine
459
+ if a backtrace line comes from your project source or from some
460
+ external library. It defaults to `spec`, `lib` and `app` but can be
461
+ configured differently. (Myron Marston, #2088)
462
+ * Improve failure line detection so that it looks for the failure line
463
+ in any project source directory instead of just in the spec file.
464
+ In addition, if no backtrace lines can be found from a project source
465
+ file, we fall back to displaying the source of the first backtrace
466
+ line. This should virtually eliminate the "Unable to find matching
467
+ line from backtrace" messages. (Myron Marston, #2088)
468
+ * Add support for `:extra_failure_lines` example metadata that will
469
+ be appended to the failure output. (bootstraponline, #2092).
470
+ * Add `RSpec::Core::Example#duplicate_with` to produce new examples
471
+ with cloned metadata. (bootstraponline, #2098)
472
+ * Add `RSpec::Core::Configuration#on_example_group_definition` to register
473
+ hooks to be invoked when example groups are created. (bootstraponline, #2094)
474
+ * Add `add_example` and `remove_example` to `RSpec::Core::ExampleGroup` to
475
+ allow manipulating an example groups examples. (bootstraponline, #2095)
476
+ * Display multiline failure source lines in failure output when Ripper is
477
+ available (MRI >= 1.9.2, and JRuby >= 1.7.5 && < 9.0.0.0.rc1).
478
+ (Yuji Nakayama, #2083)
479
+ * Add `max_displayed_failure_line_count` configuration option
480
+ (defaults to 10). (Yuji Nakayama, #2083)
481
+ * Enhance `fail_fast` option so it can take a number (e.g. `--fail-fast=3`)
482
+ to force the run to abort after the specified number of failures.
483
+ (Jack Scotti, #2065)
484
+ * Syntax highlight the failure snippets in text formatters when `color`
485
+ is enabled and the `coderay` gem is installed on a POSIX system.
486
+ (Myron Marston, #2109)
487
+
488
+ Bug Fixes:
489
+
490
+ * Lock `example_status_persistence_file` when reading from and writing
491
+ to it to prevent race conditions when multiple processes try to use
492
+ it. (Ben Woosley, #2029)
493
+ * Fix regression in 3.3 that caused spec file names with square brackets in
494
+ them (such as `1[]_spec.rb`) to not be loaded properly. (Myron Marston, #2041)
495
+ * Fix output encoding issue caused by ASCII literal on 1.9.3 (Jon Rowe, #2072)
496
+ * Fix requires in `rspec/core/rake_task.rb` to avoid double requires
497
+ seen by some users. (Myron Marston, #2101)
498
+
499
+ ### 3.3.2 / 2015-07-15
500
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.1...v3.3.2)
501
+
502
+ Bug Fixes:
503
+
504
+ * Fix formatters to handle exceptions for which `backtrace` returns `nil`.
505
+ (Myron Marston, #2023)
506
+ * Fix duplicate formatter detection so that it allows subclasses of formatters
507
+ to be added. (Sebastián Tello, #2019)
508
+
509
+ ### 3.3.1 / 2015-06-18
510
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.3.0...v3.3.1)
511
+
512
+ Bug Fixes:
513
+
514
+ * Correctly run `before(:suite)` (and friends) in the context of an example
515
+ group instance, thus making the expected RSpec environment available.
516
+ (Jon Rowe, #1986)
517
+
518
+ ### 3.3.0 / 2015-06-12
519
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.3...v3.3.0)
520
+
521
+ Enhancements:
522
+
523
+ * Expose the reporter used to run examples via `RSpec::Core::Example#reporter`.
524
+ (Jon Rowe, #1866)
525
+ * Make `RSpec::Core::Reporter#message` a public supported API. (Jon Rowe, #1866)
526
+ * Allow custom formatter events to be published via
527
+ `RSpec::Core::Reporter#publish(event_name, hash_of_attributes)`. (Jon Rowe, #1869)
528
+ * Remove dependency on the standard library `Set` and replace with `RSpec::Core::Set`.
529
+ (Jon Rowe, #1870)
530
+ * Assign a unique id to each example and group so that they can be
531
+ uniquely identified, even for shared examples (and similar situations)
532
+ where the location isn't unique. (Myron Marston, #1884)
533
+ * Use the example id in the rerun command printed for failed examples
534
+ when the location is not unique. (Myron Marston, #1884)
535
+ * Add `config.example_status_persistence_file_path` option, which is
536
+ used to persist the last run status of each example. (Myron Marston, #1888)
537
+ * Add `:last_run_status` metadata to each example, which indicates what
538
+ happened the last time an example ran. (Myron Marston, #1888)
539
+ * Add `--only-failures` CLI option which filters to only the examples
540
+ that failed the last time they ran. (Myron Marston, #1888)
541
+ * Add `--next-failure` CLI option which allows you to repeatedly focus
542
+ on just one of the currently failing examples, then move on to the
543
+ next failure, etc. (Myron Marston, #1888)
544
+ * Make `--order random` ordering stable, so that when you rerun a
545
+ subset with a given seed, the examples will be order consistently
546
+ relative to each other. (Myron Marston, #1908)
547
+ * Set example group constant earlier so errors when evaluating the context
548
+ include the example group name (Myron Marson, #1911)
549
+ * Make `let` and `subject` threadsafe. (Josh Cheek, #1858)
550
+ * Add version information into the JSON formatter. (Mark Swinson, #1883)
551
+ * Add `--bisect` CLI option, which will repeatedly run your suite in
552
+ order to isolate the failures to the smallest reproducible case.
553
+ (Myron Marston, #1917)
554
+ * For `config.include`, `config.extend` and `config.prepend`, apply the
555
+ module to previously defined matching example groups. (Eugene Kenny, #1935)
556
+ * When invalid options are parsed, notify users where they came from
557
+ (e.g. `.rspec` or `~/.rspec` or `ENV['SPEC_OPTS']`) so they can
558
+ easily find the source of the problem. (Myron Marston, #1940)
559
+ * Add pending message contents to the json formatter output. (Jon Rowe, #1949)
560
+ * Add shared group backtrace to the output displayed by the built-in
561
+ formatters for pending examples that have been fixed. (Myron Marston, #1946)
562
+ * Add support for `:aggregate_failures` metadata. Tag an example or
563
+ group with this metadata and it'll use rspec-expectations'
564
+ `aggregate_failures` feature to allow multiple failures in an example
565
+ and list them all, rather than aborting on the first failure. (Myron
566
+ Marston, #1946)
567
+ * When no formatter implements #message add a fallback to prevent those
568
+ messages being lost. (Jon Rowe, #1980)
569
+ * Profiling examples now takes into account time spent in `before(:context)`
570
+ hooks. (Denis Laliberté, Jon Rowe, #1971)
571
+ * Improve failure output when an example has multiple exceptions, such
572
+ as one from an `it` block and one from an `after` block. (Myron Marston, #1985)
573
+
574
+ Bug Fixes:
575
+
576
+ * Handle invalid UTF-8 strings within exception methods. (Benjamin Fleischer, #1760)
577
+ * Fix Rake Task quoting of file names with quotes to work properly on
578
+ Windows. (Myron Marston, #1887)
579
+ * Fix `RSpec::Core::RakeTask#failure_message` so that it gets printed
580
+ when the task failed. (Myron Marston, #1905)
581
+ * Make `let` work properly when defined in a shared context that is applied
582
+ to an individual example via metadata. (Myron Marston, #1912)
583
+ * Ensure `rspec/autorun` respects configuration defaults. (Jon Rowe, #1933)
584
+ * Prevent modules overriding example group defined methods when included,
585
+ prepended or extended by config defined after an example group. (Eugene Kenny, #1935)
586
+ * Fix regression which caused shared examples to be mistakenly run when specs
587
+ where filtered to a particular location. (Ben Axnick, #1963)
588
+ * Fix time formatting logic so that it displays 70 seconds as "1 minute,
589
+ 10 seconds" rather than "1 minute, 1 second". (Paul Brennan, #1984)
590
+ * Fix regression where the formatter loader would allow duplicate formatters.
591
+ (Jon Rowe, #1990)
592
+
593
+ ### 3.2.3 / 2015-04-06
594
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.2...v3.2.3)
595
+
596
+ Bug Fixes:
597
+
598
+ * Fix how the DSL methods are defined so that RSpec is compatible with
599
+ gems that define methods of the same name on `Kernel` (such as
600
+ the `its-it` gem). (Alex Kwiatkowski, Ryan Ong, #1907)
601
+ * Fix `before(:context) { skip }` so that it does not wrongly cause the
602
+ spec suite to exit with a non-zero status when no examples failed.
603
+ (Myron Marston, #1926)
604
+
605
+ ### 3.2.2 / 2015-03-11
606
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.1...v3.2.2)
607
+
608
+ Bug Fixes:
609
+
610
+ * Fix regression in 3.2.0 that allowed tag-filtered examples to
611
+ run even if there was a location filter applied to the spec
612
+ file that was intended to limit the file to other examples.
613
+ (#1894, Myron Marston)
614
+
615
+ ### 3.2.1 / 2015-02-23
616
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.2.0...v3.2.1)
617
+
618
+ Bug Fixes:
619
+
620
+ * Notify start-of-run seed _before_ `start` notification rather than
621
+ _after_ so that formatters like Fuubar work properly. (Samuel Esposito, #1882)
622
+
623
+ ### 3.2.0 / 2015-02-03
624
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.7...v3.2.0)
625
+
626
+ Enhancements:
627
+
628
+ * Improve the `inspect` output of example groups. (Mike Dalton, #1687)
629
+ * When rake task fails, only output the command if `verbose` flag is
630
+ set. (Ben Snape, #1704)
631
+ * Add `RSpec.clear_examples` as a clear way to reset examples in between
632
+ spec runs, whilst retaining user configuration. (Alexey Fedorov, #1706)
633
+ * Reduce string allocations when defining and running examples by 70%
634
+ and 50% respectively. (Myron Marston, #1738)
635
+ * Removed dependency on pathname from stdlib. (Sam Phippen, #1703)
636
+ * Improve the message presented when a user hits Ctrl-C.
637
+ (Alex Chaffee #1717, #1742)
638
+ * Improve shared example group inclusion backtrace displayed
639
+ in failed example output so that it works for all methods
640
+ of including shared example groups and shows all inclusion
641
+ locations. (Myron Marston, #1763)
642
+ * Issue seed notification at start (as well as the end) of the reporter
643
+ run. (Arlandis Word, #1761)
644
+ * Improve the documentation of around hooks. (Jim Kingdon, #1772)
645
+ * Support prepending of modules into example groups from config and allow
646
+ filtering based on metadata. (Arlandis Word, #1806)
647
+ * Emit warnings when `:suite` hooks are registered on an example group
648
+ (where it has always been ignored) or are registered with metadata
649
+ (which has always been ignored). (Myron Marston, #1805)
650
+ * Provide a friendly error message when users call RSpec example group
651
+ APIs (e.g. `context`, `describe`, `it`, `let`, `before`, etc) from
652
+ within an example where those APIs are unavailable. (Myron Marston, #1819)
653
+ * Provide a friendly error message when users call RSpec example
654
+ APIs (e.g. `expect`, `double`, `stub_const`, etc) from
655
+ within an example group where those APIs are unavailable.
656
+ (Myron Marston, #1819)
657
+ * Add new `RSpec::Core::Sandbox.sandboxed { }` API that facilitates
658
+ testing RSpec with RSpec, allowing you to define example groups
659
+ and example from within an example without affecting the global
660
+ `RSpec.world` state. (Tyler Ball, 1808)
661
+ * Apply line-number filters only to the files they are scoped to,
662
+ allowing you to mix filtered and unfiltered files. (Myron Marston, #1839)
663
+ * When dumping pending examples, include the failure details so that you
664
+ don't have to un-pend the example to see it. (Myron Marston, #1844)
665
+ * Make `-I` option support multiple values when separated by
666
+ `File::PATH_SEPARATOR`, such as `rspec -I foo:bar`. This matches
667
+ the behavior of Ruby's `-I` option. (Fumiaki Matsushima, #1855).
668
+ * Treat each example as having a singleton example group for the
669
+ purposes of applying metadata-based features that normally apply
670
+ to example groups to individually tagged examples. For example,
671
+ `RSpec.shared_context "Uses redis", :uses_redis` will now apply
672
+ to individual examples tagged with `:uses_redis`, as will
673
+ `config.include RedisHelpers, :uses_redis`, and
674
+ `config.before(:context, :uses_redis) { }`, etc. (Myron Marston, #1749)
675
+
676
+ Bug Fixes:
677
+
678
+ * When assigning generated example descriptions, surface errors
679
+ raised by `matcher.description` in the example description.
680
+ (Myron Marston, #1771)
681
+ * Don't consider expectations from `after` hooks when generating
682
+ example descriptions. (Myron Marston, #1771)
683
+ * Don't apply metadata-filtered config hooks to examples in groups
684
+ with matching metadata when those examples override the parent
685
+ metadata value to not match. (Myron Marston, #1796)
686
+ * Fix `config.expect_with :minitest` so that `skip` uses RSpec's
687
+ implementation rather than Minitest's. (Jonathan Rochkind, #1822)
688
+ * Fix `NameError` caused when duplicate example group aliases are defined and
689
+ the DSL is not globally exposed. (Aaron Kromer, #1825)
690
+ * When a shared example defined in an external file fails, use the host
691
+ example group (from a loaded spec file) for the re-run command to
692
+ ensure the command will actually work. (Myron Marston, #1835)
693
+ * Fix location filtering to work properly for examples defined in
694
+ a nested example group within a shared example group defined in
695
+ an external file. (Bradley Schaefer, Xavier Shay, Myron Marston, #1837)
696
+ * When a pending example fails (as expected) due to a mock expectation,
697
+ set `RSpec::Core::Example::ExecutionResult#pending_exception` --
698
+ previously it was not being set but should have been. (Myron Marston, #1844)
699
+ * Fix rake task to work when `rspec-core` is installed in a directory
700
+ containing a space. (Guido Günther, #1845)
701
+ * Fix regression in 3.1 that caused `describe Regexp` to raise errors.
702
+ (Durran Jordan, #1853)
703
+ * Fix regression in 3.x that caused the profile information to be printed
704
+ after the summary. (Max Lincoln, #1857)
705
+ * Apply `--seed` before loading `--require` files so that required files
706
+ can access the provided seed. (Myron Marston, #1745)
707
+ * Handle `RSpec::Core::Formatters::DeprecationFormatter::FileStream` being
708
+ reopened with an IO stream, which sometimes happens with spring.
709
+ (Kevin Mook, #1757)
710
+
711
+ ### 3.1.7 / 2014-10-11
712
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.6...v3.1.7)
713
+
714
+ Bug Fixes:
715
+
716
+ * Fix `Metadata.relative_path` so that for a current directory of
717
+ `/foo/bar`, `/foo/bar_1` is not wrongly converted to `._1`.
718
+ (Akos Vandra, #1730)
719
+ * Prevent constant lookup mistakenly finding `RSpec::ExampleGroups` generated
720
+ constants on 1.9.2 by appending a trailing `_` to the generated names.
721
+ (Jon Rowe, #1737)
722
+ * Fix bug in `:pending` metadata. If it got set in any way besides passing
723
+ it as part of the metadata literal passed to `it` (such as by using
724
+ `define_derived_metadata`), it did not have the desired effect,
725
+ instead marking the example as `:passed`. (Myron Marston, #1739)
726
+
727
+ ### 3.1.6 / 2014-10-08
728
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.5...v3.1.6)
729
+
730
+ Bug Fixes:
731
+
732
+ * Fix regression in rake task pattern handling, that prevented patterns
733
+ that were relative from the current directory rather than from `spec`
734
+ from working properly. (Myron Marston, #1734)
735
+ * Prevent rake task from generating duplicate load path entries.
736
+ (Myron Marston, #1735)
737
+
738
+ ### 3.1.5 / 2014-09-29
739
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.4...v3.1.5)
740
+
741
+ Bug Fixes:
742
+
743
+ * Fix issue with the rake task incorrectly escaping strings on Windows.
744
+ (Jon Rowe #1718)
745
+ * Support absolute path patterns. While this wasn't officially supported
746
+ previously, setting `rake_task.pattern` to an absolute path pattern in
747
+ RSpec 3.0 and before worked since it delegated to `FileList` internally
748
+ (but now just forwards the pattern on to the `rspec` command).
749
+ (Myron Marston, #1726)
750
+
751
+ ### 3.1.4 / 2014-09-18
752
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.3...v3.1.4)
753
+
754
+ Bug Fixes:
755
+
756
+ * Fix implicit `subject` when using `describe false` or `describe nil`
757
+ so that it returns the provided primitive rather than the string
758
+ representation. (Myron Marston, #1710)
759
+ * Fix backtrace filtering to allow code in subdirectories of your
760
+ current working directory (such as vendor/bundle/...) to be filtered
761
+ from backtraces. (Myron Marston, #1708)
762
+
763
+ ### 3.1.3 / 2014-09-15
764
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.2...v3.1.3)
765
+
766
+ Bug Fixes:
767
+
768
+ * Fix yet another regression in rake task pattern handling, to allow
769
+ `task.pattern = FileList["..."]` to work. That was never intended
770
+ to be supported but accidentally worked in 3.0 and earlier.
771
+ (Myron Marston, #1701)
772
+ * Fix pattern handling so that files are normalized to absolute paths
773
+ before subtracting the `--exclude-pattern` matched files from the
774
+ `--pattern` matched files so that it still works even if the patterns
775
+ are in slightly different forms (e.g. one starting with `./`).
776
+ (Christian Nelson, #1698)
777
+
778
+ ### 3.1.2 / 2014-09-08
779
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.1...v3.1.2)
780
+
781
+ Bug Fixes:
782
+
783
+ * Fix another regression in rake task pattern handling, so that patterns
784
+ that start with `./` still work. (Christian Nelson, #1696)
785
+
786
+ ### 3.1.1 / 2014-09-05
787
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.1.0...v3.1.1)
788
+
789
+ Bug Fixes:
790
+
791
+ * Fix a regression in rake task pattern handling, so that `rake_task.pattern = array`
792
+ works again. While we never intended to support array values (or even knew that worked!),
793
+ the implementation from 3.0 and earlier used `FileList` internally, which allows arrays.
794
+ The fix restores the old behavior. (Myron Marston, #1694)
795
+
796
+ ### 3.1.0 / 2014-09-04
797
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.4...v3.1.0)
798
+
799
+ Enhancements:
800
+
801
+ * Update files generated by `rspec --init` so that warnings are enabled
802
+ in commented out section of `spec_helper` rather than `.rspec` so users
803
+ have to consciously opt-in to the setting. (Andrew Hooker, #1572)
804
+ * Update `spec_helper` generated by `rspec --init` so that it sets the new
805
+ rspec-expectations `include_chain_clauses_in_custom_matcher_descriptions`
806
+ config option (which will be on by default in RSpec 4) and also sets the
807
+ rspec-mocks `verify_partial_doubles` option (which will also default
808
+ to on in RSpec 4). (Myron Marston, #1647)
809
+ * Provide an `inspect` output for example procsy objects (used in around
810
+ hooks) that doesn't make them look like procs. (Jon Rowe, #1620)
811
+ * Remove a few unneeded `require` statements from
812
+ `rspec/core/rake_task.rb`, making it even more lighterweight.
813
+ (Myron Marston, #1640)
814
+ * Allow rspec-core to be used when neither rspec-mocks or
815
+ rspec-expectations are installed, without requiring any
816
+ user configuration. (Sam Phippen, Myron Marston, #1615)
817
+ * Don't filter out gems from backtraces by default. (The RSpec
818
+ gems will still be filtered). User feedback has indicated
819
+ that including gems in default backtraces will be useful.
820
+ (Myron Marston, #1641)
821
+ * Add new `config.filter_gems_from_backtrace "rack", "rake"` API
822
+ to easily filter the named gems from backtraces. (Myron Marston, #1682)
823
+ * Fix default backtrace filters so that the RSpec binary is
824
+ excluded when installing RSpec as a bundler `:git` dependency.
825
+ (Myron Marston, #1648)
826
+ * Simplify command generated by the rake task so that it no longer
827
+ includes unnecessary `-S`. (Myron Marston, #1559)
828
+ * Add `--exclude-pattern` CLI option, `config.exclude_pattern =` config
829
+ option and `task.exclude_pattern =` rake task config option. Matching
830
+ files will be excluded. (John Gesimondo, Myron Marston, #1651, #1671)
831
+ * When an around hook fails to execute the example, mark it as
832
+ pending (rather than passing) so the user is made aware of the
833
+ fact that the example did not actually run. (Myron Marston, #1660)
834
+ * Remove dependency on `FileUtils` from the standard library so that users do
835
+ not get false positives where their code relies on it but they are not
836
+ requiring it. (Sam Phippen, #1565)
837
+
838
+ Bug Fixes:
839
+
840
+ * Fix rake task `t.pattern =` option so that it does not run all specs
841
+ when it matches no files, by passing along a `--pattern` option to
842
+ the `rspec` command, rather than resolving the file list and passing
843
+ along the files individually. (Evgeny Zislis, #1653)
844
+ * Fix rake task default pattern so that it follows symlinks properly.
845
+ (Myron Marston, #1672)
846
+ * Fix default pattern used with `rspec` command so that it follows
847
+ symlinks properly. (Myron Marston, #1672)
848
+ * Change how we assign constant names to example group classes so that
849
+ it avoids a problem with `describe "Core"`. (Daniela Wellisz, #1679)
850
+ * Handle rendering exceptions that have a different encoding than that
851
+ of their original source file. (Jon Rowe, #1681)
852
+ * Allow access to message_lines without colour for failed examples even
853
+ when they're part of a shared example group. (tomykaira, #1689)
854
+
855
+ ### 3.0.4 / 2014-08-14
856
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.3...v3.0.4)
857
+
858
+ Bug Fixes:
859
+
860
+ * Fix processing order of CLI options so that if `config.files_to_run`
861
+ is accessed from a file loaded by `--require`, `--pattern` is still
862
+ applied. (Myron Marston, #1652)
863
+ * Fix `config.pattern=` so that it still takes affect even if
864
+ `config.files_to_run` has already been accessed. (Myron Marston, #1652)
865
+
866
+ ### 3.0.3 / 2014-07-21
867
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.2...v3.0.3)
868
+
869
+ Bug Fixes:
870
+
871
+ * Properly convert both parts of a description into strings before
872
+ concatenation. (@nicklink483, #1636)
873
+ * Exclude the working directory when figuring out folders to ignore.
874
+ (Jon Rowe, Myron Marston, #1616)
875
+ * Allow `::RSpec::Core::Notifications::FailedExampleNotification#message_lines`
876
+ to be accessed without a colouriser. (@tomykaira, #1637)
877
+
878
+ ### 3.0.2 / 2014-06-19
879
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.1...v3.0.2)
880
+
881
+ Bug Fixes:
882
+
883
+ * Fix regression in CLI option handling that prevented `--tag slow`
884
+ passed at the command line from overriding `--tag ~slow` in `.rspec`.
885
+ (Colin Jones, #1602)
886
+ * Fix metadata `:example_group` deprecation warning so that it gets
887
+ issued at the call site of the configuration that specified it as
888
+ a filter rather than later when an example group is defined.
889
+ (Myron Marston, #1562)
890
+ * Make the line that is printed when a shared example group fails indicating
891
+ where the concrete example group is white, separating it from the stack trace
892
+ that is produced for the failure. (Sam Phippen, Jon Rowe, #1606)
893
+
894
+ ### 3.0.1 / 2014-06-12
895
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0...v3.0.1)
896
+
897
+ Bug Fixes:
898
+
899
+ * Fix a couple ruby warnings caused by rspec-core when loaded.
900
+ (Prem Sichanugrist, #1584)
901
+ * Example groups named `Config` will no longer cause a Ruby warning to be
902
+ issued. (Jimmy Cuadra, #1580)
903
+
904
+ ### 3.0.0 / 2014-06-01
905
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.rc1...v3.0.0)
906
+
907
+ Bug Fixes:
908
+
909
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
910
+ stream. (Myron Marston)
911
+ * Fix regression in metadata that caused the metadata hash of a top-level
912
+ example group to have a `:parent_example_group` key even though it has
913
+ no parent example group. (Myron Marston)
914
+
915
+ Enhancements:
916
+
917
+ * Alter the default `spec_helper.rb` to no longer recommend
918
+ `config.full_backtrace = true` see #1536 for discussion. (Jon Rowe)
919
+
920
+ ### 3.0.0.rc1 / 2014-05-18
921
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta2...v3.0.0.rc1)
922
+
923
+ Breaking Changes for 3.0.0:
924
+
925
+ * Change `described_class` so that in a nested group like `describe
926
+ MyClass`, it returns `MyClass` rather than the outer group's described
927
+ class. (Myron Marston)
928
+ * Refactor filter manager so that it no longer subclasses Hash and has a
929
+ tighter, more domain-specific interface. (Sergey Pchelincev)
930
+ * Remove legacy colours definitions from `BaseTextFormatter`. (Jon Rowe)
931
+ * Remove console color definitions from `BaseTextFormatter`. (Jon Rowe)
932
+ * Restructure example group metadata so that the computed keys are
933
+ exposed directly off of the metadata hash rather than being on
934
+ a nested `:example_group` subhash. In addition, the parent example
935
+ group metadata is now available as `[:parent_example_group]` rather
936
+ than `[:example_group][:example_group]`. Deprecated access via the
937
+ old key structure is still provided. (Myron Marston)
938
+ * Remove `:describes` metadata key. It duplicates `:described_class`
939
+ for no good reason. Deprecated access via `:describes` is still
940
+ provided. (Myron Marston)
941
+ * Rename `:example_group_block` metadata key to `:block`.
942
+ (Myron Marston)
943
+ * Remove deprecated `RSpec::Core::Example#options`. (Myron Marston)
944
+ * Move `BaseTextFormatter#colorize_summary` to `SummaryNotification#colorize_with`
945
+ (Jon Rowe).
946
+ * `describe some_hash` treated `some_hash` as metadata in RSpec 2.x but
947
+ will treat it as the described object in RSpec 3.0. Metadata must
948
+ always come after the description args. (Myron Marston)
949
+ * Remove deprecated `display_name` alias of `ExampleGroup.description`.
950
+ (Myron Marston)
951
+ * Remove deprecated `describes` alias of `ExampleGroup.described_class`.
952
+ (Myron Marston)
953
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_it_behaves_like_to`.
954
+ Use `RSpec::Core::Configuration#alias_it_behaves_like_to` instead.
955
+ (Myron Marston)
956
+ * Remove deprecated `RSpec::Core::ExampleGroup.alias_example_to`.
957
+ Use `RSpec::Core::Configuration#alias_example_to` instead.
958
+ (Myron Marston)
959
+ * Removed `focused` example alias and change example/group aliases
960
+ `fit`, `focus`, `fcontext` and `fdescribe` to no longer include
961
+ `:focused => true` metadata. They only contain `:focus => true`
962
+ metadata now. This means that you will need to filter them with
963
+ `filter_run :focus`, not `filter_run :focused`. (Myron Marston)
964
+ * Remove `--line-number` filtering. It's semantically dubious since it's
965
+ a global filter (potentially applied to multiple files) but there's no
966
+ meaningful connection between the same line number in multiple files.
967
+ Instead use the `rspec path/to/spec.rb:23:46` form, which is terser
968
+ and makes more sense as it is scoped to a file. (Myron Marston)
969
+ * Remove `--default_path` as an alias for `--default-path`. (Jon Rowe)
970
+ * Remove deprecated `share_examples_for`. There's still
971
+ `shared_examples` and `shared_examples_for`. (Myron Marston)
972
+ * Rename `RSpec::Core::Configuration#warnings` to
973
+ `RSpec::Core::Configuration#warnings?` since it's a boolean flag.
974
+ (Myron Marston)
975
+ * RSpec's global state is no longer reset after a spec run. This gives
976
+ more flexibility to alternate runners to decide when and if they
977
+ want the state reset. Alternate runners are now responsible for
978
+ calling this (or doing a similar reset) if they are going to run
979
+ the spec suite multiple times in the same process. (Sam Phippen)
980
+ * Merge `RSpec::Core::CommandLine` (never formally declared public)
981
+ into `RSpec::Core::Runner`. (Myron Marston)
982
+ * Remove `color_enabled` as an alias of `color`. (Jon Rowe)
983
+ * Remove `backtrace_cleaner` as an alias of `backtrace_formatter`. (Jon Rowe)
984
+ * Remove `filename_pattern` as an alias of `pattern`. (Jon Rowe)
985
+ * Extract support for legacy formatters to `rspec-legacy_formatters`. (Jon Rowe)
986
+ * `RSpec::Configuration#formatters` now returns a dup to prevent mutation. (Jon Rowe)
987
+ * Replace `stdlib` as an available expectation framework with `test_unit` and
988
+ `minitest`. (Aaron Kromer)
989
+ * Remove backtrace formatting helpers from `BaseTextFormatter`. (Jon Rowe)
990
+ * Extract profiler support to `ProfileFormatter` and `ProfileNotification`.
991
+ Formatters should implement `dump_profile` if they wish to respond to `--profile`.
992
+ (Jon Rowe)
993
+ * Extract remaining formatter state to reporter and notifications. Introduce
994
+ `ExamplesNotification` to share information about examples that was previously
995
+ held in `BaseFormatter`. (Jon Rowe)
996
+
997
+ Enhancements:
998
+
999
+ * Add `config.default_formatter` attribute, which can be used to set a
1000
+ formatter which will only be used if no other formatter is set
1001
+ (e.g. via `--formatter`). (Myron Marston)
1002
+ * Support legacy colour definitions in `LegacyFormatterAdaptor`. (Jon Rowe)
1003
+ * Migrate `execution_result` (exposed by metadata) from a hash to a
1004
+ first-class object with appropriate attributes. `status` is now
1005
+ stored and returned as a symbol rather than a string. It retains
1006
+ deprecated hash behavior for backwards compatibility. (Myron Marston)
1007
+ * Provide console code helper for formatters. (Jon Rowe)
1008
+ * Use raw ruby hashes for the metadata hashes rather than a subclass of
1009
+ a hash. Computed metadata entries are now computed in advance rather
1010
+ than being done lazily on first access. (Myron Marston)
1011
+ * Add `:block` metadata entry to the example metadata, bringing
1012
+ parity with `:block` in the example group metadata. (Myron Marston)
1013
+ * Add `fspecify` and `fexample` as aliases of `specify` and `example`
1014
+ with `:focus => true` metadata for parity with `fit`. (Myron Marston)
1015
+ * Add legacy support for `colorize_summary`. (Jon Rowe)
1016
+ * Restructure runner so it can be more easily customized in a subclass
1017
+ for an alternate runner. (Ben Hoskings)
1018
+ * Document `RSpec::Core::ConfigurationOptions` as an officially
1019
+ supported public API. (Myron Marston)
1020
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
1021
+ to the named file. (Myron Marston)
1022
+ * Minitest 5 compatability for `expect_with :stdlib` (now available as
1023
+ `expect_with :minitest`). (Xavier Shay)
1024
+ * Reporter now notifies formatters of the load time of RSpec and your
1025
+ specs via `StartNotification` and `SummaryNotification`. (Jon Rowe)
1026
+ * Add `disable_monkey_patching!` config option that disables all monkey
1027
+ patching from whatever pieces of RSpec you use. (Alexey Fedorov)
1028
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
1029
+ * Add `config.define_derived_metadata`, which can be used to apply
1030
+ additional metadata to all groups or examples that match a given
1031
+ filter. (Myron Marston)
1032
+ * Provide formatted and colorized backtraces via `FailedExampleNotification`
1033
+ and send `PendingExampleFixedNotifications` when the error is due to a
1034
+ passing spec you expect to fail. (Jon Rowe)
1035
+ * Add `dump_profile` to formatter API to allow formatters to implement
1036
+ support for `--profile`. (Jon Rowe)
1037
+ * Allow colourising text via `ConsoleCodes` with RSpec 'states'
1038
+ (e.g. `:success`, `:failure`) rather than direct colour codes. (Jon Rowe)
1039
+ * Expose `fully_formatted` methods off the formatter notification objects
1040
+ that make it easy for a custom formatter to produce formatted output
1041
+ like rspec-core's. (Myron Marston)
1042
+
1043
+ Bug Fixes:
1044
+
1045
+ * Fix `spec_helper.rb` file generated by `rspec --init` so that the
1046
+ recommended settings correctly use the documentation formatter
1047
+ when running one file. (Myron Marston)
1048
+ * Fix ordering problem where descriptions were generated after
1049
+ tearing down mocks, which resulted in unexpected exceptions.
1050
+ (Bradley Schaefer, Aaron Kromer, Andrey Savchenko)
1051
+ * Allow a symbol to be used as an implicit subject (e.g. `describe
1052
+ :foo`). (Myron Marston)
1053
+ * Prevent creating an isolated context (i.e. using `RSpec.describe`) when
1054
+ already inside a context. There is no reason to do this, and it could
1055
+ potentially cause unexpected bugs. (Xavier Shay)
1056
+ * Fix shared example group scoping so that when two shared example
1057
+ groups share the same name at different levels of nested contexts,
1058
+ the one in the nearest context is used. (Myron Marston)
1059
+ * Fix `--warnings` option so that it enables warnings immediately so
1060
+ that it applies to files loaded by `--require`. (Myron Marston)
1061
+ * Issue a warning when you set `config.deprecation_stream` too late for
1062
+ it to take effect because the reporter has already been setup. (Myron Marston)
1063
+ * Add the full `RSpec::Core::Example` interface to the argument yielded
1064
+ to `around` hooks. (Myron Marston)
1065
+ * Line number always takes precendence when running specs with filters.
1066
+ (Xavier Shay)
1067
+ * Ensure :if and :unless metadata filters are treated as a special case
1068
+ and are always in-effect. (Bradley Schaefer)
1069
+ * Ensure the currently running installation of RSpec is used when
1070
+ the rake task shells out to `rspec`, even if a newer version is also
1071
+ installed. (Postmodern)
1072
+ * Using a legacy formatter as default no longer causes an infinite loop.
1073
+ (Xavier Shay)
1074
+
1075
+ ### 3.0.0.beta2 / 2014-02-17
1076
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.0.0.beta1...v3.0.0.beta2)
1077
+
1078
+ Breaking Changes for 3.0.0:
1079
+
1080
+ * Make `mock_with` option more strict. Strings are no longer supported
1081
+ (e.g. `mock_with "mocha"`) -- use a symbol instead. Also, unrecognized
1082
+ values will now result in an error rather than falling back to the
1083
+ null mocking adapter. If you want to use the null mocking adapter,
1084
+ use `mock_with :nothing` (as has been documented for a long time).
1085
+ (Myron Marston)
1086
+ * Remove support for overriding RSpec's built-in `:if` and `:unless`
1087
+ filters. (Ashish Dixit)
1088
+ * Custom formatters are now required to call
1089
+ `RSpec::Core::Formatters.register(formatter_class, *notifications)`
1090
+ where `notifications` is the list of events the formatter wishes to
1091
+ be notified about. Notifications are handled by methods matching the
1092
+ names on formatters. This allows us to add or remove notifications
1093
+ without breaking existing formatters. (Jon Rowe)
1094
+ * Change arguments passed to formatters. Rather than passing multiple
1095
+ arguments (which limits are ability to add additional arguments as
1096
+ doing so would break existing formatters), we now pass a notification
1097
+ value object that exposes the same data via attributes. This will
1098
+ allow us to add new bits of data to a notification event without
1099
+ breaking existing formatters. (Jon Rowe)
1100
+ * Remove support for deprecated `:alias` option for
1101
+ `RSpec.configuration.add_setting`. (Myron Marston)
1102
+ * Remove support for deprecated `RSpec.configuration.requires = [...]`.
1103
+ (Myron Marston)
1104
+ * Remove support for deprecated `--formatter` CLI option. (Myron Marston)
1105
+ * Remove support for deprecated `--configure` CLI option. (Myron Marston)
1106
+ * Remove support for deprecated `RSpec::Core::RakeTask#spec_opts=`.
1107
+ (Myron Marston)
1108
+ * An example group level `pending` block or `:pending` metadata now executes
1109
+ the example and cause a failure if it passes, otherwise it will be pending if
1110
+ it fails. The old "never run" behaviour is still used for `xexample`, `xit`,
1111
+ and `xspecify`, or via a new `skip` method or `:skip` metadata option.
1112
+ (Xavier Shay)
1113
+ * After calling `pending` inside an example, the remainder of the example will
1114
+ now be run. If it passes a failure is raised, otherwise the example is marked
1115
+ pending. The old "never run" behaviour is provided a by a new `skip` method.
1116
+ (Xavier Shay)
1117
+ * Pending blocks inside an example have been removed as a feature with no
1118
+ direct replacement. Use `skip` or `pending` without a block. (Xavier Shay)
1119
+ * Pending statement is no longer allowed in `before(:all)` hooks. Use `skip`
1120
+ instead. (Xavier Shay)
1121
+ * Remove `show_failures_in_pending_blocks` configuration option. (Xavier Shay)
1122
+ * Remove support for specifying the documentation formatter using
1123
+ 's', 'n', 'spec' or 'nested'. (Jon Rowe)
1124
+
1125
+ Enhancements:
1126
+
1127
+ * Add example run time to JSON formatter output. (Karthik Kastury)
1128
+ * Add more suggested settings to the files generated by
1129
+ `rspec --init`. (Myron Marston)
1130
+ * Add `config.alias_example_group_to`, which can be used to define a
1131
+ new method that defines an example group with the provided metadata.
1132
+ (Michi Huber)
1133
+ * Add `xdescribe` and `xcontext` as shortcuts to skip an example group.
1134
+ (Myron Marston)
1135
+ * Add `fdescribe` and `fcontext` as shortcuts to focus an example group.
1136
+ (Myron Marston)
1137
+ * Don't autorun specs via `#at_exit` by default. `require 'rspec/autorun'`
1138
+ is only needed when running specs via `ruby`, as it always has been.
1139
+ Running specs via `rake` or `rspec` are both unaffected. (Ben Hoskings)
1140
+ * Add `expose_dsl_globally` config option, defaulting to true. When disabled
1141
+ it will remove the monkey patches rspec-core adds to `main` and `Module`
1142
+ (e.g. `describe`, `shared_examples_for`, etc). (Jon Rowe)
1143
+ * Expose RSpec DSL entry point methods (`describe`,
1144
+ `shared_examples_for`, etc) on the `RSpec` constant. Intended for use
1145
+ when `expose_dsl_globally` is set to `false`. (Jon Rowe)
1146
+ * For consistency, expose all example group aliases (including
1147
+ `context`) on the `RSpec` constant. If `expose_dsl_globally` is set to
1148
+ `true`, also expose them on `main` and `Module`. Historically, only `describe`
1149
+ was exposed. (Jon Rowe, Michi Huber)
1150
+ * Add hook scope `:example` as an alias for `:each`, and `:context` as an alias
1151
+ for `:all`. (John Feminella)
1152
+
1153
+ Bug Fixes:
1154
+
1155
+ * Fix failure (undefined method `path`) in end-of-run summary
1156
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
1157
+ * Issue error when attempting to use `-i` or `--I` on command line,
1158
+ too close to `-I` to be considered short hand for `--init`. (Jon Rowe)
1159
+ * Prevent adding formatters to an output target if the same
1160
+ formatter has already been added to that output. (Alex Peattie)
1161
+ * Allow a matcher-generated example description to be used when
1162
+ the example is pending. (Myron Marston)
1163
+ * Ensure the configured `failure_exit_code` is used by the rake
1164
+ task when there is a failure. (Jon Rowe)
1165
+ * Restore behaviour whereby system exclusion filters take priority over working
1166
+ directory (was broken in beta1). (Jon Rowe)
1167
+ * Prevent RSpec mangling file names that have substrings containing `line_number`
1168
+ or `default_path`. (Matijs van Zuijlen)
1169
+ * Fix failure line detection so that it handles relative file paths
1170
+ (which can happen when running specs through `ruby` using `rspec/autorun`).
1171
+ (Myron Marston, #1829)
1172
+
1173
+ ### 3.0.0.beta1 / 2013-11-07
1174
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v3.0.0.beta1)
1175
+
1176
+ Breaking Changes for 3.0.0:
1177
+
1178
+ * Remove explicit support for 1.8.6. (Jon Rowe)
1179
+ * Remove `RSpec::Core::ExampleGroup#example` and
1180
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
1181
+ access to the example (e.g. to get its metadata), use a block arg
1182
+ instead. (David Chelimsky)
1183
+ * Remove `TextMateFormatter`, it has been moved to `rspec-tmbundle`.
1184
+ (Aaron Kromer)
1185
+ * Remove RCov integration. (Jon Rowe)
1186
+ * Remove deprecated support for RSpec 1 constructs (Myron Marston):
1187
+ * The `Spec` and `Rspec` constants (rather than `RSpec`).
1188
+ * `Spec::Runner.configure` rather than `RSpec.configure`.
1189
+ * `Rake::SpecTask` rather than `RSpec::Core::RakeTask`.
1190
+ * Remove deprecated support for `share_as`. (Myron Marston)
1191
+ * Remove `--debug` option (and corresponding option on
1192
+ `RSpec::Core::Configuration`). Instead, use `-r<debugger gem name>` to
1193
+ load whichever debugger gem you wish to use (e.g. `ruby-debug`,
1194
+ `debugger`, or `pry`). (Myron Marston)
1195
+ * Extract Autotest support to a seperate gem. (Jon Rowe)
1196
+ * Raise an error when a `let` or `subject` declaration is
1197
+ accessed in a `before(:all)` or `after(:all)` hook. (Myron Marston)
1198
+ * Extract `its` support to a separate gem. (Peter Alfvin)
1199
+ * Disallow use of a shared example group from sibling contexts, making them
1200
+ fully isolated. 2.14 and 2.99 allowed this but printed a deprecation warning.
1201
+ (Jon Rowe)
1202
+ * Remove `RSpec::Core::Configuration#output` and
1203
+ `RSpec::Core::Configuration#out` aliases of
1204
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
1205
+ * Remove legacy ordering APIs deprecated in 2.99.0.beta1. (Myron
1206
+ Marston)
1207
+
1208
+ Enhancements:
1209
+
1210
+ * Replace unmaintained syntax gem with coderay gem. (Xavier Shay)
1211
+ * Times in profile output are now bold instead of `failure_color`.
1212
+ (Matthew Boedicker)
1213
+ * Add `--no-fail-fast` command line option. (Gonzalo Rodríguez-Baltanás Díaz)
1214
+ * Runner now considers the local system ip address when running under Drb.
1215
+ (Adrian CB)
1216
+ * JsonFormatter now includes `--profile` information. (Alex / @MasterLambaster)
1217
+ * Always treat symbols passed as metadata args as hash
1218
+ keys with true values. RSpec 2 supported this with the
1219
+ `treat_symbols_as_metadata_keys_with_true_values` but
1220
+ now this behavior is always enabled. (Myron Marston)
1221
+ * Add `--dry-run` option, which prints the formatter output
1222
+ of your suite without running any examples or hooks.
1223
+ (Thomas Stratmann, Myron Marston)
1224
+ * Document the configuration options and default values in the `spec_helper.rb`
1225
+ file that is generated by RSpec. (Parker Selbert)
1226
+ * Give generated example group classes a friendly name derived
1227
+ from the docstring, rather than something like "Nested_2".
1228
+ (Myron Marston)
1229
+ * Avoid affecting randomization of user code when shuffling
1230
+ examples so that users can count on their own seeds
1231
+ working. (Travis Herrick)
1232
+ * Ordering is no longer a single global property of the test suite.
1233
+ Each group can pick an ordering using `:order` metadata. (Andy
1234
+ Lindeman, Sam Phippen, Myron Marston)
1235
+ * Allow named custom ordering strategies to be registered, which can
1236
+ then be used on individual example groups. (Andy Lindeman, Sam
1237
+ Phippen, Myron Marston)
1238
+
1239
+ Deprecations:
1240
+
1241
+ * `treat_symbols_as_metadata_keys_with_true_values` is deprecated and no
1242
+ longer has an affect now that the behavior it enabled is always
1243
+ enabled. (Myron Marston)
1244
+
1245
+ ### 2.99.2 / 2014-08-19
1246
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.1...v2.99.2)
1247
+
1248
+ Enhancements:
1249
+
1250
+ * Improve deprecation warning for RSpec 3 change in `describe <a symbol>`
1251
+ behavior. (Jon Rowe, #1667)
1252
+
1253
+ ### 2.99.1 / 2014-06-19
1254
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0...v2.99.1)
1255
+
1256
+ Bug Fixes:
1257
+
1258
+ * Add missing deprecation warning for when `RSpec::Core::Runner` is used
1259
+ multiple times in the same process. In 2.x RSpec's global state was
1260
+ automatically cleared between runs but in 3.0 you need to call `RSpec.reset`
1261
+ manually in these situations. (Sam Phippen, #1587)
1262
+ * Prevent deprecation being accidentally issues when doubles used with `be_`
1263
+ matchers due to automatically generated descriptions. (Jon Rowe, #1573)
1264
+ * Load `rspec/core` when loading `rspec/core/rake_task` to ensure we can
1265
+ issue deprecations correctly. (Jon Rowe, #1612)
1266
+
1267
+ ### 2.99.0 / 2014-06-01
1268
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.rc1...v2.99.0)
1269
+
1270
+ Bug Fixes:
1271
+
1272
+ * Fix `BaseTextFormatter` so that it does not re-close a closed output
1273
+ stream. (Myron Marston)
1274
+ * Use `RSpec::Configuration#backtrace_exclusion_patterns` rather than the
1275
+ deprecated `RSpec::Configuration#backtrace_clean_patterns` when mocking
1276
+ with rr. (David Dollar)
1277
+
1278
+ ### 2.99.0.rc1 / 2014-05-18
1279
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta2...v2.99.0.rc1)
1280
+
1281
+ Enhancements:
1282
+
1283
+ * Add `--deprecation-out` CLI option which directs deprecation warnings
1284
+ to the named file. (Myron Marston)
1285
+ * Backport support for `skip` in metadata to skip execution of an example.
1286
+ (Xavier Shay, #1472)
1287
+ * Add `Pathname` support for setting all output streams. (Aaron Kromer)
1288
+ * Add `test_unit` and `minitest` expectation frameworks. (Aaron Kromer)
1289
+
1290
+ Deprecations:
1291
+
1292
+ * Deprecate `RSpec::Core::Pending::PendingDeclaredInExample`, use
1293
+ `SkipDeclaredInExample` instead. (Xavier Shay)
1294
+ * Issue a deprecation when `described_class` is accessed from within
1295
+ a nested `describe <SomeClass>` example group, since `described_class`
1296
+ will return the innermost described class in RSpec 3 rather than the
1297
+ outermost described class, as it behaved in RSpec 2. (Myron Marston)
1298
+ * Deprecate `RSpec::Core::FilterManager::DEFAULT_EXCLUSIONS`,
1299
+ `RSpec::Core::FilterManager::STANDALONE_FILTERS` and use of
1300
+ `#empty_without_conditional_filters?` on those filters. (Sergey Pchelincev)
1301
+ * Deprecate `RSpec::Core::Example#options` in favor of
1302
+ `RSpec::Core::Example#metadata`. (Myron Marston)
1303
+ * Issue warning when passing a symbol or hash to `describe` or `context`
1304
+ as the first argument. In RSpec 2.x this would be treated as metadata
1305
+ but in RSpec 3 it'll be treated as the described object. To continue
1306
+ having it treated as metadata, pass a description before the symbol or
1307
+ hash. (Myron Marston)
1308
+ * Deprecate `RSpec::Core::BaseTextFormatter::VT100_COLORS` and
1309
+ `RSpec::Core::BaseTextFormatter::VT100_COLOR_CODES` in favour
1310
+ of `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODES` and
1311
+ `RSpec::Core::BaseTextFormatter::ConsoleCodes::VT100_CODE_VALUES`.
1312
+ (Jon Rowe)
1313
+ * Deprecate `RSpec::Core::ExampleGroup.display_name` in favor of
1314
+ `RSpec::Core::ExampleGroup.description`. (Myron Marston)
1315
+ * Deprecate `RSpec::Core::ExampleGroup.describes` in favor of
1316
+ `RSpec::Core::ExampleGroup.described_class`. (Myron Marston)
1317
+ * Deprecate `RSpec::Core::ExampleGroup.alias_example_to` in favor of
1318
+ `RSpec::Core::Configuration#alias_example_to`. (Myron Marston)
1319
+ * Deprecate `RSpec::Core::ExampleGroup.alias_it_behaves_like_to` in favor
1320
+ of `RSpec::Core::Configuration#alias_it_behaves_like_to`. (Myron Marston)
1321
+ * Deprecate `RSpec::Core::ExampleGroup.focused` in favor of
1322
+ `RSpec::Core::ExampleGroup.focus`. (Myron Marston)
1323
+ * Add deprecation warning for `config.filter_run :focused` since
1324
+ example aliases `fit` and `focus` will no longer include
1325
+ `:focused` metadata but will continue to include `:focus`. (Myron Marston)
1326
+ * Deprecate filtering by `:line_number` (e.g. `--line-number` from the
1327
+ CLI). Use location filtering instead. (Myron Marston)
1328
+ * Deprecate `--default_path` as an alternative to `--default-path`. (Jon Rowe)
1329
+ * Deprecate `RSpec::Core::Configuration#warnings` in favor of
1330
+ `RSpec::Core::Configuration#warnings?`. (Myron Marston)
1331
+ * Deprecate `share_examples_for` in favor of `shared_examples_for` or
1332
+ just `shared_examples`. (Myron Marston)
1333
+ * Deprecate `RSpec::Core::CommandLine` in favor of
1334
+ `RSpec::Core::Runner`. (Myron Marston)
1335
+ * Deprecate `#color_enabled`, `#color_enabled=` and `#color?` in favour of
1336
+ `#color`, `#color=` and `#color_enabled? output`. (Jon Rowe)
1337
+ * Deprecate `#filename_pattern` in favour of `#pattern`. (Jon Rowe)
1338
+ * Deprecate `#backtrace_cleaner` in favour of `#backtrace_formatter`. (Jon Rowe)
1339
+ * Deprecate mutating `RSpec::Configuration#formatters`. (Jon Rowe)
1340
+ * Deprecate `stdlib` as an available expectation framework in favour of
1341
+ `test_unit` and `minitest`. (Aaron Kromer)
1342
+
1343
+ Bug Fixes:
1344
+
1345
+ * Issue a warning when you set `config.deprecation_stream` too late for
1346
+ it to take effect because the reporter has already been setup. (Myron Marston)
1347
+ * `skip` with a block should not execute the block. (Xavier Shay)
1348
+
1349
+ ### 2.99.0.beta2 / 2014-02-17
1350
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.99.0.beta1...v2.99.0.beta2)
1351
+
1352
+ Enhancements:
1353
+
1354
+ * Add `is_expected` for one-liners that read well with the
1355
+ `expect`-based syntax. `is_expected` is simply defined as
1356
+ `expect(subject)` and can be used in an expression like:
1357
+ `it { is_expected.to read_well }`. (Myron Marston)
1358
+ * Backport `skip` from RSpec 3, which acts like `pending` did in RSpec 2
1359
+ when not given a block, since the behavior of `pending` is changing in
1360
+ RSpec 3. (Xavier Shay)
1361
+
1362
+ Deprecations:
1363
+
1364
+ * Deprecate inexact `mock_with` config options. RSpec 3 will only support
1365
+ the exact symbols `:rspec`, `:mocha`, `:flexmock`, `:rr` or `:nothing`
1366
+ (or any module that implements the adapter interface). RSpec 2 did
1367
+ fuzzy matching but this will not be supported going forward.
1368
+ (Myron Marston)
1369
+ * Deprecate `show_failures_in_pending_blocks` config option. To achieve
1370
+ the same behavior as the option enabled, you can use a custom
1371
+ formatter instead. (Xavier Shay)
1372
+ * Add a deprecation warning for the fact that the behavior of `pending`
1373
+ is changing in RSpec 3 -- rather than skipping the example (as it did
1374
+ in 2.x when no block was provided), it will run the example and mark
1375
+ it as failed if no exception is raised. Use `skip` instead to preserve
1376
+ the old behavior. (Xavier Shay)
1377
+ * Deprecate 's', 'n', 'spec' and 'nested' as aliases for documentation
1378
+ formatter. (Jon Rowe)
1379
+ * Deprecate `RSpec::Core::Reporter#abort` in favor of
1380
+ `RSpec::Core::Reporter#finish`. (Jon Rowe)
1381
+
1382
+ Bug Fixes:
1383
+
1384
+ * Fix failure (undefined method `path`) in end-of-run summary
1385
+ when `raise_errors_for_deprecations!` is configured. (Myron Marston)
1386
+ * Fix issue were overridding spec ordering from the command line wasn't
1387
+ fully recognised interally. (Jon Rowe)
1388
+
1389
+ ### 2.99.0.beta1 / 2013-11-07
1390
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.99.0.beta1)
1391
+
1392
+ Enhancements
1393
+
1394
+ * Block-based DSL methods that run in the context of an example
1395
+ (`it`, `before(:each)`, `after(:each)`, `let` and `subject`)
1396
+ now yield the example as a block argument. (David Chelimsky)
1397
+ * Warn when the name of more than one example group is submitted to
1398
+ `include_examples` and it's aliases. (David Chelimsky)
1399
+ * Add `expose_current_running_example_as` config option for
1400
+ use during the upgrade process when external gems use the
1401
+ deprecated `RSpec::Core::ExampleGroup#example` and
1402
+ `RSpec::Core::ExampleGroup#running_example` methods. (Myron Marston)
1403
+ * Limit spamminess of deprecation messages. (Bradley Schaefer, Loren Segal)
1404
+ * Add `config.raise_errors_for_deprecations!` option, which turns
1405
+ deprecations warnings into errors to surface the full backtrace
1406
+ of the call site. (Myron Marston)
1407
+
1408
+ Deprecations
1409
+
1410
+ * Deprecate `RSpec::Core::ExampleGroup#example` and
1411
+ `RSpec::Core::ExampleGroup#running_example` methods. If you need
1412
+ access to the example (e.g. to get its metadata), use a block argument
1413
+ instead. (David Chelimsky)
1414
+ * Deprecate use of `autotest/rspec2` in favour of `rspec-autotest`. (Jon Rowe)
1415
+ * Deprecate RSpec's built-in debugger support. Use a CLI option like
1416
+ `-rruby-debug` (for the ruby-debug gem) or `-rdebugger` (for the
1417
+ debugger gem) instead. (Myron Marston)
1418
+ * Deprecate `RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values = false`.
1419
+ RSpec 3 will not support having this option set to `false`. (Myron Marston)
1420
+ * Deprecate accessing a `let` or `subject` declaration in
1421
+ a `after(:all)` hook. (Myron Marston, Jon Rowe)
1422
+ * Deprecate built-in `its` usage in favor of `rspec-its` gem due to planned
1423
+ removal in RSpec 3. (Peter Alfvin)
1424
+ * Deprecate `RSpec::Core::PendingExampleFixedError` in favor of
1425
+ `RSpec::Core::Pending::PendingExampleFixedError`. (Myron Marston)
1426
+ * Deprecate `RSpec::Core::Configuration#out` and
1427
+ `RSpec::Core::Configuration#output` in favor of
1428
+ `RSpec::Core::Configuration#output_stream`. (Myron Marston)
1429
+ * Deprecate legacy ordering APIs.
1430
+ * You should use `register_ordering(:global)` instead of these:
1431
+ * `RSpec::Core::Configuration#order_examples`
1432
+ * `RSpec::Core::Configuration#order_groups`
1433
+ * `RSpec::Core::Configuration#order_groups_and_examples`
1434
+ * These are deprecated with no replacement because in RSpec 3
1435
+ ordering is a property of individual example groups rather than
1436
+ just a global property of the entire test suite:
1437
+ * `RSpec::Core::Configuration#order`
1438
+ * `RSpec::Core::Configuration#randomize?`
1439
+ * `--order default` is deprecated in favor of `--order defined`
1440
+ (Myron Marston)
1441
+
1442
+ ### 2.14.8 / 2014-02-27
1443
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.7...v2.14.8)
1444
+
1445
+ Bug fixes:
1446
+
1447
+ * Fix regression with the `textmateformatter` that prevented backtrace links
1448
+ from being clickable. (Stefan Daschek)
1449
+
1450
+ ### 2.14.7 / 2013-10-29
1451
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.6...v2.14.7)
1452
+
1453
+ Bug fixes:
1454
+
1455
+ * Fix regression in 2.14.6 that broke the Fivemat formatter.
1456
+ It depended upon either
1457
+ `example.execution_result[:exception].pending_fixed?` (which
1458
+ was removed in 2.14.6 to fix an issue with frozen error objects)
1459
+ or `RSpec::Core::PendingExampleFixedError` (which was renamed
1460
+ to `RSpec::Core::Pending::PendingExampleFixedError` in 2.8.
1461
+ This fix makes a constant alias for the old error name.
1462
+ (Myron Marston)
1463
+
1464
+ ### 2.14.6 / 2013-10-15
1465
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.5...v2.14.6)
1466
+
1467
+ Bug fixes:
1468
+
1469
+ * Format stringified numbers correctly when mathn library is loaded.
1470
+ (Jay Hayes)
1471
+ * Fix an issue that prevented the use of frozen error objects. (Lars
1472
+ Gierth)
1473
+
1474
+ ### 2.14.5 / 2013-08-13
1475
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.4...v2.14.5)
1476
+
1477
+ Bug fixes:
1478
+
1479
+ * Fix a `NoMethodError` that was being raised when there were no shared
1480
+ examples or contexts declared and `RSpec.world.reset` is invoked.
1481
+ (thepoho, Jon Rowe, Myron Marston)
1482
+ * Fix a deprecation warning that was being incorrectly displayed when
1483
+ `shared_examples` are declared at top level in a `module` scope.
1484
+ (Jon Rowe)
1485
+ * Fix after(:all) hooks so consecutive (same context) scopes will run even if
1486
+ one raises an error. (Jon Rowe, Trejkaz)
1487
+ * JsonFormatter no longer dies if `dump_profile` isn't defined (Alex / @MasterLambaster, Jon Rowe)
1488
+
1489
+ ### 2.14.4 / 2013-07-21
1490
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.3...v2.14.4)
1491
+
1492
+ Bug fixes
1493
+
1494
+ * Fix regression in 2.14: ensure configured requires (via `-r` option)
1495
+ are loaded before spec files are loaded. This allows the spec files
1496
+ to programatically change the file pattern (Jon Rowe).
1497
+ * Autoload `RSpec::Mocks` and `RSpec::Expectations` when referenced if
1498
+ they are not already loaded (`RSpec::Matches` has been autoloaded
1499
+ for a while). In the `rspec` gem, we changed it recently to stop
1500
+ loading `rspec/mocks` and `rspec/expectations` by default, as some
1501
+ users reported problems where they were intending to use mocha,
1502
+ not rspec-mocks, but rspec-mocks was loaded and causing a conflict.
1503
+ rspec-core loads mocks and expectations at the appropriate time, so
1504
+ it seemed like a safe change -- but caused a problem for some authors
1505
+ of libraries that integrate with RSpec. This fixes that problem.
1506
+ (Myron Marston)
1507
+ * Gracefully handle a command like `rspec --profile path/to/spec.rb`:
1508
+ the `path/to/spec.rb` arg was being wrongly treated as the `profile`
1509
+ integer arg, which got cast `0` using `to_i`, causing no profiled
1510
+ examples to be printed. (Jon Rowe)
1511
+
1512
+ ### 2.14.3 / 2013-07-13
1513
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.2...v2.14.3)
1514
+
1515
+ Bug fixes
1516
+
1517
+ * Fix deprecation notices issued from `RSpec::Core::RakeTask` so
1518
+ that they work properly when all of rspec-core is not loaded.
1519
+ (This was a regression in 2.14) (Jon Rowe)
1520
+
1521
+ ### 2.14.2 / 2013-07-09
1522
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.1...v2.14.2)
1523
+
1524
+ Bug fixes
1525
+
1526
+ * Fix regression caused by 2.14.1 release: formatters that
1527
+ report that they `respond_to?` a notification, but had
1528
+ no corresponding method would raise an error when registered.
1529
+ The new fix is to just implement `start` on the deprecation
1530
+ formatter to fix the original JRuby/ruby-debug issue.
1531
+ (Jon Rowe)
1532
+
1533
+ ### 2.14.1 / 2013-07-08
1534
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0...v2.14.1)
1535
+
1536
+ Bug fixes
1537
+
1538
+ * Address deprecation formatter failure when using `ruby-debug` on
1539
+ JRuby: fix `RSpec::Core::Reporter` to not send a notification
1540
+ when the formatter's implementation of the notification method
1541
+ comes from `Kernel` (Alex Portnov, Jon Rowe).
1542
+
1543
+ ### 2.14.0 / 2013-07-06
1544
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.14.0.rc1...v2.14.0)
1545
+
1546
+ Enhancements
1547
+
1548
+ * Apply focus to examples defined with `fit` (equivalent of
1549
+ `it "description", focus: true`) (Michael de Silva)
1550
+
1551
+ Bug fix
1552
+
1553
+ * Ensure methods defined by `let` take precedence over others
1554
+ when there is a name collision (e.g. from an included module).
1555
+ (Jon Rowe, Andy Lindeman and Myron Marston)
1556
+
1557
+ ### 2.14.0.rc1 / 2013-05-27
1558
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.1...v2.14.0.rc1)
1559
+
1560
+ Enhancements
1561
+
1562
+ * Improved Windows detection inside Git Bash, for better `--color` handling.
1563
+ * Add profiling of the slowest example groups to `--profile` option.
1564
+ The output is sorted by the slowest average example groups.
1565
+ * Don't show slow examples if there's a failure and both `--fail-fast`
1566
+ and `--profile` options are used (Paweł Gościcki).
1567
+ * Rather than always adding `spec` to the load path, add the configured
1568
+ `--default-path` to the load path (which defaults to `spec`). This
1569
+ better supports folks who choose to put their specs in a different
1570
+ directory (John Feminella).
1571
+ * Add some logic to test time duration precision. Make it a
1572
+ function of time, dropping precision as the time increases. (Aaron Kromer)
1573
+ * Add new `backtrace_inclusion_patterns` config option. Backtrace lines
1574
+ that match one of these patterns will _always_ be included in the
1575
+ backtrace, even if they match an exclusion pattern, too (Sam Phippen).
1576
+ * Support ERB trim mode using the `-` when parsing `.rspec` as ERB
1577
+ (Gabor Garami).
1578
+ * Give a better error message when let and subject are called without a block.
1579
+ (Sam Phippen).
1580
+ * List the precedence of `.rspec-local` in the configuration documentation
1581
+ (Sam Phippen)
1582
+ * Support `{a,b}` shell expansion syntax in `--pattern` option
1583
+ (Konstantin Haase).
1584
+ * Add cucumber documentation for --require command line option
1585
+ (Bradley Schaefer)
1586
+ * Expose configuration options via config:
1587
+ * `config.libs` returns the libs configured to be added onto the load path
1588
+ * `full_backtrace?` returns the state of the backtrace cleaner
1589
+ * `debug?` returns true when the debugger is loaded
1590
+ * `line_numbers` returns the line numbers we are filtering by (if any)
1591
+ * `full_description` returns the RegExp used to filter descriptions
1592
+ (Jon Rowe)
1593
+ * Add setters for RSpec.world and RSpec.configuration (Alex Soulim)
1594
+ * Configure ruby's warning behaviour with `--warnings` (Jon Rowe)
1595
+ * Fix an obscure issue on old versions of `1.8.7` where `Time.dup` wouldn't
1596
+ allow access to `Time.now` (Jon Rowe)
1597
+ * Make `shared_examples_for` context aware, so that keys may be safely reused
1598
+ in multiple contexts without colliding. (Jon Rowe)
1599
+ * Add a configurable `deprecation_stream` (Jon Rowe)
1600
+ * Publish deprecations through a formatter (David Chelimsky)
1601
+
1602
+ Bug fixes
1603
+
1604
+ * Make JSON formatter behave the same when it comes to `--profile` as
1605
+ the text formatter (Paweł Gościcki).
1606
+ * Fix named subjects so that if an inner group defines a method that
1607
+ overrides the named method, `subject` still retains the originally
1608
+ declared value (Myron Marston).
1609
+ * Fix random ordering so that it does not cause `rand` in examples in
1610
+ nested sibling contexts to return the same value (Max Shytikov).
1611
+ * Use the new `backtrace_inclusion_patterns` config option to ensure
1612
+ that folks who develop code in a directory matching one of the default
1613
+ exclusion patterns (e.g. `gems`) still get the normal backtrace
1614
+ filtering (Sam Phippen).
1615
+ * Fix ordering of `before` hooks so that `before` hooks declared in
1616
+ `RSpec.configure` run before `before` hooks declared in a shared
1617
+ context (Michi Huber and Tejas Dinkar).
1618
+ * Fix `Example#full_description` so that it gets filled in by the last
1619
+ matcher description (as `Example#description` already did) when no
1620
+ doc string has been provided (David Chelimsky).
1621
+ * Fix the memoized methods (`let` and `subject`) leaking `define_method`
1622
+ as a `public` method. (Thomas Holmes and Jon Rowe) (#873)
1623
+ * Fix warnings coming from the test suite. (Pete Higgins)
1624
+
1625
+ Deprecations
1626
+
1627
+ * Deprecate `Configuration#backtrace_clean_patterns` in favor of
1628
+ `Configuration#backtrace_exclusion_patterns` for greater consistency
1629
+ and symmetry with new `backtrace_inclusion_patterns` config option
1630
+ (Sam Phippen).
1631
+ * Deprecate `Configuration#requires=` in favor of using ruby's
1632
+ `require`. Requires specified by the command line can still be
1633
+ accessed by the `Configuration#require` reader. (Bradley Schaefer)
1634
+ * Deprecate calling `SharedExampleGroups` defined across sibling contexts
1635
+ (Jon Rowe)
1636
+
1637
+ ### 2.13.1 / 2013-03-12
1638
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.13.0...v2.13.1)
1639
+
1640
+ Bug fixes
1641
+
1642
+ * Use hook classes as proxies rather than extending hook blocks to support
1643
+ lambdas for before/after/around hooks. (David Chelimsky)
1644
+ * Fix regression in 2.13.0 that caused confusing behavior when overriding
1645
+ a named subject with an unnamed subject in an inner group and then
1646
+ referencing the outer group subject's name. The fix for this required
1647
+ us to disallow using `super` in a named subject (which is confusing,
1648
+ anyway -- named subjects create 2 methods, so which method on the
1649
+ parent example group are you `super`ing to?) but `super` in an unnamed
1650
+ subject continues to work (Myron Marston).
1651
+ * Do not allow a referenced `let` or `subject` in `before(:all)` to cause
1652
+ other `let` declarations to leak across examples (Myron Marston).
1653
+ * Work around odd ruby 1.9 bug with `String#match` that was triggered
1654
+ by passing it a regex from a `let` declaration. For more info, see
1655
+ http://bugs.ruby-lang.org/issues/8059 (Aaron Kromer).
1656
+ * Add missing `require 'set'` to `base_text_formatter.rb` (Tom
1657
+ Anderson).
1658
+
1659
+ Deprecations
1660
+
1661
+ * Deprecate accessing `let` or `subject` declarations in `before(:all)`.
1662
+ These were not intended to be called in a `before(:all)` hook, as
1663
+ they exist to define state that is reset between each example, while
1664
+ `before(:all)` exists to define state that is shared across examples
1665
+ in an example group (Myron Marston).
1666
+
1667
+ ### 2.13.0 / 2013-02-23
1668
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.2...v2.13.0)
1669
+
1670
+ Enhancements
1671
+
1672
+ * Allow `--profile` option to take a count argument that
1673
+ determines the number of slow examples to dump
1674
+ (Greggory Rothmeier).
1675
+ * Add `subject!` that is the analog to `let!`. It defines an
1676
+ explicit subject and sets a `before` hook that will invoke
1677
+ the subject (Zubin Henner).
1678
+ * Fix `let` and `subject` declaration so that `super`
1679
+ and `return` can be used in them, just like in a normal
1680
+ method. (Myron Marston)
1681
+ * Allow output colors to be configured individually.
1682
+ (Charlie Maffitt)
1683
+ * Always dump slow examples when `--profile` option is given,
1684
+ even when an example failed (Myron Marston).
1685
+
1686
+ Bug fixes
1687
+
1688
+ * Don't blow up when dumping error output for instances
1689
+ of anonymous error classes (Myron Marston).
1690
+ * Fix default backtrace filters so lines from projects
1691
+ containing "gems" in the name are not filtered, but
1692
+ lines from installed gems still are (Myron Marston).
1693
+ * Fix autotest command so that is uses double quotes
1694
+ rather than single quotes for windows compatibility
1695
+ (Jonas Tingeborn).
1696
+ * Fix `its` so that uses of `subject` in a `before` or `let`
1697
+ declaration in the parent group continue to reference the
1698
+ parent group's subject. (Olek Janiszewski)
1699
+
1700
+ ### 2.12.2 / 2012-12-13
1701
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.1...v2.12.2)
1702
+
1703
+ Bug fixes
1704
+
1705
+ * Fix `RSpec::Core::RakeTask` so that it is compatible with rake 0.8.7
1706
+ on ruby 1.8.7. We had accidentally broke it in the 2.12 release
1707
+ (Myron Marston).
1708
+ * Fix `RSpec::Core::RakeTask` so it is tolerant of the `Rspec` constant
1709
+ for backwards compatibility (Patrick Van Stee)
1710
+
1711
+ ### 2.12.1 / 2012-12-01
1712
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.12.0...v2.12.1)
1713
+
1714
+ Bug fixes
1715
+
1716
+ * Specs are run even if another at\_exit hook calls `exit`. This allows
1717
+ Test::Unit and RSpec to run together. (Suraj N. Kurapati)
1718
+ * Fix full doc string concatenation so that it handles the case of a
1719
+ method string (e.g. "#foo") being nested under a context string
1720
+ (e.g. "when it is tuesday"), so that we get "when it is tuesday #foo"
1721
+ rather than "when it is tuesday#foo". (Myron Marston)
1722
+ * Restore public API I unintentionally broke in 2.12.0:
1723
+ `RSpec::Core::Formatters::BaseFormatter#format_backtrce(backtrace, example)`
1724
+ (Myron Marston).
1725
+
1726
+ ### 2.12.0 / 2012-11-12
1727
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.1...v2.12.0)
1728
+
1729
+ Enhancements
1730
+
1731
+ * Add support for custom ordering strategies for groups and examples.
1732
+ (Myron Marston)
1733
+ * JSON Formatter (Alex Chaffee)
1734
+ * Refactor rake task internals (Sam Phippen)
1735
+ * Refactor HtmlFormatter (Pete Hodgson)
1736
+ * Autotest supports a path to Ruby that contains spaces (dsisnero)
1737
+ * Provide a helpful warning when a shared example group is redefined.
1738
+ (Mark Burns).
1739
+ * `--default_path` can be specified as `--default-line`. `--line_number` can be
1740
+ specified as `--line-number`. Hyphens are more idiomatic command line argument
1741
+ separators (Sam Phippen).
1742
+ * A more useful error message is shown when an invalid command line option is
1743
+ used (Jordi Polo).
1744
+ * Add `format_docstrings { |str| }` config option. It can be used to
1745
+ apply formatting rules to example group and example docstrings.
1746
+ (Alex Tan)
1747
+ * Add support for an `.rspec-local` options file. This is intended to
1748
+ allow individual developers to set options in a git-ignored file that
1749
+ override the common project options in `.rspec`. (Sam Phippen)
1750
+ * Support for mocha 0.13.0. (Andy Lindeman)
1751
+
1752
+ Bug fixes
1753
+
1754
+ * Remove override of `ExampleGroup#ancestors`. This is a core ruby method that
1755
+ RSpec shouldn't override. Instead, define `ExampleGroup#parent_groups`. (Myron
1756
+ Marston)
1757
+ * Limit monkey patching of shared example/context declaration methods
1758
+ (`shared_examples_for`, etc.) to just the objects that need it rather than
1759
+ every object in the system (Myron Marston).
1760
+ * Fix Metadata#fetch to support computed values (Sam Goldman).
1761
+ * Named subject can now be referred to from within subject block in a nested
1762
+ group (tomykaira).
1763
+ * Fix `fail_fast` so that it properly exits when an error occurs in a
1764
+ `before(:all) hook` (Bradley Schaefer).
1765
+ * Make the order spec files are loaded consistent, regardless of the
1766
+ order of the files returned by the OS or the order passed at
1767
+ the command line (Jo Liss and Sam Phippen).
1768
+ * Ensure instance variables from `before(:all)` are always exposed
1769
+ from `after(:all)`, even if an error occurs in `before(:all)`
1770
+ (Sam Phippen).
1771
+ * `rspec --init` no longer generates an incorrect warning about `--configure`
1772
+ being deprecated (Sam Phippen).
1773
+ * Fix pluralization of `1 seconds` (Odin Dutton)
1774
+ * Fix ANSICON url (Jarmo Pertman)
1775
+ * Use dup of Time so reporting isn't clobbered by examples that modify Time
1776
+ without properly restoring it. (David Chelimsky)
1777
+
1778
+ Deprecations
1779
+
1780
+ * `share_as` is no longer needed. `shared_context` and/or
1781
+ `RSpec::SharedContext` provide better mechanisms (Sam Phippen).
1782
+ * Deprecate `RSpec.configuration` with a block (use `RSpec.configure`).
1783
+
1784
+
1
1785
  ### 2.11.1 / 2012-07-18
2
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.11.0...v2.11.1)
1786
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.11.0...v2.11.1)
3
1787
 
4
1788
  Bug fixes
5
1789
 
@@ -14,7 +1798,7 @@ Bug fixes
14
1798
  (Myron Marston).
15
1799
 
16
1800
  ### 2.11.0 / 2012-07-07
17
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.10.1...v2.11.0)
1801
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.1...v2.11.0)
18
1802
 
19
1803
  Enhancements
20
1804
 
@@ -47,7 +1831,7 @@ Bug fixes
47
1831
  * Delegate to mocha methods instead of aliasing them in mocha adapter.
48
1832
 
49
1833
  ### 2.10.1 / 2012-05-19
50
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.10.0...v2.10.1)
1834
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.10.0...v2.10.1)
51
1835
 
52
1836
  Bug fixes
53
1837
 
@@ -56,7 +1840,7 @@ Bug fixes
56
1840
  Strings (slyphon)
57
1841
 
58
1842
  ### 2.10.0 / 2012-05-03
59
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.9.0...v2.10.0)
1843
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.9.0...v2.10.0)
60
1844
 
61
1845
  Enhancements
62
1846
 
@@ -76,7 +1860,7 @@ Bug fixes
76
1860
  * Do not modify example ancestry when dumping errors (Michael Grosser)
77
1861
 
78
1862
  ### 2.9.0 / 2012-03-17
79
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.8.0...v2.9.0)
1863
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0...v2.9.0)
80
1864
 
81
1865
  Enhancements
82
1866
 
@@ -100,7 +1884,7 @@ Bug fixes
100
1884
 
101
1885
  ### 2.8.0 / 2012-01-04
102
1886
 
103
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc2...v2.8.0)
1887
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc2...v2.8.0)
104
1888
 
105
1889
  Bug fixes
106
1890
 
@@ -113,7 +1897,7 @@ Bug fixes
113
1897
 
114
1898
  ### 2.8.0.rc2 / 2011-12-19
115
1899
 
116
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc1...v2.8.0.rc2)
1900
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.8.0.rc1...v2.8.0.rc2)
117
1901
 
118
1902
  Enhancments
119
1903
 
@@ -131,7 +1915,7 @@ Enhancments
131
1915
 
132
1916
  ### 2.8.0.rc1 / 2011-11-06
133
1917
 
134
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.7.1...v2.8.0.rc1)
1918
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.1...v2.8.0.rc1)
135
1919
 
136
1920
  Enhancements
137
1921
 
@@ -174,7 +1958,7 @@ Bug fixes
174
1958
 
175
1959
  ### 2.7.1 / 2011-10-20
176
1960
 
177
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.7.0...v2.7.1)
1961
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.7.0...v2.7.1)
178
1962
 
179
1963
  Bug fixes
180
1964
 
@@ -182,7 +1966,7 @@ Bug fixes
182
1966
 
183
1967
  ### 2.7.0 / 2011-10-16
184
1968
 
185
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.4...v2.7.0)
1969
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.4...v2.7.0)
186
1970
 
187
1971
  NOTE: RSpec's release policy dictates that there should not be any backward
188
1972
  incompatible changes in minor releases, but we're making an exception to
@@ -225,7 +2009,7 @@ Bug fixes
225
2009
 
226
2010
  ### 2.6.4 / 2011-06-06
227
2011
 
228
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.3...v2.6.4)
2012
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.3...v2.6.4)
229
2013
 
230
2014
  NOTE: RSpec's release policy dictates that there should not be new
231
2015
  functionality in patch releases, but this minor enhancement slipped in by
@@ -245,7 +2029,7 @@ Bug fixes
245
2029
 
246
2030
  ### 2.6.3 / 2011-05-24
247
2031
 
248
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.2...v2.6.3)
2032
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.2...v2.6.3)
249
2033
 
250
2034
  Bug fixes
251
2035
 
@@ -256,7 +2040,7 @@ Bug fixes
256
2040
 
257
2041
  ### 2.6.2 / 2011-05-21
258
2042
 
259
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.1...v2.6.2)
2043
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.1...v2.6.2)
260
2044
 
261
2045
  Bug fixes
262
2046
 
@@ -265,7 +2049,7 @@ Bug fixes
265
2049
 
266
2050
  ### 2.6.1 / 2011-05-19
267
2051
 
268
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.0...v2.6.1)
2052
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.6.0...v2.6.1)
269
2053
 
270
2054
  Bug fixes
271
2055
 
@@ -274,7 +2058,7 @@ Bug fixes
274
2058
 
275
2059
  ### 2.6.0 / 2011-05-12
276
2060
 
277
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0)
2061
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.1...v2.6.0)
278
2062
 
279
2063
  Enhancements
280
2064
 
@@ -320,7 +2104,7 @@ Bug fixes
320
2104
 
321
2105
  ### 2.5.1 / 2011-02-06
322
2106
 
323
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.5.0...v2.5.1)
2107
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.5.0...v2.5.1)
324
2108
 
325
2109
  NOTE: this release breaks compatibility with rspec/autotest/bundler
326
2110
  integration, but does so in order to greatly simplify it.
@@ -331,13 +2115,13 @@ project's root directory or in your home directory:
331
2115
 
332
2116
  require "autotest/bundler"
333
2117
 
334
- Now you can just type 'autotest' on the commmand line and it will work as you expect.
2118
+ Now you can just type 'autotest' on the command line and it will work as you expect.
335
2119
 
336
2120
  If you don't want 'bundle exec', there is nothing you have to do.
337
2121
 
338
2122
  ### 2.5.0 / 2011-02-05
339
2123
 
340
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.4.0...v2.5.0)
2124
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.4.0...v2.5.0)
341
2125
 
342
2126
  Enhancements
343
2127
 
@@ -365,7 +2149,7 @@ Deprecations
365
2149
 
366
2150
  ### 2.4.0 / 2011-01-02
367
2151
 
368
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.3.1...v2.4.0)
2152
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.1...v2.4.0)
369
2153
 
370
2154
  Enhancements
371
2155
 
@@ -390,7 +2174,7 @@ Bug fixes
390
2174
 
391
2175
  ### 2.3.1 / 2010-12-16
392
2176
 
393
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.3.0...v2.3.1)
2177
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.3.0...v2.3.1)
394
2178
 
395
2179
  Bug fixes
396
2180
 
@@ -401,7 +2185,7 @@ Bug fixes
401
2185
 
402
2186
  ### 2.3.0 / 2010-12-12
403
2187
 
404
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.2.1...v2.3.0)
2188
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.1...v2.3.0)
405
2189
 
406
2190
  Enhancements
407
2191
 
@@ -421,9 +2205,10 @@ Bug fixes
421
2205
 
422
2206
  ### 2.2.1 / 2010-11-28
423
2207
 
424
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1)
2208
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.2.0...v2.2.1)
425
2209
 
426
2210
  Bug fixes
2211
+
427
2212
  * alias_method instead of override Kernel#method_missing (John Wilger)
428
2213
  * changed --autotest to --tty in generated command (MIKAMI Yoshiyuki)
429
2214
  * revert change to debugger (had introduced conflict with Rails)
@@ -431,7 +2216,7 @@ Bug fixes
431
2216
 
432
2217
  ### 2.2.0 / 2010-11-28
433
2218
 
434
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.1.0...v2.2.0)
2219
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.1.0...v2.2.0)
435
2220
 
436
2221
  Deprecations/changes
437
2222
 
@@ -457,7 +2242,7 @@ Bug fixes
457
2242
 
458
2243
  ### 2.1.0 / 2010-11-07
459
2244
 
460
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.0.1...v2.1.0)
2245
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.1...v2.1.0)
461
2246
 
462
2247
  Enhancments
463
2248
 
@@ -488,7 +2273,7 @@ Bug fixes
488
2273
 
489
2274
  ### 2.0.1 / 2010-10-18
490
2275
 
491
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0...v2.0.1)
2276
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0...v2.0.1)
492
2277
 
493
2278
  Bug fixes
494
2279
 
@@ -501,7 +2286,7 @@ Bug fixes
501
2286
 
502
2287
  ### 2.0.0 / 2010-10-10
503
2288
 
504
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.rc...v2.0.0)
2289
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.rc...v2.0.0)
505
2290
 
506
2291
  RSpec-1 compatibility
507
2292
 
@@ -514,12 +2299,12 @@ Bug fixes
514
2299
 
515
2300
  ### 2.0.0.rc / 2010-10-05
516
2301
 
517
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.22...v2.0.0.rc)
2302
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.22...v2.0.0.rc)
518
2303
 
519
2304
  Enhancements
520
2305
 
521
2306
  * implicitly require unknown formatters so you don't have to require the file
522
- explicitly on the commmand line (Michael Grosser)
2307
+ explicitly on the command line (Michael Grosser)
523
2308
  * add --out/-o option to assign output target
524
2309
  * added fail_fast configuration option to abort on first failure
525
2310
  * support a Hash subject (its([:key]) { should == value }) (Josep M. Bach)
@@ -538,7 +2323,7 @@ Bug fixes
538
2323
 
539
2324
  ### 2.0.0.beta.22 / 2010-09-12
540
2325
 
541
- [full changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.20...v2.0.0.beta.22)
2326
+ [Full Changelog](http://github.com/rspec/rspec-core/compare/v2.0.0.beta.20...v2.0.0.beta.22)
542
2327
 
543
2328
  Enhancements
544
2329