Changelog
Added
Expand support of @Fragment to function parameters.
Add a compatibility table between KtorGen, Kotlin, KSP, and Ktor Client versions. This table is generated automatically.
This is not a mandatory rule for usage of KtorGen.
Changed
BREAKING CHANGE : The parameter of @HeaderParam was renamed from name to value
Migrate from mkdocs shadcn theme to
mkdocs material theme documentation website.
Migrate to Zensical the documentation website.
[internal] Move samples to a separate build project
[internal] Use Sequences instead of Lists for intermediate collections
[internal] Use LazyTheadSafe.None for lazy properties, the processor is single-threaded
Deprecated
Removed
Remove unnecessary @file:JvmMultifileClass annotation on some annotations files.
Fixed
Correct handling of Sequences extracted from KSP symbols.
Fix incorrect filters between source symbols and reduce unnecessary mappings.
Prevent incorrect usage of it param on this.url {} block in generated code.
Exclude / Forbidden abstract, external and expect modifiers.
Security
0.6.0 - 2025-12-17
Added
Add wasmJs target on annotations. This target was missing from
all supported targets to match the ktor client core.
Add warning suspicious DOUBLE_SLASH_IN_URL_PATH when the url path contains double slashes caused by baseUrl + path.
Changed
update agp to v8.13.2 by @renovate[bot]
[internal] Add parametrized tests for different KSP versions (K1, K2)
[internal] update softprops/action-gh-release action to v2.5.0 by @renovate[bot]
[internal] update dependency org.jlleitschuh.gradle.ktlint to v14 by @renovate[bot]
[internal] update dependency com.vanniktech.maven.publish to v0.35.0 by @renovate[bot]
[internal] update dependency org.sonarqube to v7.2.1.6560 by @renovate[bot]
[internal] update actions/checkout action to v6 by @renovate[bot]
[internal] update astral-sh/setup-uv action to v7.1.6 by @renovate[bot]
[internal] update gradle to v9.2.1 by @renovate[bot]
[internal] update dependency androidx.room:room-compiler-processing-testing to v2.8.4 by @renovate[bot]
[internal] update dependency org.jetbrains.changelog to v2.5.0 by @renovate[bot]
[internal] update dependency org.jetbrains.kotlinx.kover to v0.9.4 by @renovate[bot]
[internal] update actions/cache action to v5 by @renovate[bot]
[internal] update actions/upload-artifact action to v6 by @renovate[bot]
[internal] Update KSP plugin to 2.3.4
[internal] Downgrade ktor-client-core to 3.3.1
[internal] Update klib api file and yarn lock files
Fixed
issue #48 : [ERROR] Accessing symbol but the PSI changes KtorGenProcessor.onFinish
issue #55 : [FALSE POSITIVE] URL checker for syntax error is raised in valid URL
issue #61 Add ProGuard consumer rules for Android target
issue #57 : [FALSE POSITIVE]: A private class without accessors
is not valid when have an expect KMP function
Security
Remove dependency verification metadata because it adds an overhead to the development environment
0.5.1 - 2025-11-12
Changed
[Internal] Update ktor-client-core dependency to 3.3.2
Fixed
Fixed modifiers of interface don't include those in the generated class.
E.g. sealed interface Foo will generate public class _FooImpl : Foo. Instead of public sealed class _FooImpl : Foo.
Changed
[Internal] Update ktor-client-core dependency to 3.3.2
Fixed
Fixed modifiers of interface don't include those in the generated class.
E.g. sealed interface Foo will generate public class _FooImpl : Foo. Instead of public sealed class _FooImpl : Foo.
0.5.0 - 2025-11-11
Added
New KMP support for expect/actual functions:
Added @KtorGenFunctionKmp annotation and validation for expect modifier.
Added support to generate actual implementations automatically.
Added JetBrains Changelog plugin for version tracking.
Added MkDocs documentation system using Python and uv.
Added GitHub Pages automation for the new documentation website.
Added Markdown documentation files describing configuration and setup.
Added integration of Dokka output with docs/ to include in MkDocs site.
Added custom exceptions for KSP processing to control flow instead of generic errors.
Added cookie validation , tests, and mapping utilities.
Added SonarQube integration and quality reporting workflows.
Added new tests for generator, mapper, validator, and logging coverage.
[Internal] Added @KtorGenWithoutCoverage annotation for coverage exclusions.
[Internal] Added diagnostic timers with equality, hash, and readable formatting.
[Internal] Added logger enums for strict check types and enhanced diagnostics.
[Internal] Added utility and helper extensions for annotated KSP symbols.
[Internal] Added CODEOWNERS file and CI rules for branch and PR builds.
[Internal] Added GPG attributes , dependency locks, and verification keys in lenient mode.
Changed
[Internal] Major refactor of KotlinpoetGenerator:
Split constructor, expect function, factory function, member function and parameter annotation generation.
Handles imports via MemberName.
Improved generator, validator, and mapper to use a context parameter for logging and timing.
Reorganized KotlinPoetGenerator to be stateless and context-based.
Improved logger and diagnostics system with graceful errors and detailed messages.
[Internal] Moved checkImplementation, timer.require, timer.requireNotNull to a top-level function with overloads.
Improved performance of mapping phase using sequence APIs instead of toList.
Enhanced error reporting and logging consistency across phases.
Improved coverage, performance, and style for compiler modules.
Updated Gradle , Kotlin , Dokka , Room , KSP , and Kover dependencies.
Adjusted build configurations for Kotlin 2.2.20 and KSP 2.2.20–2.0.4 builds.
Enhanced tests for more scenarios: cookies, fragments, constructors, etc.
Updated actions and workflows for artifact uploads and SonarQube analysis.
Removed
Removed brief documentation from the README — now redirected to GitHub Pages.
[Internal] Removed macOS build workflow (unused).
Fixed
Fixed validation for cookies and parameter lists.
Fixed incorrect invocation kind detection inside try-catch blocks.
Fixed type mismatch after PSI changes on ParameterBodyGenerator.
Fixed duplication in generator constants and imports.
Fixed missing FactoryFunctionKey equality/hash in generator.
Fixed a crash when mapper found an expected interface type.
Fixed issues with KSP resolving and ClassName usage in generators.
[Internal] Fixed minor KtLint and formatting issues.
[Internal] Fixed lazy property misuse and requireNotNull handling.
Security
No direct security patches, but build pipelines now use explicit action SHAs and version-locked dependencies for safety.
Back to top