Releases: scalameta/scalafmt
Releases Β· scalameta/scalafmt
v3.10.3
Features
- Cli: add option to diff config (#5083) @kitbellew
- Config: use new features of ConfDecoderXxx (#5081) @kitbellew
- Presets: support contramap (#5080) @kitbellew
- metaconfig: upgrade to v0.18.1 (#5082) @kitbellew
- ReaderUtil: replace with ConfCodecEx and ConfEnum (#5079) @kitbellew
- Upgrade: metaconfig to v0.18.0, mdoc to v2.8.2 (#5075) @kitbellew
- RewriteLiterals: add a new rewrite rule (#5069) @kitbellew
- RewriteLiterals: fix separators in appendZeros (#5078) @kitbellew
- RewriteLiterals: implement separators (#5074) @kitbellew
- Literals: move settings to floating-point section (#5068) @kitbellew
- Literals: cosmetic, convert only one character (#5067) @kitbellew
- FormatWriter: insert/remove end markers using gaps (#5066) @kitbellew
Bug fixes
- Docs: fix links to end-marker parameters (#5071) @kitbellew
- Splits:
foldentire 2-way expr as single-line (#5063) @kitbellew - ScalafmtConfig: use
.forMainif no layout match (#5057) @kitbellew - Splits: look for multiline in interpolation, too (#5055) @kitbellew
Miscellaneous
- Config: replace all
preserveetc. withkeep(#5073) @kitbellew - Splits: refactor
exclude-blocksin apply (#5062) @kitbellew - FormatOps: extract InfixSplits (#5061) @kitbellew
- FormatOps: extract MissingBraces (#5060) @kitbellew
- FormatOps: extract OptionalBraces (#5059) @kitbellew
- FormatOps: extract SelectLike (#4986) @kitbellew
- FormatOps: move static methods to TreeOps, etc. (#5058) @kitbellew
Build and dependency updates
- Scala: upgrade 2.12 to .21 (#5077) @kitbellew
- scalameta: upgrade to v4.14.3 (#5076) @kitbellew
- SBT: use central snapshots (#5072) @kitbellew
- SBT: handle more metadata in assemblyMergeStrategy (#5070) @jackkoenig
- Update sbt-scalafmt to 2.5.6 (#5053) @scalameta-bot
- Update scalafmt-core to 3.10.2 (#5054) @scalameta-bot
v3.10.2
Features
- Imports: optionally sort the catch-all group (#5026) @kitbellew
Bug fixes
- FormatOps: Defn.Type cannot have braces (#5049) @kitbellew
- OptimizationEntities: handle EnumCase with KwCase (#5039) @kitbellew
- CoursierDependencyDownloader: add back snapshots (#5041) @kitbellew
- FormatWriter: fix align container when isSlc=true (#5045) @kitbellew
- FormatWriter: refactor getAlignContainer w/ isSlc (#5044) @kitbellew
- FormatWriter: processLineEnd after processLine (#5043) @kitbellew
- FormatWriter: determine isSlc in alignmentTokens (#5042) @kitbellew
- Imports: fix removeRedundantSelectors for groups (#5036) @kitbellew
- ConvertToNewSyntax: fix for-yield handling (#5037) @kitbellew
- FormatWriter:
Defnis not own align container (#5033) @kitbellew - Splits: don't allow space between
-> <multiline>(#5032) @kitbellew - FormatOps: CtrlBody.unfolded to respect slbOnly (#5028) @kitbellew
- Imports: bug w/ redundant name and rename/wildcard (#5025) @kitbellew
Build and dependency updates
- Scalameta: upgrade to v4.14.2 (#5051) @kitbellew
- Scala: upgrade 2.13 to patch 18 (#5050) @kitbellew
- Bump actions/checkout from 5 to 6 (#5048) @dependabot[bot]
- Build and test on arm64 runner (#4802) @harryzcy
v3.10.1
Features
- Splits: binpack imports without NL if not dangling (#5024) @kitbellew
- RemoveSemicolons or force break after them (#5015) @kitbellew
- Imports: set selector config from newlines.source (#5018) @kitbellew
β οΈ This changes the default forrewrite.imports.selectorsparameter to matchnewlines.source
More Imports improvements
Fixes bugs introduced in v3.10.0 to the Imports rewrite rule and improves duplicate and redundant entry detection.
- Imports: derive ExpandFull from Fold (#5022) @kitbellew
- Imports: output only one global wildcard (*/given) (#5021) @kitbellew
- Imports: keep all renamesOnly in a single list (#5020) @kitbellew
- Imports: revise fold, match renames over unimports (#5019) @kitbellew
- Imports: cosmetic, rename folding variables (#5017) @kitbellew
- Imports: process each importee comments separately (#5016) @kitbellew
- Imports: can't fold if "renamed twice" (#5012) @kitbellew
- Imports: filter selectors only once for
unfold(#5011) @kitbellew
Bug fixes
- Splits: no arrowEnumeratorGenerator w/ opt-braces (#5014) @kitbellew
Miscellaneous
- Scalafmt: fix javadoc/scaladoc element links (#5013) @kitbellew
- DynamicSuite: compare versions correctly (#5008) @kitbellew
Build and dependency updates
- Scalameta: update to v4.14.1 (#5023) @kitbellew
- formatter: update to 3.10.0, adjust imports (#5007) @kitbellew
v3.10.0
Features
- Imports: remove redundant selectors (#5000) @kitbellew
- Imports: replace
expandwithselectors, addselectors = fold(#4995) @kitbellew
Bug fixes
- FormatOps: expand use of afterCurlyLambdaParams (#4998) @kitbellew
- FormatOps: block functions are not optional-braces (#4997) @kitbellew
- Splits: apply infix splits between lhs and comment (#4996) @kitbellew
- FormatOps: check rewritten block in alone-enclosed (#4985) @kitbellew
- RedundantBraces: keep if after semicolon (#4984) @kitbellew
- RedundantBraces: after RemoveScala3OptionalBraces (#4983) @kitbellew
- FormatOps: slb ends before
)for cfg-style (#4978) @kitbellew
Select dependency updates
- scala: update 2.13 to .17 (#5003) @kitbellew
- native: upgrade to v0.5.9 (#4913) @kitbellew
- Update sbt-scalajs, scalajs-compiler, ... to 1.20.1 (#4990) @scalameta-bot
Miscellaneous
- RemoveScala3OptionalBraces: inline onLeftForBlock (#5001) @kitbellew
- Imports: cosmetic, rename a boolean variable (#4999) @kitbellew
- Imports: a few refactors (#4994) @kitbellew
- FileOps: implement walkFiles with granular control (#4980) @kitbellew
- Installation: link to COURSIER_REPOSITORIES doc (#4975) @kitbellew
Build and dependency updates
- scalameta: update to 4.14.0 (#5006) @kitbellew
- SBT: use sbt-dynver to set local snapshot version (#5005) @kitbellew
- Dependencies: metaconfig to 0.17.0, mdoc to 2.8.0 (#5002) @kitbellew
- munit: update to 1.2.1 (#5004) @kitbellew
- Update sbt, scripted-plugin to 1.11.7 (#4991) @scalameta-bot
- Update typesafe:config to 1.4.5 (#4988) @scalameta-bot
- Update sbt-jmh to 0.4.8 (#4993) @scalameta-bot
- Update sbt-native-packager to 1.11.4 (#4987) @scalameta-bot
- Update jline to 3.30.6 (#4989) @scalameta-bot
v3.9.10
Bug fixes
- FormatWriter: add align shift to multiline strings (#4973) @kitbellew
- FormatWriter: refactor appendWhitespace (#4972) @kitbellew
- improvement: Remove the edit button (#4967) @tgodzik
- CoursierDependencyDownloader: support credentials (#4962) @kitbellew
- CoursierDependencyDownloader: remove legacy OSS (#4961) @kitbellew
Miscellaneous
- GitOps: call "git" centrally, args as sequences (#4971) @kitbellew
- PlatformRunOps: return
Seq[String]inrunArgv(#4970) @kitbellew
Build and dependency updates
- Update sbt-ci-release to 1.11.2 (#4963) @scalameta-bot
- Update sbt, scripted-plugin to 1.11.5 (#4966) @scalameta-bot
- Update jline to 3.30.5 (#4965) @scalameta-bot
- Update sbt-native-packager to 1.11.3 (#4964) @scalameta-bot
- Bump actions/setup-java from 4 to 5 (#4960) @dependabot[bot]
- Bump actions/checkout from 4 to 5 (#4959) @dependabot[bot]
- Bump actions/download-artifact from 4 to 5 (#4958) @dependabot[bot]
- Update sbt, scripted-plugin to 1.11.3 (#4956) @scalameta-bot
- Update typesafe:config to 1.4.4 (#4955) @scalameta-bot
- Formatting: upgrade to v3.9.9 (#4954) @kitbellew
v3.9.9
Bug fixes
- RedundantBraces: remove in if-guard sometimes (#4953) @kitbellew
- RedundantParens: relax rule around tuples (#4950) @kitbellew
- RedundantParens: refactor and expand findEnclosed (#4951) @kitbellew
- Splits: observe break in
forifkeep(#4942) @kitbellew
Build and dependency updates
- Scalameta: upgrade to v4.13.9 (#4952) @kitbellew
- SBT: replace deprecated Resolver.sonatypeOssRepos (#4949) @kitbellew
- Update sbt-scalafmt to 2.5.5 (#4946) @scalameta-bot
- Update sbt, scripted-plugin to 1.11.2 (#4945) @scalameta-bot
- Update sbt-ci-release to 1.11.1 (#4943) @scalameta-bot
v3.9.8
Bug fixes
- handle polymorphic function just like regular or contextual functions
- Use FunctionLike/Member.Function for FunctionTerm (#4938) @kitbellew
- FormatWriter: use Tree.Block, not AlignContainer (#4937) @kitbellew
- Splits: handle poly function after
{and=>(#4936) @kitbellew - Term.FunctionTerm: expand to Member.Function (#4932) @kitbellew
Miscellaneous
- DynamicSuite: relax Download filter (#4931) @kitbellew
- GitOps: add tryExecLines and catch any Throwable (#4929) @kitbellew
- {CustomStructure,EmptyFile}Test: refactor slightly (#4928) @kitbellew
- ScalafmtReflect: add dynamic version to exception (#4926) @kitbellew
- DynamicSuite: properly assert out is empty (#4927) @kitbellew
- DynamicSuite: don't modify the expected exception (#4925) @kitbellew
- Fix wrong config name and outdated path in doc (#4924) @samabcde
- {Git,File}OpsTest: use fixtures, don't share state (#4923) @kitbellew
- GitOpsTest: move some methods into companion (#4922) @kitbellew
- FidelityTest: read file async and within test body (#4918) @kitbellew
Build and dependency updates
- CI: separate publishing docusaurus (#4939) @kitbellew
- Scalameta: upgrade to v4.13.8 (#4935) @kitbellew
- Github actions: use newer Windows-2025 runner (#4933) @kitbellew
- Scalameta: upgrade to v4.13.7 (#4930) @kitbellew
- Update jline to 3.30.4 (#4919) @scalameta-bot
v3.9.7
Pull Requests
- bugfix: Update sbt plugin to correctly publish to maven central (#4917) @tgodzik
- DeleteTree: ignore exceptions (#4915) @kitbellew
- FormatTests: write heat map async, skip under CI (#4914) @kitbellew
- Scalameta: upgrade to v4.13.6 (#4910) @kitbellew
- FormatWriter: in AlignStop, store isSlc, not owner (#4909) @kitbellew
- FormatWriter: fix inconsistent multiline alignment (#4907) @kitbellew
- FormatWriter: refactor AlignBlock.tryAppendToBlock (#4908) @kitbellew
- FormatWriter: again fix infix align owner (#4906) @kitbellew
- FormatWriter: compare eol owner tree positions (#4905) @kitbellew
- FormatWriter: traverse align owner up infix chain (#4904) @kitbellew
- Formatting: upgrade to v3.9.6 (#4902) @kitbellew
- FormatOps: modify ctrl-body comment splits (#4901) @kitbellew
- Splits: prefer before-dot over after-arrow rule (#4900) @kitbellew
- Splits: refine comment handling within select (#4899) @kitbellew
- Splits: no optimal single line if cost positive (#4898) @kitbellew
v3.9.6
Bug fixes
- Splits: fix handling before left bracket (#4893) @kitbellew
Build and dependency updates
- Update sbt-scalajs, scalajs-compiler, ... to 1.19.0 (#4894) @scalameta-bot
v3.9.5
Bug fixes
- Scalameta: upgrade to v4.13.5 (#4889) @kitbellew
- Splits: keep NL after comma if source=keep (#4888) @kitbellew
- Splits: exclude brackets in ApplyType after Select (#4882) @kitbellew
Miscellaneous
- ParConverters: move from sysops to tests (#4890) @kitbellew
- Splits: find last in
qual, not before select.(#4880) @kitbellew
Build and dependency updates
- SBT: move nailgun dependency to JVM platform (#4891) @kitbellew
- Update sbt, scripted-plugin to 1.10.11 (#4885) @scalameta-bot
- Update sbt, scripted-plugin to 1.10.10 (#4879) @scalameta-bot
- Update sbt-ci-release to 1.9.3 (#4877) @scalameta-bot
- bugfix: Remove sbt script as it seems unable to download latest sbt (#4876) @tgodzik
- Formatting: upgrade to v3.9.4 (#4872) @kitbellew