uql-orm 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. Please add
4
4
 
5
5
  date format is [yyyy-mm-dd]
6
6
 
7
+ ## [0.5.2] - 2026-03-17
8
+ ### Testing
9
+ - **Suite reliability**: Ensured the full test suite runs without runtime errors across all dialects with coverage thresholds still met (>97% statements, >90% branches).
10
+
7
11
  ## [0.5.1] - 2026-03-15
8
12
  ### Chore
9
13
  - **Documentation**: Unified documentation strategy using NPM lifecycle scripts across subpackages.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![tests](https://github.com/rogerpadilla/uql/actions/workflows/tests.yml/badge.svg)](https://github.com/rogerpadilla/uql) [![Coverage Status](https://coveralls.io/repos/github/rogerpadilla/uql/badge.svg?branch=main)](https://coveralls.io/github/rogerpadilla/uql?branch=main) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/rogerpadilla/uql/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/uql-orm.svg)](https://www.npmjs.com/package/uql-orm)
6
6
 
7
- **[UQL](https://uql-orm.dev)** is a clean, ultra-fast TypeScript ORM designed for developers who value portability and performance. It eliminates the friction between SQL and MongoDB, providing a unified, type-safe experience without proprietary DSLs or heavy codegen steps.
7
+ **[UQL](https://uql-orm.dev)** is a clean, ultra-fast TypeScript ORM designed for developers who value portability and performance. [Measured at **3.9M+ ops/s**](https://github.com/rogerpadilla/ts-orm-benchmark), it delivers a 4x-40x overhead advantage over traditional ORMs. It eliminates the friction between SQL and MongoDB, providing a unified, type-safe experience without proprietary DSLs or heavy codegen steps.
8
8
 
9
9
  ```ts
10
10
  const results = await querier.findMany(User, {
@@ -22,10 +22,10 @@ const results = await querier.findMany(User, {
22
22
  | Feature | Why it matters |
23
23
  | :--- | :--- |
24
24
  | **[Intelligent Querying](https://uql-orm.dev/querying/relations)** | Deep auto-completion for operators and relations at any depth—no more guessing property names. |
25
- | **Serializable JSON** | 100% valid JSON queries. Send your query logic over HTTP or WebSockets as easily as a string. |
25
+ | **Serializable JSON** | 100% valid JSON queries. Send your query logic over HTTP, gRPC or WebSockets as easily as a string—the only ORM with a native cross-network protocol. |
26
26
  | **Unified Dialects** | Write once, run anywhere. Seamlessly switch between PostgreSQL, MySQL, SQLite, and MongoDB. |
27
27
  | **[Naming Strategies](https://uql-orm.dev/naming-strategy)** | No more `camelCase` vs `snake_case` headaches. Map your code to your database automatically. |
28
- | **Smart SQL Engine** | Zero-allocation SQL generation. Built for high-throughput apps where every millisecond counts. |
28
+ | **Smart SQL Engine** | Zero-allocation SQL generation. [1st in every benchmark category](https://github.com/rogerpadilla/ts-orm-benchmark). |
29
29
  | **Thread-Safe by Design** | Protect your data integrity with centralized task queues and the `@Serialized()` decorator. |
30
30
  | **[Declarative Transactions](https://uql-orm.dev/querying/transactions)** | Clean `@Transactional()` decorators that work beautifully with modern DI frameworks like NestJS. |
31
31
  | **[Lifecycle Hooks](https://uql-orm.dev/entities/lifecycle-hooks)** | Automate validation, timestamps, and computed logic with intuitive class-based decorators. |
@@ -35,6 +35,7 @@ const results = await querier.findMany(User, {
35
35
  | **[Modern & Versatile](https://uql-orm.dev/entities/virtual-fields)** | Pure ESM, high-res timing, built-in soft-delete, and first-class JSONB/JSON support. |
36
36
  | **[Database Migrations](https://www.uql-orm.dev/migrations)** | Entity-First synchronization. DDL is auto-generated by diffing your code against the live DB. |
37
37
  | **[Logging & Monitoring](https://www.uql-orm.dev/logging)** | High-visibility debugging with slow-query detection and high-contrast terminal output. |
38
+ | **[Fullstack Bridge](https://www.uql-orm.dev/comparison#network-boundaries--apis)** | Speak to your database from the browser securely. First-party `HttpQuerier` removes API boilerplate. |
38
39
 
39
40
   
40
41
 
@@ -254,6 +255,8 @@ export default {
254
255
  ```
255
256
 
256
257
  > **Senior Insight**: Don't overcomplicate your setup. Reusing the same connection pool for both your application and migrations reduces overhead and ensures consistent behavior (like naming strategies) across your entire stack.
258
+ >
259
+ > **Senior Insight**: In the 2026 landscape of AI and Edge, the ability to securely proxy queries via a **First-Party Bridge** (UQL) vs. running a local DB runtime (Drizzle/PGlite) or manual API mapping (Prisma) is the difference between shipping in days or weeks.
257
260
 
258
261
   
259
262
 
@@ -294,6 +297,20 @@ LIMIT 10 OFFSET 0
294
297
 
295
298
   
296
299
 
300
+ ### Modern Indexing: Semantic Search
301
+
302
+ AI-driven applications require ranking results by meaning. UQL treats vector similarity as a first-class citizen, allowing you to perform semantic search without raw SQL or proprietary extensions.
303
+
304
+ ```ts
305
+ const results = await querier.findMany(Item, {
306
+ $select: { id: true, title: true },
307
+ $sort: { $vector: { embedding: queryVector } },
308
+ $limit: 10,
309
+ });
310
+ ```
311
+
312
+  
313
+
297
314
  ### Advanced: Virtual Fields & Raw SQL
298
315
 
299
316
  Define complex logic directly in your entities using `raw` functions. These are resolved during SQL generation for peak efficiency.
@@ -565,6 +582,8 @@ const migrator = new Migrator(pool, {
565
582
  await migrator.autoSync({ logging: true });
566
583
  ```
567
584
 
585
+ > **Senior Insight**: In development, `autoSync` is your best friend. It keeps your schema alive as you iterate, but it’s uniquely designed to never drop columns or change types—ensuring your data remains safe while you move at light speed.
586
+
568
587
   
569
588
 
570
589
  ## 6. Logging & Monitoring
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "homepage": "https://uql-orm.dev",
4
4
  "description": "Fast, type-safe TypeScript ORM — one API for every database",
5
5
  "license": "MIT",
6
- "version": "0.5.2",
6
+ "version": "0.5.3",
7
7
  "type": "module",
8
8
  "sideEffects": false,
9
9
  "main": "./dist/index.js",
@@ -110,7 +110,7 @@
110
110
  "express": "^5.2.1",
111
111
  "mariadb": "^3.5.2",
112
112
  "mongodb": "^7.1.0",
113
- "mysql2": "^3.19.1",
113
+ "mysql2": "^3.20.0",
114
114
  "pg": "^8.20.0",
115
115
  "pg-query-stream": "^4.14.0"
116
116
  },
@@ -154,5 +154,5 @@
154
154
  "publishConfig": {
155
155
  "access": "public"
156
156
  },
157
- "gitHead": "ea2665cc5ef8f78f4f39d21ed456f8c59a06361e"
157
+ "gitHead": "ff21d2ff14c42a68b250df3f6c77368d3f15eda7"
158
158
  }