summaryrefslogtreecommitdiff
path: root/plugins/kotlin/plugin/resources/META-INF/plugin.xml
blob: ab3f64e6cc4c3c1db3f750471779e9f9aeea8cbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<idea-plugin package="org.jetbrains.kotlin" xmlns:xi="http://www.w3.org/2001/XInclude" version="2" url="http://kotlinlang.org" allow-bundled-update="true">
  <id>org.jetbrains.kotlin</id>

  <name>Kotlin</name>
  <description><![CDATA[
The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<br>
<a href="https://kotlinlang.org/docs/tutorials/getting-started.html">Getting Started in IntelliJ IDEA</a><br>
<a href="https://kotlinlang.org/docs/tutorials/kotlin-android.html">Getting Started in Android Studio</a><br>
<a href="https://slack.kotlinlang.org/">Public Slack</a><br>
<a href="https://youtrack.jetbrains.com/issues/KT">Issue tracker</a><br>
]]></description>
  <!--suppress PluginXmlValidity -->
  <version>@snapshot@</version>

  <!--suppress PluginXmlValidity -->
  <vendor url="https://www.jetbrains.com">JetBrains</vendor>

  <!--suppress PluginXmlValidity -->
  <change-notes><![CDATA[
    <h3>1.7.0</h3>
    <ul>
      <li>New Kotlin K2 compiler for JVM in Alpha</li>
      <li>Language: changes in builder inference, allowed implementation by delegation to inlined value of inline class, changes in Opt-in annotations</li>
      <li>Kotlin/JVM: performance improvements, removed `1.6` target version</li>
      <li>Kotlin/Native: performance improvement for the new memory manager, embeddable compiler jar for Kotlin/Native by default, returning `Void` instead of `KotlinUnit` from `suspend` functions by default, generation of standalone executable for androidNative targets by default, prohibited exceptions through Objective-C bridges</li>
      <li>Kotlin/JS: performance improvements, smaller bundle size, generated `.js` compatible with old browsers and engines</li>
      <li>Libraries: extensions for `java.util.Optional` in stdlib, min/max(By/With) functions for non-empty collections, stable `Regex.matchAt()`, `Regex.matchesAt()`, `findAnnotations()`, `DeepRecursiveFunction` functions, getting named groups of a regex match in JS and Native</li>
      <li>Gradle: Experimental incremental compilation, minimal supported Gradle version is `6.7.1` and Android Gradle plugin is `3.6.4`, allow to override default Kotlin/Native compiler download URL, deprecated `kotlin.compiler.execution.strategy`, removed `useExperimentalAnnotation`, `experimentalAnnotationInUse`, `kotlin.coroutines` (and related `kotlin.experimental.coroutines` Gradle DSL option) properties</li>
    </ul>
    Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.7.0">changelog</a>.
    <br><br>
    <h3>1.6.20</h3>
    <ul>
      <li>Language: prototype of context receivers, definitely non-nullable types</li>
      <li>Kotlin/JVM: experimental parallel compilation of a single module, callable references to functional interface constructors, improved compatibility for default methods</li>
      <li>Kotlin/Native: instantiation of annotation classes, improved interop with Swift async/await, better stack traces with libbacktrace, performance improvements</li>
      <li>Multiplatform: hierarchical project structure by default</li>
      <li>CocoaPods Gradle plugin: new tasks for generating a suitable podspec for XCFramework publishing, accepting the podspec version when configuring CocoaPods for Kotlin/Native</li>
      <li>Kotlin/JS: IR compiler improvements (incremental compilation, lazy initialization of top-level properties, separate JS files for project modules), export improvements</li>
      <li>Security: using relative paths in klibs, persisting yarn.lock for Kotlin/JS Gradle projects, installation of npm dependencies with --ignore-scripts by default</li>
      <li>Gradle: compiler execution strategies, cleaning up deprecated properties and options</li>
    </ul>
    Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.6.20">changelog</a>.
    <br>
    For more details, see [What’s New in Kotlin 1.6.20](https://kotlinlang.org/docs/whatsnew1620.html).
    <br><br>
    <h3>1.6.0</h3>
    <ul>
      <li>Language: stable exhaustive `when` statements for enum, sealed and Boolean subjects, stable conversions from regular to suspending functional types, stable instantiation of annotation classes, improvements to type inference and builder inference</li>
      <li>Kotlin/JVM: support for repeatable annotations with runtime retention and bytecode optimizations for delegated properties</li>
      <li>Kotlin/Native: a preview of the new memory manager, support for Xcode 13, updated LLVM to 11.1.0, compiler caches enabled by default for `linuxX64` and `iosArm64`, cross-compilation for MinGW targets, unified compiler plugin ABI with JVM and JS IR backends, reworked unhandled exception handling API</li>
      <li>Kotlin/JS: ability to disable downloading Node.js and Yarn</li>
      <li>Gradle: removed 'kotlin.useFallbackCompilerSearch' build option</li>
      <li>Stdlib: top-level `readln()` and `readlnOrNull()` on JVM, stable `typeOf()`, Duration API, and сollection builders, improvements to the existing API </li>
    </ul>
    Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.6.0">changelog</a>.
    <br><br>
	  <h3>1.5.30</h3>
    <ul>
      <li>Kotlin/JVM: instantiation of annotation classes and improvements to how nullability annotations are handled.</li>
      <li>Kotlin/Native: support for Apple silicon, Kotlin DSL improvements for the Cocoapods Gradle plugin, deprecation of linkage with DLLs without import libraries for MinGW targets, optimized access to object declarations with `const val`s only, and debugger improvements.</li>
      <li>Swift/Objective-C interop: experimental interoperability with Swift 5.5 async/await and improved singleton mapping.</li>
      <li>C interop: passing by value for more C structs.</li>
      <li>Kotlin Multiplatform: the ability to share custom `cinterop` libraries between platforms, XCFrameworks support, and a new default publishing setup for Android artifacts.</li>
      <li>Kotlin/JS: IR backend in Beta and source map generation for it.</li>
      <li>Gradle: Java toolchain support and changes to Kotlin daemon JVM argument configuration.</li>
      <li>Standard library: improvements to the `Regex` and `Duration` APIs.</li>
      <li>Compiler improvements: changes to the opt-in requirement mechanism, improvements to type inference on recursive generic types, and the elimination of builder inference restrictions.</li>
    </ul>
    Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.5.30">changelog</a> and <a href="https://blog.jetbrains.com/kotlin/2021/08/kotlin-1-5-30-released/?utm_source=ide&utm_medium=change-notes&utm_campaign=1-5-30-release">this blog post</a>.
    <br><br>
    <h3>1.5.21</h3>
    A bug fix release for Kotlin 1.5.20. Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.5.21">changelog</a>.
    <br><br>
    <h3>1.5.20</h3>
    Released: <b>June 24, 2021</b>
    <ul>
      <li>String concatenation uses invokedynamic on JVM by default.</li>
      <li>Annotations on function type parameters are emitted to the bytecode on JVM 1.8+.</li>
      <li>Support calling Lombok-generated Java methods from Kotlin code in the same module.</li>
      <li>Kotlin/Native: improved performance of `Array.copyInto` inside one array.</li>
      <li>Kotlin/Native: opt-in export of KDoc comments to the generated Objective-C headers with the `-Xexport-kdoc` compiler option.</li>
      <li>Experimental caching of annotation processors' classloaders.</li>
      <li>Parallel compilation of Kotlin sources is controlled by `--parallel` Gradle property. The `kotlin.parallel.tasks.in.project` property is deprecated.</li>
      <li>Aligned behavior of stdlib functions `isLowerCase`/`isUpperCase` and `digitToInt` across platforms.</li>
    </ul>
    For more details, see <a href="https://kotlinlang.org/docs/whatsnew1520.html?utm_source=ide&utm_medium=change-notes&utm_campaign=1-5-20-release">What’s New in Kotlin 1.5.20</a> and <a href="https://blog.jetbrains.com/kotlin/2021/06/kotlin-1-5-20-released/?utm_source=ide&utm_medium=change-notes&utm_campaign=1-5-20-release">this blog post</a>
    <br><br>
    <h3>1.5.10</h3>
    Released: <b>May 24, 2021</b>
    <br>
    A bug fix release for Kotlin 1.5.0.
    Learn more in the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.5.10/">changelog</a>.
    <br><br>
    <h3>1.5.0</h3>
    Released: <b>May 5, 2021</b>
    <ul>
      <li><a href="https://kotlinlang.org/docs/whatsnew14.html?utm_source=product&utm_medium=link#new-jvm-ir-backend">JVM IR backend</a> by default.</li>
      <li>New language features by default: inline value classes, sealed interfaces, and JVM records support.</li>
      <li>New default JVM target: 1.8 (1.6 is deprecated)</li>
      <li><a href="https://kotlinlang.org/docs/fun-interfaces.html?utm_source=product&utm_medium=link">SAM adapters</a> use invokedynamic on JVM by default. Lambdas can use invokedynamic with an opt-in via `-Xlambdas=indy`.</li>
      <li>Deprecation of `-Xjvm-default=enable` and `-Xjvm-default=compatibility` compiler modes and `@JvmDefault` annotation.</li>
      <li>Kotlin/Native compilation time improvements.</li>
      <li>Kotlin/JS uses webpack 5 by default.</li>
      <li>New stdlib APIs: math functions `floorDiv()` and `mod()`, collection function `firstNotNullOf()`, strict version of `String.toBoolean()`.</li>
      <li>Stabilization of experimental APIs: unsigned integers, extensions for Java NIO Path API, Char-to-int and Char-to-code conversions, locale-agnostic functions for upper-/lowercasing.</li>
      <li>Changes in the experimental Duration API.</li>
      <li>Simplified kotlin-test dependency usage.</li>
      <li>New and updated assertion functions in kotlin-test.</li>
      <li>New library versions: coroutines 1.5.0, serialization 1.2.0, dateTime 0.2.0</li>
      <li>Fixed compiler exceptions.</li>
    </ul>
    Learn more in:
    <ul>
      <li><a href="https://kotlinlang.org/docs/whatsnew15.html?utm_source=product&utm_medium=link">What’s New in Kotlin 1.5.0</a>.</li>
      <li><a href="https://blog.jetbrains.com/kotlin/2021/04/kotlin-1-5-0-released/?utm_source=product&utm_medium=link">the release blog post</a>.</li>
      <li><a href="https://github.com/JetBrains/kotlin/releases/tag/v1.5.0/">the release changelog</a>.</li>
    </ul>
    <br><br>
    <h3>1.4.30</h3>
    Released: <b>February 4, 2021</b>
    <ul>
      <li>Preview of new language features: JVM records support, sealed interfaces, and stable inline classes.</li>
      <li>Kotlin/JVM: IR backend is now in Beta.</li>
      <li>Kotlin/Native: performance improvements, new `watchosX64` simulator target, support for Xcode 12.2 libraries.</li>
      <li>Kotlin/JS: prototype lazy initialization of top-level properties.</li>
      <li>Support for Gradle configuration cache.</li>
      <li>Standard library API improvements: locale-agnostic API for upper/lowercasing text and clear Char-to-code and Char-to-digit conversions.</li>
    </ul>
    For more details, see <a href="https://kotlinlang.org/docs/reference/whatsnew1430.html?utm_source=product&utm_medium=link">What’s New in Kotlin 1.4.30</a> and <a href="http://blog.jetbrains.com/kotlin/2021/01/1-4-30-is-released-with-a-new-jvm-backend-and-language-and-multiplatform-features/?utm_source=product&utm_medium=link">this blog post</a>.
    <br><br>
    <h3>1.4.20</h3>
    Released: <b>November 23, 2020</b>
    <ul>
      <li>Kotlin/JS: New project templates, improved Gradle plugin, experimental <b>compilation with errors mode</b> in the IR compiler.</li>
      <li>Kotlin/Native: New escape analysis mechanism, wrapping of Objective-C exceptions, various functional and performance improvements.</li>
      <li>IDE: Experimental support for <a href="https://blog.jetbrains.com/idea/2020/03/intellij-idea-2020-1-beta2/">Code Vision</a>, the <b>Redirect input from</b> option in Kotlin run configurations, and more.</li>
      <li>JEP 280 (invokedynamic) string concatenation is available on the JVM.</li>
      <li>Changes to the layout of multiplatform projects.</li>
      <li>Improved CocoaPods support.</li>
      <li>Standard library improvements: Extensions for java.nio.file.Path and performance optimizations.</li>
      <li>Deprecation of the kotlin-android-extensions compiler plugin. Parcelable implementation generator has moved to the new kotlin-parcelize plugin.</li>
    </ul>
    For more details, see <a href="https://kotlinlang.org/docs/reference/whatsnew1420.html?utm_source=product&utm_medium=link">What’s New in Kotlin 1.4.20</a> and <a href="https://blog.jetbrains.com/kotlin/2020/11/kotlin-1-4-20-released/?utm_source=product&utm_medium=link">this blog post</a>.
    <br><br>
    <h3>1.4.0</h3>
    Released: <b>August 17, 2020</b>
    <ul>
      <li>New compiler with better type inference.</li>
      <li>IR backends for JVM and JS in Alpha mode (<a href="https://kotlinlang.org/docs/reference/whatsnew14.html#unified-backends-and-extensibility">requires opt-in</a>).</li>
      <li>A new flexible Kotlin Project Wizard for easy creation and configuration of different types of projects.</li>
      <li>New IDE functionality to debug coroutines.</li>
      <li>IDE performance improvements: many actions, such as project opening and autocomplete suggestions now complete up to 4 times faster.</li>
      <li>New language features such as SAM conversions, trailing comma, and other.</li>
      <li>Type annotations in the JVM bytecode and new modes for generating default interfaces in Kotlin/JVM.</li>
      <li>New Gradle DSL for Kotlin/JS.</li>
      <li>Improved performance and interop with Swift and Objective-C in Kotlin/Native.</li>
      <li>Support for sharing code in several targets thanks to the hierarchical structure in multiplatform projects.</li>
      <li>New collection operators, delegated properties improvements, the double-ended queue implementation ArrayDeque, and much more new things in the standard library.</li>
    </ul>
    For more details, see <a href="https://kotlinlang.org/docs/reference/whatsnew14.html?utm_source=product&utm_medium=link">What’s New in Kotlin 1.4.0</a> and <a href="http://blog.jetbrains.com/kotlin/2020/08/kotlin-1-4-released-with-a-focus-on-quality-and-performance/?utm_source=product&utm_medium=link">this blog post</a>.
    <br><br>
    To get the most out of the changes and improvements introduced in Kotlin 1.4, join our <a href="https://kotlinlang.org/lp/event-14/">Online Event</a> where you will be able to enjoy four days of Kotlin talks, Q&As with the Kotlin team, and more.
    ]]>
  </change-notes>

  <xi:include href="/META-INF/extensions/compiler.xml" /> <!-- extensions/compiler.xml comes from the Kotlin compiler -->

  <xi:include href="kotlin-core.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="navigation-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="file-types.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="resolution.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="highlighting-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="highlighting.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="language.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="light-classes.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="formatter.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="completion.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="refactorings.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="inspections.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="indices.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="caches.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="caches-fe10.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="jps.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="statistics.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="scripting-support.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="dep-spellchecker.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="refIndex.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="kotlinx-serialization.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="native-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="native.xml" xpointer="xpointer(/idea-plugin/*)"/>

  <!--suppress XmlPathReference -->
  <xi:include href="ultimate-plugin.xml" xpointer="xpointer(/idea-plugin/*)">
    <xi:fallback/>
  </xi:include>

  <xi:include href="jvm-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="jvm.xml" xpointer="xpointer(/idea-plugin/*)"/>
  <xi:include href="parcelize.xml" xpointer="xpointer(/idea-plugin/*)"/>

  <dependencies>
    <!-- IJ/AS-DEPENDENCY-PLACEHOLDER -->
    <plugin id="com.intellij.java"/>
  </dependencies>

  <!-- IJ/AS-INCOMPATIBLE-PLACEHOLDER -->

  <content>
    <module name="kotlin.groovy"/>
    <module name="kotlin.gradle.gradle-tooling"/>
    <module name="kotlin.gradle.gradle-idea"/>
    <module name="kotlin.gradle.gradle-java"/>
    <module name="kotlin.gradle.gradle-native"/>
    <module name="kotlin.maven"/>
    <module name="kotlin.project-wizard.idea"/>
    <module name="kotlin.project-wizard.gradle"/>
    <module name="kotlin.project-wizard.maven"/>
    <module name="kotlin.properties"/>
    <module name="kotlin.jvm-decompiler"/>
    <module name="kotlin.jvm-debugger.sequence"/>
    <module name="kotlin.junit"/>
    <module name="kotlin.testng"/>
    <module name="kotlin.coverage"/>
    <module name="kotlin.i18n"/>
    <module name="kotlin.git"/>
    <module name="kotlin.grazie"/>
    <module name="kotlin.ml-completion"/>
    <module name="kotlin.compiler-plugins.compiler-plugin-support.gradle"/>
    <module name="kotlin.compiler-plugins.compiler-plugin-support.maven"/>
    <module name="kotlin.compiler-plugins.allopen.gradle"/>
    <module name="kotlin.compiler-plugins.allopen.maven"/>
    <module name="kotlin.compiler-plugins.noarg.gradle"/>
    <module name="kotlin.compiler-plugins.noarg.maven"/>
    <module name="kotlin.compiler-plugins.sam-with-receiver.gradle"/>
    <module name="kotlin.compiler-plugins.sam-with-receiver.maven"/>
    <module name="kotlin.compiler-plugins.parcelize.gradle"/>
    <module name="kotlin.compiler-plugins.scripting"/>
    <module name="kotlin.compiler-plugins.kapt"/>
    <module name="kotlin.compiler-plugins.kotlinx-serialization.gradle"/>
    <module name="kotlin.compiler-plugins.kotlinx-serialization.maven"/>
    <module name="kotlin.compiler-plugins.lombok.gradle"/>
    <module name="kotlin.compiler-plugins.lombok.maven"/>

    <module name="kotlin.copyright"/>
    <module name="kotlin.injection"/>
  </content>
</idea-plugin>