Published: 2025-09-22
Introducing Kubb v4
Kubb v4 sharpens type safety, schema generation, and query handling. Here is what changed.
Breaking changes
- Correct use of Infinite Query generics with Tanstack-Query
- Unwrap in Vue infinite query
- Different use of
z.optionalBefore:
typescript
z.number().int().optional()After:
typescript
z.optional(z.number().int())- Add
Keysuffix to types when usingasConstBefore:
typescript
export const findPetsByStatusQueryParamsStatusEnum = {
available: 'available',
pending: 'pending',
sold: 'sold',
} as const
export type FindPetsByStatusQueryParamsStatusEnum = (typeof findPetsByStatusQueryParamsStatusEnum)[keyof typeof findPetsByStatusQueryParamsStatusEnum]After:
typescript
export const findPetsByStatusQueryParamsStatusEnum = {
available: 'available',
pending: 'pending',
sold: 'sold',
} as const
export type FindPetsByStatusQueryParamsStatusEnumKey = (typeof findPetsByStatusQueryParamsStatusEnum)[keyof typeof findPetsByStatusQueryParamsStatusEnum]