Release 0.40.0 ============== We are excited to announce the release of mpv 0.40.0. Key highlights: * Console: Enhanced autocompletion and visual styling * OSC: New selection menu accessible by right-clicking common buttons * HDR is now natively supported when using direct rendering (DRM), as well as dmabuf-wayland on Linux * Native clipboard access for scripts via new `clipboard` property * New command menu, with common actions easily accessible * Enhanced select.lua with new selection options for watch history, editions, DVD/Blu-Ray titles * New positioning.lua script script for cursor-centric zooming and drag to pan * Better stream support for Blu-ray, DVD and CDDA * Track selection improvements and better metadata display * Added osd-box / sub-box / box profiles to easily enable box styled OSD/OSC * Windows support in umpv helper script This release requires FFmpeg 6.1 or newer and libplacebo 6.338.2 or newer. # Features ## New - vf_d3d11vpp: add NVIDIA RTX Video HDR support - context_drm_gl: add support for HDR metadata - positioning.lua: add new script for video alignment and zooming - umpv: add Windows support - command: add clipboard property with native backends for Windows, macOS, and Wayland - select.lua: add watch history, edition, DVD/Blu-Ray titles and more selection options - input.conf: add cursor-centric zoom and drag-to-pan bindings - wayland: add support for wp-color-management-v1 protocol - console.lua: add persistent command history - stats.lua: add timecode display - options: add --playlist-exts and --archive-exts - wayland_common: support IME usage via text-input-v3 - command: add multiple track metadata and properties - vo_gpu_next: add chroma location and HDR metadata to shader parameters - player/screenshot: support more formats for screenshot-raw command - demux_mkv: add `--demuxer-mkv-crop-compat` option - misc/language: parse hi/sdh/cc tags from external subtitle tracks - wayland: support xdg-activation - player: add mpv:// protocol ## Changed - meson: build libmpv by default - command: enhance track and playlist display information - input.conf: improve numpad key bindings - osc.lua: add custom buttons support and improved mouse bindings - console.lua: inherit OSD styles and colors - options: default to --prefetch-playlist=yes - osc.lua: add slimbottombar and slimtopbar layouts - command: improve frame-step to go through multiple frames - wayland: use wp-presentation v2 if available - various: reorganize options into more logical groups - vo_gpu_next: improve target colorspace handling - options: disable `--input-ime` by default (enabled on demand) # Options and Commands ## Added - sd_ass: introduce sub-ass-prune-delay - player: add an optional mute flag when framestepping - command: add clipboard/text-primary property - command: add current-clipboard-backend property - command: add notify-property command - options: add --script-opt alias for --script-opts-append - options: add --osd-bar-marker-{size,style} options - options: add --input-ime for improved text input - options: add --video-recenter - options: add --clipboard-backends - options: add --wayland-internal-vsync - options: add --sub-scale-signs ## Changed - options: rename --load-osd-console to --load-console - player: improve track selection for multi-component languages - options: improve frame-step command to handle multiple frames - input.conf: make Alt+BS reset --video-align-{x,y} - command: print track metadata when changing track - command: print track-list with enhanced metadata ## Deprecated - options: deprecate `--gamma-auto` (use gamma-auto.lua script instead) - options: deprecate undocumented --cdda-span-{a,b} options # Fixes and Minor Enhancements - f_hwtransfer: ensure that we convert to full range rgb with scale_vaapi - win32: fix window size restore after maximize state - build: fix dynamic generation of mpv.desktop file protocols - player/sub: avoid pointlessly redecoding subs - x11: remove nvidia blacklist logic from --x11-present=auto - osc.lua: seek to the nearest chapter when right clicking the seekbar - command: fix keybind command with sequence keys - video/out/wayland_common: fix crash with multi-seat drag and drop - demux: reclaim demux_packets to reduce memory allocator pressure - demux_cue: only accept TRACK with AUDIO type - player/loadfile: strip common filename part from external track title - build: remove unused dvdread dependency - wayland: fix vertical resizing and scaling issues - console.lua: improve completion and visual appearance - sub/osd: default to a semitransparent black back color - player: improve playlist handling with prefetch - drm: parse EDID using libdisplay-info (which is now a required dependency) - win32: fix window size restore after maximize state - hwdec_d3d11va: align image mapper dimensions to a multiple of 2 - wayland: fix DnD with focus follow mouse - player: store external filenames as normalized - player: properly handle secondary subtitles on the terminal - demux_mkv: add support for chroma location - vo_dmabuf_wayland: improve and fix format selection - player: fix combination of --loop-playlist + --shuffle + --prefetch-playlist This listing is not complete. Check DOCS/client-api-changes.rst for a history of changes to the client API, and DOCS/interface-changes.rst for a history of changes to other user-visible interfaces. A complete changelog can be seen by running `git log v0.39.0..v0.40.0` in the git repository or by visiting <https://github.com/mpv-player/mpv/compare/v0.39.0...v0.40.0>.