Download Latest Version scalafmt-x86_64-pc-win32.zip (9.2 MB)
Email in envelope

Get an email when there's a new version of scalafmt

Home / v3.10.4
Name Modified Size InfoDownloads / Week
Parent folder
scalafmt-aarch64-apple-darwin.zip 2026-01-17 13.6 MB
scalafmt-macos 2026-01-17 80.3 MB
scalafmt-x86_64-apple-darwin.zip 2026-01-17 14.8 MB
scalafmt-linux-glibc 2026-01-17 89.3 MB
scalafmt-x86_64-pc-win32.zip 2026-01-17 9.2 MB
scalafmt-aarch64-pc-linux.zip 2026-01-17 11.6 MB
scalafmt-linux-musl 2026-01-17 83.0 MB
scalafmt-x86_64-pc-linux.zip 2026-01-17 13.3 MB
README.md 2026-01-17 6.6 kB
v3.10.4 source code.tar.gz 2026-01-17 1.8 MB
v3.10.4 source code.zip 2026-01-17 2.2 MB
Totals: 11 Items   319.2 MB 0
  • FormatOps: in getSlbEndOnLeft, ignore keepNL (#5120) @kitbellew
  • FormatOps: refactor insideInfixSplit (#5118) @kitbellew
  • Newlines: add InfixSite.isNone, revise checkConfig (#5119) @kitbellew
  • InfixSplits: refactor intermediate expires (#5117) @kitbellew
  • FormatOps: detect valid break before infix better (#5116) @kitbellew
  • Infix, CtrlBody: extend single line to include comment (#5113) @kitbellew
  • InfixSplits: keep: expire SLB before op, not after (#5109) @kitbellew
  • Newlines: add a new infix style option, keepNL (#5107) @kitbellew
  • Newlines: disallow afterInfix=keep if source!=keep (#5106) @kitbellew
  • Infix/ctrl body: at times treat parens as braces (#5103) @kitbellew
  • allow adding blanks not just on top-level statements
  • FormatWriter: improve blank detection in alignment (#5096) @kitbellew
  • FormatWriter: allow blanks in non-top-level stats (#5095) @kitbellew
  • Newlines.TopStatBlanks: add parent matching, too (#5094) @kitbellew
  • FormatWriter: refactor topStatBlanks logic (#5093) @kitbellew
  • PreferCurlyFors: also optionally include if-guards (#5091) @kitbellew
  • ImportSelectors: add keep option (#5086) @kitbellew
  • Bug fixes

    • Imports: don't just accidentally add Imports rule (#5173) @kitbellew
    • TreeOps: find nested braces in an ancestor (#5171) @kitbellew
    • FormatWriter: check leading comments to add braces (#5169) @kitbellew
    • FormatWriter: fix formatting of multiline comments (#5167) @kitbellew
    • Splits: handle comment between while () and { (#5160) @kitbellew
    • FormatOps: to unfold CtrlBody, keep break if can (#5153) @kitbellew
    • FormatOps: delay oneline-arg policy until the arg (#5152) @kitbellew
    • Splits: do not unindent blocks within parens (#5149) @kitbellew
    • InfixSplits: turn indents.infix into array (#5148) @kitbellew
    • Indents: fix section rename bug (lengthCompare 0) (#5150) @kitbellew
    • ScalafmtConfig: sort fileOverride patterns (#5146) @kitbellew
    • Splits: format tucked try-catch like if-else (#5145) @kitbellew
    • PolicyOps: fix unindent, since ranges are reversed (#5144) @kitbellew
    • Policy.RelayOnSplit: use before unless triggered (#5142) @kitbellew
    • Splits: use binpack indent for single-arg lambda (#5141) @kitbellew
    • InfixSplits: force SLB optimal for assignment ops (#5137) @kitbellew
    • InfixSplits: fix SLB indent length, expiration (#5139) @kitbellew
    • InfixSplits: handle assignment operators better (#5132) @kitbellew
    • TreeExtractors: switch to scalameta precedence (#5131) @kitbellew
    • FormatOps: NL before single-line infix braces arg (#5125) @kitbellew
    • Splits: caret can belong to CapSetName, too (#5114) @kitbellew
    • FormatTokens: fix bugs in getNonMultilineEnd (#5108) @kitbellew
    • FormatTokens: blank line interrupts multiline (#5104) @kitbellew
    • FormatWriter: improve detection of scaladoc lists (#5092) @kitbellew
    • Splits: preserve blank line between arguments (#5090) @kitbellew
    • Splits: disable kill-on-fail if scala.js-style (#5088) @kitbellew
    • RedundantBraces: check line span for ctors as well (#5087) @kitbellew

    Miscellaneous

    • StyleMap: allow overriding init at top of file (#5175) @kitbellew
    • FormatOps: get initStyle from StyleMap (#5174) @kitbellew
    • FormatOps: move isJsNative to TreeOps (#5156) @kitbellew
    • Splits: massage yield w/ nested multi-branch (#5155) @kitbellew
    • FormatOps: restore literalArgList binpack priority (#5154) @kitbellew
    • FormatOps: detect binpack site args correctly (#5151) @kitbellew
    • Policy: print nested policies in parentheses (#5143) @kitbellew
    • InfixSplits: cosmetic, expose nextInfixes (#5140) @kitbellew
    • FormatTests: assert state visits if specified (#5138) @kitbellew
    • InfixSplits: include fullInfixEnclosedIn flag (#5134) @kitbellew
    • InfixSplits: extract helpers in skipInfixIndent (#5129) @kitbellew
    • IndentOperator: use Conf.nameOf, not literals (#5128) @kitbellew
    • InfixSplits: detect enclosed RHS even beforeLHS (#5101) @kitbellew
    • InfixSplits: enforce break around nested infix (#5100) @kitbellew
    • InfixSplits: refactor findNextInfixes (#5098) @kitbellew
    • InfixSplits: refactor getting next infix op (#5099) @kitbellew
    • InfixSplits: spaceSplits to otherSplitsNoDelims (#5097) @kitbellew
    • InfixSplits: remove pred in findNextInfixes (#5102) @kitbellew
    • BestFirstSearch: refactor, overload killOnFail (#5089) @kitbellew

    Build and dependency updates

    • scalameta: upgrade to v4.14.5 (#5176) @kitbellew
    • Update sbt, scripted-plugin to 1.12.0 (#5136) @scalameta-bot
    • Update sbt-scalajs, scalajs-compiler, ... to 1.20.2 (#5135) @scalameta-bot
    • HasTests: improve prefix detection (#5133) @kitbellew
    • metaconfig: upgrade to v0.18.2 (#5127) @kitbellew
    • Bump release workflows to macos-15/macos-15-intel runners (#5126) @Gedochao
    • FormatTest: debug only the first run, not [WIN] (#5123) @kitbellew
    • scalameta: upgrade to 4.14.4 (#5115) @kitbellew
    • DiffTest: verbose debug for explicit ONLY tests (#5105) @kitbellew
    • Formatter: upgrade to v3.10.3 (#5085) @kitbellew
    Source: README.md, updated 2026-01-17