# Vite 5.1 is out!

DevFeed: [Vite 5.1 is out!](<https://devfeed.tech/articles/vite-5-1-is-out-3019.md>)

Original publisher: [Read original article](<https://vite.dev/blog/announcing-vite5-1>)

Author: The Vite Team

Published: 2024-02-08T00:00:00Z

Content type: release

Language: en

Sources: [Vite](<https://devfeed.tech/sources/vite.md>)

Topics: [modern web development](<https://devfeed.tech/topics/modern-web-development.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cache](<https://devfeed.tech/tags/cache.md>), [css](<https://devfeed.tech/tags/css.md>), [release](<https://devfeed.tech/tags/release.md>), [server](<https://devfeed.tech/tags/server.md>)

## AI overview

Vite 5.1 introduces experimental support for the Vite Runtime API, which runs code after Vite plugin processing and is decoupled from the server. The release also improves importing CSS files as URLs.

## Source excerpt

Vite 5.1 is out!  February 8, 2024 Vite 5 was released last November, and it represented another big leap for Vite and the ecosystem. A few weeks ago we celebrated 10 million weekly npm downloads and 900 contributors to the Vite repo. Today, we're excited to announce the release of Vite 5.1. Quick links: Docs, Changelog Docs in other languages: 简体中文, 日本語, Español, Português, 한국어, Deutsch Try Vite 5.1 online in StackBlitz: vanilla, vue, react, preact, lit, svelte, solid, qwik. If you're new to Vite, we suggest reading first the Getting Started and Features guides. To stay up to date, follow us on X or Mastodon. Vite Runtime API  Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from server.ssrLoadModule because the runtime implementation is decoupled from the server. This lets library and framework authors implement their own layer of communication between the server and the runtime. This new API is intended to replace Vite's current SSR primitives once it is stable. The new API brings many benefits: Support for HMR during SSR. It is decoupled from the server, so there is no limit on how many clients can use a single server - every client has its own module cache (you can even communicate with it how you want - using message channel/fetch call/direct function call/websocket). It doesn't depend on any node/bun/deno built-in APIs, so it can run in any environment. It's easy to integrate with tools that have their own mechanism to run code (you can provide a runner to use eval instead of new AsyncFunction for example). The initial idea was proposed by Pooya Parsa and implemented by Anthony Fu as the vite-node package to power Nuxt 3 Dev SSR and later also used as the base for Vitest. So the general idea of vite-node has been battle-tested for quite some time now. This is a new iteration of the API by Vladimir Sheremet, who had already re-implemented vite-node in Vitest an