KVision
Primary version
Primary version
  • KVision Guide
  • Introduction
  • Migration
    • Migration from 8.x to 9.x
    • Migration from 7.x to 8.x
    • Migration from 6.x to 7.x
    • Migration from 5.x to 6.x
    • Migration from 4.x to 5.x
  • 1. Getting Started
    • Setting Up
    • Modules
    • Creating a New Application
    • Development Workflow
    • Hot Module Replacement
    • Debugging
    • Building For Production
  • 2. Frontend Development Guide
    • UI Structure
    • Root Container
    • Theming
    • Dark mode
    • Type safe CSS Properties
    • Basic Components
    • Icons and Images
    • Buttons and Toolbars
    • Layout Containers
    • Events
    • Working with State
    • DOM Bindings & Lifecycle Hooks
    • W3C, Snabdom, and KVision Elements
    • Forms
    • Form controls
    • Drag and drop
    • Internationalization
    • Adding custom tags (SVG example)
    • Custom components
  • 3. Optional UI Functionality (via modules)
    • Using Redux
    • Bootstrap
      • Navigation and menus
      • Tooltips and popovers
      • Modals, windows and toasts
    • Charts
    • Toasts
    • Tabulator Tables
    • Handlebars.js Templates
    • JS Routing with Navigo
    • jQuery Bindings
    • Using REST Services
  • 4. Integrating With Javascript Libraries
    • Integrating With React Components
  • 5. Fullstack Development Guide
    • Select Remote
    • Tom Select Remote
    • Tom Typeahead Remote
    • Tabulator Remote
  • FAQ
  • Useful References
Powered by GitBook
On this page
  1. Migration

Migration from 6.x to 7.x

PreviousMigration from 7.x to 8.xNextMigration from 5.x to 6.x

Last updated 8 months ago

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

  • Gradle 8.2 or later is required. If you are still using older version or you are not sure you can just use ./gradlew wrapper --gradle-version latest --distribution-type all command (gradlew.bat on Windows).

  • kotlin("js") Gradle plugin is deprecated in Kotlin 1.9.0 and is no longer supported by KVision Gradle plugin. To migrate your frontend-only project to kotlin("multiplatform") plugin please follow . For a typical KVision application you just need to:

    • Rename directories src/main to src/jsMain and src/test to src/jsTest.

    • Replace kotlin("js") with kotlin("multiplatform") inside the plugins section of build.gradle.kts file.

    • Replace sourceSets["main"] with sourceSets["jsMain"] and sourceSets["test"] with sourceSets["jsTest"] in the build.gradle.kts file.

  • To unify configuration of all KVision applications, the fullstack projects are now using standard source sets names jsMain and jvmMain (instead of frontendMain and backendMain). To migrate your KVision fullstack project:

    • Rename directories src/frontendMain to src/jsMain, src/frontendTest to src/jsTest, src/backendMain to src/jvmMain and src/backendTest to src/jvmTest.

    • Replace jvm("backend") to jvm and js("frontend") to js(IR) in the build.gradle.kts file.

    • Replace frontendMain to jsMain , frontendTest to jsTest , backendMain to jvmMain and backendTest to jvmTest in the build.gradle.kts file.

    • Replace processedResources/frontend/main to processedResources/js/main in the build.gradle.kts file.

    • Replace processedResources/frontend/main to processedResources/js/main in the webpack.config.d/webpack.js file.

  • All custom Gradle tasks for fullstack applications are now integrated with KVision Gradle plugin. Unless you need some custom functionality you should remove all tasks declared after main kotlin {} block in your build.gradle.kts file (with the exception of server specific configuration for Jooby (joobyRun {} block), Vert.x (vertx {} block) and Kapt configuration for Micronaut). If you are using Javalin, Jooby or Ktor backend, you should also use new kotlin { jvm { mainRun {} } } block to configure mainClass name. For more details about migration fullstack apps check the corresponding template projects in the repository.

  • The selectSize property of the TomSelect component was renamed to maxOptions to match the orginal JS component option name.

  • Deprecated API has been removed. Be sure you to fix all your deprecation warnings before upgrading to KVision 7.

the official guide
kvision-examples