Skip to content

merge dev to main (v3.9.6) - #2853

Merged
ymc9 merged 4 commits into
mainfrom
dev
Sep 24, 2026
Merged

ymc9 merged 4 commits into
mainfrom
dev

Conversation

@ymc9

@ymc9 ymc9 commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Bug Fixes
    • Corrected handling of JSON values with a kind field during policy checks, while preserving rejection of unauthorized creates.
    • Fixed querying and updating enum arrays with mapped values.
    • Reduced redundant policy checks for batch creates when the policy does not depend on individual rows.
  • Release
    • Updated package versions to 3.9.6.

bgowers and others added 4 commits September 22, 2026 16:47
…ence the row (#2842)

Co-authored-by: Ben <benjamingowers@resolutiion.com>
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
Co-authored-by: Yuzhong Zhang <BetterAndBetterII@users.noreply.github.com>
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: zenstackhq/zenstack/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 46c1a448-387b-4f91-b825-5da2f86b2da6

📥 Commits

Reviewing files that changed from the base of the PR and between d18f990 and aa89ff5.

📒 Files selected for processing (33)
  • package.json
  • packages/auth-adapters/better-auth/package.json
  • packages/cli/package.json
  • packages/clients/client-helpers/package.json
  • packages/clients/fetch-client/package.json
  • packages/clients/tanstack-query/package.json
  • packages/common-helpers/package.json
  • packages/config/eslint-config/package.json
  • packages/config/tsdown-config/package.json
  • packages/config/typescript-config/package.json
  • packages/config/vitest-config/package.json
  • packages/create-zenstack/package.json
  • packages/ide/vscode/package.json
  • packages/language/package.json
  • packages/orm/package.json
  • packages/orm/src/client/executor/name-mapper.ts
  • packages/plugins/policy/package.json
  • packages/plugins/policy/src/policy-handler.ts
  • packages/plugins/soft-delete/package.json
  • packages/schema/package.json
  • packages/sdk/package.json
  • packages/server/package.json
  • packages/testtools/package.json
  • packages/zod/package.json
  • samples/orm/package.json
  • samples/taskforge/package.json
  • tests/e2e/package.json
  • tests/regression/package.json
  • tests/regression/test/issue-2791.test.ts
  • tests/regression/test/issue-2818.test.ts
  • tests/regression/test/issue-2841.test.ts
  • tests/runtimes/bun/package.json
  • tests/runtimes/edge-runtime/package.json

Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The 3.9.6 release updates package versions and changes ORM enum-array mapping and create-policy handling. Regression tests cover enum arrays, JSON create values with top-level kind keys, and pre-create policy checks.

Changes

3.9.6 Release Fixes

Layer / File(s) Summary
Enum array mapping
packages/orm/src/client/executor/name-mapper.ts, tests/regression/test/issue-2818.test.ts
Enum mapping now handles arrays of values and maps selected array elements individually. Regression tests cover fully and partially mapped enums, reads, updates, and array operations.
JSON create-value handling
packages/plugins/policy/src/policy-handler.ts, tests/regression/test/issue-2791.test.ts
Create-value unwrapping distinguishes operation nodes from raw values by row node kind. Tests cover JSON payloads with top-level kind keys during create, createMany, and update operations.
Create policy checks
packages/plugins/policy/src/policy-handler.ts, tests/regression/test/issue-2841.test.ts
For non-many-to-many models, pre-create policy checks return early when the filter is unconditionally true. Tests cover row-dependent and non-row-dependent filters.
Package version updates
package.json, packages/**/package.json, samples/*/package.json, tests/**/package.json
Package manifests across the repository change their version from 3.9.5 to 3.9.6.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to aa89f

This release fixes three things: mapped enum arrays now read and write correctly, JSON values containing a "kind" key are no longer mistaken for internal query nodes during policy-checked creates, and constant-true create policies no longer run redundant per-row checks. Regression tests cover these fixes, the remaining changes are version bumps, and no merge-blocking issue was identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (28 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately identifies the merge from dev to main and the v3.9.6 release, which matches the pull request objective and version changes.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (28 skipped: 28 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ymc9
ymc9 merged commit 9bee882 into main Sep 24, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants