Skip to content

chore(deps): update dependency quicktype to v26#2360

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/quicktype-26.x
Open

chore(deps): update dependency quicktype to v26#2360
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/quicktype-26.x

Conversation

@renovate

@renovate renovate Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
quicktype ^15.0.260^26.0.0 age adoption passing confidence

Release Notes

glideapps/quicktype (quicktype)

v26.0.0: quicktype 26.0.0

Compare Source

quicktype 26.0.0

quicktype 26 modernizes the default generated code across most target languages: current serialization frameworks, current language standards, and safer types. Because versions 24, 25, and 26 shipped in quick succession, many users will upgrade directly from 23.x — so this document calls out every breaking change since 23.2.6, not just changes since 25.1.0. Nearly every changed generated-code default has a flag to restore the previous output (see the table below).

Am I affected?

  • CLI users: check the generated-code defaults table for your target languages, and note the stricter date-time/integer inference. Add the listed flags to keep your previous output.
  • quicktype-core embedders: additionally note the Node.js ≥ 20.19 requirement, the new exports map (deep imports only via quicktype-core/dist/*), typed rendererOptions keys, and the stricter languageNamed().
Breaking changes since 23.2.6
Runtime and packaging (introduced in 24.x)
  • Node.js 20.19 or newer is required. The published packages are built and tested on Node.js 20, 22, and 24.
  • Native fetch replaces bundled fetch polyfills. If your application supplied a fetch polyfill only for quicktype, you can remove it.
  • quicktype-core ships a dual CJS/ESM build with an exports map. require resolves the CommonJS build, import resolves the ESM build. Deep imports must go through quicktype-core/dist/*; other undeclared paths no longer resolve.
  • languageNamed() accepts only canonical language names. Display names and file extensions (e.g. "C++", "kt") are no longer accepted; unknown strings return undefined instead of throwing. Use isLanguageName() to validate arbitrary strings.
Core API (introduced in 25.0.0)
  • rendererOptions keys are type-checked in the quicktype-core API. TypeScript consumers passing unknown option keys now get compile errors.
Type inference (introduced in 25.0.0)
  • Date-times are inferred only for strict RFC 3339 strings. Loosely formatted date strings stay plain strings.
  • Whole numbers outside the target's integer range are inferred as floating point. For example, 9007199254740991 now becomes Float64 in Crystal instead of an overflowing Int32.
Generated-code defaults (new in 26.0.0)

These change what the generated code looks like and which dependencies it needs. Each has a flag to restore the previous output.

Language New default Previous default Restore old behavior
C# System.Text.Json ([JsonPropertyName], #nullable enable), C# 8 Newtonsoft.Json, C# 6 --framework NewtonSoft --csharp-version 6
Kotlin Jackson Klaxon --framework klaxon
C++ C++17 std::variant / std::optional, no Boost dependency boost::variant / boost::optional --boost
Java List<T> T[] arrays --array-type array
Python @dataclass + PEP 585 generics (list[...]) — generated code now targets Python 3.9+ explicit __init__, typing.List --python-version 3.7
Scala 3 circe Encoder/Decoder derivation plain case classes --just-types
Swift explicit CodingKeys enums implicit coding keys --no-coding-keys
Dart final fields (immutable) mutable fields --no-final-props
TypeScript / Flow string-literal unions instead of enums; unknown instead of any enums; any --no-prefer-unions --no-prefer-unknown
Elm Elm 0.19, native List Elm 0.18, Array --array-type array (0.18 no longer supported)
Haskell native lists Vector (no restore flag)
Rust #[derive(Debug, Clone, Serialize, Deserialize)], pub fields Serialize/Deserialize only, private fields --no-derive-debug --no-derive-clone --visibility private

Also in TypeScript, JSON Schema arrays with minItems/maxItems (and 2020-12 prefixItems) now generate tuple types.

Output for the remaining targets is unchanged: in our JSON-input comparison against 23.2.6, C (cJSON), Elixir, Flow, Go, JavaScript, JavaScript PropTypes, JSON Schema, Objective-C, Pike, Ruby, Smithy, TypeScript, TypeScript Effect Schema, and TypeScript Zod produced byte-identical output. (TypeScript and Flow appear in both lists because their new defaults only alter output where enums, any, or tuple-typed arrays occur — typically with JSON Schema input.)

Highlights since 23.2.6 (non-breaking)
  • C#: C# version 8 support with nullable reference types and [JsonRequired]; option to suppress DateOnly/TimeOnly converters.
  • Kotlin: kotlinx-serialization fixture coverage; date/datetime support from JSON Schema.
  • Python: Python 3.9/3.10 type-hint syntax support.
  • Rust: --integer-type option with conservative i32 inference.
  • Swift: --final-classes option; JSONNull hash(into:) emitted by default.
  • Scala 3: improved enum generation.
  • TypeScript/Flow: new --prefer-unknown option; TypeScript input now supports Date and Map.
  • C (cJSON): option to generate source/header pairs.
  • JSON Schema: unevaluatedProperties support; JSON Schema 2020-12 prefixItems tuples; Windows absolute schema paths (drive-letter and UNC) work correctly.
  • PHP: non-nullable unions; fixed crash on inferred dates.
  • Performance: optimized Markov-chain representation and hot paths in the canonical pipeline.
  • Reliability: --just-types now works in every language (previously crashed the option parser for C# and Kotlin); clear error for empty addSource samples; correct --help rendering for boolean flags; fixed nested intersections in union flattening; Kotlin/Klaxon map deserialization fix.
Contributors

Huge thanks to everyone who contributed since 23.2.6:

@​ankrgyl, @​artursvonda, @​AysajanE, @​basdl, @​cconverse711, @​coyaSONG, @​Flern, @​h3ndrk, @​HavardNJ-Laerdal, @​haya14busa, @​jessicamrbr, @​jonashao, @​k-vasily, @​Leonard013, @​liosha, @​matthew-c-lee, @​mikecrowe-otp, @​mohamedelhabib, @​nikhilunni, @​PssbleTrngle, @​Quafadas, @​schani, @​thives, @​tolbon, @​uuf6429, @​vexdev, @​w830207 — and dependabot for keeping dependencies current.

Full changelog: glideapps/quicktype@v25.1.0...v26.0.0 (see the v24.0.0, v25.0.0, and v25.1.0 releases for the full history since 23.2.6, which predates release tags.)

v25.1.0

Compare Source

What's Changed
New Contributors

Full Changelog: glideapps/quicktype@v25.0.0...v25.1.0

v25.0.0

Compare Source

What's Changed

New Contributors

Full Changelog: glideapps/quicktype@v24.0.2...v25.0.0

v24.0.2

Compare Source

What's Changed

  • README: document esbuild ESM bundling workaround for quicktype-core by @​schani in #​2912

Full Changelog: glideapps/quicktype@v24.0.1...v24.0.2

v24.0.1

Compare Source

What's Changed

  • Replace typescript-json-schema fork with upstream, dropping deprecated glob@​7/inflight by @​schani in #​2909
  • Fix published .d.ts files breaking strict consumers (skipLibCheck: false) by @​schani in #​2910
  • Revert "Make languageNamed accept display names and extensions again" (#​2883) by @​schani in #​2911
  • quicktype-core: ship a dual CJS/ESM build with an "exports" map by @​schani in #​2908

Full Changelog: glideapps/quicktype@v24.0.0...v24.0.1

v24.0.0

Compare Source

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.

v23.3.25

Compare Source

v23.3.24

Compare Source

v23.3.23

Compare Source

v23.3.22

Compare Source

v23.3.21

Compare Source

v23.3.20

Compare Source

v23.3.19

Compare Source

v23.3.18

Compare Source

v23.3.17

Compare Source

v23.3.16

Compare Source

v23.3.15

Compare Source

v23.3.14

Compare Source

v23.3.13

Compare Source

v23.3.12

Compare Source

v23.3.11

Compare Source

v23.3.10

Compare Source

v23.3.9

Compare Source

v23.3.8

Compare Source

v23.3.7

Compare Source

v23.3.6

Compare Source

v23.3.5

Compare Source

v23.3.4

Compare Source

v23.3.3

Compare Source

v23.3.2

Compare Source

v23.3.1

Compare Source

v23.3.0

Compare Source

v23.2.6

Compare Source

v23.2.5

Compare Source

v23.2.4

Compare Source

v23.2.3

Compare Source

v23.2.2

Compare Source

v23.2.1

Compare Source

v23.2.0

Compare Source

v23.1.4

Compare Source

v23.1.3

Compare Source

v23.1.2

Compare Source

v23.1.1

Compare Source

v23.1.0

Compare Source

v23.0.176

Compare Source

v23.0.175

Compare Source

v23.0.174

Compare Source

v23.0.173

Compare Source

v23.0.172

Compare Source

v23.0.171

Compare Source

v23.0.170

Compare Source

v23.0.169

Compare Source

v23.0.168

Compare Source

v23.0.167

Compare Source

v23.0.166

Compare Source

v23.0.165

Compare Source

v23.0.164

Compare Source

v23.0.163

Compare Source

v23.0.162

Compare Source

v23.0.161

Compare Source

v23.0.160

Compare Source

v23.0.159

Compare Source

v23.0.158

Compare Source

v23.0.157

Compare Source

v23.0.156

Compare Source

v23.0.155

Compare Source

v23.0.154

Compare Source

v23.0.153

Compare Source

v23.0.152

Compare Source

v23.0.151

Compare Source

v23.0.150

Compare Source

v23.0.149

Compare Source

v23.0.148

Compare Source

v23.0.147

Compare Source

v23.0.146

Compare Source

v23.0.145

Compare Source

v23.0.144

Compare Source

v23.0.143

Compare Source

v23.0.142

Compare Source

v23.0.141

Compare Source

v23.0.140

Compare Source

v23.0.139

Compare Source

v23.0.138

Compare Source

v23.0.137

Compare Source

v23.0.136

Compare Source

v23.0.135

Compare Source

v23.0.134

Compare Source

v23.0.133

Compare Source

v23.0.132

Compare Source

v23.0.131

Compare Source

v23.0.130

Compare Source

v23.0.129

Compare Source

v23.0.128

Compare Source

v23.0.127

Compare Source

v23.0.126

Compare Source

v23.0.125

Compare Source

v23.0.124

Compare Source

v23.0.123

Compare Source

v23.0.122

Compare Source

v23.0.121

Compare Source

v23.0.120

Compare Source

v23.0.119

Compare Source

v23.0.118

Compare Source

v23.0.117

Compare Source

v23.0.116

Compare Source

v23.0.115

Compare Source

v23.0.114

Compare Source

v23.0.113

Compare Source

v23.0.112

Compare Source

v23.0.111

Compare Source

v23.0.110

Compare Source

v23.0.109

Compare Source

v23.0.108

Compare Source

v23.0.107

Compare Source

v23.0.106

Compare Source

v23.0.105

Compare Source

v23.0.104

Compare Source

v23.0.103

Compare Source

[v23.0.102](https://redirect.github.com/glideapps/quicktype/compare/cab3d94302406dfc85f5c4f02aa7197b141d8a35...ac1429f4d5e4634a233

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/quicktype-26.x branch from 5ba16cd to 62802a0 Compare July 23, 2026 09:01
@renovate
renovate Bot force-pushed the renovate/quicktype-26.x branch from 62802a0 to dd79913 Compare July 23, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants