Skip to content

News

0.6.3 • UI improvements

Renderer

  • Overloads are now better separated, thanks to a background color (#36, !101)
  • Overloads that have the exact same documentation are joined into a single block (#34, !102)
  • Fixed the rendering of annotations (#32, !99)
  • Fixed titles in function descriptions being the same level as the function itself (3e79a3ef, !100)
  • Fixed titles in function descriptions being listed in the table of contents (#33, 097b2d59, !100)

0.6.0 • Beta graduation, improved paths & improved UX

Graduation to beta!

This release contains a large amount of fixes and UX improvements for long-standing issues. The configuration doesn't change, but the URL of generated pages does.

This release includes all the major changes we expected before stabilization. We are thus officially graduating this project to Beta! There may still be bugs to fix, but we are not planning breaking changes, so this is the best time to send us feedback.

Thanks to @t-regbs for contributing multiple fixes.

Thanks to the Dokka team for a multi-months discussion that lead to figuring out the source of these problems.

Generated pages

  • Methods with many parameters are now displayed on multiple lines (#25, !77, thanks @t-regbs!)
  • Fixed links within Markdown code blocks (#26, !80, thanks @t-regbs!)
  • Package pages are titled after the technical name of the package (ce5c3235)
  • Fixed the hover page not matching module, package and class pages (d2aa20b0, 45588c41)
  • The navigation bar and breadcrumbs use a module's technical name (bc30a010)
  • The navigation bar and breadcrumbs now display packages hierarchically (#15, 03e6c05e, !87)
  • Each types outputs a single page, instead of each property/function having a dedicated subpage (512948aa)
  • Reworked how the 'Parameters:', 'Return:', 'See also:' sections are displayed (59fb4a68, 4cf65fcb, 48d5f317)
  • Fixed links to methods in code blocks (c6fa9fe5)
  • Fixed links with anchors in code blocks (e779a72e)

Aggregator

This version contains a large refactor from a single :renderer module to the addition of an :aggregator module. Configuration for users does not change.

However, the output does. Previously, the paths contained the display name of each module, they know contain its technical name:

# Before:
/api/an%20example%20-library%20-module/…

# After:
/api/example-lib/…

Additionally, this allows us to fix multiple long-standing issues:

  • Added a reference-wide page which lists modules (50f13490)
  • Fixed cross-module links (6aae5ade)

Making it easier to find information

Kotlin allows library authors to structure code in various creative ways for different reasons. However, this can make the generated documentation harder to navigate.

To facilitate finding information, the generated documentation hides some of these structuring decisions:

  • Extension functions declared in the same package as their receiver are listed in the receiver's page, alongside its regular functions (86dc24cc)
  • Top-level functions that have the same name as a type and return it ("fake constructors") are now listed in the type's page, alongside its regular constructors (448ee457)

Our goal is to make it easier for users to find information. We're interested in your feedback.

Dependencies

  • Kotlin 2.3.10
  • Gradle 9.3.1
  • Java 17+ required, same as Gradle itself (previously Java 8+)

0.5.0 • Complete rewrite

Renderer

This release contains a complete reimplementation of the renderer (!27). It now knows how to render:

  • A navigation bar on each page
  • Page metadata (available platforms)
  • Headers
  • Platform-specific content
  • Code blocks
  • Inline code
  • Hyperlinks (local and external)
  • Bold, italic and strikethrough text
  • Package lists
  • Type lists
  • Function & constructor lists
  • Property lists
  • Inheritor lists
  • Ordered and unordered lists
  • The @throws and @see tags
  • Type parameters

Known issues in this version:

  • Hyperlinks in module header pages are broken. Links in all other pages should work.
  • Platform-specific tabs are sometimes weird for expect/actual symbols.

Documentation

  • Added a mention that use_directory_urls is forbidden (#14, !29)
  • Added a 'News' section which contains releases (!30)

Dependencies

  • Kotlin 2.1.10