# What's new in Svelte: July 2026

DevFeed: [What's new in Svelte: July 2026](<https://devfeed.tech/articles/what-s-new-in-svelte-july-2026-3091.md>)

Original publisher: [Read original article](<https://svelte.dev/blog/whats-new-in-svelte-july-2026>)

Author: Dani Sandoval

Published: 2026-07-01T00:00:00Z

Content type: news

Language: en

Sources: [Svelte blog](<https://devfeed.tech/sources/svelte-blog.md>)

Topics: [Svelte](<https://devfeed.tech/topics/svelte.md>), [Vite](<https://devfeed.tech/topics/vite.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [data](<https://devfeed.tech/topics/data.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [css](<https://devfeed.tech/tags/css.md>), [features](<https://devfeed.tech/tags/features.md>), [forms](<https://devfeed.tech/tags/forms.md>), [html](<https://devfeed.tech/tags/html.md>), [remote](<https://devfeed.tech/tags/remote.md>), [server](<https://devfeed.tech/tags/server.md>), [svelte](<https://devfeed.tech/tags/svelte.md>), [tools](<https://devfeed.tech/tags/tools.md>), [types](<https://devfeed.tech/tags/types.md>)

## AI overview

SvelteKit's July 2026 updates preview a simpler configuration model centered on Vite, introduce explicit typed environment variables, improve remote functions, queries, forms, prerendering, and URL handling, and bring the CLI and language tools into alignment with newer Svelte syntax.

## Source excerpt

This month brought a real shift in how SvelteKit projects are configured. You can now define your SvelteKit config directly inside vite.config.js and skip svelte.config.js entirely. We also got the first preview of explicit environment variables, which will eventually replace $env/* modules in SvelteKit 3. On top of that, the language tools and the sv CLI both caught up with Svelte's new {const ...} declaration tags, so the whole toolchain is now in sync. Let's dive in! What's new in SvelteKit You can now pass your SvelteKit config directly to the Vite plugin, so a separate svelte.config.js is no longer required, as a preview of how Kit 3 will require config to live in vite.config.js (2.62.0, Docs, #15944) Experimental explicit environment variables let you declare and type your env vars in one place, as a preview of how $env/* will work in SvelteKit 3 (2.63.0, Docs, #15934) Remote function commands can now receive File objects directly, so you can upload files without manually wrapping them in FormData (2.64.0, Docs, #15978) Remote queries can now refresh other queries, making it easier to invalidate related data after a mutation (2.65.0, Docs, #16012) Prerendered .md and .mdx files are now precompressed alongside HTML, JS and CSS for faster delivery (2.66.0, Docs, #15893) SvelteKit now warns when boolean fields in remote form schemas are not marked optional, which is a common cause of silent submit failures (2.66.0, Docs, #15804) The new prerender.handleInvalidUrl option lets you customize how invalid URLs found during crawling are reported (2.67.0, Docs, #16088) RemoteFormEnhanceInstance and RemoteFormEnhanceCallback are now exported types, so you can type your custom enhance callbacks directly (2.68.0, Docs, #15816) Submitted submit fields now keep their value in the form action payload, which makes multi-button forms easier to handle on the server (2.68.0, Docs, #15979) For all the features and bugfixes that landed this month, check out the SvelteKit / Adapter