Skip to content
CAI
Produce a survey ↗Verify a survey

lysine-dev/retrofit

This system is a modular HTTP client library that provides a type-safe Java and Kotlin API for making network requests. It supports a wide range of data formats—including JSON, XML, Protobuf, and scalars—through a pluggable converter architecture. The library integrates with various asynchronous execution models, offering first-party adapters for Java 8, Guava, RxJava, and Kotlin Coroutines. Additionally, it includes a mock client for simulating network conditions during testing.

58.7

Adequate · 29 July 2026

13k

lines of production code

Java

with JavaScript

2

bus factor · 202 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2010–2016 · Retrofit 2.0 API and adapter expansion

This period marks the development of the Retrofit 2.0 core API, introducing the foundational Call and Converter interfaces alongside comprehensive HTTP annotation support. The work significantly expanded ecosystem integration by adding first-party adapters for Guava, Java 8, and RxJava 2/3, while also introducing a behavior-based mock pattern for testing. Additionally, the library enhanced its serialization capabilities with new converters for primitives, binary formats, and XML, supported by extensive test coverage.

23 changes

2017–2020 · nullability annotations and new adapters

This period focused on enhancing type safety through widespread nullability annotations across converter modules and the main library. It also introduced new adapters for Scala, RxJava 3, and Guava, alongside a new JAXB converter, while migrating the build system to Gradle and adding comprehensive test coverage for these new features.

17 changes

2021–2025 · Modernization and ecosystem expansion

This period focused on expanding the library's ecosystem by adding converters for JAXB 3 and kotlinx.serialization, alongside comprehensive test coverage for Kotlin and core Java components. The team also addressed runtime compatibility issues by refactoring default method invocation for newer Java versions and introducing an annotation processor to preserve generic types during minification. Additionally, the project modernized its documentation site using Astro and Starlight to improve developer experience.

10 changes

CAI lens gauges

Survey your own repository

lysine-dev/retrofit 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 the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit d0b112dad0 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.18. Score the same commit under that rubric and you get the same number.
CAI link cards