diff --git a/CHANGELOG.md b/CHANGELOG.md index 476fdae7..2ac996e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ Semver applies from 1.0.0. A breaking change to a documented API needs a major ## [Unreleased] +Nothing yet. + +## 20.1.0 - 2026-09-12 + ### Added - **[Bare VM](https://github.com/developerz-ai/ultimate/wiki/Bare-VM)** (`wiki/Bare-VM.md`): the @@ -66,6 +70,20 @@ Semver applies from 1.0.0. A breaking change to a documented API needs a major ### Fixed +- **The framework's own service-worker registration is no longer billed to the app's `js` budget.** + `/x-sw-register.js` is written by the framework and the author cannot edit, delete or move it, so + its bytes ate a budget nobody set and made every route on a fresh scaffold report it as the + `heaviestChain`. `measureDocumentJs` (`packages/cli/src/budgets.ts`) now counts it into + `frameworkBytes` and keeps it out of both `jsBytes` and `entries`, so `checkBudgets` compares the + declared `js` budget against the app's bytes alone and the framework's are reported per route as + `frameworkJsBytes` — counted, never charged. **And the number no longer depends on build order**: + `prerender` (`packages/cli/src/prerender.ts`) writes the registration BEFORE both measurements + instead of beside `sw.js` at the end, so it is a property of this build rather than of whatever + the output directory already held — 0 on a clean `out`, the previous build's copy on a reused + one. That is the run-order dependence the `jsBytes` split closed, which came straight back when + the field changed and the ORDER did not. `frameworkJsBytes` is optional on `RouteStats` because a + stats file written before this release carries no such key, and absent is not zero. + - **Every page stating `bin/setup`'s command list was two steps short.** The scaffold's script runs six — `bun install`, an `.env.development.local` touch, `x db gen "initial"` when `packages/db/migrations` holds no `.sql`, `x db migrate`, `x db seed`, `x manifest` — and nine @@ -88,6 +106,10 @@ Semver applies from 1.0.0. A breaking change to a documented API needs a major neither number. `wiki/Getting-Started.md`'s transcript is marked the same way, and its closing line is `next: bin/dev`. +### Commits + +- feat(cli,scripts,ci): the scaffold's own bin/setup and bin/check run green, and the app it emits carries CI (#431) + ## 20.0.0 - 2026-09-08 ### Added diff --git a/bun.lock b/bun.lock index 51e793a5..a3359172 100644 --- a/bun.lock +++ b/bun.lock @@ -17,30 +17,30 @@ "name": "social-media-clone", "version": "0.1.0", "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/cli": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/pwa": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/cli": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/pwa": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14", }, "devDependencies": { "@biomejs/biome": "^2.4.15", "@electric-sql/pglite": "^0.5.4", "@types/bun": "^1.4.0", - "@ultimat3/testing": "20.0.0", + "@ultimat3/testing": "20.1.0", "typescript": "^7.0.2", }, }, @@ -74,7 +74,7 @@ "name": "@social-media-clone/i18n", "version": "0.0.0", "dependencies": { - "@ultimat3/i18n": "20.0.0", + "@ultimat3/i18n": "20.1.0", }, }, "dummy/social-media-clone/packages/mcp": { @@ -89,13 +89,13 @@ "name": "@postly/root", "version": "0.0.1", "dependencies": { - "@ultimat3/cli": "20.0.0", - "@ultimat3/core": "20.0.0", + "@ultimat3/cli": "20.1.0", + "@ultimat3/core": "20.1.0", }, "devDependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/testing": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/testing": "20.1.0", "typescript": "7.0.2", }, }, @@ -105,11 +105,11 @@ "dependencies": { "@postly/db": "0.0.1", "@postly/web": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "examples/dummy/apps/web": { @@ -121,25 +121,25 @@ "@postly/domain": "0.0.1", "@postly/i18n": "0.0.1", "@postly/ui": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/auth": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/flags": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/seo": "20.0.0", - "@ultimat3/storage": "20.0.0", - "@ultimat3/testing": "20.0.0", - "@ultimat3/time": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/auth": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/flags": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/seo": "20.1.0", + "@ultimat3/storage": "20.1.0", + "@ultimat3/testing": "20.1.0", + "@ultimat3/time": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14", }, }, @@ -148,9 +148,9 @@ "version": "0.0.1", "dependencies": { "@postly/domain": "0.0.1", - "@ultimat3/core": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "examples/dummy/packages/db": { @@ -158,24 +158,24 @@ "version": "0.0.1", "dependencies": { "@postly/domain": "0.0.1", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", }, }, "examples/dummy/packages/domain": { "name": "@postly/domain", "version": "0.0.1", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/money": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/money": "20.1.0", }, }, "examples/dummy/packages/i18n": { "name": "@postly/i18n", "version": "0.0.1", "dependencies": { - "@ultimat3/i18n": "20.0.0", + "@ultimat3/i18n": "20.1.0", }, }, "examples/dummy/packages/mcp": { @@ -184,10 +184,10 @@ "dependencies": { "@postly/core": "0.0.1", "@postly/domain": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/testing": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/testing": "20.1.0", }, }, "examples/dummy/packages/ui": { @@ -196,136 +196,136 @@ "dependencies": { "@postly/domain": "0.0.1", "@postly/i18n": "0.0.1", - "@ultimat3/money": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14", }, }, "packages/action": { "name": "@ultimat3/action", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/admin": { "name": "@ultimat3/admin", - "version": "20.0.0", - "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/ui": "20.0.0", + "version": "20.1.0", + "dependencies": { + "@ultimat3/action": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/ui": "20.1.0", }, }, "packages/ai": { "name": "@ultimat3/ai", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/auth": { "name": "@ultimat3/auth", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/cache": { "name": "@ultimat3/cache", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/cli": { "name": "@ultimat3/cli", - "version": "20.0.0", + "version": "20.1.0", "bin": { "x": "./src/bin.ts", }, "dependencies": { "@babel/core": "^7.28.4", - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/auth": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/flags": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/manifest": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/notify": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/pwa": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/scraping": "20.0.0", - "@ultimat3/seo": "20.0.0", - "@ultimat3/storage": "20.0.0", - "@ultimat3/testing": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/auth": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/flags": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/manifest": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/notify": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/pwa": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/scraping": "20.1.0", + "@ultimat3/seo": "20.1.0", + "@ultimat3/storage": "20.1.0", + "@ultimat3/testing": "20.1.0", + "@ultimat3/time": "20.1.0", "babel-preset-solid": "^1.9.15", }, }, "packages/core": { "name": "@ultimat3/core", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/schema": "20.0.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/create-ultimate": { "name": "create-ultimate", - "version": "20.0.0", + "version": "20.1.0", "bin": { "create-ultimate": "./src/bin.ts", }, "dependencies": { - "@ultimat3/cli": "20.0.0", + "@ultimat3/cli": "20.1.0", }, }, "packages/db": { "name": "@ultimat3/db", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, "peerDependencies": { "@electric-sql/pglite": ">=0.5.0", @@ -336,210 +336,210 @@ }, "packages/entity": { "name": "@ultimat3/entity", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/flags": { "name": "@ultimat3/flags", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/http": { "name": "@ultimat3/http", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/i18n": { "name": "@ultimat3/i18n", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/jobs": { "name": "@ultimat3/jobs", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/mail": { "name": "@ultimat3/mail", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/manifest": { "name": "@ultimat3/manifest", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/query": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/query": "20.1.0", }, }, "packages/mcp": { "name": "@ultimat3/mcp", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/money": { "name": "@ultimat3/money", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/notify": { "name": "@ultimat3/notify", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/policy": { "name": "@ultimat3/policy", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/pwa": { "name": "@ultimat3/pwa", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/seo": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/seo": "20.1.0", }, }, "packages/query": { "name": "@ultimat3/query", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/realtime": { "name": "@ultimat3/realtime", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/query": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/query": "20.1.0", "nats": "2.29.3", }, }, "packages/render": { "name": "@ultimat3/render", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/seo": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/seo": "20.1.0", "sass": "1.102.0", }, }, "packages/schema": { "name": "@ultimat3/schema", - "version": "20.0.0", + "version": "20.1.0", }, "packages/scraping": { "name": "@ultimat3/scraping", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/storage": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/storage": "20.1.0", }, }, "packages/seo": { "name": "@ultimat3/seo", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/schema": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/schema": "20.1.0", }, }, "packages/storage": { "name": "@ultimat3/storage", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/testing": { "name": "@ultimat3/testing", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/time": "20.1.0", }, }, "packages/time": { "name": "@ultimat3/time", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", + "@ultimat3/core": "20.1.0", }, }, "packages/ui": { "name": "@ultimat3/ui", - "version": "20.0.0", + "version": "20.1.0", "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/time": "20.1.0", }, "peerDependencies": { "solid-js": "^1.9.0", diff --git a/docker/helm/Chart.yaml b/docker/helm/Chart.yaml index 1025c097..c7bd8d7e 100644 --- a/docker/helm/Chart.yaml +++ b/docker/helm/Chart.yaml @@ -9,8 +9,8 @@ type: application # `scripts/release.ts` rewrites both on every release through `setChartVersions` — a chart is not a # workspace, so the manifest loop cannot reach it and the script writes it by path instead. Never # hand-edit them: the chart moving on its own is how `appVersion` named an image tag nobody pushed. -version: 20.0.0 -appVersion: "20.0.0" +version: 20.1.0 +appVersion: "20.1.0" kubeVersion: ">=1.27.0-0" keywords: [bun, postgres, solidjs, ultimate] home: https://ultimate.dev diff --git a/dummy/social-media-clone/package.json b/dummy/social-media-clone/package.json index 665fd56f..a246bb51 100644 --- a/dummy/social-media-clone/package.json +++ b/dummy/social-media-clone/package.json @@ -22,27 +22,27 @@ "@biomejs/biome": "^2.4.15", "@electric-sql/pglite": "^0.5.4", "@types/bun": "^1.4.0", - "@ultimat3/testing": "20.0.0", + "@ultimat3/testing": "20.1.0", "typescript": "^7.0.2" }, "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/cli": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/pwa": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/cli": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/pwa": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14" }, "engines": { diff --git a/dummy/social-media-clone/packages/i18n/package.json b/dummy/social-media-clone/packages/i18n/package.json index 085e4bd5..0d1653e7 100644 --- a/dummy/social-media-clone/packages/i18n/package.json +++ b/dummy/social-media-clone/packages/i18n/package.json @@ -11,6 +11,6 @@ "typecheck": "tsc --noEmit -p ../../tsconfig.json" }, "dependencies": { - "@ultimat3/i18n": "20.0.0" + "@ultimat3/i18n": "20.1.0" } } diff --git a/examples/dummy/apps/admin/package.json b/examples/dummy/apps/admin/package.json index 9d86064f..a903a3f2 100644 --- a/examples/dummy/apps/admin/package.json +++ b/examples/dummy/apps/admin/package.json @@ -19,10 +19,10 @@ "dependencies": { "@postly/db": "0.0.1", "@postly/web": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/examples/dummy/apps/web/package.json b/examples/dummy/apps/web/package.json index 8fd69c4d..70380272 100644 --- a/examples/dummy/apps/web/package.json +++ b/examples/dummy/apps/web/package.json @@ -25,25 +25,25 @@ "@postly/domain": "0.0.1", "@postly/i18n": "0.0.1", "@postly/ui": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/auth": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/flags": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/seo": "20.0.0", - "@ultimat3/storage": "20.0.0", - "@ultimat3/testing": "20.0.0", - "@ultimat3/time": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/auth": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/flags": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/seo": "20.1.0", + "@ultimat3/storage": "20.1.0", + "@ultimat3/testing": "20.1.0", + "@ultimat3/time": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14" } } diff --git a/examples/dummy/package.json b/examples/dummy/package.json index 7b31871c..414369bf 100644 --- a/examples/dummy/package.json +++ b/examples/dummy/package.json @@ -24,13 +24,13 @@ "manifest": "x manifest --json" }, "devDependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/testing": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/testing": "20.1.0", "typescript": "7.0.2" }, "dependencies": { - "@ultimat3/cli": "20.0.0", - "@ultimat3/core": "20.0.0" + "@ultimat3/cli": "20.1.0", + "@ultimat3/core": "20.1.0" } } diff --git a/examples/dummy/packages/core/package.json b/examples/dummy/packages/core/package.json index 05a530b7..e6d9e7d3 100644 --- a/examples/dummy/packages/core/package.json +++ b/examples/dummy/packages/core/package.json @@ -17,8 +17,8 @@ }, "dependencies": { "@postly/domain": "0.0.1", - "@ultimat3/core": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/examples/dummy/packages/db/package.json b/examples/dummy/packages/db/package.json index 663f91c2..bced8343 100644 --- a/examples/dummy/packages/db/package.json +++ b/examples/dummy/packages/db/package.json @@ -20,8 +20,8 @@ }, "dependencies": { "@postly/domain": "0.0.1", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0" + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0" } } diff --git a/examples/dummy/packages/domain/package.json b/examples/dummy/packages/domain/package.json index 14b364bb..560ab58f 100644 --- a/examples/dummy/packages/domain/package.json +++ b/examples/dummy/packages/domain/package.json @@ -16,7 +16,7 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/money": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/money": "20.1.0" } } diff --git a/examples/dummy/packages/i18n/package.json b/examples/dummy/packages/i18n/package.json index 17d830fd..9151378a 100644 --- a/examples/dummy/packages/i18n/package.json +++ b/examples/dummy/packages/i18n/package.json @@ -17,6 +17,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/i18n": "20.0.0" + "@ultimat3/i18n": "20.1.0" } } diff --git a/examples/dummy/packages/mcp/package.json b/examples/dummy/packages/mcp/package.json index 95e87b57..4d1f0a75 100644 --- a/examples/dummy/packages/mcp/package.json +++ b/examples/dummy/packages/mcp/package.json @@ -19,9 +19,9 @@ "dependencies": { "@postly/core": "0.0.1", "@postly/domain": "0.0.1", - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/testing": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/testing": "20.1.0" } } diff --git a/examples/dummy/packages/ui/package.json b/examples/dummy/packages/ui/package.json index 9d5e31fe..9b08ecd0 100644 --- a/examples/dummy/packages/ui/package.json +++ b/examples/dummy/packages/ui/package.json @@ -18,9 +18,9 @@ "dependencies": { "@postly/domain": "0.0.1", "@postly/i18n": "0.0.1", - "@ultimat3/money": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/ui": "20.0.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/ui": "20.1.0", "solid-js": "1.9.14" } } diff --git a/framework.manifest.json b/framework.manifest.json index 9c692149..e9e17474 100644 --- a/framework.manifest.json +++ b/framework.manifest.json @@ -1,6 +1,6 @@ { "version": 1, - "buildId": "5457892e32848b3e228ef4ddcc854345148f05111b40e187bf91314e52374347", + "buildId": "bce0c1d32add76b812e131a668245b80d28c800d44b921463dcb926b58614b7b", "tiers": { "0": [ "core", @@ -48,187 +48,187 @@ "packages": [ { "name": "@ultimat3/core", - "version": "20.0.0", + "version": "20.1.0", "tier": 0, "private": false }, { "name": "@ultimat3/schema", - "version": "20.0.0", + "version": "20.1.0", "tier": 0, "private": false }, { "name": "@ultimat3/cache", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/db", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/flags", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/i18n", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/money", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/seo", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/storage", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/time", - "version": "20.0.0", + "version": "20.1.0", "tier": 1, "private": false }, { "name": "@ultimat3/auth", - "version": "20.0.0", + "version": "20.1.0", "tier": 2, "private": false }, { "name": "@ultimat3/entity", - "version": "20.0.0", + "version": "20.1.0", "tier": 2, "private": false }, { "name": "@ultimat3/http", - "version": "20.0.0", + "version": "20.1.0", "tier": 2, "private": false }, { "name": "@ultimat3/policy", - "version": "20.0.0", + "version": "20.1.0", "tier": 2, "private": false }, { "name": "@ultimat3/action", - "version": "20.0.0", + "version": "20.1.0", "tier": 3, "private": false }, { "name": "@ultimat3/jobs", - "version": "20.0.0", + "version": "20.1.0", "tier": 3, "private": false }, { "name": "@ultimat3/query", - "version": "20.0.0", + "version": "20.1.0", "tier": 3, "private": false }, { "name": "@ultimat3/realtime", - "version": "20.0.0", + "version": "20.1.0", "tier": 3, "private": false }, { "name": "@ultimat3/ai", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/mail", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/manifest", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/mcp", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/notify", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/pwa", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/render", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/ui", - "version": "20.0.0", + "version": "20.1.0", "tier": 4, "private": false }, { "name": "@ultimat3/admin", - "version": "20.0.0", + "version": "20.1.0", "tier": 5, "private": false }, { "name": "@ultimat3/cli", - "version": "20.0.0", + "version": "20.1.0", "tier": 5, "private": false }, { "name": "@ultimat3/scraping", - "version": "20.0.0", + "version": "20.1.0", "tier": 5, "private": false }, { "name": "@ultimat3/testing", - "version": "20.0.0", + "version": "20.1.0", "tier": 5, "private": false }, { "name": "create-ultimate", - "version": "20.0.0", + "version": "20.1.0", "tier": 6, "private": false } diff --git a/packages/action/package.json b/packages/action/package.json index e3431e3c..e44ad586 100644 --- a/packages/action/package.json +++ b/packages/action/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/action", - "version": "20.0.0", + "version": "20.1.0", "description": "The action primitive: one declaration projected to route, OpenAPI, client, MCP tool, job handle, tests", "license": "MIT", "type": "module", @@ -34,10 +34,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/admin/package.json b/packages/admin/package.json index 0bd506e0..7aedb595 100644 --- a/packages/admin/package.json +++ b/packages/admin/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/admin", - "version": "20.0.0", + "version": "20.1.0", "description": "Two dashboards: the /_x framework dev panels and the generated, AI-first app admin", "license": "MIT", "type": "module", @@ -32,20 +32,20 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/ui": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/ui": "20.1.0" } } diff --git a/packages/ai/package.json b/packages/ai/package.json index b997331f..a0e86fdc 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/ai", - "version": "20.0.0", + "version": "20.1.0", "description": "LLM gateway, versioned prompts, evals as tests, embeddings, hybrid vector search, RAG", "license": "MIT", "type": "module", @@ -32,14 +32,14 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/auth/package.json b/packages/auth/package.json index 60061daa..ed474618 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/auth", - "version": "20.0.0", + "version": "20.1.0", "description": "Sessions, passwords, OAuth, MFA and api keys — resolved to one Actor", "license": "MIT", "type": "module", @@ -31,8 +31,8 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/cache/package.json b/packages/cache/package.json index 2dd4495a..d21656e0 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/cache", - "version": "20.0.0", + "version": "20.1.0", "description": "Tagged caching: request memo, LRU, Redis, CDN — one invalidation graph", "license": "MIT", "type": "module", @@ -31,6 +31,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index 7be239df..3e12ac47 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/cli", - "version": "20.0.0", + "version": "20.1.0", "description": "The `x` binary: new, dev, build, verify, generate, db, mcp, doctor, deploy", "license": "MIT", "type": "module", @@ -37,34 +37,34 @@ }, "dependencies": { "@babel/core": "^7.28.4", - "@ultimat3/action": "20.0.0", - "@ultimat3/admin": "20.0.0", - "@ultimat3/ai": "20.0.0", - "@ultimat3/auth": "20.0.0", - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/flags": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/manifest": "20.0.0", - "@ultimat3/mcp": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/notify": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/pwa": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/render": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/scraping": "20.0.0", - "@ultimat3/seo": "20.0.0", - "@ultimat3/storage": "20.0.0", - "@ultimat3/testing": "20.0.0", - "@ultimat3/time": "20.0.0", + "@ultimat3/action": "20.1.0", + "@ultimat3/admin": "20.1.0", + "@ultimat3/ai": "20.1.0", + "@ultimat3/auth": "20.1.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/flags": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/manifest": "20.1.0", + "@ultimat3/mcp": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/notify": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/pwa": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/render": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/scraping": "20.1.0", + "@ultimat3/seo": "20.1.0", + "@ultimat3/storage": "20.1.0", + "@ultimat3/testing": "20.1.0", + "@ultimat3/time": "20.1.0", "babel-preset-solid": "^1.9.15" } } diff --git a/packages/core/package.json b/packages/core/package.json index 63cd5810..3d20f523 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/core", - "version": "20.0.0", + "version": "20.1.0", "description": "Ultimate's foundation: errors, context, env, config, clock, ids, logging, telemetry, lifecycle", "license": "MIT", "type": "module", @@ -37,6 +37,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/schema": "20.0.0" + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/create-ultimate/package.json b/packages/create-ultimate/package.json index 83b1d23f..dd6d5571 100644 --- a/packages/create-ultimate/package.json +++ b/packages/create-ultimate/package.json @@ -1,6 +1,6 @@ { "name": "create-ultimate", - "version": "20.0.0", + "version": "20.1.0", "description": "bunx create-ultimate myapp — scaffold an Ultimate monorepo", "license": "MIT", "type": "module", @@ -34,6 +34,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/cli": "20.0.0" + "@ultimat3/cli": "20.1.0" } } diff --git a/packages/db/package.json b/packages/db/package.json index d32e9be5..5a377b18 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/db", - "version": "20.0.0", + "version": "20.1.0", "description": "Postgres access, transactions, migrations and drift detection", "license": "MIT", "type": "module", @@ -31,7 +31,7 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" }, "peerDependencies": { "@electric-sql/pglite": ">=0.5.0" diff --git a/packages/entity/package.json b/packages/entity/package.json index 9771c770..50ef8932 100644 --- a/packages/entity/package.json +++ b/packages/entity/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/entity", - "version": "20.0.0", + "version": "20.1.0", "description": "A table + its domain type + invariants the database also enforces", "license": "MIT", "type": "module", @@ -31,9 +31,9 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/flags/package.json b/packages/flags/package.json index dd631955..bf46a4bb 100644 --- a/packages/flags/package.json +++ b/packages/flags/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/flags", - "version": "20.0.0", + "version": "20.1.0", "description": "Feature flags: permanent switches, and temporary ones that cannot be forgotten", "license": "MIT", "type": "module", @@ -31,6 +31,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/http/package.json b/packages/http/package.json index 7beab76b..01a37895 100644 --- a/packages/http/package.json +++ b/packages/http/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/http", - "version": "20.0.0", + "version": "20.1.0", "description": "Owned request lifecycle over Bun.serve: router, ordered pipeline, problem+json errors", "license": "MIT", "type": "module", @@ -31,9 +31,9 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/i18n/package.json b/packages/i18n/package.json index c482a3fc..df8af2ee 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/i18n", - "version": "20.0.0", + "version": "20.1.0", "description": "Dependency-free translator, catalog flattening, locale negotiation and loud missing-key rendering", "license": "MIT", "type": "module", @@ -35,6 +35,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/jobs/package.json b/packages/jobs/package.json index 0871e003..bf4673f5 100644 --- a/packages/jobs/package.json +++ b/packages/jobs/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/jobs", - "version": "20.0.0", + "version": "20.1.0", "description": "Durable background work: steps, transactional outbox, cron tasks, one driver interface", "license": "MIT", "type": "module", @@ -32,10 +32,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/mail/package.json b/packages/mail/package.json index 95ffdeec..3da30cfe 100644 --- a/packages/mail/package.json +++ b/packages/mail/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/mail", - "version": "20.0.0", + "version": "20.1.0", "description": "Transactional email as data: one template renders HTML and text, sent through a job.", "license": "MIT", "type": "module", @@ -31,10 +31,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/manifest/package.json b/packages/manifest/package.json index 9ca67466..9fdf138d 100644 --- a/packages/manifest/package.json +++ b/packages/manifest/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/manifest", - "version": "20.0.0", + "version": "20.1.0", "description": "x.manifest.json: deterministic generated facts, contract diff, AGENTS.md budget", "license": "MIT", "type": "module", @@ -31,10 +31,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/query": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/query": "20.1.0" } } diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 4f7b44d3..6dbc4d0f 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/mcp", - "version": "20.0.0", + "version": "20.1.0", "description": "MCP server, dev tools, and the action-to-tool projection \u2014 one authz system, two surfaces", "license": "MIT", "type": "module", @@ -31,13 +31,13 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/action": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/action": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/money/package.json b/packages/money/package.json index 394deca3..f426fc55 100644 --- a/packages/money/package.json +++ b/packages/money/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/money", - "version": "20.0.0", + "version": "20.1.0", "description": "Integer minor units with an attached currency: arithmetic, allocation, rounding, Intl formatting", "license": "MIT", "type": "module", @@ -34,7 +34,7 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/notify/package.json b/packages/notify/package.json index 634a4423..b3605353 100644 --- a/packages/notify/package.json +++ b/packages/notify/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/notify", - "version": "20.0.0", + "version": "20.1.0", "description": "Notifications: one declaration, many channels — fan-out, preference gate, digest window, delivery ledger, in-app inbox", "license": "MIT", "type": "module", @@ -35,9 +35,9 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/policy/package.json b/packages/policy/package.json index 2e27ee37..bf94c753 100644 --- a/packages/policy/package.json +++ b/packages/policy/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/policy", - "version": "20.0.0", + "version": "20.1.0", "description": "The one authz rule, evaluated identically in every surface", "license": "MIT", "type": "module", @@ -31,6 +31,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/pwa/package.json b/packages/pwa/package.json index 38c4b320..6a7a5784 100644 --- a/packages/pwa/package.json +++ b/packages/pwa/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/pwa", - "version": "20.0.0", + "version": "20.1.0", "description": "Generated service worker, web manifest, icons, push and version-skew handling.", "license": "MIT", "type": "module", @@ -31,7 +31,7 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/seo": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/seo": "20.1.0" } } diff --git a/packages/query/package.json b/packages/query/package.json index 495703c0..3925cd29 100644 --- a/packages/query/package.json +++ b/packages/query/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/query", - "version": "20.0.0", + "version": "20.1.0", "description": "The query primitive: a policy-checked read, optionally live, with cursor pagination and an incremental matcher", "license": "MIT", "type": "module", @@ -35,10 +35,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/http": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/http": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/realtime/package.json b/packages/realtime/package.json index 1c3dcbbf..2c336396 100644 --- a/packages/realtime/package.json +++ b/packages/realtime/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/realtime", - "version": "20.0.0", + "version": "20.1.0", "description": "Three-tier realtime: channels, live queries, local-first sync — one protocol, one mutator shape", "license": "MIT", "type": "module", @@ -36,8 +36,8 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/query": "20.0.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/query": "20.1.0", "nats": "2.29.3" } } diff --git a/packages/render/package.json b/packages/render/package.json index d910367e..4a9c2419 100644 --- a/packages/render/package.json +++ b/packages/render/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/render", - "version": "20.0.0", + "version": "20.1.0", "description": "The route primitive and the five render modes: static, isr, ssr, stream, spa.", "license": "MIT", "type": "module", @@ -36,10 +36,10 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/seo": "20.0.0", + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/seo": "20.1.0", "sass": "1.102.0" } } diff --git a/packages/schema/package.json b/packages/schema/package.json index a8bab6b9..8922440a 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/schema", - "version": "20.0.0", + "version": "20.1.0", "description": "Ultimate's validation seam: Standard Schema interface, the t namespace, JSON Schema output", "license": "MIT", "type": "module", diff --git a/packages/scraping/package.json b/packages/scraping/package.json index 9a0767ab..ff34e804 100644 --- a/packages/scraping/package.json +++ b/packages/scraping/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/scraping", - "version": "20.0.0", + "version": "20.1.0", "description": "Browser automation as a job: scrape() returns a JobHandle", "license": "MIT", "type": "module", @@ -30,9 +30,9 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/schema": "20.0.0", - "@ultimat3/storage": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/schema": "20.1.0", + "@ultimat3/storage": "20.1.0" } } diff --git a/packages/seo/package.json b/packages/seo/package.json index 056fdcf0..fcb1ecb4 100644 --- a/packages/seo/package.json +++ b/packages/seo/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/seo", - "version": "20.0.0", + "version": "20.1.0", "description": "Enforced SEO: typed meta, JSON-LD, sitemap, robots, feeds, responsive images, perf budgets", "license": "MIT", "type": "module", @@ -31,7 +31,7 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/schema": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/schema": "20.1.0" } } diff --git a/packages/storage/package.json b/packages/storage/package.json index c29ce431..8594fc4b 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/storage", - "version": "20.0.0", + "version": "20.1.0", "description": "Named disks over Bun.file and Bun.s3: safe keys, signed URLs, sniffed uploads", "license": "MIT", "type": "module", @@ -31,6 +31,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/testing/package.json b/packages/testing/package.json index 6fcb7205..74ffe772 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/testing", - "version": "20.0.0", + "version": "20.1.0", "description": "Test harness: cloned template DBs per worker, frozen clock, sealed network, 6 test types", "license": "MIT", "type": "module", @@ -33,16 +33,16 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/cache": "20.0.0", - "@ultimat3/core": "20.0.0", - "@ultimat3/db": "20.0.0", - "@ultimat3/entity": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/jobs": "20.0.0", - "@ultimat3/mail": "20.0.0", - "@ultimat3/policy": "20.0.0", - "@ultimat3/query": "20.0.0", - "@ultimat3/realtime": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/cache": "20.1.0", + "@ultimat3/core": "20.1.0", + "@ultimat3/db": "20.1.0", + "@ultimat3/entity": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/jobs": "20.1.0", + "@ultimat3/mail": "20.1.0", + "@ultimat3/policy": "20.1.0", + "@ultimat3/query": "20.1.0", + "@ultimat3/realtime": "20.1.0", + "@ultimat3/time": "20.1.0" } } diff --git a/packages/time/package.json b/packages/time/package.json index b19d05d6..a8794cc7 100644 --- a/packages/time/package.json +++ b/packages/time/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/time", - "version": "20.0.0", + "version": "20.1.0", "description": "UTC instants, DST-correct zone math, cron, durations and Intl formatting with an explicit timezone", "license": "MIT", "type": "module", @@ -34,6 +34,6 @@ "test": "bun test" }, "dependencies": { - "@ultimat3/core": "20.0.0" + "@ultimat3/core": "20.1.0" } } diff --git a/packages/ui/package.json b/packages/ui/package.json index e1ff96e0..8de6e426 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@ultimat3/ui", - "version": "20.0.0", + "version": "20.1.0", "description": "SolidJS design system: semantic design tokens, dark/RTL-ready SCSS modules, a11y primitives", "license": "MIT", "type": "module", @@ -44,10 +44,10 @@ "icons": "bun run src/icons/build-icons.ts" }, "dependencies": { - "@ultimat3/core": "20.0.0", - "@ultimat3/i18n": "20.0.0", - "@ultimat3/money": "20.0.0", - "@ultimat3/time": "20.0.0" + "@ultimat3/core": "20.1.0", + "@ultimat3/i18n": "20.1.0", + "@ultimat3/money": "20.1.0", + "@ultimat3/time": "20.1.0" }, "peerDependencies": { "solid-js": "^1.9.0" diff --git a/wiki/_Footer.md b/wiki/_Footer.md index 2a4421ee..0210eebc 100644 --- a/wiki/_Footer.md +++ b/wiki/_Footer.md @@ -5,7 +5,7 @@ them. No heading, deliberately. Reported 2026-08; rejected on those grounds. --> -**Ultimate** — v20.0.0 `As of 2026-09`. Stable API, semver from here. MIT licensed. What npm serves is `npm view @ultimat3/core version`, never this line. +**Ultimate** — v20.1.0 `As of 2026-09`. Stable API, semver from here. MIT licensed. What npm serves is `npm view @ultimat3/core version`, never this line. This footer is the **only** page that stamps a version. It renders under every wiki page, so one release bumps one line; a stamp on a second page is 46 hand-copies of one fact, and every one of them goes stale on the next tag.