Advertisement · 728 × 90

Posts by OpenSavvy

Preview
Dokka in Material for MkDocs Embed your Kotlin documentation comments into a Material for MkDocs site

Dokka for MkDocs 0.6.2 is out, with support for Dokka 2.2.0!

dokka-mkdocs.opensavvy.dev

2 days ago 1 0 0 0
Preview
Dokka in Material for MkDocs Embed your Kotlin documentation comments into a Material for MkDocs site

Built with dokka-mkdocs.opensavvy.dev/index.html

6 days ago 0 0 0 0
Post image

Now *this* is the developer experience we envision

6 days ago 3 1 1 1

Have you?

Support us by voting for @ivcanet.bsky.social in the 'Online presence' category!

2 weeks ago 1 0 0 0
Reference - OpenSavvy KtMongo The next MongoDB driver for Kotlin

You can explore the before/after yourself in the KtMongo repository;

Previous version: ktmongo.opensavvy.dev

New version: opensavvy.gitlab.io/-/automation...

2 weeks ago 0 0 0 0
Preview
Dokka in Material for MkDocs Embed your Kotlin documentation comments into a Material for MkDocs site

There is more to see, so take a look at the project!

dokka-mkdocs.opensavvy.dev

2 weeks ago 0 0 1 0

This version also greatly reduces the size of the generated documentation, by compacting information together.

2612 → 909 pages
1 GiB → 198 MiB

2 weeks ago 0 0 1 0
Post image Post image

Before / after

2 weeks ago 0 0 1 0
Advertisement
Post image Post image

Before / after

2 weeks ago 0 0 1 0
Post image Post image

Here are a few examples in the KtMongo repo

Before / after

2 weeks ago 0 0 1 0
Preview
0.6.0 • Beta graduation, improved paths & improved UX - Dokka in Material for MkDocs Embed your Kotlin documentation comments into a Material for MkDocs site

Dokka for MkDocs 0.6.0 is out, with big changes!

We now have a proper aggregator module, which fixes all the big issues.

The project thus graduates to beta!

dokka-mkdocs.opensavvy.dev/news/2026/03...

2 weeks ago 1 1 1 0
Preview
Arrow Resources - OpenSavvy Prepared Magicless testing framework for Kotlin Multiplatform, featuring time management, parameterization and isolated fixtures.

Prepared 2.5.0 is out with helpers for Arrow Resources!

prepared.opensavvy.dev/features/com...

3 weeks ago 1 0 0 0
Preview
Date and time - OpenSavvy Prepared Magicless testing framework for Kotlin Multiplatform, featuring time management, parameterization and isolated fixtures.

Prepared 2.4.1 brings stable time control with Kotlin 2.3.0!

prepared.opensavvy.dev/features/tim...

3 weeks ago 0 0 0 0

Note that without KtMongo, the official libraries bson-kotlin and bson-kotlinx serialize Instant and Uuid differently!

3 weeks ago 0 0 0 0
Preview
ObjectId - OpenSavvy KtMongo The next MongoDB driver for Kotlin

KtMongo's ObjectId and other BSON types can be serialized identically using:
• The official library bson-kotlin
• The official library bson-kotlinx
• Our Multiplatform library bson-multiplatform

ktmongo.opensavvy.dev/api/-kotlin%...

3 weeks ago 0 0 1 0
Screenshot of https://dokka-mkdocs.opensavvy.dev/api/-library%20module/opensavvy.dokka.material.mkdocs.example/foo2.html

Screenshot of https://dokka-mkdocs.opensavvy.dev/api/-library%20module/opensavvy.dokka.material.mkdocs.example/foo2.html

Dokka for Material MkDocs 0.5.4 is out!

• Kotlin 2.3.0
• Gradle 9.2.1
• Dokka 2.1.0
• Native breadcrumb support

dokka-mkdocs.opensavvy.dev

1 month ago 4 2 0 0
Preview
Query parameters - OpenSavvy Spine Share your Ktor endpoints between client and server

Spine 0.9.2 brings fixes for explicit null query parameters

Thanks again @skye.codes!

spine.opensavvy.dev/parameters.h...

