Kotlin 2.4.10, node_modules fix
### Vite for Kotlin - Fixed crash when the `node_modules` symlink was broken (437c9a25) ### Build - Removed the `kotlin-dsl` plugin, both plugins are now regular Gradle plugins (b5212079, 30814937) ### Dependencies - Kotlin 2.4.10
Fix for Yarn users, Vite 8.1 by default
### Vite for Kotlin - Replaced the `vite-plugin-restart` (only works with Vite 8+ in NPM mode) by `vite-plugin-live-reload`, which does (#75, !183, by Robert Jaros) ### Dependencies - Vite 8.1 by default
Dependency upgrades, documentation improvements
### Vite for Gradle - Renamed the method `dumpViteConfig` to `dump` (d1c01218) - Renamed the top-level extension from `kotlinViteExtension` to `kotlinViteConfig` (ec1af490) ### Vite for Kotlin - Vite 8.0.0-beta.18 by default (!165) ### Documentation - Added documentation to packages, fixed broken links (692260a3, 9603808c) - Links now point to the new 'Reference' tab (87917bf4) ### Dependencies - Gradle 9.4.1
Dependency upgrades
### Dependencies - Kotlin 2.3.10 - Gradle 9.3.1
Kotlin 2.3.0 and documentation website improvements
### Dependencies - Kotlin 2.3.0 - NodeJS 24.13.0 ### Documentation The documentation website has been upgraded to the latest Material MkDocs version, and a bunch of new features have been enabled… Can you spot them all?
Dependency upgrades, simplify local plugins
### Base - Introduce the `localPlugin()` function to simplify declaring local plugins (#74, !150) ### Dependencies - Vite 8.0.0-beta.9 by default - vite-plugin-restart 2.0.0 (964f3c1e, #75, !151)
Local plugins and fixed cache
- Fixed the default cache directory (#70, !142) - Support local plugins (#73, !149)
Documentation fixes
- Technical fixes to the documentation website - Improved tests for WasmJS
Vite 8 beta support, experimental WasmJS support, bug fixes
### Important - Kotlin users: you may need to upgrade your Node version. See the 'Kotlin' section below. - Kotlin users: the production output directory has changed from `build/vite/dist` to `build/vite/js/dist`. ### Base - Upgraded to Vite 8.0.0-beta.2 (#69, !141) - Added the [`config.autoRewriteIndex`](https://vite-kotlin.opensavvy.dev/api/-vite%20for%20-gradle/opensavvy.gradle.vite.base.config/-vite-config/auto-rewrite-index.html) option to more easily support mixed Webpack/Vite projects (#66, !124) ### Kotlin This release updates the Vite version, and new Vite versions require a newer NodeJS version than the one shipped by default by the Kotlin Gradle Plugin. For the build to work, you may need to upgrade the NodeJS version you're using as well. To do so, open the root `build.gradle.kts` file and add: ```kotlin project.plugins.withType<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsPlugin> { project.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsEnvSpec>().version = "24.12.0" } ``` This information has also been added to the [Troubleshooting section of the getting started guide](https://vite-kotlin.opensavvy.dev/guides/index.html#troubleshooting). - Added experimental WasmJS support (#46, #127, #137) - Added the `:vitePreview` task to serve the production output locally (66ba462a) - Fixed the default target which was incorrect, replaced it with `"es2015"` (9c047b0d) - Fixed external plugins (`config.plugin()`) which were not correctly applied (#65, !139) - Removed the default plugins `@rollup/plugin-commonjs` and `vite-plugin-top-level-await`, as they are not needed with Vite 8. If you want to continue using Vite 7, you may need to explicitly add them to your build (!141) ### Documentation - Moved the Troubleshooting section from the main page to the [Getting started guide](https://vite-kotlin.opensavvy.dev/guides/index.html#troubleshooting). ### Dependencies - Gradle 9.2.0 - Kotlin 2.2.21 ### Internal changes In this release, we have improved our automated test suites, which should make bugs rarer. ### Special thanks Thanks to Robert Jaros, the author of the KotlinJS frameworks [Kilua](https://kilua.dev/) and [KVision](https://kvision.io/), who contributed most of the improvements in this release. Since Kilua 0.0.27, you can also find our Vite plugin in the [Kilua project creation wizard in IntelliJ](https://plugins.jetbrains.com/plugin/27530-kilua-project-wizard)!
ES6 plugins support, stability and performance improvements
### Base - By default, the Vite configuration file is now called `vite.config.mjs` instead of `vite.config.js`, to allow usage of ES6 plugins (!120) - Do not reload the app when Kotlin files change, wait until the generated JS files change (!121) ### Kotlin - Fixed the exec tasks did not correctly inherit the configuration of the write tasks (01d20eda) - Fixed the source maps were not configured correctly, they now work for the current module (!122) - The Vite working directory is now generated from the compiler output and resources directly, without an intermediary copy (!123)
Documentation and configuration improvements
### Base - Better code highlighting when declaring plugins (!119) ### Kotlin - The execution tasks (`viteRun` and `viteBuild`) now inherit from the writing tasks (!119) - Test ESM support (!119) - Test ES2015 support (!119) ### Documentation - Added a [Getting started guide](https://vite-kotlin.opensavvy.dev/guides/) (!119) - Added [an article on ESM and its benefits](https://vite-kotlin.opensavvy.dev/guides/esm.html) (!119) - Added [an article on ES2015 and its benefits](https://vite-kotlin.opensavvy.dev/guides/es2015.html) (!119)
Development-mode performance and bug fixes
### Vite for Kotlin - Fixed "Maximum call stack exceeded" on large projects (#57, !113) - Vite now only reloads changed files in development mode, instead of always reloading all files (#63, !116) ### Dependencies - Replaced `@originjs/vite-plugin-commonjs` with `vite-plugin-commonjs` 0.10.4 (2924ee5b, #57, !113) - `@rollup/plugin-commonjs` 28.0.6 (!113)
Server options and the new documentation website
### Base - Added `server.host` (#59, !108) - Added `server.port` (#59, !108) - Added `server.strictPort` (#59, !108) - Added `server.proxy` (#59, !108) ### Kotlin ### Documentation - Moved the documentation website to [https://vite-kotlin.opensavvy.dev/](https://vite-kotlin.opensavvy.dev/)
New documentation website
### Vite for Gradle - Added the option `publicDir` (!106) ### Vite for Kotlin - The browser can now see the Kotlin source files. This is a first step towards fully-functioning source maps (d70b6314, !106) ### Documentation - Added a new landing page at https://vite-kotlin.opensavvy.dev/docs/ (#54, !105) ### Dependencies - Gradle 8.14.3 support
Gradle 8.14 and Kotlin 2.2.0 support
### Deployment - New MavenCentral publishing process with NMCP (!104) ### Dependencies - Gradle 8.14 (6d2bd758) - Kotlin 2.2.0 (1c16386a)
Kotlin 2.1.20 support
### Kotlin - Support for Kotlin 2.1.20 (#55, !96) - Internal rewrite from explicit dependencies to RequiresNpmDependencies (42309af3)
Vite 6.1 support
### Vite for Kotlin - Vite 6.1.0 by default (b28d5f23, !86) - Rollup CommonJS 28.0.2 (f54e98b4, !86)
modulePreload and dependency upgrades
### Vite - Support build.modulePreload (!78, thanks @becmer!) ### Dependencies - Kotlin 2.0.20 - Gradle 8.10.2
Kotlin 2.0.0 support
### Samples - Removed the TailwindCSS sample (a99e97f5) ### Dependencies - Kotlin 2.0.0 (8b17d5c4)
Kotlin 2.0.0-RC1 support
### Dependencies - Kotlin 2.0.0-RC1 (66672126, !62) ### Examples - Bump dependencies (#52, !63)
Publication fixes
### Build and deployment - Fix publishing bug (#44, !54) ### Dependencies - Kotlin 1.9.22
Dependency upgrades
### Dependencies - Vite 5.0.0 - Rollup CommonJS 25.0.7 ### Build and deployment - Fix publication (#41, !47)
Fix the TailwindCSS example
### Examples - Fixed the TailwindCSS example (#37, !46)
Fix MavenCentral publishing
### Base - Removed the resource declaration syntax. Resources will be handled by their own plugin (#20, !42) ### Build and deployment - Fix invalid coordinates when publishing to MavenCentral (!43) ### Dependencies - Kotlin 1.9.21 - OpenSavvy Gradle Conventions 0.3.2
Dependency updates
### Dependencies - OpenSavvy Gradle Conventions 0.3.2 (!39, !40) - Kotlin 1.9.21 (!40) ### Build and deployment - The documentation will now be published to MavenCentral (!40)
Java 11 support
### Build and deployment - Java 11 support (#36, !37) ### Documentation - Fixed broken links in the README (!36)
Extended compatibility, project restructuration
### Documentation - Example usage for all plugins (#29, !32) - Fixed links after the project was moved to OpenSavvy/Automation (#35, !34) ### Build and deployment - Java 8 support (#32, !33) - Windows support (#31, !31)
Performance improvements and Base separation
### Vite for Kotlin - Compatibility with Configuration On Demand (#26, !25) - Compatibility with Configuration Cache (#26, !25) - Compatibility with Build Cache (#26, #27, !25, !27) ### Base - Create the Base module which creates the tasks but configures nothing, to allow custom builds (#25, !28)
Various bug fixes and documentation improvements
### Vite - Fixed :viteBuild which crashed because Vite wasn't installed (505ba9b7, !23) - Fixed :viteBuild not compiling the project (2b44fef8, !23) - Improved Gradle Configuration Cache compatibility (#24, !23) ### Documentation - Link to the Gradle documentation (64d7ebc0, !21) - Document how to use the plugin (#23, !21) ### Dependencies - Gradle 8.4 (!22)
Fix Central publication
### Vite - Remove dead code (b93042d5) ### Build & deployment - Add the necessary metadata for Central (#21, !18)
Multi-project support, local resource dependencies
### Vite - Fix an incompatibility with multi-project builds (#19, 1965e887) ### Examples - Created a multi-project example which imports resources from another project (#19, !15, !17) - Created a TailwindCSS example (#18, !19)