Releases: zenstackhq/zenstack
ZenStack Release v2.10.2
ZenStack Release v2.10.1
What's Changed
- Preserve custom attributes as comments in the generated logical prisma schema #1909
- Fixed a typing compatibility issue with the latest Zod
Full Changelog: v2.10.0...v2.10.1
ZenStack Release v2.10.0
What's Changed
- Prisma 6.0 support
- TanStack Query query cancellation support doc #1872
- Allow
Unsupported
fields in@@index
#1870 - Removed ZenStack version number from generated TS source files to avoid unnecessary file updates when upgrading ZenStack
- Fixed a typing regression that incorrectly requires a foreign key field when creating a polymorphic model #1894
- Fixed a regression in OpenAPI generation that foreign keys with default values are incorrectly marked as required in Create payload #1893
- Fixed
zenstack init
command to install the maximum supported Prisma version instead of "latest" #1905
Full Changelog: v2.9.4...v2.10.0
ZenStack Release v2.9.4
What's Changed
- RESTful API handler now supports upsert operation by @thomassnielsen doc
- Fixed inconsistency between OpenAPI specification and REStful API handler by @thomassnielsen
Full Changelog: v2.9.3...v2.9.4
ZenStack Release v2.9.3
What's Changed
- Fixed hooks null reference error when optimistically updating nested queries involving null relationships by @roomman #1878
- Proper IDE semantic highlighting and formatting for type declarations
New Contributors
Welcome @roomman as our new contributor ❤️ !
Full Changelog: v2.9.2...v2.9.3
ZenStack Release v2.9.2
What's Changed
- Refixed CLI "generate" warnings in PNPM monorepos #1875
- Properly handling model fields marked "@ignore" in the entire tool chain
Full Changelog: v2.9.1...v2.9.2
ZenStack Release v2.9.1
What's Changed
- Fixed a CLI warning when generating in a pnpm workspace with custom prisma client output settings #1875
Full Changelog: v2.9.0...v2.9.1
ZenStack Release v2.9.0
New Features
1. Using "type" to define the shape of auth()
In previous versions, the auth()
call in ZModel must be resolved to a User
model or a model marked @@auth
. However, when using auth-as-a-service products like Clerk, you can choose not to store user data in the database. This release allows you to define the auth model as a type
. E.g.:
type User {
id String
...
}
Or
type Auth {
id String
@@auth
}
2. Portable mode for TanStack Query hooks
The @zenstackhq/tanstack-query plugin has a new "portable" option to make the generated code's typing "self-contained". When enabled, PrismaClient's types will be included with the generated code. It's useful when you output the hooks code into a separate project where Prisma/ZenStack is not referenced. Please note that the "@zenstackhq/tanstack-query" package still needs to be referenced in the target project. doc
plugin hooks {
provider = '@zenstackhq/tanstack-query'
output = "../client/src/lib/hooks"
target = "react"
portable = true
}
3. Reducing the size of generated OpenAPI spec
When using the @zenstackhq/openapi plugin to generate API spec for the "rpc" flavor, the result can be huge due to how Prisma allows flexible structures of query and mutation input. This release introduced a omitInputDetails
option to generate the specification with lower fidelity. When the option is turned on, fields in the query/mutation input like where
, select
, data
, etc. will be generated as generic objects. doc
plugin openapi {
provider = '@zenstackhq/openapi'
flavor = 'rpc'
omitInputDetails = true
...
}
Fixes and Improvements
- TanStack Query and SWR hooks now handle nested read data during optimistic updates #1840
- Prisma client extensions now work consistently regardless the order you call
enhance
and$extends
- Generated TS code now includes
// @ts-nocheck
to suppress tsc warnings by @genu - Fixed the issue that unreferenced enums in ZModel cause generation errors #1835
- Fixed compatibility issues with turborepo #1687
- Fixed ZModel validation error when importing enums from a separate schema file #1849
- Fixed runtime error when creating delegate model entities with foreign key fields with default values #1843
- Include
null
into a type's field if the field is optional #1857 - Fixed code generation issue when a
type
is recursive #1868 - Using
@@validate
inside type declarations is now supported - Fixed OpenAPI generation to exclude foreign key fields from mutation payload by @thomassnielsen
New Contributors
- Welcome @genu as our new contributor! ❤️
Full Changelog: v2.8.1...v2.9.0
ZenStack Release v2.8.1
What's Changed
- Fixed incorrect validation errors when using typed JSON fields in a multi-file schema setup #1833
- Support using enums as type declaration fields #1834
Full Changelog: v2.8.0...v2.8.1
ZenStack Release v2.8.0
New Features
Fixes and Improvements
- Cleaned up documentation comments handling in ZModel. Both triple-slash and JS-doc style comments will appear in IDE hover tooltip. Only triple-slash comments are passed along to the generated Prisma schema. doc
- Custom attributes in ZModel are not automatically passed along to the generated Prisma schema as comments. Use the "customAttributesAsComments" plugin option to enable that behavior doc
- Fixed the issue that
@@index
attribute is incorrectly inherited from delegate base models #1786 - The permission-checking API now respects policies delegated through the
check()
policy function #1612 - Fixed Prisma schema generation error when self-relations are used with delegate models #1764
- Fixed potential null-field-access in hooks
- The
zenstack repl
CLI command now supports loading ZenStack-generated modules from a custom location #1768 docs - Fixed incorrect Prisma query when querying a delegate model with an array
orderBy
clause #1755 - Prisma 5.22 support
Full Changelog: v2.7.5...v2.8.0