sanny-io
97d674ecdc
feat: phone validation ( #2672 )
2026-05-23 21:27:54 -07:00
github-actions[bot]
87644178b3
[CI] Bump version 3.7.1 ( #2678 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-05-22 08:31:58 -07:00
Lukas Wolf
7bc2fe57d7
feat(orm): implement delegateMap attribute ( #2676 )
2026-05-22 08:31:43 -07:00
Yiming Cao
ed01275e4a
chore: bump Kysely to 0.29 ( #2626 )
...
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:34:00 -07:00
Yiming Cao
026450bfe7
fix(orm): make orderBy nulls optional ( #2670 )
...
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 12:13:11 -07:00
Keath Pavlenko
1a4de21bdc
fix: detect policy plugin by stable id ( #2663 )
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
2026-05-11 18:28:16 -07:00
Erwan JOLY
ce50d3ba48
fix(orm): coerce ISO strings on DateTime input, with strictDateInput opt-in ( #2631 ) ( #2632 )
...
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 05:56:25 -07:00
github-actions[bot]
b53e908a5d
[CI] Bump version 3.7.0 ( #2656 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-05-07 22:35:13 -07:00
Yiming Cao
899e74daf6
test(regression): add regression test for issue #2639 ( #2657 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 21:47:35 -07:00
Yiming Cao
7283d0e4d1
fix(orm): handle cyclic JSON typedef references in zod factory ( #2654 ) ( #2655 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 20:51:04 -07:00
Erwan JOLY
d1db37cee5
fix(orm): format Date as HH:MM:SS for @db.Time / @db.Timetz columns ( #2633 ) ( #2634 )
2026-05-07 18:02:55 -07:00
ymc9
1997cf3e98
fix(orm): coalesce NULL → '' in single-field _ftsRelevance ORDER BY
...
`to_tsvector(NULL)` returns NULL and `ts_rank(NULL, ...)` therefore
returns NULL — under Postgres's default `NULLS FIRST` for `ORDER BY DESC`
this would surface NULL-valued rows ahead of any matching ones, an
asymmetry with the multi-field path where `concat_ws(' ', ...)` already
skips NULLs and yields a 0.0 rank. Coalescing the field to `''` aligns
the two paths.
Adds `subtitle: String? @fullText` to the test fixture and a regression
test that orders a NULL-subtitle row against a matching one — without
the fix, the NULL row ranks first under DESC.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 21:07:53 -07:00
ymc9
d0dd954827
feat(orm): add @fullText attribute and Postgres full-text search
...
Introduces a Prisma-style full-text search capability gated by a new
field-level `@fullText` ZModel attribute. PostgreSQL only — MySQL/SQLite
throw NotSupported. Mirrors the existing `@fuzzy` design.
- Filter operator: `where: { title: { fts: { search, config? } } }`
emits `to_tsvector(field) @@ to_tsquery(query)` (or with a `::regconfig`
cast when `config` is provided; otherwise Postgres uses the database's
`default_text_search_config`).
- OrderBy operator: `_ftsRelevance: { fields, search, config?, sort }`
emits a single `ts_rank(...)`. Multi-field combines fields with
`concat_ws(' ', ...)` so AND queries match terms across fields
(matches Prisma's behavior).
- Type-level gating: the `fts` operator and `_ftsRelevance` orderBy
appear only on String fields annotated with `@fullText` and only when
the schema's provider is `postgresql`. Slicing's `'FullText'` filter
kind controls availability of the runtime operator.
- Cursor pagination is rejected when combined with `_ftsRelevance`
(parallel to `_fuzzyRelevance`).
Also refactors `buildOrderBy` to dispatch to small per-branch helpers
(`applyScalarOrderBy`, `applyAggregationOrderBy`, `applyRelationOrderBy`,
`applyFuzzyRelevanceOrderBy`, `applyFtsRelevanceOrderBy`).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 11:34:30 -07:00
Yiming Cao
d5e790061a
fix(orm, zod): allow null in inferred type of required Json fields ( #2647 ) ( #2649 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 19:14:07 -07:00
Yiming Cao
8ddbfdebdc
feat(orm): add field-level @fuzzy attribute to gate fuzzy search ( #2642 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 12:41:09 -07:00
Yiming Cao
eff4263c47
refactor(tanstack-query, orm): thread plugin generics through transactions ( #2645 )
...
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 10:56:06 -07:00
docloulou
679f91fc26
feat(orm): add fuzzy search and relevance ordering (PostgreSQL) ( #2573 )
...
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-05-03 20:11:03 -07:00
Yiming Cao
9cef0272e7
chore: upgrade to TypeScript 6 ( #2629 )
2026-04-29 20:41:27 -07:00
Yiming Cao
2a10bcae09
fix(orm): export UncheckedCreateInput/CheckedCreateInput and add XOR to UpdateInput ( #2627 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 14:44:21 -07:00
Yiming Cao
d30ebade7f
fix(policy): resolve inherited fields in delegate sub-type create policy checks ( #2623 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 18:23:37 -07:00
github-actions[bot]
80c0bd6d68
[CI] Bump version 3.6.4 ( #2624 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-27 17:50:05 -07:00
github-actions[bot]
8609d5b3e3
[CI] Bump version 3.6.3 ( #2613 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-24 21:21:24 -07:00
Yiming Cao
09ca875066
test(regression): add regression test for issue #2538 ( #2607 )
2026-04-22 16:32:01 -07:00
ymc9
fa94d38bb2
test(regression): add regression test for issue #2538
...
Adds a regression test for nested collection predicates in access
policies generating valid SQL (issue #2538 ).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 15:59:06 -07:00
Yiming Cao
40c45944cc
fix(orm): resolve implicit m2m join table schema for non-public PostgreSQL schemas ( #2606 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 15:21:43 -07:00
Yiming Cao
1cf4345ffa
fix(policy): join base table when loading before-update entities for @@delegate sub-models ( #2605 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 11:59:30 -07:00
github-actions[bot]
fd8db57ef2
[CI] Bump version 3.6.2 ( #2604 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-22 10:54:53 -07:00
Yiming Cao
14e1d55544
chore: fix up test case ( #2600 )
2026-04-21 17:33:06 -07:00
Lukas Kahwe Smith
bfdfce13c0
fix(orm): accept plain date strings in DateTime @db.Date field filters ( #2572 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-21 16:46:30 -07:00
github-actions[bot]
a1374c042f
[CI] Bump version 3.6.1 ( #2598 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-21 08:52:19 -07:00
Erwan JOLY
3398c87dbb
fix(orm): return @db.Time fields as Date instead of raw string ( #2589 ) ( #2590 )
2026-04-18 20:17:45 -07:00
Eugen Istoc
4e35bc163b
fix(orm): resolve delegate-inherited fields in cursor pagination ( #2591 )
2026-04-18 15:50:06 -07:00
Yiming Cao
09b96e4ed3
fix(orm): make JsonArray mutable to fix Zod schema type incompatibility ( #2585 )
2026-04-16 22:03:39 -07:00
Yiming Cao
c858bbd4cf
feat(language): allow relation fields in type declarations for mixin use cases ( #2583 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 20:01:12 -07:00
Evgenii Novalov
36da18a17f
perf(orm): use EXISTS instead of COUNT subquery for to-one relation filters ( #2579 )
...
Co-authored-by: evgenovalov <evgenii@flowlity.com>
2026-04-15 13:07:16 -07:00
Yiming Cao
b8209d7eeb
chore: migrate from tsup to tsdown ( #2580 )
2026-04-15 12:13:34 -07:00
Lukas Kahwe Smith
3393e4cc21
@computed fields from mixin types (with) cause column does not exist error when the model is explicitly included (#2539 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 13:49:35 -07:00
Yiming Cao
dc26257553
feat(server): add OpenAPI spec generation for RPC API ( #2574 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 21:35:24 -07:00
github-actions[bot]
3dc922d6a9
[CI] Bump version 3.6.0 ( #2571 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-11 19:18:20 -07:00
Yiming Cao
39a0a28c51
fix(orm): enforce at most one key per orderBy array element ( #2563 )
2026-04-06 19:16:27 -07:00
Yiming Cao
d22709fb55
fix(orm): prepend DISTINCT ON fields to ORDER BY for PostgreSQL compatibility ( #2562 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Yiming Cao <ymc9@users.noreply.github.com>
2026-04-06 16:47:45 -07:00
github-actions[bot]
df9b35ea64
[CI] Bump version 3.5.6 ( #2560 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-06 13:14:51 -07:00
Yiming Cao
e9482fe34f
fix(orm): fix _count returning 0 for self-referential relations on delegate models ( #2555 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:16:39 -07:00
Yiming Cao
744c760ac4
fix(orm): split jsonb_build_object calls exceeding PostgreSQL 100-arg limit ( #2554 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 15:49:18 -07:00
Yiming Cao
dbb3474c65
fix(orm): support DbNull/JsonNull/AnyNull for nullable typed JSON fields ( #2552 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 15:08:57 -07:00
github-actions[bot]
0495333ca3
[CI] Bump version 3.5.5 ( #2553 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-03 14:13:43 -07:00
Yiming Cao
a81d8f4f52
test(regression): add regression test for issue #2410 ( #2549 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:10:06 -07:00
Emil Redzik
c6c8ad1906
fix(orm): unify zenstack v3 and prisma behavior on empty branches in OR filter ( #2528 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-02 23:44:28 -07:00
motopods
5a60fb227d
fix(orm): type inference for polymorphic models ( #2543 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-04-02 22:52:10 -07:00
github-actions[bot]
263074ce78
[CI] Bump version 3.5.4 ( #2545 )
...
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
2026-04-02 10:23:46 -07:00