sbt/sbt-unidoc
58.0
Adequate · 20 September 2026
332
lines of production code
Scala
primary language
1
measurement over time
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.