v3.8.4-RC2
github-actions
released this
19 Nov 16:42
·
101 commits
to refs/heads/main
since this release
Features
- Performance improvements
- BestFirstSearch: use partially optimal state (#4555) @kitbellew
- BestFirstSearch: move queue isEmpty to dequeue (#4554) @kitbellew
- BestFirstSearch: handle killOnFail in shortestPath (#4553) @kitbellew
- BestFirstSearch: getActiveSplits takes predicate (#4552) @kitbellew
- BestFirstSearch: allow block close go past range (#4541) @kitbellew
- BestFirstSearch: FormatToken index in no-opt zones (#4543) @kitbellew
- FormatTokens: implement
width
with indices (#4551) @kitbellew - BestFirstSearch: recurse on single-case partial functions (#4496) @kitbellew
- BestFirstSearch: skip processOptimal if too long (#4493) @kitbellew
- BestFirstSearch: don't recurse if isOpt (#4491) @kitbellew
- FormatOps: remove redundant infix split (#4465) @kitbellew
- BestFirstSearch: use partially optimal state (#4555) @kitbellew
- FormatOps: implement binPack.parentCtor=ForceBreak (#4550) @kitbellew
- BinPack: use binPack.parentCtors=source explicitly (#4549) @kitbellew
- BinPack.ParentCtors: describe each option in doc (#4548) @kitbellew
- Docstrings:
blankFirstLine=fold
takes precedence (#4534) @kitbellew - AvoidInfix: apply to postfix select as well (#4519) @kitbellew
- RemoveScala3OptionalBraces:
()
to fewer braces (#4515) @kitbellew
Bug fixes
- FormatWriter: 2nd try to fold oneline after format (#4537) @kitbellew
- Fix broken link. (#4547) @counter2015
- Producing non-idempotent formatting
- Router: no break after
=>
in lambda w/ type (#4524) @kitbellew - Router: skip removed block around enclosed expr (#4523) @kitbellew
- Router: zero cost for dot NL in braces-to-parens (#4522) @kitbellew
- Router: skip removed block when traversing (#4521) @kitbellew
- Router: penalize dot NL split if braces-to-parens (#4520) @kitbellew
- FormatOps: adjust block body in CtrlBody.unfolded (#4518) @kitbellew
- PolicyOps: expire SLB exclude On in apply/select (#4517) @kitbellew
- FormatOps: rewrite ArgClause in braces to parens (#4514) @kitbellew
- Router: fold closing paren if no NL after opening (#4513) @kitbellew
- Router: lower NL penalty for braces-to-parens case (#4511) @kitbellew
- Router: refactor lambda splits for
{...
(#4506) @kitbellew - OptimizationEntities: skip block with apply as arg (#4505) @kitbellew
- Router: check exclude blocks if braces to parens (#4502) @kitbellew
- Router: penalize break after
{
in args (#4501) @kitbellew - FormatOps: check deeper if braces can be parens (#4495) @kitbellew
- Policy: compare starts, not ends (#4476) @kitbellew
- Router: force NL if semicolon after removed brace (#4475) @kitbellew
- Router: detect rewritten blocks before
else
(#4473) @kitbellew - State: fix handling of SLC in overflow (#4471) @kitbellew
- FormatOps: inner infixes can be enclosed in braces (#4470) @kitbellew
- Router: align
{...
rule with the one for(...
(#4463) @kitbellew - Router: use SpaceOrNoSplit instead of custom rule (#4462) @kitbellew
- RedundantBraces: revise keeping brace post comment (#4460) @kitbellew
- Router: include brace in optimal only if present (#4459) @kitbellew
- RedundantParens: fold/unfold NL ok before infix op (#4454) @kitbellew
- FormatTokens: check for rewritten empty body (#4452) @kitbellew
- RedundantBraces: keep partial function braces (#4448) @kitbellew
- Router: no break after
- Producing invalid code
- Router: don't fold after single-line comment (#4516) @kitbellew
- Router: force NL after
;
in optional-brace block (#4510) @kitbellew - FormatOps: recognize optional-braces partial func (#4508) @kitbellew
- RedundantBraces: keep braces if splice is
$
(#4509) @kitbellew - FormatTokens: fix token span computation (#4485) @kitbellew
- Router: fold
else
only after non-empty block (#4474) @kitbellew - State: don't delay penalty with pending spaces (#4467) @kitbellew
- Imports: do not expand nor sort import wildcards (#4457) @kitbellew
- Router: add explicit rules for do/while in Term.Do (#4451) @kitbellew
- RedundantBraces: replace paren w/ brace if comment (#4449) @kitbellew
- Router: slightly penalize interpolation newlines (#4442) @kitbellew
- FormatOps: remove noSyntaxNL flag added in #4246 (#4439) @kitbellew
- Router: fix single line end for Mod.Annot (#4438) @kitbellew
- State: fix logic allowing punctuation overflow (#4437) @kitbellew
Miscellaneous
- FormatOps: use new Tokens methods (#4562) @kitbellew
- Router: add ParamClause as well, to Unit/ArgClause (#4560) @kitbellew
- Router: handle Lit.Unit and empty ArgClause (#4556) @kitbellew
- FormatTokens: use FormatToken in matching (#4546) @kitbellew
- Use FormatToken in policies, indents etc. (#4545) @kitbellew
- Debug: log number of times a split was traversed (#4544) @kitbellew
- LoggerOps: add methods to log without position (#4540) @kitbellew
- FormatToken: alias, use everywhere as {FT} (#4539) @kitbellew
- Rewrite: use Map.updateWith (#4538) @kitbellew
- test/JavaDoc: fix test config according to title (#4533) @kitbellew
- Router: cosmetic, clean up beforeCurlyLambdaParams (#4532) @kitbellew
- PolicyOps: use PenalizeAllNewlines if penalty > 0 (#4531) @kitbellew
- SelectLike: use nameFt if possible, vs nameToken (#4529) @kitbellew
- TestStyles: add [un]foldWithRewritesAndOverflow (#4464) @kitbellew
- HasTests: move scalafmtRunner() to companion (#4526) @kitbellew
- Debug: move routes and state logging to LoggerOps (#4527) @kitbellew
- TestHelpers: define helper method to format code (#4525) @kitbellew
- TestStyles: use predefined style variables (#4512) @kitbellew
- Router: use single non-NL default split before
}
(#4499) @kitbellew - Router: inline braces-to-parens policy (#4500) @kitbellew
- TokenRange: use FormatToken instead of Token (#4494) @kitbellew
- BestFirstSearch: turn noOptZones into a Map (#4492) @kitbellew
- Router: break after self-annotation (#4490) @kitbellew
- FormatOps: remove getOptimalTokenFor (#4489) @kitbellew
- BestFirstSearch: use visual token width to recurse (#4488) @kitbellew
- BestFirstSearch: memorize failed search sometimes (#4481) @kitbellew
- Use Token.text instead of Token.syntax (#4487) @kitbellew
- State: move convenience methods checking for SLB (#4486) @kitbellew
- BestFirstSearch: use isOpt, not explicit maxCost (#4484) @kitbellew
- State: refactor getColumns (#4483) @kitbellew
- FormatTests: up visits level to 2000, skip below (#4482) @kitbellew
- FormatOps: stop looking for infixes if check fails (#4469) @kitbellew
- FormatTokens: rename ifEnclosedWithinParens (#4466) @kitbellew
- Add preset values to overflow, redundant delims (#4468) @kitbellew
- Router: refactor around lambda variables (#4461) @kitbellew
- Policy: keep token in Policy.End, not just offset (#4458) @kitbellew
- TestStyles: define implicit style conversions (#4453) @kitbellew
- Do not import deprecated alias scala.meta.Token (#4450) @kitbellew
- RedundantBraces: keep brace after a semicolon (#4446) @kitbellew
- RedundantBraces: cosmetic, minor refactor (#4447) @kitbellew
- FormatTokensRewrite: add ReplacementType.toString (#4445) @kitbellew
- FormatOps: remove duplicate ExtractFromMeta (#4444) @kitbellew
- ScalafmtVersion: relax the regex pattern (#4441) @kitbellew
- CommunitySuite: assert on total number of states (#4443) @kitbellew
- LoggerOps: expand logging (#4440) @kitbellew
Build and dependency updates
- SBT: update native build to recent JDK (#4561) @kitbellew
- SBT: remove buildInfoSettings from macros (#4563) @kitbellew
- Update coursier-interface to 1.0.23 (#4558) @kitbellew
- Scalameta: upgrade to v4.11.2 (#4559) @kitbellew
- CI: run dependabot weekly (#4504) @kitbellew
- CI: switch deprecated macOS-12 to macOS-latest (#4503) @kitbellew
- Update sbt to 1.10.3 (#4480) @scalameta-bot
- Update sbt-scalajs to 1.17.0 (#4479) @scalameta-bot
- Update sbt-ci-release to 1.9.0 (#4478) @scalameta-bot
- Update sbt-assembly to 2.3.0 (#4477) @scalameta-bot
- Scalameta: upgrade to v4.11.0 (#4472) @kitbellew
- use
sbt/setup-sbt
to be suresbt
is present (#4455) @mzuehlke