Change8

@sveltejs/kit@2.61.0

Breaking Changes
📦 sveltekitView on GitHub →
1 breaking4 features🐛 8 fixes🔧 4 symbols

Summary

This release removes the .run() method for remote queries, allowing them to be awaited universally, and introduces several improvements to query handling and form submissions.

⚠️ Breaking Changes

  • The .run() method has been removed from remote queries on both the client and the server. Use await query() directly instead, as it now works everywhere.

Migration Steps

  1. Replace usage of the .run() method on remote queries with await query().

✨ New Features

  • Remote queries can now be awaited in any context (event handlers, module scope, async callbacks), not just inside reactive contexts. The cache is shared across reactive and non-reactive subscribers.
  • Live query instances are now themselves async-iterable.
  • Added programmatic submit method to form remote function instances.
  • The form remote function instance is now passed into the enhance callback.

🐛 Bug Fixes

  • Resolved the app payload without using process.env.NODE_ENV.
  • Fixed support for exactOptionalPropertyTypes for optional route params.
  • Correctly send true value to the server for 'submit' and 'hidden' form fields.
  • Avoided build warnings about undefined universal hooks.
  • Preferred default error page when failing to decode the URL pathname.
  • Disabled link prefetching on slow internet connections.
  • Allowed routes ending with optional parameters next to more specific routes.
  • Removed reliance on Content-Length header in deserialize_binary_form, fixing failures when proxies strip the header and use chunked transfer encoding.

Affected Symbols