|
3 | 3 | @import scalafix.Versions
|
4 | 4 |
|
5 | 5 | @sect{Changelog}
|
6 |
| - @sect{0.3.4} |
7 |
| - @ul |
8 |
| - @li |
9 |
| - New @code{RenameSymbol} tree patch, which behaves similar to "Rename |
10 |
| - method/variable" refactorings in IDEs. |
11 |
| - @li |
12 |
| - New module: @sect.ref{scalafix-testkit}. |
13 |
| - @li |
14 |
| - Rewrites can now report info/warn/error messages via |
15 |
| - @code{ctx.reporter.info/warn/error}, see @pr(118). |
16 |
| - @li |
17 |
| - 2.11 support is now only for 2.11.10. |
18 |
| - @sect{0.3.3} |
19 |
| - @ul |
20 |
| - @li |
21 |
| - NOTE. |
22 |
| - scalafix-core and scalafix-cli are now published as |
23 |
| - @code{CrossVersion.full}, meaning the artifact IDs now have a @code("_" + |
24 |
| - Versions.scalaVersion) suffix. To depend on them, |
25 |
| - @hl.scala |
26 |
| - // OK |
27 |
| - libraryDependencies += |
28 |
| - "ch.epfl.scala" % "scalafix-core" % "@scalafix.Versions.version" cross CrossVersion.full |
29 |
| - // Error |
30 |
| - libraryDependencies += |
31 |
| - "ch.epfl.scala" %% "scalafix-core" % "@scalafix.Versions.version" |
32 |
| - @li |
33 |
| - NOTE. |
34 |
| - This version depends on a pre-release of scala.meta, which is publised |
35 |
| - to the scalameta bintray repository and requires |
36 |
| - @hl.scala |
37 |
| - resolvers += Resolver.bintrayRepo("scalameta", "maven") |
38 |
| - @li |
39 |
| - scalafix-cli new supports running semantic rewrites with the |
40 |
| - @code{--classpath/--sourcepath} options. |
41 |
| - @li |
42 |
| - scalafix-cli now supports @code{.sbt} files. |
43 |
| - @li |
44 |
| - New documentation for @sect.ref{scalafix-cli}. |
45 |
| - @sect{0.3.2} |
46 |
| - See @lnk("merged PRs", "https://github.com/scalacenter/scalafix/milestone/2?closed=1"). |
47 |
| - @ul |
48 |
| - @li |
49 |
| - It is possible to load custom rewrites from source with |
50 |
| - @code{rewrites = ["file:MyRewrite.scala"]} or urls |
51 |
| - @code{rewrites = ["https://gist./../.Rewrite.scala"]}. |
52 |
| - See @sect.ref{Custom rewrites} for more info. |
53 |
| - @li |
54 |
| - @code{imports.groups = []} can now be empty, thank you @user{mlangc} |
55 |
| - for contributing this fix! |
56 |
| - @li |
57 |
| - Named imports are no longer subsumed by wildcard imports, which could |
58 |
| - previously introduce ambiguous imports. |
59 |
| - @li |
60 |
| - @code{imports.expandRelative = false} by default. |
61 |
| - Expanded relative imports can create unused imports. |
62 |
| - If you want to expand relative imports, you may need to run scalafix twice |
63 |
| - to remove unused imports created by scalafix. |
64 |
| - @li |
65 |
| - Fixed minor ordering bugs in organize imports. |
66 |
| - @sect{0.3.1} |
67 |
| - @ul |
68 |
| - @li |
69 |
| - Fixed a bug in organize imports when there was no import in the |
70 |
| - original source file. |
71 |
| - @li |
72 |
| - Patch.apply and OrganizeImports no longer accept a redundant @code{tree: Tree} argument, the |
73 |
| - @code{ctx} already contains the tree. |
74 |
| - @li |
75 |
| - Xor2Either is disabled by default now, it was enabled by default |
76 |
| - causing the @code{scalafix} command to slow down significantly. |
77 |
| - Rewrites using @code{scala.meta.Mirror} should not experience a |
78 |
| - slowdown. |
79 |
| - @li |
80 |
| - Added new @code{Rename(from: Name, to: Name)} tree patch that's |
81 |
| - accesible via the scalafix-library. |
82 |
| - @sect{0.3.0} |
83 |
| - @ul |
84 |
| - @li |
85 |
| - Scalafix now uses the scala.meta semantic API! |
86 |
| - See @lnk("scala.meta 1.6 release notes", |
87 |
| - "https://github.com/scalameta/scalameta/blob/master/changelog/1.6.0.md#semantic-api") |
88 |
| - for more details about the semantic api. |
89 |
| - This first release of the scala.meta semantic API enables rewrites to query for the "symbol" |
90 |
| - of a name that appears in a Scala source file. |
91 |
| - A symbol is a unique identifier of a definition such as a class, val, def or trait. |
92 |
| - @li |
93 |
| - To demonstrate the capabilities of rewrites using the scala.meta semantic API, |
94 |
| - we have included an example rewrite called @lnk( |
95 |
| - "Xor2Either", |
96 |
| - "https://github.com/scalacenter/scalafix/blob/master/core/src/main/scala/scalafix/rewrite/Xor2Either.scala" |
97 |
| - ). |
98 |
| - The rewrite migrates usage of @code{cats.data.Xor} to @code{scala.util.Either}. |
99 |
| - @li |
100 |
| - Rewrites can now be implemented in terms of "tree patches", which are high |
101 |
| - level descriptions of common refactoring operations. |
102 |
| - Tree patches can be composed to build more advanced refactorings |
103 |
| - such as @code{Xor2Either}. |
104 |
| - The current available tree patches are |
105 |
| - @ul |
106 |
| - @li |
107 |
| - @code{Replace}: Replaces usage of a symbol with another name. |
108 |
| - @li |
109 |
| - @code{AddGlobalImport}: Adds a top-level import to source file. |
110 |
| - @li |
111 |
| - @code{RemoveGlobalImport}: Removes a top-level import from source file. |
112 |
| - @p |
113 |
| - Special thanks go to @user{ShaneDelmore} for helping out try the |
114 |
| - scalafix patch API at every step of its development. His feedback has |
115 |
| - been invaluable in improving the design of the API. |
116 |
| - @li |
117 |
| - Configuration in .scalafix.conf has been greatly improved to support a wide range |
118 |
| - of options. |
119 |
| - Examples, see @sect.ref{patches}, @code{imports} (now removed) and @sect.ref{All options}. |
120 |
| - @sect{0.2.1} |
121 |
| - @ul |
122 |
| - @li |
123 |
| - @code{sbt scalafix} runs @code{ExplicitImplicit} and @code{ProcedureSyntax} |
124 |
| - by default when there is no @code{.scalafix.conf}. |
125 |
| - @li |
126 |
| - Upgraded scala.meta dependency to fix parsing + pretty-printer bugs. |
127 |
| - @sect{0.2.0} |
128 |
| - @ul |
129 |
| - @li |
130 |
| - First semantic rewrite! See @sect.ref{ExplicitReturnTypes}. |
131 |
| - @li |
132 |
| - Removed command line interface in favor of compiler plugin. |
133 |
| - Why? To run semantic rewrites, scalafix needs to compile source files. |
134 |
| - The scalafix command line tool has no aspiration to become a build tool. |
135 |
| - @sect{0.1.0} |
136 |
| - @ul |
137 |
| - @li |
138 |
| - New command line tool: @code{scalafix}. |
139 |
| - (EDIT: superseded by scalafix-nsc compiler plugin in v0.2) |
140 |
| - @li |
141 |
| - New SBT plugin: @code{sbt-scalafix}. See @sect.ref{sbt-scalafix}. |
142 |
| - @li |
143 |
| - Two rewrite rules: |
144 |
| - @sect.ref{ProcedureSyntax} |
145 |
| - and |
146 |
| - @sect.ref{VolatileLazyVal}. |
| 6 | + @scalatex.Changelog04() |
| 7 | + @scalatex.Changelog03() |
0 commit comments