Skip to content
CAI
Software that uses CAICheck a score

smol-rs/smol

57.9

Adequate · 30 September 2026

141

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Smol is a lightweight async runtime for Rust that simplifies development by re-exporting a curated set of smaller, well-tested asynchronous crates. It provides core concurrency primitives like executors and I/O reactors, along with high-level abstractions for networking, file system access, and process management. The system enables developers to build efficient concurrent applications with a minimal dependency footprint and a clean, unified API surface.

Features

Initial release of smol v0.1.0

This commit introduces the initial release of the smol async runtime (v0.1.0). It adds the core project documentation (README.md), the CHANGELOG.md, the CODE\_OF\_CONDUCT.md, and the dual Apache-2.0/MIT license files. The README establishes smol as a small and fast async runtime that re-exports smaller async crates, provides examples for HTTP requests, and lists supported subcrates like async-io, async-net, and async-process. It also documents the MSRV policy (currently 1.85) and TLS certificate usage for examples.

(repo-wide) · high confidence

Behavioural changes

Examples updated to use smol-native async I/O and modern HTTP libraries

The examples directory has been completely rewritten to demonstrate the current smol API and ecosystem. Legacy examples using the \futures\ crate (such as \http-get.rs\ and \tcp-echo.rs\) have been removed and replaced with new implementations. Basic networking is now demonstrated using \smol::Async\ and \smol::unblock\ (e.g., \tcp-server\, \tcp-client\, \tls-server\, \tls-client\). HTTP examples now utilize \async-h1\ (\async-h1-client\, \async-h1-server\) and \hyper\ (\hyper-client\, \hyper-server\), with the latter integrating \smol-hyper\ for runtime compatibility. WebSocket functionality is provided via \async-tungstenite\ (\websocket-client\, \websocket-server\). Additional examples cover chat applications (\chat-server\, \chat-client\), Linux-specific features like inotify and timerfd, and Windows Unix Domain Sockets. A local TLS certificate (\certificate.pem\) and identity file (\identity.pfx\) are included to support the secure server examples.

examples · high confidence

Replaced custom executor and I/O reactor with async-executor and async-io

The library has been refactored to remove its internal executor, reactor, and timer implementations, replacing them with re-exports from the \async-executor\, \async-io\, \blocking\, and \futures-lite\ crates. This change simplifies the codebase, improves reliability by leveraging well-tested external dependencies, and introduces a new \prelude\ module for convenient trait imports. Users benefit from a cleaner API surface and better integration with the broader async ecosystem, while the global spawn behavior remains available for convenience.

src · high confidence

Dependencies

Upgrade to smol 2.0 with Rust 2021 edition and MSRV 1.85

The smol runtime has been updated to version 2.0.2, migrating the project to the Rust 2021 edition and raising the Minimum Supported Rust Version (MSRV) to 1.85. This release replaces the previous dependency set with a modernized stack, including async-channel 2.0, async-executor 1.5, async-fs 2.0, async-io 2.1, async-lock 3.0, async-net 2.0, blocking 1.3, and futures-lite 2.0. The package description and license metadata have also been updated to reflect the new stable release status.

(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

Score

  • CAI 54 → 58 (+3.5)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 45 → 45 (+0.0)
  • Readiness 73 → 76 (+2.7)
  • Security 50 → 62 (+12.5)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

New (1)

  • Dependency hygiene PARTLY measured — Cargo dependencies read, no committed lock to grade for currency

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

Survey your own repository

smol-rs/smol 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 30 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 4892eb0ddab2180036279fa1c8713983dea160f3 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.