Repository navigation
eve@1.0.0-rc.0
Pre-release
Pre-release
·
8 commits
to main
since this release
Released 2026-10-30 · Compare with 0.91.0
Breaking Changes
- eve 1.0 puts stable APIs under semantic versioning: they change incompatibly only in a major release, and a deprecated API keeps working until the next one.
The stability policy lists which APIs are stable and which are experimental. To move an existing project, follow Upgrade to 1.0. (#5620)
Features
- Setup prompts for coding agents from a prerelease eve CLI now use its dist-tag, such as
npx eve@rc init, instead ofnpx eve@latest. (#5620) eve addnow installs a registry item on an eve prerelease, such as1.0.0-rc.0, when that version meets the item's minimum eve version.
Previously no prerelease satisfied a requirement such as>=0.62.0, so every item that declared one failed with "This registry item requires eve". (#5620)
Bug Fixes
- A
HEADrequest to a channel path that declaresGETbut notHEADnow gets405 Method Not Allowedwith anAllowheader instead of404, and theGEThandler doesn't run.
DeclareHEAD()on a path to answerHEADrequests there, under any parameter name:HEAD("/items/:itemId")answers forGET("/items/:id"). Paths that already declareHEAD(), such as/and/eve/v1/health, are unchanged. On a CORS-enabled path, the405carries the CORS headers, so a browser can read it.
eve buildandeve devno longer merge the app root'snitro.config,.nitrorc, or.envfiles into eve's own Nitro host, and no longer serve an app-rootserver.*orindex.htmlas a catch-all in front of eve's routes. A Nitro app that shares its root with an eve agent, such as a TanStack Start host, keeps its Nitro configuration to itself. eve still loads.env,.env.local,.env.development, and.env.development.localforeve devthrough its own environment handling, and still serves files in an app-rootpublic/directory as static files.
eve devnow rebuilds its host when a connection turns on events or an extension mount changes the package export it imports. Before, those edits reused the running host, so the event receiver route or the new mount stayed missing untileve devrestarted. (#5692) - Background work a channel route registers with
waitUntilwhile its streamed response is still being sent now runs to completion on hosted platforms, instead of being dropped.
Channel routeparamskeep encoded path separators (%2Fand%5C) encoded, so a param can no longer contain a/or\that the request path never had. Other percent-encoded characters are still decoded, so/files/caf%C3%A9givescafé; a handler that expected%2Fdecoded to/must now decode it itself.
Agent text that mentions a Nitro build constant such asimport.meta.devnow reaches production builds unchanged, instead of being rewritten to its value or failing the build. Skill files are embedded in the server bundle instead of Nitro server assets, so hosted output no longer ships Nitro's storage layer unless authored code imports Nitro storage itself.
A channel path that declares bothGET()andWS()now accepts WebSocket upgrades, which theGETroute used to answer as a plain HTTP request. WebSocket routes register forGETonly, the method an upgrade uses. Because one handler serves both, the two routes must name their path parameters the same way;eve buildrejects a pair such asGET("/rooms/:id")andWS("/rooms/:room").
Vercel service builds keep the schedule consumer function and its queue trigger, so dynamic schedules deliver their occurrences.
eve startnow runs the server's shutdown hooks, such as flushing instrumentation, when it stops the server in an environment that setsCI. The built server no longer inheritsCIorNITRO_UNIX_SOCKETfromeve start.
A server without eve's workflow program runtime installed now fails a generated workflow program with an error that explains why, instead of importing the runtime from a path hosted output can't resolve. (#5698) - Show the expected GitHub-side result as the gh tool's activity label instead of the generic tool name. (#5668)