Skip to content

Releases: scalacenter/scalafix

v0.13.0

27 Sep 22:39
aadace9
Compare
Choose a tag to compare

Significant changes since v0.12.1

For users

  • An initial version ofExplicitResultTypesfor Scala 3 is available.
    • Expect limitations and bugs compared to the Scala 2 version - please report issues when possible, with a compact snippet.
    • Scala 3.3 LTS and Scala 3.5 Next are supported out of the box. Experimental support for Scala 3.4 can be unlocked viaExplicitResultTypes.fetchScala3CompilerArtifactsOnVersionMismatch = true.
    • To try it, the freshly published Scala 3 version of Scalafix must be loaded:
      • If you use scalafix-cli, pick the Scala 3.3.x LTS artifact if your sources are compiled with Scala 3 LTS, or the latest Scala Next otherwise.
      • If you use sbt-scalafix, make sure thatscalafixScalaBinaryVersion(deprecated in sbt-scalafix 0.12.1) is not set in your build.
      • A small change is required for other build tools (see below), so reach out to the maintainer of the Scalafix plugin if you keep getting the error "The ExplicitResultTypes rule needs to run with the same Scala binary version as the one used to compile target sources" after upgrading.
  • Scala 3.3.4 exposes unused warnings to SemanticDB, soRemoveUnusedandOrganizeImports.removeUnusedcan now be used on sources compiled with Scala 3.3 LTS (Scala 3.4+ was already supported since Scalafix 0.12.0).

For rule authors

  • Scalafix is now cross-built & tested against the latest Scala 2.x patch releases (2.12.20 & 2.13.15), unlocking upgrades of your builds depending on scalafix-testkit.
  • Scalameta was bumped from 4.9.3 to 4.10.1, bringing many bugfixes and a few features, as well as some tree hierarchy changes in the parser, breakingforward & backward compatibility.See#2079to tell whether your rule(s) are impacted, andscalameta/scalameta#3913to understand the changes.
  • Despite the support of the built-in ruleExplicitResultTypesfor Scala 3, scalafix-core is not yet published for Scala 3, so you should stick to cross-building for Scala 2.12 & 2.13 only. Check#2041if you are curious about the current blockers and the next steps on that journey.

For tooling maintainers (scalafix-interfaces clients)

  • To supportExplicitResultTypeson Scala 3 sources, scalafix-interfaces can and should classload the freshly published Scala 3 artifacts. You should therefore remove the fallback to 2.13 when targeting Scala 3 sources. Also, to better support Scala 3 LTS, the full Scala version should be passed toScalafix.fetchAndClassloadInstance()instead of the binary one. Seescalacenter/sbt-scalafix#430as an example of expected changes.

Pull Requests

