quicktype 24.0.0
quicktype 24 modernizes the supported Node.js runtime, fixes language lookup and Windows schema-path regressions, and moves package publishing to GitHub Releases.
Highlights
- Node.js 20 or newer is now required. Development, fixture CI, and publishing use Node.js 24, while the published npm packages are built and tested on both Node.js 20 and 24.
- Native
fetchreplaces bundled fetch polyfills. URL inputs, remote schema references, and GraphQL introspection now use the runtime's native Fetch API. - Language lookup is compatible with display names and extensions again.
languageNamed()andisLanguageName()once more accept values such asTypeScript,C++,JSON Schema, andkt, case-insensitively. Unknown strings returnundefined/falseinstead of throwing. #2883 - Windows absolute schema paths work correctly. Drive-letter and UNC paths are normalized as file URIs, including schemas that use relative
$refreferences. #2886
Tooling and release process
- Migrated standalone regression tests to Vitest while retaining the cross-language fixture suite. #2892
- Publishing now starts from stable GitHub Releases tagged
vMAJOR.MINOR.PATCH. Release versions are stamped into npm package manifests and the VS Code extension during CI, with checks that prevent non-forward releases and safely skip already-published artifacts on reruns. #2902
Upgrade notes
- Upgrade to Node.js 20 or newer before installing quicktype 24.
- If your application supplied a fetch polyfill only for quicktype, it can now be removed on supported Node.js versions.
- Calls to
languageNamed()with arbitrary strings should continue to handle itsundefinedresult for unknown languages.