Skip to content

Releases: afx-team/evjs

v0.1.4

09 May 10:22

Choose a tag to compare

Runtime

  • Added createApp({ router }) passthrough for TanStack Router native options, including disableGlobalCatchBoundary.
  • Re-exported more TanStack Router components, hooks, history helpers, search middleware utilities, URL rewrite helpers, route mask utilities, and router event types from @evjs/client.

Refactoring

  • Moved the server function endpoint config to server.functions.endpoint to match the resolved server function config shape.

Documentation

  • Updated the Quick Start dependency examples to the 0.1.4 release line.
  • Expanded client routing docs for runtime router options, router events, search middlewares, loader cache options, and route masks.

v0.1.3

09 May 03:18

Choose a tag to compare

Improvements

  • Moved merge() into @evjs/ev as a general type-safe config helper for evjs framework config and utoopack config.
  • Kept @evjs/bundler-utoopack exporting merge() so plugin authoring stays concise while sharing the generic implementation.

Documentation

  • Updated quick-start dependency examples to 0.1.3.
  • Removed stale generated-folder notes from the project structure docs.

v0.1.2

08 May 18:39

Choose a tag to compare

0.1.2 — 2026-05-09

✨ Highlights

  • Type-safe utoopack config merging — Added the merge() helper to @evjs/bundler-utoopack so plugins can apply typed nested utoopack config patches without manual cfg.module ??= {} style boilerplate.
  • Cleaner plugin authoring examples — Simplified utoopack hook examples to use bundlerConfig: utoopack((cfg) => ...) directly instead of manually forwarding (config, ctx).
  • Project structure guide refresh — Reworked the project structure docs around minimal apps, full-stack layouts, server functions, route handlers, custom server entries, MPA builds, and generated folders.

