You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:
Dokka Gradle Plugin v2 is enabled by default!
K2 Analysis is enabled by default!
Support for Context parameters and Nested typealiases
HTML format refinement: better accessibility and consistency across all components
Multiple performance and compatibility improvements
More details about each of the changes below. See Dokka 2.1.0 milestone for the list of all changes.
Dokka 2.0.0 introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now enabled by default!
As a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are deprecated and will be removed in future releases.
Running Gradle tasks related to Dokka Gradle plugin v1 will result in an error during execution.
Starting from this release, the minimum supported Gradle version is 7.6.3.
Other fixes and improvements
Update Gradle Properties types to be non-nullable (#4136)
Update displayName convention for DokkaSourceSets (#4142)
Update olderVersionsDir to be an optional input. (#4155)
Add lifecycle tasks for generating formats (#4141)
Use project name as default modulePath for root project to avoid clashing outputs during aggregation (#4158)
Remove Dokka debug config file from task outputs (#3961)
Remove V2EnabledWithHelpers warning & info message (#4206)
Dokka's K2 analysis is enabled by default!
Dokka 2.1.0fixes the most problematic issues with K2 analysis and makes it enabled by default!
In addition to this, Dokka 2.1.0with K2 analysis introduces support for context parameters and nested typealiases!
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.
If you previously opted in to Dokka's K2 analysis, removeorg.jetbrains.dokka.experimental.tryK2 from your project's gradle.properties file.
Dokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.
We would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!
Other fixes and improvements
Fix merging of implicit expect/actual with a single declaration (#4016)
Fix param tag for type parameter on implicit primary constructor (#4154)
Fix the primary constructor parameter incorrectly marked as a property (#4125)
Fix Javadoc links with generic parameters (#4159)
Show the correct return type when narrowed by inheritance (#4183)
HTML format refinement
Dokka 2.1.0 introduces a number of design improvements to the HTML output.
Many UI elements (listed below) now feature more consistent spacing, better contrast, and improved overall accessibility.
Highlights:
Improved accessibility of the Search popup and Table of Contents and Tabs
Resizable Table of Contents
Customizable spacing in the Table of Contents via a new set of CSS variables (See #4184 for details)
In addition, the structure of the templates has been slightly modified. If you're using custom templates, the easiest way to migrate is to update your templates based on the latest default templates.
For example, to enable the resizable Table of Contents, you need to add a <div id="resizer"> element and add [data-item-type] attributes to container elements. For implementation details, see the template reference.
Updated UI Elements:
Main layout
Table of Contents
Footer
Search popup
Code areas and code blocks
Links
Tooltips
Tables
Markdown tables
Notable improvements
Performance:
Cache packages field, which is used by DefaultExternalLocationProvider.resolve (#4009)
Cache DisplaySourceSet as it's stored a lot inside of ContentPages (#4008)
Significantly improves the performance when working with PackageList (#4198)
Increase default max heap of Worker to 2G (#3913)
Remove the dependency of dokkaGenerate on dokkaGenerateModule* (#3920)
KT-71784 Fix classpath for KMP shared source sets (#3942)
Fix DGP/KMP integration, so Dokka can 'see' code from shared source sets in target source sets (#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.
Fixed sealed interfaces not having the sealed keyword in signatures (#2994)
Fixed incorrect links in multi-module projects with non-unique package names (#2272). Huge thanks to @EddieRingle!
Fixed member extensions not being shown on index pages in certain scenarios (#3187)
Fixed Java's inner classes not having the inner keyword in Kotlin signatures (#2793)
Fixed Java's @param tag not working with type parameters (#3199)
Fixed Dokka failing in KMP projects when the JVM source set is suppressed (#3209)
HTML format
Provide an ability to add a custom homepage link to the header, more details in #2948 (comment)
Fixed tab selection resetting after navigating to a different page (#2899)
Fixed inline code not always being aligned with the surrounding text (#3228)
Fixed the "No options found" text in search being barely visible (#3281)
Fixed empty HTML tags being rendered for no reason (#3343, #3095)
Runners
Gradle Plugin
Mark tasks as not compatible with Gradle configuration cache, second try (#3438). Thanks to @3flex for noticing and fixing the problem!
Maven Plugin
Fixed dokka:help being absent (#3035). Thanks to @aSemy!
Fixed the source links configuration not working (#3046). Thanks to @freya022 for fixing this one!
CLI runner
Allow using relative paths in the sourceRoots configuration option (#2571)
Plugin API
Provide an extension point to customize the rendering of code blocks in HTML format (#3244)
Other:
Make sure wasm-js and wasm-wasi targets introduced in Kotlin 1.9.20 are supported (#3310)
Avoid concurrent invocations of Kotlin compiler's API due to the compiler API itself not always being thread safe (#3151). No noticeable performance loss is expected.
This release is packed with enhancements and bugfixes that make your API reference docs mobile-friendly!
You may find it a weird direction for improvement — we were just as surprised to find that almost 1/4 of Standard Library's API reference traffic is coming from mobile devices. Thanks to the Kotlin Website team, who contributed these improvements, Dokka now provides a solid experience to such visitors.
Improvements:
Significantly improve the mobile layout and overall responsiveness (#2836, #3021, #3082, #3018)
Use JetBrains Sans as the primary text font (#3017)
Improve the experience of reading the documentation when JavaScript is disabled in the browser (#3020, #2836)
Bugfixes
Fix a redundant dot in the path of search elements (#2289)
Fix unknown asset paths leaking into HTML body (#3061)
Fix invisible/hidden packages for modules with a space in the name (#3011)
Java interoperability
Fix multi-param methods being classified as field setters (#2992)
Javadoc format
Add basic support for @author, @since and @return tags (#1770). Thanks to @irina-turova!
Improve copying base-frontend files between subprojects (#2970). Thanks to @aSemy!
Known problems
Some Multiplatform Gradle 8 projects might experience build failures when resolving native/platform dependencies. Please, see #3153 for more details and workarounds.
Breaking changes
This release introduces some breaking changes that are expected to affect only a fraction of Dokka users.
HTML
Note: this section only applies to those customizing Dokka's HTML format by overriding styles or HTML templates. If you are not doing any customizations, you may skip this section.
To lay a solid foundation to making the HTML format responsive, some page layouts and many styles had to be changed in a backward-incompatible manner.
If you are overriding logo-styles.css to provide your own header logo, please update it to be in line with the new styles - there is significantly less position hardcoding now. See this example for how it can be done.
If you are overriding styles.css with your own file, please update the baseline styles to the latest, and see if anything is broken. If you get stuck with adapting your styles to the changes, the diff might help.
If you are overriding base.ftl or header.ftl templates, please update them to the latest, and adapt your changes.
CLI runner
Due to the analysis refactoring needed for the migration to K2 (#3099), the JARs required to run Dokka have slightly changed.
The following JARs are no longer supported or published:
If you are expecting a release, you will need to either fix a bug or add a feature.
Chores, CI, docs, refactoring, style and other changes will not trigger a release.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
This release includes a major update to Kotlin version 2.1.20, which introduces breaking changes that may affect existing codebases. The update also includes updates to Dagger and KSP dependencies to maintain compatibility with the new Kotlin version.
Key Changes
Kotlin version upgrade: Updated from previous version to Kotlin 2.1.20
Dagger dependency update: Updated Dagger to maintain compatibility with Kotlin 2.1.20
KSP dependency update: Updated KSP to maintain compatibility with Kotlin 2.1.20
Upgrade instructions
Prerequisites
Ensure your project is compatible with Kotlin 2.1.20
Review any custom KSP processors or annotation processors for compatibility
Check Dagger-related code for any deprecated APIs or breaking changes
Required Steps
Update your project's Kotlin version to 2.1.20
Update Dagger dependencies to the latest compatible version
Update KSP dependencies to the latest compatible version
Review and update any custom annotation processors if applicable
Code Examples
If you have custom KSP processors, ensure they implement the latest KSP APIs:
// Update your KSP processor implementations to use the latest APIs// Check the official KSP documentation for migration guides
Testing
After upgrading:
Run your full test suite to identify any breaking changes
Test annotation processing and code generation
Verify that all Dagger-related functionality works as expected
Check that any custom KSP processors continue to function correctly
Rollback Plan
If you encounter issues, you can temporarily rollback to the previous version while investigating compatibility issues. However, it's recommended to address the breaking changes rather than staying on older versions.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.8.20->2.1.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
Kotlin/dokka (org.jetbrains.dokka)
v2.1.0: 2.1.0Dokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:
More details about each of the changes below. See Dokka 2.1.0 milestone for the list of all changes.
Dokka's Gradle plugin v2 is enabled by default!
Dokka 2.0.0 introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now enabled by default!
As a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are deprecated and will be removed in future releases.
Running Gradle tasks related to Dokka Gradle plugin v1 will result in an error during execution.
Starting from this release, the minimum supported Gradle version is 7.6.3.
Other fixes and improvements
modulePathfor root project to avoid clashing outputs during aggregation (#4158)Dokka's K2 analysis is enabled by default!
Dokka 2.1.0fixes the most problematic issues with K2 analysis and makes it enabled by default!
In addition to this, Dokka 2.1.0with K2 analysis introduces support for context parameters and nested typealiases!
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.
If you previously opted in to Dokka's K2 analysis, remove
org.jetbrains.dokka.experimental.tryK2from your project'sgradle.propertiesfile.Dokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.
We would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!
Other fixes and improvements
overridemodifier for generic functions (#4126)HTML format refinement
Dokka 2.1.0 introduces a number of design improvements to the HTML output.
Many UI elements (listed below) now feature more consistent spacing, better contrast, and improved overall accessibility.
Highlights:
In addition, the structure of the templates has been slightly modified. If you're using custom templates, the easiest way to migrate is to update your templates based on the latest default templates.
For example, to enable the resizable Table of Contents, you need to add a
<div id="resizer">element and add[data-item-type]attributes to container elements. For implementation details, see the template reference.Updated UI Elements:
Notable improvements
packagesfield, which is used byDefaultExternalLocationProvider.resolve(#4009)DisplaySourceSetas it's stored a lot inside ofContentPages (#4008)PackageList(#4198)Other changes and bugfixes
>in code blocks (#4210)Changes from 2.1.0-Beta
Feedback
We would appreciate your feedback!
v2.0.0: 2.0.0Dokka 2.0.0 focuses on simplifying configuration and preparing for support of future Kotlin language features. Key highlights include:
More details about each of the changes below. See Dokka 2.0.0 milestone for the list of all changes.
Dokka's Gradle plugin v2 based on Dokkatoo
Dokka 2.0.0 introduces significant improvements to Dokka Gradle plugin, aligning more closely with Gradle best practices:
Changes from Dokka 2.0.0-Beta
dokkaPublicationDirectorytobasePublicationsDirectory(#3876)dokkaModuleDirectory, and mark as internal (#3880)dokkaGenerateondokkaGenerateModule*(#3920)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.propertiesfile:org.jetbrains.dokka.experimental.tryK2=trueKnown limitations:
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:
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.
navigation--innerandnavigation-title.versions-dropdownto make them more accessible.navigation-controls--homepageto improve consistency. For example, it’s now callednavigation-controls--btn_homepage.For more information, see the pull request.
The easiest way to update your current templates is to adjust the new templates to your needs.
Bugfixes
Other changes
Feedback
We would appreciate your feedback!
Full Changelog: Kotlin/dokka@v1.9.20...v2.0.0
v1.9.20: 1.9.20General bugfixes
sealedkeyword in signatures (#2994)innerkeyword in Kotlin signatures (#2793)@paramtag not working with type parameters (#3199)HTML format
Runners
Gradle Plugin
Maven Plugin
dokka:helpbeing absent (#3035). Thanks to @aSemy!CLI runner
sourceRootsconfiguration option (#2571)Plugin API
Other:
wasm-jsandwasm-wasitargets introduced in Kotlin 1.9.20 are supported (#3310)See Dokka 1.9.20 milestone for the list of all changes.
v1.9.10: 1.9.10General
HTML format
Gradle
Java
v1.9.0: 1.9.0General improvements
HTML format
This release is packed with enhancements and bugfixes that make your API reference docs mobile-friendly!
You may find it a weird direction for improvement — we were just as surprised to find that almost 1/4 of Standard Library's API reference traffic is coming from mobile devices. Thanks to the Kotlin Website team, who contributed these improvements, Dokka now provides a solid experience to such visitors.
Improvements:
Bugfixes
Java interoperability
Javadoc format
@author,@sinceand@returntags (#1770). Thanks to @irina-turova!Other
Known problems
Some Multiplatform Gradle 8 projects might experience build failures when resolving native/platform dependencies. Please, see #3153 for more details and workarounds.
Breaking changes
This release introduces some breaking changes that are expected to affect only a fraction of Dokka users.
HTML
Note: this section only applies to those customizing Dokka's HTML format by overriding styles or HTML templates. If you are not doing any customizations, you may skip this section.
To lay a solid foundation to making the HTML format responsive, some page layouts and many styles had to be changed in a backward-incompatible manner.
If you are overriding
logo-styles.cssto provide your own header logo, please update it to be in line with the new styles - there is significantly less position hardcoding now. See this example for how it can be done.If you are overriding
styles.csswith your own file, please update the baseline styles to the latest, and see if anything is broken. If you get stuck with adapting your styles to the changes, the diff might help.If you are overriding
base.ftlorheader.ftltemplates, please update them to the latest, and adapt your changes.CLI runner
Due to the analysis refactoring needed for the migration to K2 (#3099), the JARs required to run Dokka have slightly changed.
The following JARs are no longer supported or published:
Please, replace them with a single JAR:
Plugin API
An internal refactoring of Dokka's analysis API was much needed for the migration to K2, leading to breaking changes in some cases.
If your Dokka plugin compiles without any problems — you may ignore this information, you are likely not affected.
If something doesn't compile or doesn't work anymore, please see #3099 for more details.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.