Increase default max heap of Worker to 2G (https://github.com/Kotlin/dokka/pull/3913)
Remove the dependency of dokkaGenerate on dokkaGenerateModule* (https://github.com/Kotlin/dokka/pull/3920)
KT-71784 Fix classpath for KMP shared source sets (https://github.com/Kotlin/dokka/pull/3942)
Fix DGP/KMP integration, so Dokka can 'see' code from shared source sets in target source sets (https://github.com/Kotlin/dokka/pull/3814)
Dokka's K2 analysis
Dokka 2.0.0 introduces K2 analysis, which is currently in an experimental stage. Dokka's K2 analysis leverages Kotlin's K2 compiler frontend for analysing code and uses the same shared Analysis API, which is used in IntelliJ IDEA’s K2 mode. The output with K2 analysis should mostly match that of K1 analysis, but there may be minor differences. We are actively working towards stabilizing K2 analysis and are planning to enable K2 analysis by default in future.
To opt in to Dokka's K2 analysis, add the following flag to your project's gradle.properties file:
org.jetbrains.dokka.experimental.tryK2=true
Known limitations:
Intersecting source roots (#3701) and intersecting sample roots (#3373) may cause issues.
We would greatly value your feedback if you encounter any of these limitations.
Potential differences between the outputs of K1 and K2:
While the output of K2 analysis aims to align with K1, there are some differences to be aware of:
Java synthetic properties: rendering may vary (details).
KDoc links: resolution and rendering differences (details).
Inconsistent documentable rendering order (#3590).
Enum entries: anonymous and overridden methods are no longer rendered (#3129).
Other differences may arise due to variations in type inference between K1 and K2.
HTML format
Dokka 2.0.0 introduces some changes to HTML output. We updated the structure of some elements and classes, particularly in the navigation and sidebar, to improve accessibility and simplify maintenance. These changes only affect you if you previously customized Dokka styles.
We removed redundant wrappers like navigation--inner and navigation-title.
We reworked blocks such as versions-dropdown to make them more accessible.
We renamed classes like navigation-controls--homepage to improve consistency. For example, it’s now called navigation-controls--btn_homepage.