Repository navigation
Warlock.js 5.37.1
Released 2026-10-24.
All 33 packages (@warlock.js/* and create-warlock) move to 5.37.1 together;
keep every family package on the same version. No breaking changes. Upgrade notes
below are optional clean-ups.
1. Multi-site pages in development and tests (web)
- Pages no longer answer 500 in multi-site apps under the development server and
the HTTP test server. The browser route table is read from Core's router, never
from a site's registration facade. Withweb.namedApiRoutes: falsethe table is
not computed at all, and a failure while building it is logged with its own phase.
2. Every 5xx page failure is logged (web, core)
- One error record per failed request, at error level, with the error message,
the source-mapped stack, the phase (translations, module load, middleware, session,
loader, metadata, render, stream, deferred data, error page), the page file, route,
site and request id. 4xx outcomes stay out of the error log. - Development and test error pages show the same details in a panel; production
stays generic.error.page.tsxreceives them asprops.debugoutside production. - Translation lookups that ran before the handler's error handling now report as the
translationsphase instead of a bare 500.logis exported from@warlock.js/core.
3. Upgrading the family with npm (core)
warlock updateon npm removes the family's (and Vite, Vitest,@vitest/*,
@vitejs/*) lock entries and re-resolves them in one install, so an existing
package-lock.jsoncan step to the new version. npm 11.6.2 or newer is required for
that step; older npm gets a warning naming the minimum. Family packages keep their
exact pins on each other.WL8010:warlock checkreports installed@warlock.js/*packages whose
versions differ.warlock upgradeno longer rewrites packages that are already newer than
--to, and its install hints name the package manager the project actually uses
(thepackageManagerfield, then a workspace file, then the newest lockfile).
4. Tests
- Vitest 5 duplicate-plugin warning fixed. A config that lists
lowerStage3Decorators()in the root and again in inline projects no longer warns.
Thevitest-inline-project-pluginsupgrade codemod lists repeated calls for review. - Worker lifetime for HTTP and database suites.
tests.resetDatabasetruncates
tables or collections before each file in worker lifetime (keeping the migration
ledger);resetTestDatabase(),workerDatabaseName()andtestWorkerId()come from
@warlock.js/core/tests; test HTTP servers a file leaves open are closed at the
next file.warlock add testwrites a projects layout where
WARLOCK_TEST_LIFETIME=workerturns worker lifetime, database reset and
isolate: falseon together, and the setup profiler recommends worker lifetime when
setup takes at least half of a run.
5. Development server (web)
- The HMR websocket attaches through Vite 8's
server.ws, so the
server.hmr.*deprecation warning is gone. - The client-bundle security check no longer reports the app's own
index.html
entry as an unjudged import.
6. Verification
The publish run repeats the full family gate (typecheck, tests, build, pack,
local-registry install and the blog app) before anything reaches npm, and checks the
blog against npm after publishing. Format, lint, public text, spec coverage, MDX,
shipped-docs and skill reference checks ran clean locally.