DEV Community

Robert Jaros
Robert Jaros

Posted on

KVision 7.0.0 is released

KVision is an open source web framework created for Kotlin/JS. It allows developers to build modern web applications with the Kotlin language.

I have released KVision 7.0.0. This is a major upgrade bringing new features and some breaking changes.

Highlights of this release include:

  • Upgraded dependencies (Kotlin 1.9.0, Coroutines 1.7.3, Serialization 1.6.0-RC, KSP 1.0.13, Jooby 3.0.2, Spring Boot 3.1.2, Ktor 2.3.3, Micronaut 4.0.3, Koin 3.4.3, kotlin-wrappers 615, Gradle 8.3-rc-3, npm-publish 3.4.1, Bootstrap 5.3.1, Chart.js 4.3.3, Tempus dominus 6.7.11, Electron 25.5.0, Fontawesome 6.4.2, Handlebars 4.7.8, Imask 7.1.3, Tabulator 5.5.1, Tom Select 2.2.5).
  • Migration from Kotlin JS to Kotlin Multiplatform gradle plugin for both KVision itself and all example and template projects.
  • Integrated custom gradle tasks with KVision gradle plugin for all fullstack apps, to simplify and unify application build files.
  • Support Server-Sent Events connections in fullstack applications for all supported backend servers.

For more details about this release see the changelog.

Multiplatform plugin

Since Kotlin 1.9.0 Kotlin("js") Gradle plugin is deprecated and KVision is no longer using it. Only Kotlin("multiplatform") is supported. The migration is quite easy and well documented in the official guide. In general you just need to rename your source sets and source directories.

Fullstack changes

All custom Gradle tasks for fullstack applications are now integrated with KVision Gradle plugin. Also the source sets names are changed to standard jsMain and jvmMain (instead of frontendMain and backendMain). This makes KVision build files way simpler and unified. It's also a lot easier to convert a frontend-only project to a fullstack application.

KVision 7 allows you to use SSE (server-sent events) with all supported backend servers. Just like with KVision websockets connection, the implementation is fully type-safe and is based on Kotlin coroutines channels.

New examples

There are new examples in the repo. The template-fullstack-ktor-koin-annotations project shows you how to use Koin Annotations. And the tweets-fullstack-spring-boot-sse project implements a very simple chat application with server-sent events.

Migration

As with any other major release there are breaking changes in 7.0.0. A dedicated migration guide is available, so be sure to read it before upgrading.

Don't forget to ⭐️ my project if you like it!

As always, any feedback is appreciated!

Top comments (0)