fast-json-stringify builds a fast JSON `stringify()` function from a JSON Schema (Draft 7), useful when you want faster serialization for small payloads than `JSON.stringify()`. It supports common JSON types and nested schemas, with special handling for values like `Date`, `RegExp`, and `BigInt`, and it is built to generate functions ahead of time using the provided schema.
Project status
- Actively maintained: The repository shows recent GitHub activity (last upstream push on 2026-08-09) and multiple versioned updates in 2025-2026, including maintenance bug fixes and functional changes.
- Cadence: Updates appear to be arriving roughly monthly or better during 2026 (v7.0.1 on 2026-07-09, v7.0.0 on 2026-06-09, v6.4.0 on 2026-05-05, v6.3.0 on 2026-02-06, v6.2.0 on 2026-01-15), suggesting an ongoing, steady development pace rather than long dormancy.
AI summary generated
Recent updates
v7.0.1
v7.0.1 is primarily a set of maintenance and bug fixes, including a fix for valid JSON serialization of schema `const` string values and a fix for stray comma generation in certain object schemas. It also bumps `fast-uri` to v4.0.0 and updates Dependabot scheduling/config, plus small README and docs link corrections.
v7.0.0
Release v7.0.0 removes the deprecated `debugMode` option from fast-json-stringify. The tests and TypeScript typings are updated to use `mode: 'debug'` instead.
Breakingv6.4.0
v6.4.0 focuses on maintenance work (CI/tooling updates), improved benchmark/test coverage, and a functional fix around how external $ref schemas are handled. The notable functional change is a fix intended to extract reusable serializer logic for non-recursive external $ref schemas, reducing duplicated inlining.
v6.3.0
v6.3.0 focuses on performance improvements in the generated JSON stringifiers, plus a fix/feature for handling tuple-like schemas with item $ref. The release notes also include dev and benchmark maintenance changes, including the tinybench upgrade and updating benchmark format labels.
v6.2.0
v6.2.0 focuses on performance improvements (serializer codegen refactors, monomorphic variables, and reduced comma handling) and CI/benchmarking changes. It also updates the custom Ajv keyword fjs_type validation to recognize values that implement a toJSON method. Release notes do not mention any user-facing behavior changes around object schema features like additionalProperties or recursive schema handling.
v6.1.1
v6.1.1 is a small patch release that reverts an earlier change related to string escaping behavior. The code changes focus on how the serializer decides when it can return an unescaped string vs when it must escape characters to keep output valid JSON.
v6.1.0
fast-json-stringify v6.1.0 focuses on performance improvements in the code generator and serializer, with additional CI and workflow maintenance. The release notes document multiple perf refactors, a switch to Node-main branding, and dependency bumps, including json-schema-ref-resolver v3.
v6.0.1
v6.0.1 is a maintenance release focused on dependency updates, test migration from tap to node:test, and repository/style cleanup. The library runtime code changes visible in the diff are minimal (mostly var/const style refactors), while most changes affect test infrastructure, linting, and CI configuration.
Breakingv6.0.0
This release is presented as v6.0.0, described only as an update for fastify@5. The code diff, however, shows no application code changes, and instead primarily includes CI/test configuration changes plus dependency version bumps.
v5.16.1
v5.16.1 is a small maintenance release focused on fixing BigInt handling in the JSON serializer. The change updates the internal numeric casting logic and adds a regression test to confirm BigInt inputs are converted correctly.