Skip to content
CAI
Produce a survey ↗Verify a survey

google/gson

Gson is a Java library for serializing and deserializing Java objects to and from JSON. It provides a comprehensive API for handling standard types, collections, and complex scenarios like polymorphism, post-deserialization hooks, and streaming. The system supports modern Java features such as Records and JPMS, offers extensibility through custom type adapters and interceptors, and includes utilities for Protocol Buffers and code shrinking compatibility.

66.7

Adequate · 6 August 2026

21k

lines of production code

Java

primary language

3

bus factor · 189 authors in all

4

measurements over time

CAI band scale
CAI trend line

How it got here

2008 · API expansion and build modernization

This period focused on expanding Gson's customization capabilities through new annotations and reflection controls, while simultaneously modernizing the build system and removing legacy JavaCC parser code. The team also significantly improved test coverage and added ProGuard rules to ensure compatibility with code shrinking tools.

10 changes

2010–2011 · Streaming API and Protocol Buffers support

This period focused on introducing a new high-performance streaming API for JSON processing and adding native support for Google Protocol Buffers serialization. The work also included significant internal refactoring of type adapters and the addition of comprehensive test coverage for these new features.

12 changes

2012–2020 · Feature expansion and test coverage

This period focused on expanding Gson's functionality by adding post-deserialization interceptors, ISO 8601 date utilities, and Java Platform Module System (JPMS) support. Concurrently, the team significantly increased test coverage for internal components, SQL type handling, and the new extras module features.

10 changes

2021–2025 · Modularity and integration testing

This period focused on enhancing the project's compatibility with modern Java features and build environments. The codebase introduced support for Java Records and consolidated reflection utilities, while simultaneously adding extensive integration tests for JPMS, OSGi, GraalVM Native Image, and code shrinking tools.

8 changes

CAI lens gauges

Survey your own repository

google/gson 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 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 9d5d6a8f45 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.
CAI link cards