Releases: facebook/ktfmt
Releases · facebook/ktfmt
0.64
Changed
- Reduced overall number of allocations to improve formatting performance (~6-7%) (#620) – @qwwdfsad
- Reuse results of
Parser.parse(#622) – @qwwdfsad - Fix trailing lambda with chained call indentation (#626) – @ptitjes
- Refactor build scripts (#623) – @AbdullinAM
- Switch in-repo formatting to simple local gradle task (#628) – @ZacSweers
Fixed
- Support name-based destructuring declarations. (#629) – @goutamadwant
Huge thanks to all the contributors! 🎉
Full Changelog: v0.63...v0.64
0.63
Added
- Support
ij_kotlin_indent_sizeineditorconfig. (#604) – @Goooler - Support for lists within quoted blocks in KDoc comments (68fa158) – @hick209
- Fix
ONLY_ADDtrailing commas strategy causing lines overMAX_WIDTHlength (#610) – @lwasyl - Remove forced breaking of
contextfunction types (#613) – @kyay10 - Preserve user-authored line breaks inside lambda bodies by default, rather than have ktfmt impose anything. This can be particularly useful for DSL syntax like Compose UI or Kotlin Gradle script. The behavior follows the
FormattingOptions.preserveLambdaBreakssetting of the chosen style. (#614) – @ZacSweers - Add a
FormattingOptions.BuilderAPI for tools to avoid breaking ABI changes with new options. (#614) – @ZacSweers
Huge thanks to all the contributors! 🎉
Full Changelog: v0.62...v0.63
0.62
Added
- Add
--quietflag to suppress per-file formatting status output (#603) – @Goooler - Support
ij_kotlin_continuation_indent_sizein editorconfig (#600) – @Goooler
Fixed
- Dot-qualified scoping functions (e.g.,
scope.launch { }) now format as block-like expressions, consistent with non-qualified calls (#205) – @hick209 - Lambda bodies in
whenbranches no longer get extra indentation with Meta style (#222) – @hick209 - Comments before
&&/||operators in chained binary expressions no longer strand the operator on its own line (#527) – @hick209 - Backtick-escaped full-path imports are no longer incorrectly removed as unused (#532) – @hick209
- Blank lines before lists and blockquotes in KDoc comments are now preserved (#561) – @hick209
- Fenced code blocks inside KDoc list items are no longer erroneously reflowed into a single line (#572) – @hick209
- Fixed IJ plugin Gradle build (#583) – @rock3r
- Single-line comments in if expressions are now correctly indented (#591) – @cmwarrington
- Idea Plugin not applying custom trailing commas management strategy (#593) – @tKe
- Comments between a multiline string and
.trimMargin()/.trimIndent()are no longer deleted during formatting (#597) – @hick209 maxCommentWidthnow defaults tomaxLineWidthinstead of being capped at 72, so KDoc comments respect the configured line width (#594) – @hick209- Block comment formatting inside of lambda expressions (#602) – @hick209
- Compatibility with Kotlin compiler v2.3.20 (
CONTEXT_RECEIVER_LISTrenamed toCONTEXT_PARAMETER_LIST, K1 API opt-in forKotlinCoreEnvironment.createForProduction) (#605) – @hick209
Huge thanks to all the contributors! 🎉
And big thanks to @cortinico, @strulovich and @cgrushko for the code reviews ✅
Full Changelog: v0.61...v0.62
0.61
Added
- Support for Kotlin 2.3.0 explicit backing field (#580) – @dayanruben
Fixed
Huge thanks to all the contributors! 🎉
Full Changelog: v0.60...v0.61
0.60
Added
- Support for
else ifguard conditions (#563) – @tKe - Explicit Kotlin import layout for the default and Google specific editorconfig files to match ktfmt's style. The same layout was already applied to the Kotlin Lang editorconfig (#571) – @vRallev
- ktfmt cli can pull formatting configs from editor config files (#570) – @tKe
- Strip leading UTF-8 BOM before formatting so ktfmt no longer errors on files starting with a BOM (#565) – @KaranPradhan266
Huge thanks to all the contributors! 🎉
Full Changelog: v0.59...v0.60
0.59
0.58
Changed
Fixed
- Do not apply special format handling of multiline strings with template expressions in them (#556) – @hick209
- Make sure that we handle nested expressions for special format handling of multiline strings (4b4c96c) – @hick209
Huge thanks to all the contributors! 🎉
Full Changelog: v0.57...v0.58
0.57
Added
TrailingCommaManagementStrategy.ONLY_ADDstrategy that does not remove existing trailing commas (#461, #512, #514) – @hick209- Formatting of where clauses (#541) – @hick209
- Special format handling of multiline strings with
trimMargin()andtrimIndent()(#389) – @hick209
Changed
FormattingOptions.manageTrailingCommaswas replaced withFormattingOptions.trailingCommaManagementStrategy, which also added newTrailingCommaManagementStrategy.ONLY_ADDstrategy (#461, #512, #514) – @hick209- All styles managing trailing commas by default now (#216, #442) – @hick209
Removed
Fixed
- Corrected reference to jar in formatter website's command line instructions https://facebook.github.io/ktfmt/ (cedc196) – @hick209
- Trailing comma on when cases (#376) – @hick209
- Update idea plugin name to avoid collision with google-java-format (#553) – @mchristiansen
Huge thanks to all the contributors! 🎉
Full Changelog: v0.56...v0.57
0.56
Changed
- Update to Kotlin 2.2.0 (451be91) – @rybalkinsd
Huge thanks to all the contributors! 🎉
Full Changelog: v0.55...v0.56
0.55
Added
- Support guard conditions (#530, #537) – @ZacSweers
--versionoption in CLI (#534) – @hick209
Changed
- Update
kotlin-compiler-embeddableto2.2.0-Beta2for forward compatibility with context parameters. (#538) – @ZacSweers - Moved ktfmt project to Gradle (away from Maven) (d03a29e) – @hick209
Fixed
- Support context parameters (#518, #536) – @ZacSweers
- Indentation options in
.editorconfig-default(#543) – @patricklucas
Full Changelog: v0.54...v0.55
Huge thanks to all the contributors! 🎉