Download Latest Version v0.23.0 source code.tar.gz (648.3 kB)
Email in envelope

Get an email when there's a new version of Kobweb

Home / v0.23.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-07-04 3.8 kB
v0.23.0 source code.tar.gz 2025-07-04 648.3 kB
v0.23.0 source code.zip 2025-07-04 1.1 MB
Totals: 3 Items   1.7 MB 1

This release introduces a handful of miscellaneous feature and raises the version of kotlin to 2.2.0.

:::toml
[versions]
kobweb = "0.23.0"
kotlin = "2.2.0"

[!IMPORTANT] Planning to upgrade? Review instructions in the README.

⚠️ Please also be aware that there has been a huge backend migration that occurred in the open source community for maven central artifacts recently. For most people, no action is required, but we did need to update our instructions around downloading snapshots, and you may wish to update your own project if you ever use them.

Changes

Frontend

  • Added many new CSS modifiers
  • empty-cells, hyphenate-character, line-break, orphans, shape-margin, shape-rendering, table-layout, text-combine-upright, text-decoration-skip-ink, text-emphasis-position, text-indent, text-orientation, and text-underline-position
  • Query parameters / dynamic parameters are now decoded
  • So for example, https://example.com/?arg=hello%20world will now return "hello world" when you query it and not "hello%20world" as it did before
  • We no longer crash on URLs that have extra slashes in them (such as https://example.com/oops//)

Gradle

  • Fixed an issue where live reloading would break if you had multiple Kobweb sites that you were trying to develop at the same time in the same workspace.
  • We now issue a warning if you do an export --layout static when Gradle detects backend functionality OR if you do an export --layout fullstack when you don't.
  • Give that kobweb export without explicitly passing in a layout does a fullstack export by default, we expect the latter to be more common.
  • This will hopefully help address what has been a point of confusion for new users.
  • No idea what I'm talking about? Check out the docs!

Worker

  • Fixed an issue where workers declared in non-root paths wouldn't work(!)
  • This would also affect attempting to call workers from other workers.
  • Add support for passing structured clonable objects (like File) and not just transferables with worker messages.
  • ⚠️ As part of this change, we deprecated the class name Transferables and renamed it to the more general-sounding Attachments
  • We now surface exceptions if serialization / deserialization of input / output messages fail
  • Before this was swallowed because it wasn't assumed it wouldn't ever happen due to compile-time type safety, but a user showed us a reasonable case for them where it did (they forgot to tag a class @Serializable), and if we had surfaced the exceptions they would have saved a lot of time fixing it.
  • Added support for attaching raw json key/value pairs to a worker message (as a useful escape hatch in case Kobweb doesn't support sending a particular class instance now or in the future, although 99.99% of you probably won't ever need to use this)

Thanks

@shaksternano helped us close gaps / fix bugs present in the API for using Kobweb Workers and made some great suggestions on how to improve it. See https://github.com/varabyte/kobweb/issues/708 for an example of an appreciated discourse!

@sandeepjak2007 has continued to help us filling out our CSS APIs. All new CSS modifiers are thanks to his contributions!


Full Changelog: https://github.com/varabyte/kobweb/compare/v0.22.0...v0.23.0

Source: README.md, updated 2025-07-04