CLOVIS
07/28/2025, 3:24 PM./gradlew clean; ./gradlew check; ./gradlew check --no-configuration-cache --rerun-tasks
• clean
to ensure there aren't files left over
• check
to ensure everything needed is available locally (all dependencies are downloaded, etc)
• --no-configuration-cache
to ensure a fair execution order and disable intra-project parallelism
• --rerun-tasks
to disable incremental compilation, the build cache, up-to-date checks, etc
• Only the last invokation is timed, using Gradle's build timer
So: the test measures how long tests execute, but also how long it takes to compile, etc. The repository compiles to nearly all Kotlin targets using cross-compilation, so compilation time is quite a lot.
Kotest: 2c899266a67a1c605e97d615afa353246859e261
• 2min 2s
TestBalloon: 3dc162f411167345de9f38bd3c4cbb46569afa54
• 1min 2s
That's a pretty big difference if you ask me!CLOVIS
07/30/2025, 7:00 AMObjectId
and Timestamp
• `BsonType.Datetime`is automatically interpreted as kotlin.time.Instant
• Added the aggregation operators $switch
, $type
, $isNumber
,…
• Added the filter operators $bitsAllClear
,…
• Added the options writeConcern
and readPreference
• Added a new documentation section on aggregation support
Full changelogCLOVIS
07/31/2025, 7:00 AMString.matches(String)
to simplify Regex-based assertions
• Added checkThrows
for easy exception-based tests
• Deprecated the KotlinX.Datetime compatibility module (all related functionality has been merged into the main module using kotlin.time
)
• Stabilized the resource management APIs
• Kotest 6.0.0.M4 and TestBalloon 0.4.0 support
Full changelogAlbertas
08/01/2025, 8:50 AM_id
feels incorrect to me, so I prefer annotating it with @SerialName("_id")
instead, along with other properties.
• is the Parent::child / Child::property
syntax the only way to refer to nested properties? Using the division operator feels very hacky, how difficult would it be to implement nesting like Parent::child { Child::property eq ??? }
CLOVIS
08/11/2025, 7:00 AM$currentDate
and $addToSet
• Added support for reading and writing ObjectId
But also, the documentation website has been moved to https://ktmongo.opensavvy.dev/! Please share the link to help with SEO 🙏Robert Jaros
08/24/2025, 3:27 PMCLOVIS
08/26/2025, 7:00 AM$group
stage and its $sum
accumulator
• Added the $multiply
, $divide
and $subtract
aggregation operators
• Added 12 aggregation operators for string management!
Full changelogCLOVIS
08/29/2025, 10:05 AMRobert Jaros
08/31/2025, 3:48 PMRobert Jaros
08/31/2025, 5:18 PMRobert Jaros
08/31/2025, 5:31 PM@JsModule("/kotlin/css/style.css")
but with Vite I need @JsModule("/css/style.css")
. I think the difference is in the directory where node command is executed. With webpack it's build/js/packages/<module>
and kotlin
is one level below. With vite it's build/vite/dev/kotlin
. Could it be changed?Robert Jaros
08/31/2025, 5:35 PMCLOVIS
08/31/2025, 6:10 PMI don't think using "per-file" granularity with Vite will ever be a good idea 🙂 I'll continue my tests without this option.
My understanding is that it is the use-case Vite aims to tackle...
CLOVIS
08/31/2025, 6:13 PMWith webpack I usebut with Vite I need@JsModule("/kotlin/css/style.css")
.@JsModule("/css/style.css")
I think so. It's this issue, if you want to follow it. I'll increase its priority. https://gitlab.com/opensavvy/automation/kotlin-vite/-/issues/39
CLOVIS
08/31/2025, 6:14 PMCLOVIS
09/04/2025, 8:03 PMjoseph_ivie
09/04/2025, 8:33 PMRobert Jaros
09/05/2025, 9:13 AMwasmJs
target insted of js
. The changes are really simple and wasm target works perfectly fine. I would be happy to contribute, but the problem is how to implement both js and wasmJs at the same time, considering that we can have only js, only wasmJs or both targets enabled in the same project. Do you have any suggestions how would you like this to work?Robert Jaros
09/05/2025, 10:06 AMRobert Jaros
09/05/2025, 12:37 PM/src/**/*.kt
as files being watched. After every kt file change it reloads the application. And then Vite reloads again when compilation is finished. It is similar to this: https://github.com/tailwindlabs/tailwindcss/issues/16764 . Any idea if we can somehow "de-watch" files in vite?Robert Jaros
09/07/2025, 9:26 AMRobert Jaros
09/07/2025, 1:25 PMRobert Jaros
09/09/2025, 4:40 PMindex.html
file to by compatible with it. The file is already copied to vite directory, just some simple regexp filtering would be enough in my opinion.CLOVIS
09/13/2025, 9:53 AM:clean
task and dependency updates.
https://dokka-mkdocs.opensavvy.devRobert Jaros
09/13/2025, 12:07 PMvite {}
block.Robert Jaros
09/13/2025, 2:37 PMDefaultIncrementalSyncTask
class instead of standard Copy
class?CLOVIS
09/13/2025, 3:59 PMvite.config.mjs
by default (this allows using ES5 and ES6 plugins)
• The app won't reload a first time anymore when the Kotlin code changes, it waits for the JS files to change too
• The source maps are fixed for the current module
• Removed an intermediary copy that happened between all reloads
https://vite-kotlin.opensavvy.dev/news/2025/09/13/v0.6.3.htmlFlorent Martin
09/15/2025, 6:39 AMCLOVIS
09/15/2025, 7:00 AMCLOVIS
09/22/2025, 8:48 AM