circe/circe-config
61.1
Adequate · 20 September 2026
674
lines of production code
Scala
primary language
1
measurement over time
What this system is
This system is a Scala library that integrates the circe JSON library with Typesafe Config (HOCON), enabling the parsing of configuration data into circe JSON and the decoding of that data into Scala case classes. It provides utilities for serializing JSON back to HOCON strings and includes syntax helpers for handling specific configuration types like durations and memory sizes. The project supports Scala versions 2.12, 2.13, and 3.3, and relies on Munit for its test suite.
Features
Initial release of circe-config integration
This change introduces the core \config/src/main\ Scala source files for the circe-config library, enabling users to parse Typesafe Config (HOCON) into circe JSON and decode it into case classes. The new codebase includes the \parser\ object for loading and parsing configuration from strings, files, or the classpath; \syntax\ implicits for decoding specific Typesafe Config formats like durations, periods, and memory sizes; and a \printer\ object to serialize JSON back to HOCON strings. It also adds a compatibility layer for Scala 2.12 to handle Java collection conversions.
config/src/main · high confidence
Removals
Removal of legacy parser and printer modules
The \parser.scala\ and \printer.scala\ files in the main source directory have been deleted. This removes the previous implementation that converted Typesafe Config objects to/from Circe JSON and the utility for rendering JSON back to Typesafe Config strings, indicating a shift in how configuration parsing and serialization are handled within the library.
src/main · high confidence
Behavioural changes
Project maintenance and documentation updates
This change introduces several repository maintenance updates: it adds configuration files for Scalafmt (version 3.11.5 with Scala 3 dialect) and Scalafix (OrganizeImports rule), creates a CONTRIBUTING.md guide, and updates the README with new CI status badges, a version badge, and expanded usage examples. It also removes the Travis CI configuration in favor of GitHub Actions and updates the .gitignore to include Metals/Bloop IDE files.
(repo-wide) · high confidence
Test coverage
Added Scala 3 test suite for CirceConfig; Added property-based tests for CirceConfig laws; Added test configuration files for CirceConfigSpec; Migrate config tests to Munit; Removed CirceConfigSpec test suite.
Dependencies
Upgrade circe to 0.14.16 and migrate test framework to Munit
The build configuration updates the core circe library dependency from version 0.7.0 to 0.14.16 and the typesafe config library to 1.4.9. Additionally, the test suite has been migrated from ScalaTest and Scalacheck to Munit (1.3.6), along with discipline-munit (2.0.0) and munit-cats-effect (2.2.0). The project also updates supported Scala versions to 2.12.21, 2.13.18, and 3.3.8, and adopts the sbt-typelevel build structure.
(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 61.
Lenses
- Code Health 100
- Architecture 66
- Maturity 53
- Readiness 64
- Security 70
Changes since last survey
- 300 commits — 298 feature/other, 2 fixes
By area
- (repo) — 140 commits
- (root) — 96 commits
- project/build.properties — 38 commits
- project/plugins.sbt — 13 commits
- .github/workflows — 10 commits
- config/src — 3 commits
Notable commits
- fix: Fix Scala 3 build
- fix: Fix build
- change: Add 'Reformat with scalafmt 3.8.4' to .git-blame-ignore-revs
- change: Disable doctest, update sbt-circe-org
- change: Merge branch 'master' into update/munit-1.0.3
- change: Merge branch 'master' into update/sbt-1.10.7
- change: Merge pull request #370 from scala-steward/update/circe-core-0.14.5
- change: Merge pull request #371 from scala-steward/update/scalafmt-core-3.7.3
- change: Merge pull request #372 from scala-steward/update/sbt-circe-org-0.1.3
- change: Merge pull request #373 from scala-steward/update/sbt-1.8.3
- change: Merge pull request #374 from scala-steward/update/scala3-library-3.3.0
- change: Merge pull request #375 from scala-steward/update/sbt-1.9.0
- change: Merge pull request #376 from scala-steward/update/scalafmt-core-3.7.4
- change: Merge pull request #379 from scala-steward/update/sbt-1.9.1
- change: Merge pull request #380 from scala-steward/update/scalafmt-core-3.7.5
- change: Merge pull request #381 from scala-steward/update/scalafmt-core-3.7.6
- change: Merge pull request #382 from scala-steward/update/scalafmt-core-3.7.7
- change: Merge pull request #383 from scala-steward/update/sbt-circe-org-0.1.4
- change: Merge pull request #384 from scala-steward/update/sbt-1.9.2
- change: Merge pull request #385 from scala-steward/update/scalafmt-core-3.7.8
- …and 280 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
circe/circe-config 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 3381b42bb83954bfb28ab35586fbecfddc9136ff — 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.