VLC, the worldwide answer to the question “do you want to use Windows Media Player to open this file?” just received its first major update in two years. VLC 3.0 is now available on all the supported VLC platforms, complete with support for HDR video, hardware decoding, and oh yeah — Chromecast compatibility. Download it here.

The update is available right now for Android, Chrome OS, Android TV, Linux, macOS, iOS, Apple TV, and Windows. There’s just one catch: Chromecast support only works on Android and Chromebooks for the time being, and it’s still a “beta” feature that will draw heavily on your device’s CPU and battery to cast.

VLC 3.0 marks a huge behind-the-scenes change that standardizes the media player across all platforms. All VLC 3.0 releases, regardless of whether they’re running on Android or macOS, share the same core code. That makes life easier for the developers going forwards, but also ensures compatibility even with old devices. VLC 3.0 can be downloaded and run on Windows machines still running Windows XP, Android devices on Gingerbread 2.3, and iOS devices on iOS 7.

Support for Chromecast on Android and Chromebooks (via the Google Play app) is undoubtedly the headline feature of this release, and something that’s likely to make VLC’s sizeable user base ecstatic. The difficult part about Chromecast support is converting local media files to play nice with Google’s preferred format, as VLC Android developer Geoffrey Métais explains:

Chromecast is not designed to play local video files: When you watch a Youtube video, your phone is just a remote controller, nothing more. Chromecast streams the video from youtube.com.

That’s where it becomes complicated, Chromecast only supports very few codecs number, let’s say h264. Google ensures that your video is encoded in h264 format on youtube.com, so streaming is simple.

With VLC, you have media of any format. So VLC has to be a http server like youtube.com, and provide the video in a Chromecast compatible format. And of course in real time, which is challenging on Android because phones are less powerful than computers.

Here’s the complete list of new features:

Supports hardware decoding on all platforms, for HD and UHD of H.264 & H.265 codecs, allowing 4K and 8K decoding with little CPU consumption.

Supports 360-degree video and 3D audio, up to thid order Ambisonics, with customizable HRTF.

Supports direct HDR (on Windows 10) and HDR tone-mapping (on other operating systems).

Allows passthrough for HD Audio codecs so external HiFi decoders can provide the best sound.

Allows users to browse local network drives like SMB, FTP, SFTP, NFS, and so on.

Supports Chromecast discovery and streaming (including audio-only), even in formats not supported by Chromecast, such as DVDs.

Adds a new subtitle rendering engine, supporting ComplexTextLayout and font fallback for multiple languages and fonts, including East-Asian languages.

Updates the user interface to support HiDPI on Windows 10, new APIs for macOS, and so on.

Adds support for numerous new formats and codecs, including WebVTT, TTML, HQX, CEA-708, Cineform, and many more.

Prepares support for AV1, both decoding and encoding.

Supports Bluray with Java menus (BD-J), although decryption needs to be performed outside of VLC.

Prepares the experimental support for Wayland on Linux, and switches to OpenGL by default on Linux (Qt5 only for now).

Supports Dex for Samsung’s Android devices and other keyboard-driven devices, in addition to complete Oreo support and playlists.

Improves performance and battery life on iOS.