Change8

@qwik.dev/router@2.0.0-beta.39

Breaking Changes
📦 qwikView on GitHub →
1 breaking3 features🐛 10 fixes🔧 1 symbols

Summary

Introduced `cacheControl` for routeLoader$ caching, replacing `expires`/`poll`. This release also includes numerous bug fixes for route actions, loaders, and server functions, improving caching and request handling.

⚠️ Breaking Changes

  • The `cacheControl` option now controls routeLoader$ caching, replacing the previous `expires` and `poll` options. Update your routeLoader$ configurations to use `cacheControl`.

Migration Steps

  1. Update routeLoader$ configurations to use the new `cacheControl` option instead of `expires` or `poll`.

✨ New Features

  • routeLoader$ caching is now controlled by the new `cacheControl` option.
  • Loaders re-fetch on every navigation via the browser cache.
  • Unchanged responses no longer trigger rerenders.

🐛 Bug Fixes

  • Preserve search params when submitting route actions.
  • Enforce blocking loader guards for q-loader requests.
  • Prevent action query parameter pollution.
  • Prevent error pages from exposing route data.
  • Resolve virtual image modules on HMR or client-side navigation.
  • Avoid eager container resume for capture-free sibling handlers.
  • The `<Link />` component's data prefetch now avoids fetching already present and still valid loader data.
  • Scope cached loader request state to loader paths.
  • Isolate server function requests from route middleware.
  • Ignore strict loader route hints outside of dev mode.

Affected Symbols