Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: zenstackhq/zenstack
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.9.5
Choose a base ref
...
head repository: zenstackhq/zenstack
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: dev
Choose a head ref
  • 15 commits
  • 67 files changed
  • 12 contributors

Commits on Sep 22, 2026

  1. fix(policy): skip per-row create checks when the filter doesn't refer…

    …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>
    4 people authored Sep 22, 2026
    Configuration menu
    Copy the full SHA
    2724ff6 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2026

  1. fix(orm): handle mapping enum array (#2819)

    Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
    Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
    3 people authored Sep 23, 2026
    Configuration menu
    Copy the full SHA
    ea42cc1 View commit details
    Browse the repository at this point in the history
  2. [CI] Bump version 3.9.6 (#2850)

    Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
    github-actions[bot] and ymc9 authored Sep 23, 2026
    Configuration menu
    Copy the full SHA
    76dced2 View commit details
    Browse the repository at this point in the history
  3. fix(policy): do not treat Json kind keys as Kysely nodes (#2809)

    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>
    4 people authored Sep 23, 2026
    Configuration menu
    Copy the full SHA
    aa89ff5 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2026

  1. [CI] Bump version 3.9.7 (#2856)

    Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
    github-actions[bot] and ymc9 authored Sep 25, 2026
    Configuration menu
    Copy the full SHA
    1d378fd View commit details
    Browse the repository at this point in the history
  2. fix(orm): variance-annotate ToManyRelationUpdateInput to avoid excess…

    …ively deep instantiation (#2855)
    
    Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
    ymc9 and claude authored Sep 25, 2026
    Configuration menu
    Copy the full SHA
    f239b08 View commit details
    Browse the repository at this point in the history
  3. fix(orm): keep omitted fields in derived relation subquery for nested…

    … includes and ordering (#2857)
    
    Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
    ymc9 and claude authored Sep 25, 2026
    Configuration menu
    Copy the full SHA
    b812e11 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2026

  1. fix(policy): generate index-friendly SQL for uuid auth() comparisons …

    …and collection predicates on PostgreSQL
    
    Fixes two of the three patterns reported in #2851 that prevent PostgreSQL
    from using indexes when evaluating access policies.
    
    1. `field == auth().id` no longer casts the column. The policy transformer
       now resolves `auth().x` member chains against the auth model so both
       sides carry their native type, and the PostgreSQL dialect skips casting
       when a natively-typed column is compared against a bound value. For
       `@db.Uuid` the value is format-checked up front so a malformed auth id
       yields a constant result (denied) instead of a database error.
       Text-like native types (text/varchar/char/citext) are compared natively
       too. Other native types keep the previous column cast.
    
    2. Collection predicates (`?`, `!`, `^`) compile to `exists` / `not exists`
       instead of a correlated `count(1) > 0` aggregate, letting the planner
       use a semi-join that can start from the indexed side.
    
    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    ymc9 and claude committed Sep 28, 2026
    Configuration menu
    Copy the full SHA
    e3d26d4 View commit details
    Browse the repository at this point in the history
  2. fix(orm): keep null uuid columns from matching malformed auth() != …

    …comparisons
    
    A malformed uuid compared with `!=` now compiles to `column is not null`
    instead of a constant `true`, preserving SQL null semantics for nullable
    columns (previously `cast(col as text) != $1` yielded null and excluded
    the row).
    
    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    ymc9 and claude committed Sep 28, 2026
    Configuration menu
    Copy the full SHA
    8c3aca0 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2026

  1. test: fix implicit any in issue-2851 regression test

    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    ymc9 and claude committed Sep 29, 2026
    Configuration menu
    Copy the full SHA
    3a492d3 View commit details
    Browse the repository at this point in the history
  2. fix(policy): index-friendly SQL for uuid auth() comparisons and colle…

    …ction predicates on PostgreSQL (#2859)
    ymc9 authored Sep 29, 2026
    Configuration menu
    Copy the full SHA
    e54be72 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e7ba2fa View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2026

  1. feat(language): implicitly convert enum references to arrays (#2807)

    Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
    Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
    3 people authored Oct 5, 2026
    Configuration menu
    Copy the full SHA
    b51d33c View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2026

  1. feat(policy): field-level update policies on M2M relation fields (#2858)

    Co-authored-by: Ludovic Motte <ludovic.motte@orange.com>
    Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
    Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
    4 people authored Oct 10, 2026
    Configuration menu
    Copy the full SHA
    c46fbad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b6e0a8f View commit details
    Browse the repository at this point in the history
Loading