Releases: zenstackhq/zenstack
Releases · zenstackhq/zenstack
ZenStack Release v1.0.0-alpha.87
What's Changed
- Support for implicit many-to-many relations
- Added attribute functions for filtering on fields in policy expressions: contains, search, startsWith, endsWith, has, hasSome, isEmpty. You can use these functions to write more flexible policy rules, e.g.:
See detailed documentation here: https://zenstack.dev/docs/reference/zmodel-language#predefined-attribute-functions.
model Post { id String @id title String @@allow('update', startsWith(title, '[DRAFT]')) }
- Improved consistency in handling undefined and null values in
auth()object
Full Changelog: v1.0.0-alpha.85...v1.0.0-alpha.87
v1.0.0-alpha.85
What's Changed
- Upgraded
langiumdependency (old version results in a StackOverflow error) - Added support for Prisma's
@@ignoreand@ignoreattributes - VSCode: improved support for
@relationfield generation
ZenStack Release v1.0.0-alpha.79
What's Changed
- Server adapter for Express.js
- More plugin options for
@zenstackhq/openapiplugin
Potential Breaking Changes
- Prisma relation-related mutations:
connect,connectOrCreate, andupdatenow trigger the validation of "update" policy on the relation owner side (since such operations update foreign keys). It wasn't enforced in the previous releases. You may need to adjust access policies accordingly.
E.g.:
model User {
...
posts Post[]
}
model Post {
...
author User? @relation(fields: [authorId], references: [id])
authorId String?db.user.create({
data: {
posts: { connect: { id: 'post1' } }
}
});The above code may fail if Post model is not updatable by the current user.
ZenStack Release v1.0.0-alpha.73
What's Changed
- New OpenAPI plugin for generating OpenAPI V3 specification from zmodel! You can use it to generate a YAML/JSON spec and load it up into tools like swagger-ui. Check here for an example.
- Adapter for integrating with Fastify: automatic OpenAPI services for CRUD.
- Fix: make sure zod schemas are lazily loaded to avoid circular dependency issues.
Under the hood, this release includes a unified OpenAPI layer for handling CRUD operations, which is used by the new fastify adapter and will also be the foundation for other upcoming new server-side adapters.
ZenStack Release v1.0.0-alpha.62
What's Changed
- Added
@@schemaattribute for supporting "multi-schema setup" - Fixed code generation issue in monorepo environment
- Fixed package manager detection issue in monorepro environment
Thanks to @digoburigo for reporting the multi-schema issue.
Thanks to @keanugrieves for reporting mono-repro problems.
ZenStack Release v1.0.0-alpha.60
ZenStack Release v1.0.0-alpha.55
ZenStack Release v1.0.0-alpha.53
What's Changed
- Fixed regression in
@zenstackhq/reacthooks generator: now when a mutation succeeds but the result can't be read back, hook returnsundefinedinstead of throwing an error - Similarly,
@zenstackhq/trpcgenerated routers returnundefinedwhen result can't be read back - Cleaned up unnecessary peer dependencies in
@zenstackhq/runtime - When running
zenstack init, install Prisma if not found #219 - VSCode: don't show validation errors when there're syntax errors #221
- Allow both "PUT" and "PATCH" HTTP verbs for "update" and "updateMany"
- Fixed support for using empty array as default field value
- Carry over
@@mapand@mapattributes from zmodel to prisma schema
Please upgrade your VSCode extension too (v1.0.7).
ZenStack Release v1.0.0-alpha.45
What's Changed
- fixed incorrect HTTP method for react hooks generated for "upsert" action
- relation filters, both for *-to-many filter (some/none/every) and *-to-one filter (is/isNot), now recognize access policies
- fixed bugs around policy evaluation for nested update/delete for to-one relations
- next.js integration now supports setting a custom logger
ZenStack Release v1.0.0-alpha.40
What's Changed
- Pinned "langium" dependency version due to an issue in its latest release