9 - Add `error_on_unformatted` configuration option.
10 - Add `--error-on-unformatted` command line option.
14 - Do not report formatting errors on comments or strings by default.
15 - Rename `error_on_line_overflow_comments` to `error_on_unformatted`.
19 - Fix formatting bugs.
20 - Fix adding a trailing whitespace inside code block when `wrap_comments = true`.
26 - Support nested imports.
30 - Do not report errors on skipped items.
31 - Do not format code block inside comments when `wrap_comments = true`.
32 - Keep vertical spaces between items within range.
33 - Format `format!` and its variants using compressed style.
34 - Format `write!` and its variants using compressed style.
35 - Format **simple** array using compressed style.
39 - Fix `rustfmt --package package_name` not working properly.
40 - Fix formatting bugs.
42 ## [0.2.17] 2017-12-03
46 - Add `blank_lines_lower_bound` and `blank_lines_upper_bound` configuration options.
50 - Combine configuration options related to width heuristic into `width_heuristic`.
51 - If the match arm's body is `if` expression, force to use block.
55 - Fix `cargo fmt --all` being trapped in an infinite loop.
56 - Fix many formatting bugs.
60 - Remove legacy configuration options.
62 ## [0.2.16] 2017-11-21
66 - Remove empty lines at the beginning of the file.
67 - Soft wrapping on doc comments.
71 - Break before `|` when using multiple lines for match arm patterns.
72 - Combine `control_style`, `where_style` and `*_indent` config options into `indent_style`.
73 - Combine `item_brace_style` and `fn_brace_style` config options into `brace_style`.
74 - Combine config options related spacing around colons into `space_before_colon` and `space_after_colon`.
80 ## [0.2.15] 2017-11-08
85 - `where_single_line` configuration option.
89 - Rename `chain_one_line_max` to `chain_width`.
90 - Change the suffix of indent-related configuration options to `_indent`.
92 ## [0.2.14] 2017-11-06
96 - Rustup to the latest nightly.
98 ## [0.2.13] 2017-10-30
102 - Rustup to the latest nightly.
104 ## [0.2.12] 2017-10-29
108 - Fix a bug that `cargo fmt` hangs forever.
110 ## [0.2.11] 2017-10-29
114 - Fix a bug that `cargo fmt` crashes.
116 ## [0.2.10] 2017-10-28
118 ## [0.2.9] 2017-10-16
120 ## [0.2.8] 2017-09-28
122 ## [0.2.7] 2017-09-21
126 - `binop_separator` configuration option (#1964).
130 - Use horizontal layout for function call with a single argument.
134 - Fix panicking when calling `cargo fmt --all` (#1963).
135 - Refactorings & faster rustfmt.
137 ## [0.2.6] 2017-09-14
141 - Fix a performance issue with nested block (#1940).
142 - Refactorings & faster rustfmt.
144 ## [0.2.5] 2017-08-31
148 - Format and preserve attributes on statements (#1933).
152 - Use getters to access `Span` fields (#1899).
154 ## [0.2.4] 2017-08-30
158 - Add support for `Yield` (#1928).
160 ## [0.2.3] 2017-08-30
164 - `multiline_closure_forces_block` configuration option (#1898).
165 - `multiline_match_arm_forces_block` configuration option (#1898).
166 - `merge_derives` configuration option (#1910).
167 - `struct_remove_empty_braces` configuration option (#1930).
168 - Various refactorings.
172 - Put single-lined block comments on the same line with list-like structure's item (#1923).
173 - Preserve blank line between doc comment and attribute (#1925).
174 - Put the opening and the closing braces of enum and struct on the same line, even when `item_brace_style = "AlwaysNextLine"` (#1930).
178 - Format attributes on `ast::ForeignItem` and take max width into account (#1916).
179 - Ignore empty lines when calculating the shortest indent width inside macro with braces (#1918).
180 - Handle tabs properly inside macro with braces (#1918).
181 - Fix a typo in `compute_budgets_for_args()` (#1924).
182 - Recover comment between keyword (`impl` and `trait`) and `{` which used to get removed (#1925).