JetBrains has announced its decision to discontinue several scripting-related technologies in the Kotlin language, including key components such as REPL functionality, Java scripting APIs, and certain Maven plugins. In a blog post dated November 19, JetBrains explained that the move comes after research showed that the user needs addressed by these technologies are already being fulfilled by other, more widely supported tools. The company’s focus is shifting to ensuring Kotlin remains aligned with evolving user requirements while streamlining its feature set.
Among the changes, the default REPL (Read-Eval-Print Loop) implementations in both the Kotlin compiler and the IntelliJ IDEA plugin will be phased out. JetBrains noted that REPL functionality has seen limited development in recent years, and enhancing it has not been a priority. The company pointed out that alternatives, such as the Kotlin Notebook plugin and IDE Scratch files, are better suited for interactive Kotlin development. Although some REPL-related features will still be present in the Kotlin compiler and Custom Scripting API, many aspects of this functionality will be dropped or altered with the transition to the K2 compiler.
In addition to the REPL removal, JetBrains will also retire the Java Specification Request 223 (JSR 223), which provided scripting support for the Java platform. Since the original specification was withdrawn, the company determined that maintaining an obsolete API no longer makes sense. The existing implementation will remain functional until the release of Kotlin 2.3, operating in the language version 1.9 compatibility mode.
The company also plans to drop support for the KotlinScriptMojo Maven plugin, which facilitates script execution during a Maven build. JetBrains found limited evidence of its usage and, consequently, decided that continued maintenance was unjustifiable. Additionally, the kotlin-scripting-ide-services library, responsible for code completion functionality primarily used in REPL implementations, will be removed, as it relies heavily on the infrastructure of the older pre-K2 compiler. While JetBrains has no immediate plans to reimplement this functionality for the K2 compiler, it may explore new solutions for code completion in the future. Despite these removals, Kotlin scripting will remain an essential component of the Kotlin infrastructure, with ongoing support in an experimental state.