API documentation engine for Kotlin
sealed
keyword in signatures (https://github.com/Kotlin/dokka/issues/2994)inner
keyword in Kotlin signatures (https://github.com/Kotlin/dokka/issues/2793)@param
tag not working with type parameters (https://github.com/Kotlin/dokka/issues/3199)dokka:help
being absent (https://github.com/Kotlin/dokka/issues/3035). Thanks to @aSemy!sourceRoots
configuration option (https://github.com/Kotlin/dokka/issues/2571)wasm-js
and wasm-wasi
targets introduced in Kotlin 1.9.20 are supported (https://github.com/Kotlin/dokka/issues/3310)See Dokka 1.9.20 milestone for the list of all changes.
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.
@author
, @since
and @return
tags (https://github.com/Kotlin/dokka/issues/1770). Thanks to @irina-turova!Some Multiplatform Gradle 8 projects might experience build failures when resolving native/platform dependencies. Please, see https://github.com/Kotlin/dokka/issues/3153 for more details and workarounds.
This release introduces some breaking changes that are expected to affect only a fraction of Dokka users.
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.
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:
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.
TypeNotPresentException
thrown in projects without KGP (#2890), regression from 1.8.10.kotlin-dsl
plugin (#2702, #2833). Thanks to @aSemy!DokkaConsoleLogger
) to PROGRESS
(#2871)@InternalDokkaApi
annotation (#2904)Big thanks to @aSemy, @Goooler and @3flex for their valuable contributions and for improving the internal developer experience when working on Dokka!
buildSrc
to a composite build (#2912 by @Goooler)README.md
(#2940). Thanks to @Goooler!CONTRIBUTING.md
(#2952)Dokka's documentation has been entirely rewritten and can now be found on kotlinlang.org:
Note: Version 1.8.0 was skipped due to a Metaspace memory leak in Kotlin's reflection (KT-56093). Dokka 1.8.10 should be fully compatible with Kotlin 1.8.0.
Inheritors
, Parameters
, See also
and Samples
tabs into the main declaration description (#2688).Members
and Members & Extensions
tabs to class-like declaration pages (#2764).var
properties being displayed (#2717).DokkaLogger
(#2827).NoSuchMethodError
when running under Gradle 8 (#2796).outputDirectory
input property (#556).moduleVersion
input property (#2799). Thanks to @JavierSegoviaCordoba!MultiModule
tasks (#2806). Thanks to @TWiStErRob!javadoc.jar
produced by Dokka is imported into IntelliJ IDEA / Android Studio (#2734). Thanks to @bomberaya!jackson-databind
to avoid CVE-2022-42003 (#2733). Thanks to @ryanlewis!Jsoup
to avoid CVE-2022-36033 (#2772).This release focuses primarily on improving user experience and HTML format in particular.
suppressInheritedMembers
configuration property) (#2625)@Deprecated
declarations such as deprecation message, level and proposed replacement (#2622)Enum
's synthetic values()
and valueOf()
functions (#2650)Java
constants (#2609)Cmd + K
/ Ctrl + K
hotkey for opening search dialog, thanks to @atyrin! (#2633)var
HTML tag, thanks to @atyrin (#2617)kotlin-stdlib
dependency, which should fix errors like Module was compiled with an incompatible version of Kotlin
, thanks to @martinbonnin! (#2570)Markdown
elements, where _try_ *this*
would be rendered as trythis
(#2640)StackOverflowError
related to type-aliased native references (#2664)IllegalStateException
that was caused by using JS's dynamic types (#2645)private
declarations were rendered as public
(#2639)@see
tag (#2627)Java
Enum types being rendered as Any
(#2647)Java
annotation params (#2593)sourceRoots
configuration param not handling single .java
files, thanks to @2017398956! (#2604)dokka-customFormat-example
project to use up-to-date logo styles (#2608)Gradle Enterprise
build scans, thanks to @Goooler! (#2641)GitHub Actions
artifacts to store generated documentation snapshots, thanks to @StefMa! (#2630)Bugfix release that addresses several blockers and regressions.
Kotlin
1.7.10Kotlin
stdlib in plugin dependencies, this should fix errors like Module was compiled with an incompatible version of Kotlin
when using Dokka
. Thanks to @martinbonnin (#2543)Java
code (#2544)Java
sources (#2509, #2551, #2350)IntelliJ
platform WARN: Attempt to load key
messages that appeared when analyzing Java
sources (#2559)Kotlin
1.7.0, IntelliJ
Platform 213Java
fields with accessors, now properly interpreted as val
/var
properties (https://github.com/Kotlin/dokka/pull/2481, https://github.com/Kotlin/dokka/pull/2532, https://github.com/Kotlin/dokka/pull/2540)@Deprecated
members with HIDDEN
level (https://github.com/Kotlin/dokka/pull/2486)Javadoc
pages generation deterministic (https://github.com/Kotlin/dokka/pull/2479)jQuery
to avoid multiple CVEs, thanks to @ToppleTheNun (https://github.com/Kotlin/dokka/issues/1938)Java
access modifiers into function signatures, thanks to @tripolkaandrey (https://github.com/Kotlin/dokka/pull/2510)dokka-analysis
dependency compileOnly
, this should help avoid compatibility problems if different versions of Kotlin
are bundled in Gradle
and Dokka
(https://github.com/Kotlin/dokka/pull/2521)Gradle
tasks, thanks to @3flex (https://github.com/Kotlin/dokka/pull/2500)Gradle
runner, thanks to @3flex (https://github.com/Kotlin/dokka/pull/2502)Gradle
runner, thanks to @3flex (https://github.com/Kotlin/dokka/pull/2501)log4j
1.2 that came as a transitive dependency (https://github.com/Kotlin/dokka/issues/2488)base.ftl
template: now header.ftl
, footer.ftl
and page_metadata.ftl
can be overridden individually (https://github.com/Kotlin/dokka/pull/2432)Thanks to all the contributors!
This is a bugfix release that mostly enables building documentation for multiplatform projects that utilize .klib
libraries.
jsoup
dependency to avoid CVE-2021-37714 (#2448)KLIB
libraries for common platform, previously led to ERROR CLASS
instead of references in documentation (#2441)documentedVisibilities
setting that allows including/excluding any visibility modifier in documentation. This is a more flexible replacement for includeNonPublic
, which has now been deprecated (https://github.com/Kotlin/dokka/pull/2270)val
/var
keywords and default values (https://github.com/Kotlin/dokka/pull/2313)OutOfMemoryError: Metaspace
-related issues for the majority of cases (https://github.com/Kotlin/dokka/pull/2216)@
symbol within code blocks in .md
files doesn't lead to cropped documents anymore (https://github.com/Kotlin/dokka/pull/2418)isBoolean
instead of getBoolean
(https://github.com/Kotlin/dokka/pull/2356), thanks to @CharlesG-Branch!package-info.java
(https://github.com/Kotlin/dokka/pull/2331), thanks to @ember-rose!<h1>
/ <h2>
/ <h3>
) in Javadoc (https://github.com/Kotlin/dokka/pull/2345), thanks to @asfalcone!expect
-actual
keywords (https://github.com/Kotlin/dokka/pull/2316).klib
libraries may experience problems. There will be a separate 1.6.21
release that will address this issue shortly.