### Bug fixes

* [#7439](https://github.com/rubocop/rubocop/issues/7439): Make `Style/FormatStringToken` ignore percent escapes (`%%`). ([@buehmann][])
* [#7438](https://github.com/rubocop/rubocop/issues/7438): Fix assignment edge-cases in `Layout/MultilineAssignmentLayout`. ([@gsamokovarov][])
* [#7449](https://github.com/rubocop/rubocop/pull/7449): Make `Style/IfUnlessModifier` respect `rubocop:disable` comments for `Metrics/LineLength`. ([@jonas054][])
* [#7442](https://github.com/rubocop/rubocop/issues/7442): Fix an incorrect autocorrect for `Style/SafeNavigation` when an object check followed by a method call with a comment at EOL. ([@koic][])
* [#7434](https://github.com/rubocop/rubocop/issues/7434): Fix an incorrect autocorrect for `Style/MultilineWhenThen` when the body of `when` branch starts with `then`. ([@koic][])
* [#7464](https://github.com/rubocop/rubocop/pull/7464): Let `Performance/StartWith` and `Performance/EndWith` correct regexes that contain forward slashes. ([@eugeneius][])

### Changes

* [#7465](https://github.com/rubocop/rubocop/pull/7465): Add `os` to allowed names of `Naming/UncommunicativeMethodParamName` cop in default config. ([@nijikon][])
* [#7446](https://github.com/rubocop/rubocop/issues/7446): Add `merge` to list of non-mutating methods. ([@cstyles][])
* [#7077](https://github.com/rubocop/rubocop/issues/7077): **(Breaking)** Rename `Unneeded*` cops to `Redundant*` (e.g., `Style/UnneededPercentQ` becomes `Style/RedundantPercentQ`). ([@scottmatthewman][])
* [#7396](https://github.com/rubocop/rubocop/issues/7396): Display assignments, branches, and conditions values with the offense. ([@avmnu-sng][])

[@buehmann]: https://github.com/buehmann
[@gsamokovarov]: https://github.com/gsamokovarov
[@jonas054]: https://github.com/jonas054
[@koic]: https://github.com/koic
[@eugeneius]: https://github.com/eugeneius
[@nijikon]: https://github.com/nijikon
[@cstyles]: https://github.com/cstyles
[@scottmatthewman]: https://github.com/scottmatthewman
[@avmnu-sng]: https://github.com/avmnu-sng
