diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..60b496877 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,71 @@ +# 0.4.0 (2022-12-01) + +### Features + +- `zenstack init` command for initializing a project, [#109](https://github.com/zenstackhq/zenstack/issues/109), [doc](https://zenstack.dev/#/quick-start?id=adding-to-an-existing-project). + +- Field constraint suport, [#94](https://github.com/zenstackhq/zenstack/issues/94), [doc](https://zenstack.dev/#/zmodel-field-constraint). + +- Support for server-side CRUD with access policy check (SSR), [#126](https://github.com/zenstackhq/zenstack/issues/126), [doc](https://zenstack.dev/#/server-side-rendering). + +- Options for disabling fetching in hooks (useful when arguments are not ready), [#57](https://github.com/zenstackhq/zenstack/issues/57), [doc](https://zenstack.dev/#/runtime-api?id=requestoptions). + +- Telemetry in CLI, [#102](https://github.com/zenstackhq/zenstack/issues/102), [doc](https://zenstack.dev/#/telemetry). + +- Iron-session based starter, [#95](https://github.com/zenstackhq/zenstack/issues/95), [link](https://github.com/zenstackhq/nextjs-iron-session-starter). + +- Barebone starter (without authentication), [link](https://github.com/zenstackhq/nextjs-barebone-starter). + +- [Website](https://zenstack.dev) is live! + +### Fixes and improvements + +- Merge `@zenstackhq/internal` into `@zenstackhq/runtime` so as to have a single runtime dependency, [#70](https://github.com/zenstackhq/zenstack/issues/70). + +- More accurate log for access policy violation, [#71](https://github.com/zenstackhq/zenstack/issues/71). + +- `auth()` function's return type is now resolved to `User` model in ZModel, instead of `Any`, [#65](https://github.com/zenstackhq/zenstack/issues/65). + +- Improved ZModel type checking, [#67](https://github.com/zenstackhq/zenstack/issues/67), [#46](https://github.com/zenstackhq/zenstack/issues/46), [#99](https://github.com/zenstackhq/zenstack/issues/99). + +- Upgraded to Prisma 4.7. + +### Breaking changes + +- @zenstackhq/runtime doesn't export anything now. + + Use @zenstackhq/runtime/types for type definitions shared between client and server, @zenstackhq/runtime/client for client-specific libaries (like React hooks), and @zenstackhq/runtime/server for server-specific libraries. + +# 0.3.0 (2022-11-08) + +### Features + +- `@password` and `@omit` attribute support + +- Configurable logging (to stdout and emitting as events) + +### Fixes and improvements + +- More robust policy checks + +- Properly handles complex types like BigInt, Date, Decimal, etc. + +- Makes sure Prisma schema is regenerated for related CLI commands + +- Lower VSCode engine version requirement for the extension + +- Better overall documentation + +# 0.2.0 (2022-10-29) + +### Features + +- `ZModel` data modeling schema (an extension to [Prisma Schema](https://www.prisma.io/docs/concepts/components/prisma-schema)) + +- `zenstack` cli for generating RESTful services, auth adapters and React hooks from `ZModel` + +- Policy engine that transforms policy rules into Prisma query conditions + +- Runtime packages + +- An initial set of tests diff --git a/docs/_sidebar.md b/docs/_sidebar.md index e065cea09..7e1be8536 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -35,3 +35,4 @@ - [VSCode extension](vscode-extension.md) - [Reach out to the developers](reach-out.md) +- [Changelog](changelog) diff --git a/docs/index.html b/docs/index.html index c470e1a76..ede4b4cc5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -66,7 +66,10 @@ loadNavbar: true, subMaxLevel: 2, ga: 'UA-250121623-1', - alias: {}, + alias: { + '.*?/changelog': + 'https://raw.githubusercontent.com/zenstackhq/zenstack/main/CHANGELOG.md', + }, }; diff --git a/docs/modeling-your-app.md b/docs/modeling-your-app.md index af6a64d9b..5cb860652 100644 --- a/docs/modeling-your-app.md +++ b/docs/modeling-your-app.md @@ -163,6 +163,6 @@ model Post { } ``` -You can find more details about access policy [TBD here](). Also, check out the [Collaborative Todo App](https://github.com/zenstackhq/todo-demo-sqlite) sample for a more sophisticated policy design. +You can find more details about access policy [here](zmodel-access-policy.md). Also, check out the [Collaborative Todo App](https://github.com/zenstackhq/todo-demo-sqlite) sample for a more sophisticated policy design. Now you've got a fairly complete model for the app. Let's go ahead with [generating code](code-generation.md) from it then. diff --git a/package.json b/package.json index 4b5b22862..ef36861e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "0.3.23", + "version": "0.4.0-pre.1", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index cbd507854..52809a487 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/runtime", "displayName": "ZenStack Runtime Library", - "version": "0.3.23", + "version": "0.4.0-pre.1", "description": "Runtime of ZenStack for both client-side and server-side environments.", "repository": { "type": "git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 09d1908cb..8774c3586 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack Language Tools", "description": "A toolkit for modeling data and access policies in full-stack development with Next.js and Typescript", - "version": "0.3.23", + "version": "0.4.0-pre.1", "author": { "name": "ZenStack Team" }, diff --git a/samples/todo/package.json b/samples/todo/package.json index 9bedfc5a2..c0a8c92a6 100644 --- a/samples/todo/package.json +++ b/samples/todo/package.json @@ -1,6 +1,6 @@ { "name": "todo", - "version": "0.3.23", + "version": "0.4.0-pre.1", "private": true, "scripts": { "dev": "next dev",