:rocket: We’ve been focused on enhancing Kotlin Mu...
# announcements
h
🚀 We’ve been focused on enhancing Kotlin Multiplatform for web, and a lot has been going on behind the scenes. 🛠️ Now, we’re ready to share it – check out our latest update on the present and future of Kotlin for web. ➡️ Read the blog post To share feedback or ask questions, explore topic-specific channels like #CDFP59223, #C01F2HV7868, #C0B8L3U69, and #C3PQML5NU.
kodee happy 23
JS 13
🚀 9
🤩 12
👍 9
.wasm 26
👍🏾 1
🤑 1
K 72
❤️ 18
a
Awesome! I am happy Kotlin/JS is getting more love again
kodee loving 8
👍 2
a
Indeed. We use it in production and I am happy to see some of major problems addressed.
❤️ 4
p
what's the fate of https://github.com/JetBrains/kotlin-wrappers? these are bindings to JS libraries so in general a good thing that should stay, but will it get some semver-like versioning and compatibility guarantees?
a
@turansky ^^
t
but will it get some semver-like versioning
@Piotr Krzemiński we already have semver versioning. Current version -
2025.5.4
(release)
p
what's the meaning of the components in the version? isn't it year, month, day?
t
It's already described in changelog (
year.month.patch
)
p
so if there's a breaking change, will you wait for the next year? (of course, joking, but my intent is to provoke a constructive discussion 😄 )
t
We describe breaking changes in our changelog (we don't wait for the next year). Also we generate declarations for the latest versions of NPM libraries and they usually break compatibility too and they also expect latest browser/web declarations.
p
So technically it's not semver
t
It's what we have in TypeScript for example. Does it mean, that TypeScript doesn't use semver versioning? 😉
p
as I can see here, TS follows "loose" semver, not date-based versioning. Ok, so the bottom line is that: • versioning schema in kotlin-wrappers doesn't communicate breaking changes • breaking changes appear fairly often because the NPM libraries being wrapped contain braking changes
a
You know you dont need to include the full kotlin-wrappers. You can just add the dependencies for the wrapper you need. That alleviates some of the breaking changes.
p
ah right, fair point!
so probably this usage is suboptimal (belongs to a project I own)
t
@Piotr Krzemiński Yes, we describe current state of very dynamic world. Single option to "save compatibility" - fix all NPM versions (including transitive) and stop development. But in that case in year our repository will be marked by GitHub as "very unsecure".
a
The Web Standard world is luckily pretty stable. Sadly the JS NPM ecosystem decides to reinvent the wheel every Tuesday.
🥲 1
🤣 3
t
so probably this usage is suboptimal (belongs to a project I own)
@Piotr Krzemiński Catalog is highly recommended - it's just aliases of dependencies.
p
got it, thanks for the discussion! I think it would be nice to describe the versioning scheme and any other conclusions in README of kotlin-wrappers - the changelog is a living thing and it's hard to discover for people starting using this set of libs
t
Register dependency aliases != add dependencies
The Web Standard world is luckily pretty stable
From time to time we receive breaking changes even in ECMA part like: • Class
Iterator
with ~10 "arraish" methods ◦ Before it was interface with 1 method • Type parameter for typed arrays
p
Cool! Does the wasm target suffer from the same performance issue that flutter does on Safari? https://bugs.webkit.org/show_bug.cgi?id=267291 Or does it work completely differently?