Rules

  • feature: ExplicitResultTypes for Scala 3 (#2023)@tgodzik
  • handle unused warnings for sources compiled with upcoming LTS 3.3.4 (#1942)@bjaglin

Framework

Docs

Updates

  • build and test against Scala 3.3.4 final (#2076)@bjaglin
  • Update scalameta to 4.10.1 (#2083) @scala-center-steward
  • scalameta 4.10.0 (#2078)@bjaglin
  • build with and test against Scala 2.12.20 & 2.13.15 (#2052)@bjaglin
  • latest scalameta introduces new items in tree hierarchy (#2079)@bjaglin
  • build and test against Scala 3.5.1 (#2077)@bjaglin
  • Update interface to 1.0.20 (#2068) @scala-center-steward
  • Update sbt-scoverage to 2.2.0 (#2072) @scala-center-steward
  • Update munit to 1.0.2 (#2071) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.3.4-RC3 (#2070) @scala-center-steward
  • Update coursier to 2.1.12 (#2067) @scala-center-steward
  • build & test against 3.3.4-RC2 (#2066)@bjaglin
  • Update sbt-scoverage to 2.1.1 (#2063) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.4.3 to 1.5.0 (#2059)@dependabot
  • bump scalameta to pre-4.9.10 SNAPSHOT (was 4.9.3) (#2047)@bjaglin
  • bump sbt-ci-release to fix JDK8 support (#2040)@bjaglin
  • Update sbt-ci-release to 1.6.0 (#2036) @scala-center-steward
  • Update munit to 1.0.1 (#2037) @scala-center-steward
  • test against Scala 3.5.0 (#2033)@bjaglin
  • Bump VirtusLab/scala-cli-setup from 1.4.1 to 1.4.3 (#2030)@dependabot
  • Update metaconfig-typesafe-config to 0.13.0 (#2025) @scala-center-steward
  • Update scalafmt-core to 3.8.3 (#2026) @scala-center-steward
  • Update mdoc, sbt-mdoc to 2.5.4 (#2019) @scala-center-steward
  • Update sbt-scoverage to 2.1.0 (#2020) @scala-center-steward
  • Update sbt to 1.10.1 (#2018) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.4.0 to 1.4.1 (#2021)@dependabot
  • Update mdoc, sbt-mdoc to 2.5.3 (#2013) @scala-center-steward
  • Update scalatest to 3.2.19 (#2015) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.3.2 to 1.4.0 (#2016)@dependabot
  • Update sbt to 1.10.0 (#1997) @scala-center-steward
  • Update scalafmt-core to 3.8.2 (#2009) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.4.2 (#2003) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.3.0 to 1.3.2 (#2002)@dependabot
  • Update sbt-scoverage to 2.0.12 (#1999) @scala-center-steward
  • Update coursier to 2.1.10 (#1996) @scala-center-steward
  • Update munit to 1.0.0 (#2004) @scala-center-steward
  • Post 0.12.1 release (#1991)@bjaglin

v0.12.1

01 May 20:24
d0a8f3b
Compare
Choose a tag to compare

Pull Requests

Rules

  • RemoveUnused: guard Term.Block RHS in unused Defn (#1978)@bjaglin

Framework

Docs

  • sbt-scalafix scalafixScalaBinaryVersion is now deprecated (#1990)@bjaglin
  • improve docs about RemoveUnused (#1992)@bjaglin
  • docs: clarify that resolvers is only looked up at build level (#1977)@bjaglin
  • update docs to document that sbt resolvers are now handled (#1975)@bjaglin
  • docs: remove dead link forcross-publish-custom-rules(#1968)@xuwei-k
  • OrganizeImports: fix invalid recommended scalac option (#1958)@Saisse
  • docs: remove references to dotty (#1956)@bjaglin

Updates

  • Update scala-xml to 2.3.0 (#1989) @scala-center-steward
  • Update scala-collection-compat to 2.12.0 (#1988) @scala-center-steward
  • Update commons-text to 1.12.0 (#1986) @scala-center-steward
  • Update sbt-version-policy to 3.2.1 (#1985) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.2.2 to 1.3.0 (#1982)@dependabot
  • build and test against Scala 2.13.14 (#1984)@bjaglin
  • Bump VirtusLab/scala-cli-setup from 1.2.1 to 1.2.2 (#1974)@dependabot
  • Update scalameta to 4.9.3 (#1967) @scala-center-steward
  • test against Scala 3.4.1 (#1973)@bjaglin
  • Bump VirtusLab/scala-cli-setup from 1.2.0 to 1.2.1 (#1971)@dependabot
  • Update sbt-projectmatrix to 0.10.0 (#1964) @scala-center-steward
  • Update scalafmt-core to 3.8.1 (#1970) @scala-center-steward
  • Update sbt-buildinfo to 0.12.0 (#1969) @scala-center-steward
  • Update sbt-scalafix to 0.12.0 (#1963) @scala-center-steward
  • Update scalameta to 4.9.2 (#1962) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.1.3 to 1.2.0 (#1959)@dependabot
  • Bump gautamkrishnar/keepalive-workflow from 1 to 2 (#1960)@dependabot
  • Post 0.12.0 release (#1882)@bjaglin

v0.12.0

02 Mar 15:54
c1d8a34
Compare
Choose a tag to compare

Significant changes since v0.11.1

For users

  • Better Scala 3 support
    • OrganizeImports.removeUnused&RemoveUnused(with aknown limitation for unused function parameters) are now supported with Scala 3.4+
    • New flagOrganizeImports.targetDialectto control wildcard/rename syntax & curly braces stripping behavior (seedocumentation)
    • LambdaTypeandMatchTypeare now fully supported
  • JDK21 is now fully supported
  • Script files (.sc) are now supported

For rule authors

  • Scalameta was bumped from 4.8.10 to 4.9.1, bringing many bugfixes and a few features, as well as some behavioral changes breaking backward compatibility
    • Term.Interpolatenow always capture curly braces through a wrappingTerm.Blockwhen parsed with scalafix 0.12.x (scalameta/scalameta#3594)
      • This may trigger false negatives for rules tested against 0.11.1 or earlier, which do not expect thatTerm.Block
      • Such rules must be updated to work with Scalafix 0.12.x, ideally with logic handling both presence and absence ofTerm.Blockto preserve compatibility with earlier Scalafix versions
    • tree.pos == Position.Noneis no longer a reliable way to check whether a giventreecomes from the input document, since trees built via quasiquotes with scalafix 0.12.x may now have positions (scalameta/scalameta#3450)
      • To avoid false negatives on Scalafix 0.12.x, check equality ontree.origin,ideally combining this check with the previous predicate to preserve compatibility with earlier Scalafix versions
  • scalafix-testkit is now published for Scala 2.12.19 & Scala 2.13.13
    • Usage of API methods decorated via implicits trigger new fatal warnings for rules built with-Xsource:3(#1949)

Pull Requests

Rules

  • Support OrganizeImports.removeUnused in Scala 3.4+ (#1800)@tanishiking
  • OrganizeImports: don't leak state from one fix execution to another (#1921)@bjaglin
  • Support RemoveUnused in Scala 3.4+ (#1728)@bjaglin
  • OrganizeImports.targetDialect: wildcard/rename syntax & curly braces stripping (#1896)@bjaglin
  • RedundantSyntax: distinguish single and triple quotes (#1851)@bjaglin

Framework

Docs

Updates

  • Update scalameta to 4.9.1 (#1950) @scala-center-steward
  • Update sbt-scoverage to 2.0.11 (#1948) @scala-center-steward
  • Update scalafmt-core to 3.8.0 (#1947) @scala-center-steward
  • Update sbt to 1.9.9 (#1946) @scala-center-steward
  • Scalameta 4.9.1-RC1 (#1945)@bjaglin
  • Bump all Scala versions (2.12.19, 2.13.13, 3.4.0) (#1932)@bjaglin
  • Bump VirtusLab/scala-cli-setup from 1.1.2 to 1.1.3 (#1934)@dependabot
  • scalameta 4.9.x (#1927)@bjaglin
  • Update sbt-scoverage to 2.0.10 (#1931) @scala-center-steward
  • Update scalatest to 3.2.18 (#1930) @scala-center-steward
  • Update coursier to 2.1.9 (#1928) @scala-center-steward
  • Update sbt-version-policy to 3.2.0 (#1902) @scala-center-steward
  • Bump release-drafter/release-drafter from 5 to 6 (#1923)@dependabot
  • Bump VirtusLab/scala-cli-setup from 1.1.1 to 1.1.2 (#1917)@dependabot
  • Update sbt-projectmatrix to 0.9.2 (#1913) @scala-center-steward
  • Update org.eclipse.jgit to 5.13.3.202401111512-r (#1914) @scala-center-steward
  • Update mdoc, sbt-mdoc to 2.5.2 (#1915) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.1.0 to 1.1.1 (#1916)@dependabot
  • Update scalameta to 4.8.15 (#1909) @scala-center-steward
  • Update scalafmt-core to 3.7.17 (#1906) @scala-center-steward
  • Update mdoc, sbt-mdoc to 2.5.1 (#1905) @scala-center-steward
  • Update sbt to 1.9.8 (#1904) @scala-center-steward
  • Update coursier to 2.1.8 (#1903) @scala-center-steward
  • Update scalameta to 4.8.14 (#1899) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.0.6 to 1.1.0 (#1898)@dependabot
  • Bump VirtusLab/scala-cli-setup from 1.0.5 to 1.0.6 (#1893)@dependabot
  • full support for JDK21 via scalameta 4.8.13 (#1810)@bjaglin
  • Update scalafmt-core to 3.7.15 (#1886) @scala-center-steward
  • Update sbt to 1.9.7 (#1885) @scala-center-steward
  • Update commons-text to 1.11.0 (#1884) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.0.4 to 1.0.5 (#1883)@dependabot
  • Update metaconfig-docs,... to 0.12.0 (#1877) @scala-center-steward
  • Update scalameta to 4.8.12 (#1879) @scala-center-steward
  • Update scalameta, semanticdb-scalac-core,... to 4.8.11 (#1872) @scala-center-steward
  • Update interface to 1.0.19 (#1875) @scala-center-steward
  • Update mdoc, sbt-mdoc to 2.3.8 (#1878) @scala-center-steward
  • Update sbt to 1.9.6 (#1876) @scala-center-steward
  • Update sbt-scoverage to 2.0.9 (#1871) @scala-center-steward
  • Update scalatest to 3.2.17 (#1870) @scala-center-steward
  • Update coursier to 2.1.7 (#1868) @scala-center-steward
  • Update scalafmt-core to 3.7.14 (#1869) @scala-center-steward
  • Bump actions/checkout from 3 to 4 (#1867)@dependabot
  • Post 0.11.1 release (#1866)@bjaglin

v0.11.1

11 Sep 02:10
f4dcc6f
Compare
Choose a tag to compare

Pull Requests

Rules

  • RedundantSyntax: distinguish single and triple quotes (#1851)@bjaglin

Framework

Docs

Updates

  • Update scalameta, semanticdb-scalac-core,... to 4.8.10 (#1857) @scala-center-steward
  • Scala 3.3.1 final (#1863)@bjaglin
  • use & support scala 2.13.12 (#1861)@bjaglin
  • Update coursier to 2.1.6 (#1853) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.3.1-RC7 (#1854) @scala-center-steward
  • Update sbt to 1.9.4 (#1855) @scala-center-steward
  • Update scalafmt-core to 3.7.13 (#1856) @scala-center-steward
  • update the directory to run the tests/test command from (#1859)@msolomon-ck
  • Update scalafmt-core to 3.7.12 (#1844) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.3.1-RC5 (#1843) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.0.2 to 1.0.4 (#1841)@dependabot
  • Update sbt-version-policy to 2.1.3 (#1842) @scala-center-steward
  • Update scalafmt-core to 3.7.11 (#1838) @scala-center-steward
  • Update sbt-version-policy to 2.1.2 (#1836) @scala-center-steward
  • Update sbt to 1.9.3 (#1837) @scala-center-steward
  • Bump scalameta to 4.8.4 & keep fastparse/geny for compat (#1819) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.0.1 to 1.0.2 (#1826)@dependabot
  • do not update scalafmt ASAP (#1824)@bjaglin
  • Update sbt to 1.9.2 (#1823) @scala-center-steward
  • Update scala-xml to 2.2.0 (#1822) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.3.1-RC4 (#1821) @scala-center-steward
  • Update scalameta, semanticdb-scalac-core,... to 4.8.2 (#1812) @scala-center-steward
  • Update scalafmt-core to 3.7.7 (#1811) @scala-center-steward
  • Update scalafmt-core to 3.7.6 (#1808) @scala-center-steward
  • Update scalameta, semanticdb-scalac-core,... to 4.8.1 (#1809) @scala-center-steward
  • Update scala-collection-compat to 2.11.0 (#1806) @scala-center-steward
  • Update sbt to 1.9.1 (#1807) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.3.1-RC2 (#1805) @scala-center-steward
  • Update org.eclipse.jgit to 5.13.2.202306221912-r (#1804) @scala-center-steward
  • Update coursier to 2.1.5 (#1803) @scala-center-steward
  • Update sbt-projectmatrix to 0.9.1 (#1802) @scala-center-steward
  • Update scalafmt-core to 3.7.5 (#1798) @scala-center-steward
  • Update sbt-scoverage to 2.0.8 (#1791) @scala-center-steward
  • Update scalatest to 3.2.16 (#1790) @scala-center-steward
  • Update sbt to 1.9.0 (#1789) @scala-center-steward
  • Update interface to 1.0.18 (#1788) @scala-center-steward
  • Update sbt-version-policy to 2.1.1 (#1787) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 1.0.0 to 1.0.1 (#1785)@dependabot
  • sbt-scalafix 0.11.0 (#1783)@bjaglin
  • Post 0.11.0 (#1775)@bjaglin

v0.11.0

03 Jun 15:04
Compare
Choose a tag to compare

Significant changes since v0.10.4

For users

  • Breaking:dropped support for running Scalafix against Scala 2.11 sources (#1635)
    • If you run Scalafix against projects containing Scala 2.11 sources, keep using Scalafix 0.10.4
  • New:OrganizeImportsis now a built-in rule (https://github /liancheng/scalafix-organize-imports/discussions/215)
    • com.github.liancheng::organize-imports:0.6.0+37-596459afhas been merged as-is into Scalafix, soOrganizeImportswill keep running without any modification to.scalafix.conf
    • To get rid of the "Ignoring requested classpath dependencycom.github.liancheng::organize-imports:0.6.0"warning, simply remove the entry from thescalafixDependenciessetting key (or similar if you are not using sbt)
  • New:added support for the latest Scala versions (3.3.0, 2.13.11, 2.12.18)

For rule authors

Pull Requests

Rules

  • Merge OrganizeImports 0.6.0+37-596459af into Scalafix as a built-in rule (#1480)@liancheng
  • RedundantSyntax: honor suppression (#1703)@bjaglin
  • ExplicitResultTypes: honor skipSimpleDefinitions on implicits (#1698)@rvacaru

Framework

Docs

Updates

  • Scala 2.12.18 & 2.13.11 (#1772)@bjaglin
  • Scala 3.3.1-RC1 (#1771)@bjaglin
  • Update scala3-compiler to 3.3.0 (#1768) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 0.2.1 to 1.0.0 (#1764)@dependabot
  • Update coursier to 2.1.4 (#1767) @scala-center-steward
  • Update scalafmt-core to 3.7.4 (#1769) @scala-center-steward
  • Update scalameta, semanticdb-scalac-core,... to 4.7.8 (#1765) @scala-center-steward
  • Update interface to 1.0.16 (#1760) @scala-center-steward
  • Update sbt to 1.8.3 (#1761) @scala-center-steward
  • Update coursier to 2.1.3 (#1759) @scala-center-steward
  • Update sbt-ghpages to 0.8.0 (#1758) @scala-center-steward
  • Update sbt-ci-release to 1.5.12 (#1757) @scala-center-steward
  • Update scala-collection-compat to 2.10.0 (#1755) @scala-center-steward
  • Update coursier to 2.1.2 (#1754) @scala-center-steward
  • Bump VirtusLab/scala-cli-setup from 0.2.0 to 0.2.1 (#1753)@dependabot
  • Update scalameta, semanticdb-scalac-core,... to 4.7.7 (#1752) @scala-center-steward
  • Update scala-java8-compat to 1.0.2 (#1719) @scala-center-steward
  • Update interface to 1.0.15 (#1749) @scala-center-steward
  • Update coursier to 2.1.1 (#1748) @scala-center-steward
  • Update scalafmt-core to 3.7.3 (#1745) @scala-center-steward
  • Update mdoc, sbt-mdoc to 2.3.7 (#1731) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.2.2 (#1734) @scala-center-steward
  • Update scalameta, semanticdb-scalac-core,... to 4.7.6 (#1743) @scala-center-steward
  • Update coursier to 2.1.0 (#1741) @scala-center-steward
  • Update sbt-scoverage to 2.0.7 (#1742) @scala-center-steward
  • Bump olafurpg/setup-scala from 13 to 14 (#1736)@dependabot
  • Update scalafmt-core to 3.7.2 (#1739) @scala-center-steward
  • bump coursier (#1732)@bjaglin
  • Update scalafmt-core to 3.7.1 (#1727) @scala-center-steward
  • Update scalafmt-core to 3.7.0 (#1723) @scala-center-steward
  • Update sbt to 1.8.2 (#1722) @scala-center-steward
  • Update sbt to 1.8.0 (#1720) @scala-center-steward
  • Update scala3-compiler, scala3-library to 3.2.1 (#1707) @scala-center-steward
  • Update sbt-ci-release to 1.5.11 & sbt-ghpages to 0.7.0 (#1705) @scala-center-steward
  • Update sbt-scoverage to 2.0.6 (#1711) @scala-center-steward
  • Update sbt to 1.7.3 (#1710) @scala-center-steward
  • Update scala-java8-compat to 0.9.1 (#1709) @scala-center-steward
  • Update sbt-version-policy to 2.1.0 (#1704) @scala-center-steward
  • Update scala-collection-compat to 2.9.0 (#1708) @scala-center-steward
  • Update scalafmt-core to 3.6.1 (#1701)@scala-steward
  • Update scala3-library to 3.2.0 (#1691)@scala-steward
  • Update metaconfig-docs,... to 0.11.1 (#1688)@scala-steward
  • Update scalafmt-core to 3.6.0 (#1696)@scala-steward
  • Update sbt-scoverage to 2.0.5 (#1694)@scala-steward
  • Update commons-text to 1.10.0 (#1690)@scala-steward
  • Update sbt to 1.7.2 (#1693)@scala-steward
  • Update scala-collection-compat to 2.8.1 (#1692)@scala-steward
  • Update interface to 1.0.9 (#1689)@scala-steward
  • Update sbt-scalafix to 0.10.4 (#1687)@scala-steward
  • post 0.10.4 release (#1686)@bjaglin

v0.10.4

10 Oct 21:27
a540a64
Compare
Choose a tag to compare

Updates

v0.10.3

20 Sep 23:33
449a06a
Compare
Choose a tag to compare

Pull Requests

Updates

v0.10.2

15 Sep 16:20
Compare
Choose a tag to compare

Pull Requests

Rules

  • support Scala 3 style wildcard import in RemoveUnused (#1664)@xuwei-k
  • Add an option to only add explicit result types to implicit definitions (#1623)@OlegYch
  • Fix RedundantSyntax raw interpolator handling (#1618)@gontard

Framework

  • don't publish scala 3 artifacts for now (#1670)@bjaglin
  • remove unused class (#1667)@bjaglin
  • skip src and doc packaging when publishing locally (#1665)@bjaglin
  • build (java) interfaces module once for all scala versions (#1645)@bjaglin
  • cli should support configurable rules built against older core (#1644)@bjaglin
  • Scalafix-rules cross compiled in scala3 (#1643)@rvacaru
  • Scalafix-core compiled in Scala 3 (#1629)@rvacaru
  • test loading of external rule built with metaconfig hack (#1633)@bjaglin
  • Revert "better error for external rules ran with old scalafix-cli version" (#1632)@rvacaru
  • Fixed ExplicitResultTypes for implicit members when memberKind and visibility configs are present (#1627)@rvacaru
  • return custom error when no rule was requested (#1624)@bjaglin

Docs

  • UpdateIntegration testsdocumentation. (#1660) @sergey-lagutin
  • remote gitter shield (#1655)@bjaglin
  • Fix small issues with the tutorial docs (#1654)@ssanj
  • Use scalameta's Discord rather than gitter for support (#1653)@bjaglin
  • xuwei-k/replace-symbol-literals is now in xuwei-k/scalafix-rules (#1634)@bjaglin

Updates

v0.10.1

09 Jun 19:45
Compare
Choose a tag to compare

Pull Requests

Rules

  • RedundantSyntax removes unnecessary string interpolator (#1602)@gontard
  • ExplicitResultTypes: fix issues with backquotes in several case as seen in Metals (#1600)@tgodzik

Framework

Docs

Updates

v0.10.0

07 Apr 20:09
e7d4a20
Compare
Choose a tag to compare

Significant changes since v0.9.34

For users

Scalafix will now issue a warning when loading external rules built with a potentially non-compatible version of Scalafix. Until new versions of these external rules are published, it is therefore expected that you get that warning, for example withOrganizeImportsv0.6.0:

[info] Loading external rule(s) built against an old version of Scalafix (0.9.31).
[info] This might not be a problem, but in case you run into unexpected behavior, you
[info] should try a more recent version of the rules(s) if available. If that does
[info] not help, request the rule(s) maintainer to build against Scalafix 0.10.0-RC1
[info] or later, and downgrade Scalafix to 0.9.x (x>=31) for the time being.

Note that most community rules (includingOrganizeImports) will work just fine despite this warning as the breaking changes in 0.10.x are very limited.

For rule authors

Pull Requests

Rules

Framework

  • only warn when loading rules built with newer core (#1588)@bjaglin
  • Tweak bincompat doc/logs ahead of 0.10.0-RC1 release (#1577)@bjaglin
  • define & apply binary compatibility strategy (#1565)@bjaglin
  • better error for external rules ran with old scalafix-cli version (#1562)@bjaglin
  • force usage of shaded TPrint (#1546)@bjaglin

Docs

Updates