Skip to content

Welcome to KtorGen

For API documentation visit dokka site.

Design Philosophy

Ktorgen is intentionally designed to stay simple, debuggable, and close to Ktor Client semantics.

  • Do not replace complex logic that should be implemented in Ktor’s request/response pipeline.
  • Avoid adding converters, interceptors, or complex behaviors inside generated functions or runtime APIs.
  • Keep the call chain transparent so debugging remains straightforward.

If you have a feature request β€” such as response mapping or simple converters β€” please open an issue on the GitHub repository describing your use case.

Compatibility Matrix (Kotlin / KSP / Ktor)

It's expected a new version of Kotlin / KSP / Ktor will be going to work fine with the latest KtorGen version. Don't be afraid to try it out!

Key context (previous summary):

  • KtorGen uses Kotlin 2.2.20 (aligned with androidx).
  • The JS/WASM target is strict and sensitive to compilation incompatibilities.
  • Ktor Client supports JS/WASM from version 3.x**.

    • Although versions < 3 might compile, they are not recommended (released in 2024–11 or earlier and outside the scope of KtorGen support).

Kotlin KSP Ktor Result
2.3.0 2.3.4 3.3.3 βœ… Success
2.3.0 2.3.3 3.3.2 βœ… Success
2.3.0 2.3.2 3.3.1 βœ… Success
2.2.21 2.3.1 3.3.0 βœ… Success
2.2.21 2.2.21-2.0.4 3.2.3 βœ… Success
2.2.20 2.3.0 3.0.0 βœ… Success
2.2.20 2.2.20-2.0.4 3.2.0 βœ… Success
2.2.20 2.2.20-2.0.4 3.1.3 βœ… Success
2.2.20 2.2.20-2.0.3 3.3.0 βœ… Success
2.2.20 2.2.20-2.0.2 3.2.2 βœ… Success

πŸ“œ Disclaimer

This repository is a fork of Ktorfit and Retrofit annotations, with my own changes and additions. It is not affiliated with Ktor, JetBrains, Kotlin, Ktorfit, or Retrofit. Credits to their respective authors.

License: Apache 2.0, same as Retrofit and Ktorfit.