Netflix/fast_jsonapi
50.5
Adequate · 26 September 2026
746
lines of production code
Ruby
primary language
4
measurements over time
What this system is
Features
Add Rails generator for creating serializers
Users can now generate serializers via the command line using \rails generate serializer\. This new generator creates a serializer class in \app/serializers\ that includes \FastJsonapi::ObjectSerializer\ and defines the specified attributes.
lib/generators · high confidence
Added instrumentation hooks for serialization methods
The library now includes built-in support for performance monitoring via ActiveSupport::Notifications. New files in the \instrumentation\ directory add \serializable\_hash\ and \serialized\_json\ methods that wrap the original serialization logic, emitting \SERIALIZable\_hash\_notification\ and \SERIALIZED\_JSON\_NOTIFICATION\ events respectively. Additionally, specific normalizers for the Skylight APM tool are introduced to properly categorize these new trace events, ensuring that serialization steps are correctly identified in performance traces.
_lib/fast\jsonapi/instrumentation · high confidence
Behavioural changes
Conditional loading of ActiveRecord extensions
The library now conditionally loads the \has\_one\ extension only when ActiveRecord is present, and only loads the Rails-specific railtie when Rails is detected. This prevents errors when ActiveRecord is not required in a project, allowing the library to be used with other ORMs or in environments without ActiveRecord. Additionally, the \has\_one\ extension was updated to handle cases where an attribute is already defined with the same name, using \read\_attribute\ in that scenario.
lib/extensions · high confidence
Deprecation notice and documentation updates for fast\_jsonapi
The project is now marked as no longer maintained, with a warning added to the README header and a link to a forked project. The README has been significantly updated to include documentation for new features such as Rails generator usage, key transforms, conditional attributes/relationships, sparse fieldsets, and helper methods. Additionally, the gem version was bumped from 1.0.16 to 1.0.18, and the build configuration was updated to test against Ruby 2.2, 2.3, 2.4, and 2.5.
(repo-wide) · high confidence
Refactor serialization internals and add support for links, meta, and conditional relationships
The library refactors its internal architecture by introducing dedicated classes for Attribute, Link, and Relationship, replacing the previous hash-based configuration. This enables new capabilities: users can now define custom links and meta information for resources, pass serialization parameters (params) through nested includes, and conditionally include relationships or attributes based on a provided proc. The change also improves polymorphic relationship support and allows customizing the ID method name.
_lib/fast\jsonapi · high confidence
Test coverage
Add comprehensive test coverage for serializer features; Added shared example definitions for object serializer tests; Added test coverage for Active Record extensions and has\_one through associations; Added test coverage for Result chaining; Added tests for FastJsonapi instrumentation; Expanded test fixtures for complex object relationships; Expanded test suite with new serializers and performance filters.
Dependencies
Simplified gemspec and removed Gemfile.lock
The project's dependency management has been streamlined. The \Gemfile\ now delegates all dependencies to \fast\_jsonapi.gemspec\, and the \Gemfile.lock\ has been removed. The \gemspec\ now explicitly requires Ruby version 2.0.0 or higher. Runtime dependencies for \activesupport\ and \activerecord\ have been relaxed from version 5.0 to \\>= 4.2\. Additionally, \jsonapi-rb\ and \jsonapi-serializers\ have been added as development dependencies.
(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 53 → 50 (-2.1)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 94 → 69 (-25.1)
- Maturity 57 → 47 (-9.7)
- Readiness 25 → 34 (+8.6)
- Security 100 → 100 (+0.0)
Resolved (6)
- Coverage not measured — test suite did not build
- Dimension evaluation failed
- No exposed public API
- No tests found
- Test reliability not included
- The README states the project is no longer maintained and recommends jsonapi-serializer, but it does not provide any installation instructions for Fast JSON API itself. (README.md)
New (2)
- No dependency advisory monitoring
- Orphaned files with no living knowledge
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Netflix/fast_jsonapi 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 26 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 68a5515bb33c6ba4f1df4d4f7b51d33eb2bcf3a7 — 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-7c1cb6328e11.