| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| scalafmt-x86_64-pc-win32.zip | 2026-01-28 | 9.3 MB | |
| scalafmt-macos | 2026-01-28 | 80.2 MB | |
| scalafmt-aarch64-pc-linux.zip | 2026-01-28 | 11.7 MB | |
| scalafmt-x86_64-apple-darwin.zip | 2026-01-28 | 14.8 MB | |
| scalafmt-aarch64-apple-darwin.zip | 2026-01-28 | 13.7 MB | |
| scalafmt-x86_64-pc-linux.zip | 2026-01-28 | 13.3 MB | |
| scalafmt-linux-musl | 2026-01-28 | 82.9 MB | |
| scalafmt-linux-glibc | 2026-01-28 | 89.2 MB | |
| README.md | 2026-01-28 | 1.6 kB | |
| v3.10.5 source code.tar.gz | 2026-01-28 | 1.8 MB | |
| v3.10.5 source code.zip | 2026-01-28 | 2.2 MB | |
| Totals: 11 Items | 319.1 MB | 0 | |
Features
This release has a number of features and fixes to allow scalafmt adoption to extend to scala.js as well.
- improve handling of
rewrite.insertBracesfunctionality - InsertBlocks: add
settingsandoverrideFor(#5172) @kitbellew- FormatWriter: use InsertBraces.countBreakBefore (#5170) @kitbellew
- MissingBraces: include method result type as well (#5168) @kitbellew
- MissingBraces: extract all nested if-else blocks (#5164) @kitbellew
- MissingBraces: ensure right brace belongs to body (#5163) @kitbellew
- MissingBraces: return some parts as non-blocks (#5162) @kitbellew
- MissingBraces: implement for if-then, for-do (#5161) @kitbellew
- InsertBraces: fix renaming maxLines to maxBreaks (#5159) @kitbellew
- InsertBraces: rename
maxLinestomaxBreaks(#5157) @kitbellew
- InsertBraces: rename
- MissingBraces: pass InsertBlocks, get case class (#5158) @kitbellew
- Splits: use comments.indentTrailingInCaseBody (#5166) @kitbellew
- Splits: use optional beforeParenLambdaParams (#5147) @kitbellew
- IndentOperator: allow multiple
exemptScopevals (#5130) @kitbellew - add new infix style which preserves existing breaks but possibly adds new ones
- Infix.Style: rename keep to none, keepNL to keep (#5110) @kitbellew
- FormatOps: don't break before infix arg in braces (#5124) @kitbellew
- FormatOps: handle infix=keepNL even more correctly (#5122) @kitbellew
- FormatOps: handle infix=keepNL correctly (#5121) @kitbellew
- DialectMacro: capture only public Dialect methods (#5192) @kitbellew
- SyntacticGroupOps: fix for patterns, scala3 types (#5186) @kitbellew
- Splits: keep classic break for two-branches assign (#5185) @kitbellew
- InfixSplits: use 0 cost for non-break "NL" split (#5181) @kitbellew
- ScalafmtConfig: change binPack.importSelectors (#5183) @kitbellew
- Imports: don't check errors if rule isn't used (#5182) @kitbellew
Miscellaneous
- InfixSplits: findNestedInfixes was always true (#5201) @kitbellew
- Split: move policy as the first default parameter (#5199) @kitbellew
- SyntacticGroup: replace with scalameta version (#5197) @kitbellew
- TreeSyntacticGroup: change imports (#5196) @kitbellew
- SyntacticGroup: remove unused PrefixArg (#5191) @kitbellew
- SyntacticGroupOps: refactor, simplify two bools (#5184) @kitbellew
- Rewrite: cosmetic: remove unused, add types (#5178) @kitbellew
- RewriteFactory: create() returns an Option now (#5177) @kitbellew
Build and dependency updates
- scalameta: upgrade to v4.14.6 (#5195) @kitbellew
- scala-native: upgrade to v0.5.10 (#5190) @kitbellew