Releases: orval-labs/orval
Release v8.15.0
What's Changed
- feat(security): add socket dev check on bun install by @anymaniax in #3489
- docs: add Chinese localization by @fishxcode in #3436
- docs: fix zh effect mdx code fence by @fishxcode in #3491
- fix(core): inconsistent JSDoc comments by @daugvinasr in #3488
- feat(zod): support $dynamicRef / $dynamicAnchor in zod schema generation by @aqeelat in #3490
- fix(core): preserve original input as cache key in pascal() to fix cache misses for uppercase inputs by @xxiaoxiong in #3498
- chore(core): update JsDoc in assertions.ts by @melloware in #3499
- fix(core): logger deduplication state leaking across instances by @daugvinasr in #3500
- test(core): add regression test for external $ref schema import path (#2540) by @wadakatu in #3483
- fix(mock): avoid double-wrapping null branch for required nullable scalars by @wadakatu in #3501
- fix(zod): apply required from sibling allOf member to base properties by @wadakatu in #3502
- fix(mock): emit bare factory call for primitive-union $ref in additionalProperties (#3200) by @wadakatu in #3504
- fix(core): use jsStringEscape for enum/const values to prevent backslash corruption by @enekesabel in #3507
- feat(zod): generate response schemas for text/plain and 204/205 no-content responses by @soartec-lab in #3506
- fix(core): test that resolveDynamicRef preserves pre-existing imports by @aqeelat in #3508
- fix(zod): preprocess mutator reads target key instead of always .response by @NathanFichefet in #3515
- feat(mcp): add outputSchema, annotations, title, and description to registerTool by @soartec-lab in #3509
- fix(hono): pass oneMore to mutator imports in tags-split zod files by @NathanFichefet in #3516
- feat(hono): setup new propery handler generation strategy by @anymaniax in #3518
- fix(query): match TError to thrown error for fetch forceSuccessResponse by @wadakatu in #3520
- feat(mcp): add error handling with isError and structuredContent to handlers by @soartec-lab in #3521
- feat(query): specify how querykey is filtered by @AllieJonsson in #3522
- feat(core):
resolveDiscriminatorsin cycle - fix by @mironbalcerzak in #3523 - factory methods: discriminator aliases and missing parent properties - fix by @mironbalcerzak in #3524
- feat(mock): add arrayItems faker option for reusable array item mocks by @Hypenate in #3514
- Release v8.15.0 by @github-actions[bot] in #3526
New Contributors
- @fishxcode made their first contribution in #3436
- @xxiaoxiong made their first contribution in #3498
- @enekesabel made their first contribution in #3507
- @NathanFichefet made their first contribution in #3515
Full Changelog: v8.14.0...v8.15.0
Release v8.14.0
What's Changed
- test(mock): regression test for MSW handler info parameter typing by @wadakatu in #3454
- fix(core): support CallExpression init in mutator parser by @wadakatu in #3455
- feat(query): filter query key by @AllieJonsson in #3457
- feat(effect): add @orval/effect schema generator by @anthlasserre in #3444
- fix(zod): emit reusable schemas for sanitized component names by @titivermeesch in #3462
- fix(angular): emit HttpClient generic for JSON primitive responses by @Hypenate in #3461
- fix(zod): resolve REF sentinels in operation schema files by @z4o4z in #3464
- fix(zod): emit reusable schemas inline when operations exist + use PascalCase identifiers by @z4o4z in #3465
- test(mock): regression test for MSW base handler content-type (#2327) by @wadakatu in #3466
- fix(zod): emit recursive reusable schemas with full TypeScript types by @z4o4z in #3467
- test(query): regression test for v5 hook overload count (#2999) by @wadakatu in #3473
- fix(mock): apply override.mock.properties inside array items by @wadakatu in #3471
- fix(zod): correct inline reusable schema emission (missing import + dropped defs) by @z4o4z in #3468
- feat(zod): add generateMeta to attach .meta() to component schemas (zod v4) by @z4o4z in #3469
- fix(core): cross-schema $dynamicAnchor collision with circular $ref by @aqeelat in #3447
- fix(zod): emit const declarations for single-item oneOf/anyOf by @chrisahardie in #3481
- test(query): cover useInfinite + runtimeValidation in v5 overload regression (#2999) by @wadakatu in #3482
- feat(mock): add override.mock.nonNullable option by @Hypenate in #3476
- fix: deduplicate name collisions with generateReusableSchema (#3478) by @titivermeesch in #3485
- feat: add option to inject params in generated zod schemas by @titivermeesch in #3475
- Release v8.14.0 by @github-actions[bot] in #3486
New Contributors
- @anthlasserre made their first contribution in #3444
- @titivermeesch made their first contribution in #3462
- @chrisahardie made their first contribution in #3481
Full Changelog: v8.13.0...v8.14.0
Release v8.13.0
What's Changed
- fix(core): extract named enum type for anyOf nullable enum composition by @wadakatu in #3424
- feat(mock): add faker schema mock generation by @jakiestfu in #3426
- fix(query): pass operationId and operationName to queryOptions mutator by @wadakatu in #3427
- fix(mock): emit boolean enum literals instead of random datatype.boolean() by @wadakatu in #3428
- fix(mock): preserve discriminator value when oneOf parent declares the same property by @wadakatu in #3429
- fix(zod): handle content-type with charset suffix by @wadakatu in #3433
- fix(mock): stop leaking sibling variants into allOf-inherited mocks by @wadakatu in #3431
- fix(query): make
useInfiniteQueryParamstrict by @daugvinasr in #3434 - feat(core): added factoryMethods by @mironbalcerzak in #3344
- feat(core): add $dynamicRef / $dynamicAnchor support for OpenAPI 3.1 by @aqeelat in #3353
- fix(core): break circular type alias for allOf-inheriting discriminator variants by @wadakatu in #3435
- fix(core): bump dependencies Scalar Parser by @melloware in #3437
- fix(core): generate union for nullable composition (type: null + allOf/oneOf/anyOf) by @artnikbrothers in #3438
- feat(mcp): use
server.registerToolinstead ofserver.toolby @soartec-lab in #3441 - fix(core): read x-enum-varnames from parameter level for primitive query enums by @takahiro-1227 in #3442
- fix(core): support $dynamicAnchor fallback per JSON Schema spec by @aqeelat in #3446
- fix(core): update dynamic-ref tests to reflect correct $dynamicRef fallback behavior by @aqeelat in #3452
- feat(mcp): return registerd tools variable by @soartec-lab in #3450
- fix(mock): resolve circular suffix matching and combine recursion by @Hypenate in #3448
- fix(mock): use one-sided bounds when only minLength/maxLength or minItems/maxItems is specified by @wadakatu in #3451
- feat(zod): add generateReusableSchemas opt-in flag by @z4o4z in #3449
- Release v8.13.0 by @github-actions[bot] in #3453
New Contributors
Full Changelog: v8.12.3...v8.13.0
Release v8.12.3
Note
BREAKING CHANGE: Mock now has custom MSW and FAKER configs allowing you to use one or the other if needed. See https://orval.dev/docs/versions/v8#10-outputmock-now-uses-a-generators-array
What's Changed
- fix(mock): detect $ref in single-element allOf/oneOf/anyOf array items by @jakiestfu in #3421
- fix(core): inline string type for $ref binary fields in x-www-form-urlencoded bodies by @wadakatu in #3422
- Release v8.12.3 by @github-actions[bot] in #3423
Full Changelog: v8.12.2...v8.12.3
Release v8.12.2
Note
BREAKING CHANGE: Mock now has custom MSW and FAKER configs allowing you to use one or the other if needed. See https://orval.dev/docs/versions/v8#10-outputmock-now-uses-a-generators-array
What's Changed
- fix(core): raw binary request bodies such as image/png must be passed to fetch as the Blob itself by @daugvinasr in #3397
- fix(core): handle type arrays (["array","null"]) in form-urlencoded serialization by @jakiestfu in #3419
- Release v8.12.2 by @github-actions[bot] in #3420
Full Changelog: v8.12.1...v8.12.2
Release v8.12.1
Note
BREAKING CHANGE: Mock now has custom MSW and FAKER configs allowing you to use one or the other if needed. See https://orval.dev/docs/versions/v8#10-outputmock-now-uses-a-generators-array
What's Changed
- test(core): add regression coverage for multi-tag operation dedup (#873) by @wadakatu in #3377
- test(query): add regression coverage for vue-query header params (#1026) by @wadakatu in #3379
- test(core): add regression coverage for cross-file $ref schema exports (#1107) by @wadakatu in #3381
- chore(core): replace globby with tinyglobby by @ivoberger in #3383
- fix(orval): decode escaped JSON Pointer tokens in external $refs (#3380) by @wadakatu in #3382
- fix(fetch): type error caused by useDates date param string coerce by @ivoberger in #3384
- fix: properly handle zod.generate options & use 2xx when 200 is not available by @arthurfiorette in #3387
- fix(vue): unref vue infinite query params by @daugvinasr in #3386
- test(query): add regression coverage for react-query onMutate option (#1177) by @wadakatu in #3388
- fix(query): pass enabled option into queryOptions mutator by @wadakatu in #3389
- fix(query): use nullish fallback for infinite query page params by @daugvinasr in #3391
- fix(core): treat binary fields in x-www-form-urlencoded bodies as strings by @wadakatu in #3395
- fix(zod): narrow string literals per-value in object defaults (#3399) by @zeriong in #3400
- fix(core): parse mutator with latest ecmaVersion to support dynamic import by @wadakatu in #3401
- feat(core): allow mock data generators only by @jakiestfu in #3398
- fix(core): handle multi-line descriptions in JSDoc generation by @aqeelat in #3393
- fix(fetch): restore urlEncodeParameters support for the fetch client (#3343) by @zeriong in #3405
- feat(mock): extend output.mock with multi-generator support for msw and faker by @jakiestfu in #3407
- fix(core): inline header schema when $ref points outside #/components/parameters by @wadakatu in #3408
- test(orval): cover double-linked cross-file $ref chain (#1935) by @wadakatu in #3409
- test(core): pin optional-by-default requestBody behavior (#2028) by @wadakatu in #3410
- fix(core): decode ~0 tilde escapes in JSON Pointer refs by @aqeelat in #3414
- fix(core,mock): generate Blob for $ref schemas with format: binary by @matsu3m in #3406
- style(ci): format release-publish workflow with prettier by @aqeelat in #3415
- Release v8.12.0 by @github-actions[bot] in #3416
- Release v8.12.1 by @github-actions[bot] in #3417
New Contributors
- @ivoberger made their first contribution in #3383
- @jakiestfu made their first contribution in #3398
- @aqeelat made their first contribution in #3393
Full Changelog: v8.11.0...v8.12.1
Release v8.11.0
What's Changed
- fix(orval): pass skipErrorChecking to TypeDoc to scope it to generated entry points (#3338) by @zeriong in #3345
- fix(mock): restore oneOf/anyOf cycle detection by @wadakatu in #3350
- feat(bun): config to add min age on install package by @anymaniax in #3351
- fix(angular): place body before accept in multi-content overload signatures by @the-ult in #3354
- fix(core): inline non-component $refs to avoid broken named imports (#398) by @wadakatu in #3355
- fix(core): emit nested array item constraints in jsdoc by @daugvinasr in #3357
- fix: file extension is not added to imported files when using NodeNext moduleResolution by @rkday-pro in #3361
- fix(query): honor per-operation useMutation override for GET operations by @wadakatu in #3360
- fix(query): bulk-update cached data via setQueriesData (#3260) by @zeriong in #3363
- fix(core): keep non-relative mutator import path in tags-split mode by @wadakatu in #3368
- fix(query): emit plain SolidMutationOptions for user-facing mutation param (#3365) by @mhamri in #3369
- fix(angular): emit filterParams for untagged ops in tags-split default file by @the-ult in #3359
- test(query): add regression coverage for infinite vs regular query key isolation (#708) by @wadakatu in #3372
- test(query): assert full queryKey assignment in issue-708 regression test by @wadakatu in #3373
- fix(core): wrap request bodies whose readonly props come from nested schemas by @wadakatu in #3374
- fix(orval): apply input.override.transformer before spec validation (#3227) by @zeriong in #3375
- fix(angular): preserve object query params in generated clients by @the-ult in #3371
- Release v8.11.0 by @github-actions[bot] in #3378
New Contributors
- @daugvinasr made their first contribution in #3357
- @rkday-pro made their first contribution in #3361
- @mhamri made their first contribution in #3369
Full Changelog: v8.10.0...v8.11.0
Release v8.10.0
What's Changed
Important
Please see breaking changes
Note
TypeScript 6/7 is now supported!
- fix(mock): apply useExamples to property-level example after OAS 3.0 upgrade by @wadakatu in #3311
- fix(query): namespace non-GET query keys with the HTTP verb by @wadakatu in #3312
- fix(query): wrap body type with mutator BodyType in non-GET Query helpers by @wadakatu in #3314
- fix(fetch): include error content types in parse strategy (follow-up to #3222) (#3088) by @zeriong in #3261
- fix(core): deterministic comparators in sorting by @melloware in #3322
- fix(angular): resolve compile error for binary response types (#3289) by @zeriong in #3306
- chore: TypeScript 6/7 support replace tsconfck with get-tsconfig by @jmorel in #3320
- fix(query): apply global override.query.useQuery to non-GET verbs (#2376) by @wadakatu in #3323
- fix(core): wrap allOf intersection types in parens for array items by @sushichan044 in #3288
- test(orval): cover internal $ref in external parameter (#394) by @wadakatu in #3324
- fix(hono): refresh handler preamble and fix import paths for hono.handlers option by @zeriong in #3292
- fix(core): resolve propertyNames enum refs by @dpkass in #3329
- fix(core): resolve propertyNames const refs by @dpkass in #3332
- Typescript 6 : bump typedoc to 0.28.19 by @ArnaudGathy in #3334
- fix(query,swr): use null-check for auto-generated
enabledoption (#3241) by @zeriong in #3325 - fix(orval): break cycles when inlining recursive external $refs (#1642) by @zeriong in #3336
- fix(zod): preserve literal types in object defaults with
as const(#3244) by @zeriong in #3339 - Angluar: Fix PUT request bodies for multi-content responses#1 by @Gogolian in #3335
- Release v8.10.0 by @github-actions[bot] in #3346
New Contributors
- @sushichan044 made their first contribution in #3288
- @dpkass made their first contribution in #3329
- @ArnaudGathy made their first contribution in #3334
- @Gogolian made their first contribution in #3335
Full Changelog: v8.9.1...v8.10.0
Release v8.9.1
What's Changed
- feat(orval): warn when optionsParamRequired is set with fetch httpClient by @wadakatu in #3281
- fix(core): exclude unwritten schemas path from afterAllFilesWrite by @wadakatu in #3282
- docs(query): Document suspense override options by @MasterOdin in #3283
- fix(msw): ensure path colons are escaped with double backslashes by @crow-misia in #3286
- fix(query): apply queryOptions mutator to generated invalidate function (#3190) by @zeriong in #3290
- fix(zod): generate Body schema for multipart and urlencoded requests (#3066) by @zeriong in #3293
- chore(deps-dev): bump postcss from 8.5.6 to 8.5.13 by @dependabot[bot] in #3297
- chore(deps-dev): bump @vue/compiler-sfc from 3.5.30 to 3.5.33 by @dependabot[bot] in #3295
- chore(deps-dev): bump eslint-plugin-react-hooks from 7.0.1 to 7.1.1 by @dependabot[bot] in #3294
- fix(fetch,query,swr): attach JSDoc to main function instead of URL helper (#3266) by @zeriong in #3303
- fix(core): prevent empty import type statement with enumGenerationType: 'enum' (#3246) by @zeriong in #3304
- fix(query): warn when mutationInvalidates references a Query-emitted operation by @wadakatu in #3302
- fix(core): add missing import for $ref types in additionalProperties (#3255) by @zeriong in #3309
- fix(core): support Map format for x-enumDescriptions and x-enumNames (#3232) by @zeriong in #3307
- Release v8.9.1 by @github-actions[bot] in #3310
New Contributors
- @MasterOdin made their first contribution in #3283
- @crow-misia made their first contribution in #3286
Full Changelog: v8.9.0...v8.9.1
Release v8.9.0
What's Changed
- fix: add zip to the binary application types list by @jmorel in #3257
- fix(core): treat OpenAPI validation failures as warnings instead of errors by @zeriong in #3239
- fix(zod): order of stringFormat call by @perryd01 in #3259
- fix(angular): httpresource ts errors file split error [3258] by @the-ult in #3263
- fix(angular): drop unsound
as TDatacast from HttpClient Zod valida… by @the-ult in #3262 - fix(mock): skip MSW resolvedBody prelude when no *ResponseMock is generated by @Spence1115 in #3271
- chore: bump scalar packages by @snebjorn in #3272
- fix(core): revert multipart JSON object parts to plain string append by @superxiao in #3275
- fix(hono): emit routes as method chain for type inference by @dachi023 in #3276
- feat(core): only referenced schemas output when tags specified in
input.filterby @soartec-lab in #3254 - docs: add statement about AI by @soartec-lab in #3277
- fix(samples): enable
clean: trueon safe samples and document layout rule (#2981) by @zeriong in #3267 - fix(core,mock): import not propagated to msw mock for nullable anyOf $ref types by @nathansogut-sipios in #3279
- fix(angular,query): skip Content-Type for multipart/form-data ONLY for Angular httpClient by @melloware in #3278
- Release v8.9.0 by @github-actions[bot] in #3280
New Contributors
- @perryd01 made their first contribution in #3259
- @Spence1115 made their first contribution in #3271
- @dachi023 made their first contribution in #3276
Full Changelog: v8.8.1...v8.9.0