📝 Documentation

  • Plugin lifecycle clarity — Clarified plugin hook execution order and the difference between generic bundlerConfig hooks and typed bundler helpers.
  • User package version guidance — Moved @evjs/* lockstep version guidance into the user-facing Quick Start docs and updated examples for the 0.1.2 release line.
  • Roadmap and stale docs cleanup — Marked completed MPA and server context work, refreshed stale framework guides, and kept English and Simplified Chinese docs aligned.

v0.1.1

08 May 17:52

Choose a tag to compare

0.1.1 — 2026-05-09

✨ Highlights

  • Build orchestration in @evjs/ev — Moved dev/build orchestration out of the CLI package so @evjs/cli stays a thin command wrapper around the framework runtime.
  • Manifest output refinements — Refactored server manifest asset metadata and wired server function endpoint configuration through build-time defines.
  • Dev server readiness improvements — Tightened dev server startup coordination, API process recovery behavior, and server bundle callback recovery so watch-mode failures are easier to recover from.

🐛 Bug Fixes

  • tRPC example forwarding — Updated the tRPC example server function bridge to call arbitrary procedures with the original path, operation type, and input instead of hard-coding one procedure.
  • CI install stability — Kept CI on npm install so platform-specific optional dependencies do not corrupt lockfile state across macOS and Linux installs.

🧪 Testing

  • Broader E2E coverage — Improved end-to-end assertions across API routes, basic routing, complex routing, MPA, scaffolding, SQLite, Tailwind, and tRPC examples.
  • Bundler config coverage — Added utoopack adapter coverage for default configuration behavior and manifest generation edge cases.

v0.1.0

07 May 10:00

Choose a tag to compare

✨ Highlights

  • Initial public milestone — Promoted evjs to 0.1.0 as the first tagged milestone intended for GitHub-driven releases and npm publication.
  • Full-stack React framework core — Ships TanStack Router based client routing, Hono-powered server routes and server functions, plugin hooks, and the utoopack bundler integration as the supported framework baseline.
  • Scaffolding and examples — Includes create-app templates plus runnable examples for API routes, complex routing, MPA, custom websocket transport, Tailwind, tRPC, SQLite, and plugin authoring.

⚠️ Important Notes

  • Asset prefix removal — The top-level assetPrefix config and related runtime injection were removed in 0.0.32; production asset URLs are now emitted as root-relative paths.
  • Server entry export shape — Server entries now export an object like export default { fetch: app.fetch }; instead of exporting fetch directly.

v0.0.33

07 May 07:37

Choose a tag to compare

🐛 Bug Fixes

  • Default utoopack plugin contextev build and ev dev now inject the active default bundler into plugin setup context before collecting hooks, so bundlerConfig helpers like utoopack() work even when users rely on the implicit default bundler instead of explicitly setting bundler: utoopackAdapter.

v0.0.32

07 May 06:05

Choose a tag to compare

⚠️ Breaking Changes

  • Removed assetPrefix — Deleted the top-level assetPrefix config, removed window.assetPrefix runtime injection, and dropped assetPrefix from emitted client manifests. Client asset URLs now build as root-relative paths.
  • Standardized Server Entry Exports — The server entry point now exports an object { fetch } instead of a bare fetch function. createApp().fetch should now be exported as export default { fetch: app.fetch };.

♻️ Refactoring

  • Server Runtimes Integration — The node and fetch runtimes are now integrated internally into @evjs/server/runtimes, eliminating external loading discrepancies in E2E testing scenarios.
  • Simplified HTML and bundler asset pathsgenerateHtml() and the utoopack adapter no longer thread a CDN/public-path prefix through HTML generation, manifest emission, or bundler runtime setup.

🐛 Bug Fixes

  • Template Metadata — Fixed template metadata for the create-app scaffolding CLI to ensure correct package naming and metadata on new projects.

📝 Documentation

  • Removed stale CDN-prefix guidance — Updated config and deployment docs to stop advertising assetPrefix, and documented that custom asset-base behavior now requires a proxy layer or custom bundler/HTML extension.

v0.0.30

06 May 07:17

Choose a tag to compare

[0.0.30] — 2026-05-06

✨ Features

  • Basic routing example expansion — Expanded examples/basic with static (/about), dynamic (/users/$userId), and search-param (/search?tab=) routes to demonstrate more routing patterns in one example.
  • Custom router history support — Added optional history support to createApp() and re-exported hash and memory history helpers from @evjs/client, allowing examples and apps to switch between browser, hash, and memory routing.

🐛 Bug Fixes

  • Default dev server entry fallback — Projects without an explicit server.entry now get a generated default server entry, restoring server function support in dev for minimal examples like examples/basic.
  • Browser-history deep-link fallback in dev — Utoopack dev serving now falls back to the SPA shell for route URLs like /about and /users/1, preventing 405 responses on direct navigation.

🧹 Code Quality

  • Monorepo lint and type cleanup — Resolved repository lint issues and tightened plugin hook test typing so push-time validation passes cleanly.

v0.0.29

29 Apr 03:11

Choose a tag to compare

✨ Features

  • Cookie API Enhancements — Split cookies() into getCookie, setCookie, and deleteCookie for better clarity. Added support for signed cookies via getSignedCookie, setSignedCookie, generateCookie, and generateSignedCookie, aligning signatures with Hono.
  • Server Options Refactoring — Redesigned CreateAppOptions and optimized RouteHandler to streamline server creation.
  • Core Architecture — Core architecture and stability improvements.

📝 Documentation & Examples

  • Server Context Examples — Demonstrated server context hooks in the basic-server-fns example.
  • Runtime Identifiers Cleanup — Updated stale __fn_call and registerServerFn references across all documentation and comments to accurately reflect the createServerReference and registerServerReference implementations.
  • README Updates — Added the official Hono URL to the root README.

v0.0.28

28 Apr 11:49

Choose a tag to compare

✨ Features

  • Server Context API — Refactored server context API to align with Hono's context-storage, providing global hooks like request(), headers(), cookies(), and waitUntil().
  • Performance — Optimized waitUntil execution to prevent unnecessary closure creation.