Releases: zenstackhq/zenstack
ZenStack Release v2.1.0
New Features
-
Permission Checker #242
A
check
API is extended to each model in the enhancedPrismaClient
for checking permissions without querying the database. See more details here. -
auth()
is resolved from all loaded schema files #1388In the previous release, to use
auth()
in a ZModel file, you'll need to import the schema file that contains theUser
model definition (or the model definition marked with@@auth
). This release relaxed that requirement:auth()
is now resolvable as long as the schema file containing the auth model is reachable through any import. You don't have to explicitly import it from every model now. -
TanStack-Query and SWR plugins now generate
createMany
hooks for SQLite when Prisma >= 5.12 -
TRPC plugin now generates
createMany
procedure for SQLite when Prisma >= 5.12
Fixes and Improvements
- Fixed several code generation errors for delegate models #1415 #1416
- Fixed the problem that filters using fields from delegate base models don't work properly when nested inside a logical group #1410
- ZModel type names (e.g.,
DateTime
) can now be used as field names #1424 - Fixed the typing inconsistency for Zod schemas generated for fields using
auth()
in@default()
#1378 - TRPC code gen improvements: make sure type-only imports are only type-imported #1405
- Fixed the problem that relation fields are included even if
select
is set tofalse
#1427 - Fixed incorrect validation error when
@@unique
attribute is defined in a base model #1430 - Fixed compatibility with Prisma 5.13's omit feature
- Fixed query issue with using enums inside access policies #1435
- The generated TRPC code is now more robust with importing Zod schemas #1406
Full Changelog: v2.0.3...v2.1.0
ZenStack Release v2.0.3
What's Changed
- Allow empty constructor for the
dbgenerated()
attribute function by @clementoriol #1400 - Fixed the issue that
auth()
inside@default()
is not effective for upsert operations by @israelins85 #1404
New Contributors
Welcome @clementoriol and @israelins85 as our new contributors!
Full Changelog: v2.0.2...v2.0.3
ZenStack Release v2.0.2
What's Changed
- Fixed the problem that enum documentation is lost in the generated prisma schema by @nopain1210
- Fixed compatibility issue with pnpm workspace environment
New Contributors
- Welcome @nopain1210 to becoming our new contributor!
Full Changelog: v2.0.1...v2.0.2
ZenStack Release v2.0.1
What's Changed
- Prisma peer dependency version has been bumped to 5.13.x.
- Fixed VSCode auto-fix code generation location issue.
- Fixed policy compilation error for deeply nested post-update rules #1381
Full Changelog: v2.0.0...v2.0.1
ZenStack Release v2.0.0 🎉
Features
Make sure you read the full upgrade guide before upgrading!
1. Polymorphic Relations
You can now model a polymorphic inheritance hierarchy using the "delegated types" pattern. Read more details here.
2. Using auth()
Inside @default
Attribute
You can now use the auth()
function call inside @default()
attribute in ZModel. It's very handy for models that should always be connected to the current user during creation. By providing such a default value, you don't need to explicitly connect to the user anymore:
model Post {
...
author User @relation(...)
authorId String @default(auth().id)
}
const db = enhance(prisma, { user: getCurrentUser() });
const post = await db.post.create({ title: 'Post1' }); // no need to connect the `author` field
Special thanks to Augustin for making this feature happen!
3. Edge Runtime Support (Preview)
The @zenstackhq/runtime
package is compatible with Vercel Edge Runtime and Cloudflare Workers. See here for more details.
4. Server Adapter for NestJS
An official adapter for using ZenStack with NestJS that plays well with its dependency injection. See here for more details.
5. Formating ZModel in Prisma Style
Yes, we heard your voices, and here it comes 😄. Please update the VSCode extension and JetBrains plugin to the latest version and enjoy.
You can toggle back to the old behavior in the extension settings (VSCode only).
Improvements and Fixes
This release also contains many DX improvements and fixes.
Full Changelog: v1.12.4...v2.0.0
ZenStack Release v1.12.4
What's Changed
- Fixed access policy check issue with "upsert" models with compound
@@id
fields. #1271
Full Changelog: v1.12.3...v1.12.4
ZenStack Release v2.0.0-beta.13
What's Changed
- VSCode extension and the
zenstack
CLI formats ZModel files with prisma-like indentation style by default. #885 zenstack
CLI now auto-format the generated prisma schema by default.- Fixed several typing issues about using
auth()
inside@default()
. - Fixed the problem that member access from
auth()
is not properly resolved if the auth model is imported. #1257 - Fixed the problem that
@@index
attribute is incorrectly inherited from the base. #1243 - Removed several Prisma V4 dependencies since V4 is not supported anymore.
Full Changelog: v2.0.0-beta.8...v2.0.0-beta.13
ZenStack Release v1.12.3
What's Changed
- Fixed the issue that
enhance
doesn't handle relations of the same type but different names properly #1241 - Fixed openapi plugin to allow array form of input data
Full Changelog: v1.12.2...v1.12.3
ZenStack Release v1.12.2
What's Changed
- Fixed the issue that post-update rule for "id" field is not effective when the id field is changed during an update #1235
- Fixed incorrect access policy generation when
this
is used in post-update rules.
Full Changelog: v1.12.1...v1.12.2
ZenStack Release v2.0.0-beta.8
What's Changed
- Support for edge runtime (Vercel edge and Cloudflare worker)
- Clear plugins' output dir before running generation #1220
- Add Prisma as peer dependency #1084
- Make data validation a separate enhancement kind #1050
- Fixed ZModel linker errors #1210
Full Changelog: v2.0.0-beta.5...v2.0.0-beta.8