Skip to content
CAI
Software that uses CAICheck a score

sbt/sbt-unidoc

58.0

Adequate · 20 September 2026

332

lines of production code

Scala

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is an sbt plugin designed to generate unified API documentation for Scala and Java projects. It supports multiple Scala versions, including Scala 3, by leveraging TASTy files and modular auto-plugins for flexible configuration. The tool integrates with the sbt build tool to produce HTML documentation and Javadoc, with specific logic to handle project filtering and legacy output paths.

Behavioural changes

Migration to sbt 1.x and organization change to com.github.sbt

The sbt-unidoc plugin has been updated to support sbt 1.x (requiring sbt 1.5.x or above) and has moved its Maven organization from \com.eed3si9n\ to \com.github.sbt\. Users upgrading to the latest version (0.6.1) must update their \project/plugins.sbt\ to use the new organization and adopt the sbt 1.x build syntax (e.g., using \ThisBuild\ and \enablePlugins\). For users remaining on older sbt 0.13 or early sbt 1.x versions, version 0.4.3 remains available under the old organization. The configuration API has also changed, replacing \unidocSettings\ with \ScalaUnidocPlugin\ and \excludedProjects\ with \unidocProjectFilter\.

(repo-wide) · high confidence

Plugin refactored into modular auto-plugins with Scala 3 support

The single monolithic plugin has been split into distinct auto-plugins (BaseUnidocPlugin, ScalaUnidocPlugin, JavaUnidocPlugin, GenJavadocPlugin, and PublishJavadocPlugin) to improve modularity and enable Scala 3 support. ScalaUnidocPlugin now detects Scala 3 and uses TASTy files for documentation generation, while JavaUnidocPlugin handles unified Javadoc creation. The GenJavadocPlugin default version has been updated to 0.19, and the plugin now uses sbt's AutoPlugin infrastructure with scoped filters for better control over which projects and configurations are included in the documentation build.

src/main · high confidence

Test coverage

Added integration test for JavaUnidocPlugin; Added sbt-test for Scala 3 unidoc support; Added sbt-test for ScalaUnidocPlugin.

Dependencies

Upgrade to Scala 2.12.21 and 3.8.4 with SBT 2.0 support

The plugin now builds against Scala 2.12.21 and Scala 3.8.4, replacing previous versions. It also updates the SBT cross-build targets to support SBT 1.5.8 for Scala 2.12 and SBT 2.0.0 for Scala 3, ensuring compatibility with the latest SBT releases. The build configuration has been modernized to use \ThisBuild\ settings and dynamic versioning for SNAPSHOT artifacts.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 58.

Lenses

  • Code Health 100
  • Architecture 100
  • Maturity 46
  • Readiness 53
  • Security 70

Changes since last survey

  • 248 commits — 233 feature/other, 15 fixes

By area

  • (root) — 67 commits
  • (repo) — 53 commits
  • project/build.properties — 51 commits
  • .github/workflows — 21 commits
  • project/plugins.sbt — 21 commits
  • src/main — 20 commits
  • src/sbt-test — 9 commits
  • .github/dependabot.yml — 1 commit
  • notes/0.1.0.markdown — 1 commit
  • notes/0.2.0.markdown — 1 commit
  • notes/0.3.0.markdown — 1 commit
  • notes/0.3.3.markdown — 1 commit
  • notes/0.4.0.markdown — 1 commit

Notable commits

  • fix: Drop 0.13 support. Bump sbt version to 1.5.5. Fix deprecation warnings.
  • fix: Fix GitHub Actions
  • fix: Fix inconsistent names.
  • fix: Fix infix syntax warnings (#231)
  • fix: Fix library versions on README
  • fix: Fix sbt cross building
  • fix: Fix the build so it gets published on Sonatype
  • fix: Merge pull request #10 from travisbrown/topic/fix-api-mappings
  • fix: Merge pull request #14 from rkuhn/wip-fix-javadoc-compile-dependency
  • fix: adds ScopeFilter support. fixes #2
  • fix: aggregate apiMappings. Fixes #5, #7, #10
  • fix: fix github action branch setting
  • fix: fix: Scope compilers to doc (#213)
  • fix: sbt 0.13 fix. fixes #1
  • fix: sbt 0.13.15. fix warnings (#36)
  • change: 0.1.2
  • change: 0.2.0
  • change: 0.3.0. #2
  • change: 0.3.1
  • change: 0.3.2
  • …and 228 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

sbt/sbt-unidoc was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 815f75b912760f79618a2e175c259902dcfb9196 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.