JetBrains is planning to discontinue certain scripting-related technologies, including outdated APIs and libraries that have seen limited adoption, such as the REPL performance, an out-of-date API for Java scripting, the KotlinScriptMojo Maven plugin, and the kotlin-scripting-ide-services library, which has struggled to deliver satisfactory code completion performance.
According to JetBrains, the company plans to discontinue certain scripting technologies in Kotlin, following an analysis that found these features are adequately addressed by existing supported technologies. The scripting-related components and libraries are decoupled from the Kotlin compiler and IntelliJ IDEA Integrated Development Environment.
- The default REPL implementations within the Kotlin compiler and IntelliJ IDEA plugin are to be sunsetted. JetBrains notes that improving the performance has never been a priority. The corporation will promote the Kotlin Pocketbook plugin and IntelliJ IDEA Scratch features as tools for enhancing interactive Kotlin development experiences. Efforts to sustain REPL-related performance optimization in both the compiler and the Customized Scripting Application Programming Interface (API). However, with an ultimate pivot towards flexibility, a significant part of this performance will be adapted or revised.
- Developing software applications utilizing the Java programming language. Given that the original specification has been withdrawn, JetBrains sensibly decides against investing in an outdated API, which would no longer be supported or maintained by its developers. The current implementation will continue to function until the release of Kotlin 2.3 in compatibility mode 1.9, as specified in the language model.
- The Kotlin Script Mojo: A Maven Plugin for Seamless Script Execution Across Maven Projects. JetBrains has deemed the lack of sufficient usage as a reason to discontinue support for this feature in future Kotlin releases, effectively signaling its eventual retirement.
- Kotlin Scripting IDE Services: A Library for Implementing Code Completion Performance in REPL Implementations The technology is currently employed in applications such as Kotlin Interactive. Due to its fundamental reliance on the infrastructure of the pre-K2 compiler, it cannot be easily migrated to the K2 architecture. Subsequent to Kotlin’s 2.3 release, this feature is likely to become defunct and will eventually be removed from the codebase. JetBrains may potentially reconsider re-engineering related performance enhancements atop K2 at some point in the future.
Kotlin scripting remains a crucial component of the Kotlin ecosystem, according to JetBrains. The corporation will provide support for it in a pilot program format.