1 month ago 2 1 0 0
Preview
0.8.2 • Kotlin 2.3.0 and documentation website improvements - Vite for Kotlin Use ViteJS in your Gradle and Kotlin projects

@vite.dev for @kotlinlang.org 0.8.2 now supports Kotlin 2.3.0!

We've also made a few improvements to the UX of the website.

vite-kotlin.opensavvy.dev/news/2026/02...

1 month ago 5 1 0 0
Advertisement
2.4.0 • Conditionally ignore tests and better stack traces for fixtures - OpenSavvy Prepared Magicless testing framework for Kotlin Multiplatform, featuring time management, parameterization and isolated fixtures.

Prepared 2.4.0 is out:

• Conditionally ignore tests
• Better exception handling of fixtures
• Bug fixes

prepared.opensavvy.dev/news/2026/02...

1 month ago 0 0 0 0

OpenSavvy ❤️ Arrow

1 month ago 3 1 0 0

Spine is really cool! If you’re looking for a great way of doing typesafe routing in Ktor check it out!

Now also with Arrow-kt support 😍

1 month ago 5 1 1 1
Preview
OpenSavvy Spine Share your Ktor endpoints between client and server

Learn more: spine.opensavvy.dev

1 month ago 3 0 0 1
		routeWithRaise(User.get) {
			val id = idOf(User)

			val user = dataLock.withLock("get $id") { data.find { it.id == id } }

			ensureNotNull(user) { NotFound(id) }

			respond(user)
		}

routeWithRaise(User.get) { val id = idOf(User) val user = dataLock.withLock("get $id") { data.find { it.id == id } } ensureNotNull(user) { NotFound(id) } respond(user) }

Spine 0.9.1 comes with bug fixes for #Arrow compatibility for typed #Ktor endpoints:

Thanks @skye.codes for the contribution!

1 month ago 5 2 2 0
✗ a: 
     ✓ 0: 1
     ✓ 1: 2
     ✗ 2: (field not present)
          "Bob"

check(a == b) { (a diff b) ?: "no diff" }
      | |  |
      | |  {"a": [1, 2, "Bob"]}
      | false
      {"a": [1, 2]}

✗ a: ✓ 0: 1 ✓ 1: 2 ✗ 2: (field not present) "Bob" check(a == b) { (a diff b) ?: "no diff" } | | | | | {"a": [1, 2, "Bob"]} | false {"a": [1, 2]}

With KtMongo 0.26.0, easily compare two complex BSON documents or arrays

Particularly useful in tests to understand what changed!

ktmongo.opensavvy.dev

1 month ago 2 1 0 0

test("Multiple indices") {
	check(multiDoc().select<String>("$.a[0, 3][0:1:2]").toList() == listOf("a", "d"))
}

test("Multiple indices") { check(multiDoc().select<String>("$.a[0, 3][0:1:2]").toList() == listOf("a", "d")) }

With KtMongo 0.26.0, use complex JSONPath expressions to find data in your BSON documents!

ktmongo.opensavvy.dev

1 month ago 2 0 0 0
Post image

We can't view our own profile anymore though

2 months ago 0 0 0 0
Advertisement

Our domain name is now verified again!

2 months ago 2 0 1 0
Preview
opensavvy.bsky.social/ktmongo The next MongoDB driver for Kotlin

We're now on @tangled.org!

tangled.org/opensavvy.bs...

2 months ago 2 0 1 0
All modules

Pedestal 3.2.0 adds:

• 32-bit optimized EnumSet
• Multiplatform weak references
• Multiplatform weak value maps

pedestal.opensavvy.dev/api-docs/

2 months ago 0 0 0 0
@Serializable
data class Test1(
	@field:BsonId
	val a: NameStrategyProfile,
)

@Serializable data class Test1( @field:BsonId val a: NameStrategyProfile, )

Starting in KtMongo 0.25.0, the KtMongo '/' notation recognizes KMongo's @BsonId and KotlinX.Serialization's @SerialName when using the KMongo compatibility module.

Users can add support for their own annotations by overriding PropertyNameStrategy. Learn more → ktmongo.opensavvy.dev/api/-mongo-d...

3 months ago 2 0 0 0