# Migration from 7.x to 8.x

This is the list of incompatibilities you may encounter when migrating your application to KVision 8.0.0.

* The `kvision-redux` module has been removed, because the kotlin-redux library (part of the [kotlin-wrappers](https://github.com/JetBrains/kotlin-wrappers) project) has been discontinued. You need to change `kvision-redux` module to `kvision-redux-kotlin` in your `build.gradle.kts` file. The API is almost the same, just use `createTypedReduxStore` instead of `createReduxStore` function. Unfortunately there is no way to use additional middleware from the JS Redux ecosystem with ReduxKotlin module.
* Because of different format of the webpack proxy configuration in the Kotlin Gradle Plugin 2.0.20, it is recommended to simplify the webpack configuration used inside `build.gradle.kts` and move more advanced stuff to the `*.js` files inside `webpack.config.d` directory. Remove `devServer = KotlinWebpackConfig.DevServer(...)` block from your `build.gradle.kts` file. Modify your `webpack.config.d/webpack.js` file to match that file in the template project: [webpack.js](https://github.com/rjaros/kvision-examples/blob/master/template/webpack.config.d/webpack.js). If your project is a fullstack application, you will also need [`webpack.config.d/proxy.js`](https://github.com/rjaros/kvision-examples/blob/master/template-fullstack-ktor/webpack.config.d/proxy.js) file.
* Because of changes in the behaviour of the Gradle tasks in Kotlin 2.0.20, you may notice that all files in your `src/jsMain/resources` directory are now copied to the destination zip file. It's not always the desired behaviour, because your `resources` folder contains files which are processed by webpack (css, images, hbs). You can exclude files from copying by creating a `modules` directory and moving all your files there (remember to also fix your `require` and `@JsModule`paths).
