svroonland/rezilience
56.0
Adequate · 20 September 2026
1.2k
lines of production code
Scala
primary language
1
measurement over time
What this system is
Rezilience is a resilience library for ZIO applications that provides composable patterns including circuit breakers, bulkheads, rate limiters, retries, and timeouts. It allows users to initialize these components via configuration and supports runtime policy switching. The system is designed to be integrated into ZIO layers and includes comprehensive testing and documentation generation for its configuration schemas.
Features
Configuration-driven resilience pattern initialization
Users can now initialize CircuitBreaker, Bulkhead, RateLimiter, Retry, and Timeout instances directly from configuration data via the \fromConfig\ extension methods. This change introduces \zio.Config\ mappings for each pattern's settings (such as failure thresholds, backoff schedules, and concurrency limits) and provides syntax extensions on the respective companion objects to construct the runtime components from these typed configuration structures.
rezilience-config/src/main · high confidence
Initial release of the rezilience resilience library for ZIO
This change introduces the core rezilience library, providing a set of resilience patterns for ZIO applications. It includes a Bulkhead to limit concurrent calls and queue requests, a CircuitBreaker with configurable tripping strategies (failure count or failure rate) and metrics, a RateLimiter using a token bucket algorithm, a Retry policy with exponential backoff and jitter, and a Timeout policy. These components are unified under a Policy trait, allowing them to be composed into a common resilience stack, and a SwitchablePolicy is provided to allow runtime replacement of policies.
rezilience/shared/src/main/scala/nl · high confidence
Removals
Removal of initial ZIO console application scaffold
The initial 'HelloWorld' console application entry point, which prompted for a user's name and displayed a greeting using ZIO, has been removed from the shared source code. This cleanup eliminates the basic scaffolding code that was previously part of the rezilience module.
rezilience/shared/src/main/scala/rezilience · high confidence
Test coverage
Added comprehensive test suites for resilience policies; Added example code for Circuit Breaker and ZLayer integration; Added tests for config-driven circuit breaker and config documentation generator; Removed HelloWorldSpec test file.
Dependencies
Upgrade to SBT 2.0 and modernize build plugins
The build system has been upgraded to SBT 2.0.8 (from 1.3.7), requiring a significant overhaul of the build configuration. The custom \project/BuildHelper.scala\ file has been removed, simplifying the build setup. Several plugins have been updated or replaced: \sbt-scalajs\ is now at 1.22.0, \sbt-scalafmt\ at 2.6.2, and \sbt-tpolecat\ at 0.5.7. New plugins added include \sbt-protobuf\ (0.8.4), \sbt-assembly\ (2.5.0), \sbt-site-paradox\ (1.8.0), and \sbt-ghpages\ (0.10.0), while older plugins like \sbt-dotty\, \sbt-jmh\, and \sbt-scoverage\ have been removed. The release process now uses \sbt-ci-release-early\ (2.1.15) alongside \sbt-ci-release\ (1.12.1) and \sbt-dynver\ (5.1.1).
project · high confidence
Upgrade to ZIO 2.1 and Scala 3.9 with simplified build configuration
The build system has been significantly refactored to upgrade the core ZIO dependencies to version 2.1.26 and the primary Scala version to 3.9.0 (while maintaining support for Scala 3.3.8 LTS). This change replaces the previous ZIO 1.x stack and introduces \zio-config\ integration for the new \config\ module. The build structure is simplified by removing custom helper plugins in favor of standard Typelevel settings, enabling \scalafmtOnCompile\, and updating the documentation site to use Paradox and ScalaUnidoc instead of Docusaurus. Additionally, the project organization has changed from \dev.zio\ to \nl.vroste\, and publishing is now directed to Sonatype Central.
(dependencies) · high confidence
Housekeeping
Initial repository setup and code formatting configuration
The repository is initialized with the Rezilience library, including its Apache 2.0 license, funding configuration, and documentation. The build environment is configured with \.scalafmt.conf\ updated to version 3.11.5 using the \scala213source3\ dialect, and CI automation is established via \.mergify.yml\ to automatically merge Scala Steward pull requests and handle approved merges.
(repo-wide) · 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 56.
Lenses
- Code Health 92
- Architecture 69
- Maturity 60
- Readiness 55
- Security 50
Changes since last survey
- 300 commits — 275 feature/other, 25 fixes
By area
- (root) — 131 commits
- project/plugins.sbt — 94 commits
- project/build.properties — 44 commits
- rezilience/shared — 14 commits
- .circleci/config.yml — 9 commits
- (repo) — 2 commits
- docs/docs — 2 commits
- rezilience-config/src — 2 commits
- .github/workflows — 1 commit
- docs/src — 1 commit
Notable commits
- fix: Attempt to fix publish docs
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Attempt to fix publishing
- fix: Fix circuit-breacker's getting stuck in half open state (#482)
- fix: Fix credentials
- fix: Fix docs publish (#320)
- fix: Fix docs: available for scala/zio versions (#388)
- fix: Fix publish
- fix: Fix release (#610)
- fix: Fix release step (#319)
- …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
svroonland/rezilience 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 9c93802685b7af4a82fc1691649a63d192336668 — 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.