Skip to content

merge dev to main (v3.3.3)#663

Merged
ymc9 merged 4 commits intomainfrom
dev
Feb 6, 2026
Merged

merge dev to main (v3.3.3)#663
ymc9 merged 4 commits intomainfrom
dev

Conversation

@ymc9
Copy link
Member

@ymc9 ymc9 commented Feb 6, 2026

Summary by CodeRabbit

Release Notes v3.3.3

  • New Features

    • Added database type modifiers: TinyText, MediumText, LongText, UnsignedInt, UnsignedSmallInt, UnsignedMediumInt, UnsignedBigInt, MediumInt, Year, Float, Double, LongBlob, Binary, VarBinary, TinyBlob, Blob, and MediumBlob for more precise column type definitions.
    • Improved PostgreSQL array query support with proper element type casting.
  • Bug Fixes

    • Enhanced handling of computed fields in client queries to prevent unnecessary network calls.

ymc9 and others added 4 commits February 3, 2026 12:18
…ent (#658)

* fix(proxy): add omit configuration for computed fields in ZenStackClient

* fix typo
Co-authored-by: ymc9 <104139426+ymc9@users.noreply.github.com>
* fix(orm): properly cast values for array filters for postgres

fixes #651

* add missing Array conversion

* refactor
Copilot AI review requested due to automatic review settings February 6, 2026 12:11
@claude
Copy link

claude bot commented Feb 6, 2026

Claude finished @ymc9's task —— View job


Code Review for v3.3.3 Release (dev → main)

Reviewing the pull request for v3.3.3 release merge from dev to main.

Todo List:

  • Read repository guidelines from CLAUDE.md
  • Review ORM dialect changes (PostgreSQL, MySQL, SQLite)
  • Review CLI proxy action changes
  • Review language stdlib additions
  • Review new regression test (issue-651)
  • Check for security concerns
  • Check for performance implications
  • Provide final recommendations

✅ Code Review Summary

This release includes 4 meaningful commits with mostly high-quality changes. Here's my analysis:

🔧 Core Bug Fixes

1. PostgreSQL Array Filter Type Casting (#662)

  • Location: packages/orm/src/client/crud/dialects/postgresql.ts:286-301
  • Fix: Added proper type casting for array operations to prevent PostgreSQL type mismatch errors
  • Quality: ✅ Excellent - Addresses the root cause by casting ARRAY[value] to proper SQL types
  • Test Coverage: ✅ Comprehensive regression test added in tests/regression/test/issue-651.test.ts

2. Computed Fields Proxy Configuration (#658)

  • Location: packages/cli/src/actions/proxy.ts:76-95
  • Fix: Automatically omits computed fields from ZenStackClient to prevent runtime errors
  • Quality: ✅ Good - Clean implementation that builds omit config from schema analysis
  • Security: ✅ No concerns - only configuration changes

📚 Language Enhancements

3. MySQL Native Type Mapping (#652)

  • Location: packages/language/res/stdlib.zmodel:429-488
  • Enhancement: Added 21 new MySQL-specific type attributes (@db.TinyText, @db.UnsignedInt, etc.)
  • Quality: ✅ Good - Comprehensive MySQL type support, follows existing patterns
  • Compatibility: ✅ Backwards compatible additions

📦 Version Bump

4. Version 3.3.3 Release (#659)

  • Scope: 33 package.json files updated
  • Quality: ✅ Standard - Automated version bump, consistent across monorepo

🛡️ Security Analysis

  • No security concerns identified
  • ✅ Input validation properly maintained in array operations
  • ✅ SQL injection protection through parameterized queries unchanged
  • ✅ No credential or sensitive data exposure

Performance Analysis

  • Positive impact: Type casting fix eliminates unnecessary query failures/retries
  • No regressions: Array operations use efficient PostgreSQL native operators
  • Computed field omission: Reduces client payload size by excluding computed fields

🧪 Test Coverage

  • Excellent: New regression test covers all array filter operations (equals, has, hasSome, hasEvery, isEmpty)
  • Comprehensive: Tests both positive and negative cases with realistic data
  • PostgreSQL-specific: Properly targets the database dialect that needed the fix

🎯 Final Recommendation

✅ APPROVED - This release is ready for merge. The changes are:

  1. Well-tested with comprehensive regression coverage
  2. Focused on specific bug fixes without unnecessary scope creep
  3. Backwards compatible with no breaking changes
  4. Properly typed with excellent TypeScript integration
  5. Performance neutral or positive

The PostgreSQL array casting fix is particularly well-implemented, addressing the core type mismatch issue while maintaining the existing API surface.


@coderabbitai
Copy link

coderabbitai bot commented Feb 6, 2026

📝 Walkthrough

Walkthrough

This release increments the monorepo version from 3.3.2 to 3.3.3, introducing computed field handling in the CLI proxy via omit configuration, expanding database type modifiers in stdlib, enhancing dialect methods for typed array containment, improving PostgreSQL float type mapping, and adding a regression test for float array queries.

Changes

Cohort / File(s) Summary
Version Bumps
package.json, packages/auth-adapters/better-auth/package.json, packages/cli/package.json, packages/clients/client-helpers/package.json, packages/clients/tanstack-query/package.json, packages/common-helpers/package.json, packages/config/eslint-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/plugins/policy/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, tests/e2e/package.json, tests/regression/package.json, tests/runtimes/bun/package.json, tests/runtimes/edge-runtime/package.json
Bumped version field from 3.3.2 to 3.3.3 across all package manifests.
CLI Proxy Computed Fields
packages/cli/src/actions/proxy.ts
Added logic to build omit configuration for computed fields from schema models and pass to ZenStackClient. Iterates over schema fields marked with computed flag and aggregates them per model.
Language Stdlib Type Modifiers
packages/language/res/stdlib.zmodel
Added 20 new @db attribute modifiers: TinyText, MediumText, LongText (StringField); UnsignedInt, UnsignedSmallInt, UnsignedMediumInt, UnsignedTinyInt, MediumInt, TinyInt, Year (IntField); UnsignedBigInt (BigIntField); Float, Double (FloatField); DateTime (DateTimeField); LongBlob, Binary, VarBinary, TinyBlob, Blob, MediumBlob (BytesField).
Array Containment Dialect Updates
packages/orm/src/client/crud/dialects/base-dialect.ts, packages/orm/src/client/crud/dialects/mysql.ts, packages/orm/src/client/crud/dialects/postgresql.ts, packages/orm/src/client/crud/dialects/sqlite.ts
Updated buildArrayContains method signature across all dialects to include optional elemType parameter. PostgreSQL implementation adds conditional type-casting for array values based on provided element type.
PostgreSQL Float Mapping
packages/orm/src/client/helpers/schema-db-pusher.ts
Extended floatType mapping for PostgreSQL provider to explicitly return 'double precision' instead of falling through to generic 'real' default.
Build Configuration & Tests
turbo.json, tests/regression/test/issue-651.test.ts
Added "samples/**" to turbo build task inputs for incremental build coverage. Added regression test validating float array queries on PostgreSQL with operators: equals, has, hasSome, hasEvery, isEmpty.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 Version three-three-three hops into view,
With database types—twenty shades bright and new!
Float arrays now cast with precision so true,
Computed fields neatly omitted on cue,
Tests verified, the journey shines through! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'merge dev to main (v3.3.3)' describes a merge operation and version bump, which aligns with the changeset containing version bumps across 27 package.json files, stdlib.zmodel expansions, and feature implementations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

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 and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request merges the dev branch to main for version 3.3.3, which includes bug fixes for PostgreSQL Float array operations, support for additional database type modifiers, and improvements to computed field handling in the CLI proxy.

Changes:

  • Fixed PostgreSQL Float array operations by adding proper type casting for array contains operations
  • Added support for MySQL-specific database type modifiers in the ZModel language specification
  • Enhanced CLI proxy to automatically omit computed fields from database operations
  • Updated turbo.json to include samples directory in build inputs for better incremental build detection

Reviewed changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated no comments.

Show a summary per file
File Description
turbo.json Added samples/** to build inputs to trigger rebuilds when sample code changes
tests/regression/test/issue-651.test.ts New test verifying Float array operators (has, hasSome, hasEvery, equals, isEmpty) work correctly on PostgreSQL
packages/orm/src/client/helpers/schema-db-pusher.ts Added 'double precision' type mapping for PostgreSQL Float type
packages/orm/src/client/crud/dialects/base-dialect.ts Updated buildArrayContains signature to accept optional elemType parameter
packages/orm/src/client/crud/dialects/postgresql.ts Enhanced buildArrayContains to properly cast Float arrays to 'double precision[]' type
packages/orm/src/client/crud/dialects/sqlite.ts Updated buildArrayContains signature for consistency
packages/orm/src/client/crud/dialects/mysql.ts Updated buildArrayContains signature for consistency
packages/language/res/stdlib.zmodel Added MySQL-specific database type attributes (TinyText, MediumText, LongText, UnsignedInt, etc.)
packages/cli/src/actions/proxy.ts Added logic to automatically build omit configuration for computed fields
All package.json files Bumped version from 3.3.2 to 3.3.3

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ymc9 ymc9 added this pull request to the merge queue Feb 6, 2026
Merged via the queue into main with commit 7dd398c Feb 6, 2026
17 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.

2 participants