Skip to content
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
e68bb15
chore: Add CHANGELOG details for `float_literal_trailing_zero`
ytmimi Feb 25, 2026
e94a680
chore: add CHANGELOG details for `required_version` semver support
ytmimi Feb 25, 2026
297ebf1
chore: Update CHANGELOG entry for `match_arm_indent`
ytmimi Feb 25, 2026
4dc1028
chore: add CHANGELOG entry for idempotent import fix
ytmimi Feb 25, 2026
151dce4
chore: add CHANGELOG entry for proper wrapping of long `if-let` pattern
ytmimi Feb 25, 2026
7b6e253
chore: add changelog entry for `lazy_static::lazy_static!` formatting
ytmimi Feb 25, 2026
e6874bf
chore: add CHANGELOG entry for properly handleing unicode whitespace …
ytmimi Feb 25, 2026
b75f6b0
chore: add CHANGELOG entry for Allow `NotADirectory` errors
ytmimi Feb 25, 2026
62699f7
chore: add changelog entry for transitive import sorting for style_ed…
ytmimi Feb 25, 2026
719d3d1
chore: add CHANGELOG entry for Properly wrapping long `impl trait` pa…
ytmimi Feb 25, 2026
af20b60
chore: add CHANGELOG entry for `imports_granularity=Module` changes
ytmimi Feb 25, 2026
4cc4f29
chore: add CHANGELOG entry for misc dependency upgrades
ytmimi Feb 25, 2026
b8b9cc9
chore: add CHANGELOG entry for temporary removal of generic-simd support
ytmimi Feb 25, 2026
13173ff
chore: update date when I think rustfmt v1.9.0 will get synced
ytmimi Feb 25, 2026
17803d3
chore: add CHANGELOG entry for `trailing_semicolon` changes for last …
ytmimi Feb 25, 2026
24e6691
chore: add CHANGELOG entry for deduplicate imports when `imports_gran…
ytmimi Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## [Unreleased]


## [1.9.0] 2025-01-03
## [1.9.0] 2026-02-26

### Fixed
- No longer strip `r#` prefix from `break` and `continue` labels [#6411](https://github.com/rust-lang/rustfmt/issues/6411)
Expand All @@ -17,6 +17,14 @@
- Fix panic when sorting imports [#6333](https://github.com/rust-lang/rustfmt/issues/6333)
- Fix issue with `wrap_comments` invalidating code blocks [#6417](https://github.com/rust-lang/rustfmt/pull/6417)
- No longer remove closure block label within a macro call [#6465](https://github.com/rust-lang/rustfmt/issues/6465)
- Fix idempotency issue when normalizing imports [#6558](https://github.com/rust-lang/rustfmt/issues/6558)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: should this link to the fix PR #6573?

- Properly split long pattern in `if-let` at the `max_width` when setting `style_edition=2027` [#6202](https://github.com/rust-lang/rustfmt/issues/6202)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: maybe the impl PR #6572?

- Format `lazy_static::lazy_static!` like `lazy_static!` when setting `style_edition=2027` [#6287](https://github.com/rust-lang/rustfmt/issues/6287)
- Prevent panic when rewriting missing spans that contain unicode whitespace chars [#5739](https://github.com/rust-lang/rustfmt/issues/5739)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: maybe fix PR #5741?

- Allow `NotADirectory` errors when looking up rustfmt configuration files [#6624](https://github.com/rust-lang/rustfmt/pull/6624)
- Prevent panic when sorting imports starting with a `_` for `style_edition=2015|2018|2021` [#6668](https://github.com/rust-lang/rustfmt/issues/6668)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: maybe fix PR #6786?

- Properly wrap long `impl trait` function parameters at the `max_width` when setting `style_edition=2027` [#6381](https://github.com/rust-lang/rustfmt/issues/6381)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: maybe fix PR #6798?

- Better support for deduplicating imports when setting `imports_granularity=Module` [#6243](https://github.com/rust-lang/rustfmt/issues/6243)

### Changed
- Stabilize `style_edition=2024` and stabilize the `style_edition` command line option [#6431](https://github.com/rust-lang/rustfmt/pull/6431) [rust-lang/rust#134929](https://github.com/rust-lang/rust/pull/134929)
Expand All @@ -25,12 +33,30 @@
- Correct version chunk splitting in the internal version sort algorithm [#6407](https://github.com/rust-lang/rustfmt/pull/6407)
- Extend support for single line let-chain formatting to include cases where the left hand side operand is a literal, in alignment with finalized style rules as part of let-chain stabilization [#6492](https://github.com/rust-lang/rustfmt/pull/6492)
- Begin initial formatting for `use closures` and `use chains` (`#![feature(ergonomic_clones)]`). Previously, the closure and chain was left as the developer wrote it [#6532](https://github.com/rust-lang/rustfmt/pull/6532)
- The unstable `required_version` configuration option now support cargo flavored semantic versioning using the `semver` crate [#6063](https://github.com/rust-lang/rustfmt/issues/6063)
- Top-level imports are no longer merged when setting `imports_granularity=Module`. Note that `imports_granularity=Module` is still an unstable configuration [#6191](https://github.com/rust-lang/rustfmt/issues/6191)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: maybe fix PR #6784?

- Disable the `bytecount/generic-simd` optional dependency when using the `generic-simd` feature. The dependency was preventing rustfmt from building on nightly. simd support will be re-enabled once the issue has been fixed [#6807](https://github.com/rust-lang/rustfmt/pull/6807) [llogiq/bytecount#100](https://github.com/llogiq/bytecount/pull/100)
- The `trailing_semicolon` configuration option will add a trailing semicolon to the last expression in a loop body when enabled along with `edition >= 2024` and `style_edition >= 2027` [#6711](https://github.com/rust-lang/rustfmt/pull/6711)
```rust
fn main() {
for x in 0..10 {
println!("{x}");
}
}
```


### Added
- Add `style_edition=2027` to gate unstable formatting [#6324](https://github.com/rust-lang/rustfmt/pull/6324)
- Support discovering and formatting files via external mods imported within `cfg_match`, similar to `cfg_if` behavior [#6522](https://github.com/rust-lang/rustfmt/pull/6522)
- Add new nightly-only `match_arm_indent` option [#6525](https://github.com/rust-lang/rustfmt/pull/6525)
- more details in the [configuration section for this new option](https://github.com/rust-lang/rustfmt/blob/HEAD/Configurations.md#match_arm_indent)
- See the [`match_arm_indent` configuration documentation](https://rust-lang.github.io/rustfmt/?version=v1.9.0&search=#match_arm_indent) for more details
- Add new nightly-only `float_literal_trailing_zero` option [#3187](https://github.com/rust-lang/rustfmt/issues/3187)
- See the [`float_literal_trailing_zero` configuration documentation](https://rust-lang.github.io/rustfmt/?version=v1.9.0&search=#float_literal_trailing_zero) for more details
Comment on lines +54 to +55
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: should these point to the original feature request issue and/or the impl? In this particular case we point to the issue, the impl is #5834


### Misc
- Update `term` dependency to 1.1 [#6628](https://github.com/rust-lang/rustfmt/pull/6628)
- Update `toml` dependency to 0.9.5 [#6652](https://github.com/rust-lang/rustfmt/pull/6652)


## [1.8.0] 2024-09-20
Expand Down
Loading