github glideapps/quicktype v24.0.0

3 hours ago

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 fetch replaces 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() and isLanguageName() once more accept values such as TypeScript, C++, JSON Schema, and kt, case-insensitively. Unknown strings return undefined/false instead of throwing. #2883
  • Windows absolute schema paths work correctly. Drive-letter and UNC paths are normalized as file URIs, including schemas that use relative $ref references. #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 its undefined result for unknown languages.

Don't miss a new quicktype release

NewReleases is sending notifications on new releases.