Skip to content


Choose a tag to compare
@sfan5 sfan5 released this 17 Apr 19:23
· 614 commits to master since this release

This release requires FFmpeg 4.4 or newer and libplacebo 6.338.2 or newer.

The new improved renderer (vo_gpu_next) is being worked on and not the default yet.



  • scripting: add mp.input()
  • player: add an option to automatically turn on deinterlacing
  • mac: add more Now Playing information and functionality
  • osxbundle: automatically include MoltenVK to enable Vulkan support
  • input.conf: bind Ctrl+WHEEL_UP/DOWN to video-zoom
  • ao_avfoundation: initial support for AVFoundation audio driver (macOS)
  • vo: add context menu support on win32


  • osc: allow disabling special mouse wheel behavior
  • mac: add support for dynamic change of geometry, autofit
  • x11_common: allow DPI scale in unit of 0.5 and prefer the value from Xft.dpi
  • vo_gpu_next: save cache to separate files
  • mac: large amounts of refactoring, internal improvements and cleanups
  • builtin.conf: remove debanding from the high-quality profile


  • player: remove legacy, non-standard Raspberry Pi-specific support code

Options and Commands


  • options: add secondary-sub-delay
  • options: add --osd-bar-border-size
  • filter_sdh: add --sub-filter-sdh-enclosures option
  • options: add --secondary-sub-ass-override
  • audio: add --volume-gain option to control volume in decibels
  • command: export current-gpu-context property
  • sub: add --sub-lavc-o option
  • command: add load-config-file and load-input-conf
  • input: add --input-preprocess-wheel option
  • player: add loadfile/loadlist insert-next commands
  • input: rework window dragging to be command controllable
  • options: add --deinterlace-field-parity option
  • vo: add video-target-params property
  • options: add --input-commands that runs commands at startup


  • player/command: add ability to scale overlay
  • mac: add support for window-id property and --drag-and-drop
  • command: support passing scale to keypress
  • mac: add support for --auto-window-resize, --input-cursor-passthrough options
  • win32: add support for --input-cursor-passthrough option
  • x11_common: support --title-bar
  • sub: allow setting special page numbers via --teletext_page
  • player: set --hidpi-window-scale to no by default
  • osd_libass: update the OSD bar's dent and border size
  • player: remove --alpha and rename --background to --background-color
  • options: remove --focus-on-open and add --focus-on


  • player: remove --term-remaining-playtime option

Fixes and Minor Enhancements

  • vaapi: add support for vaapi-win32
  • ao/coreaudio_exclusive: fix segfault when changing formats
  • mac: fix libmpv usage without embedding
  • build: only directly link shaderc and spirv-cross on windows
  • build: enable dvbin by default again
  • playloop: use a 16:9 ratio with --force-window
  • mac: report modifier keys on precise scrolling
  • input: fix double click handling
  • input: add missing forward media key ('GO_FORWARD')
  • sub: don't busy loop if the player is paused for cache
  • playlist: correctly populate playlist-path with the --playlist option
  • win32: opt in to the windows segment heap
  • demux_lavf: remove fix_editlists hack for mp4
  • wayland: fix key modifier handling again
  • win32: re-enable IME
  • wayland_common: guard against negative configure sizes
  • demux_lavf: detect ico as images
  • bash-completion: parse the mpv options lazily
  • f_auto_filters: use bwdif_cuda for deinterlacing with cuda hwdec
  • command: do a normal seek instead of a refresh seek when switching vo
  • ad_spdif: fix DTS 44.1khz passthrough playback
  • vo_dmabuf_wayland: scale smarter in hidpi situations
  • hwdec_drmprime: add P010 and P210 support
  • wayland: look for "default" cursor as well as "left_ptr"
  • wayland_common: properly handle high resolution scrolling
  • vo_vdpau: fix timing for nanoseconds
  • demux_mkv: add tags for A_MPEG/L1 (mp1) audio and FFV1 video
  • osdep: fix infinite loop when cancelling subprocess
  • dec_sub: expand sub packet caching
  • player/sub: avoid wasteful subtitle redraws
  • ao_pipewire: add support for SPDIF formats
  • wayland_common: implement multi-seat support
  • vo: make libmpv last in the auto-probing order for cocoa-cb only
  • player/loadfile: rewrite sub autoselection logic
  • meson: add custom target for macOS App bundling
  • image_writer: cleanup leftover files if image writing fails
  • sub: fix LRC lines with multiple timestamps
  • ao: don't clip floating point formats at non-unity gain
  • wayland: remove old sway/wlroots hack
  • hwdec/dmabuf_interop_gl: migrate to EXT_EGL_image_storage on desktop GL
  • sd_ass: don't wrongly recognize \pos as \p
  • ao_audiotrack: fix missing check for passthrough support
  • wayland_common: log if Drag-and-Drop fails
  • vo_gpu_next: render subtitles at video colorspace
  • swresample: stop using deprecated {in,out}_channel_layout options
  • path: don't load any files if --no-config is passed (incl. cache and state)
  • vo_gpu/vo_gpu_next: fix transparency with GLX
  • wayland_common: require WAYLAND_DISPLAY to be set for initialization
  • vo_drm: add support for BGR formats and YUYV
  • stream: enable caching for sockets, pipes and FIFOs
  • ao_coreaudio: stop audio unit after idle timeout
  • vo_gpu_next: add support for --dither-depth=auto
  • vo_gpu_next: don't render ASS subtitles at HDR colorspace
  • video/image_writer: attach MDVC metadata and CLLI metadata
  • win32: resolve dropped shell links (Windows shortcuts)
  • af_lavcac3enc: fix memory leak on 2ch audio
  • win32: increase hires timer resolution
  • input: raise maximum key down limit to 16
  • input: remove max active section limit
  • video/egl_helpers: fix fallback logic for EGL_KHR_create_context
  • ao_pulse: reenable latency hacks by default
  • hwdec/vulkan: enable the stable AV1 extension
  • af_scaletempo2: fix false reporting of frame availability
  • win32: fix native key repeat support
  • ao_pipewire: fix some buffer size / timing calculations
  • audio: pause handling improvements for pull-based AOs
  • ad_spdif: specify missing media type and sample rate
  • mac/vulkan: add support for frame timing via presentation feedback
  • demux_mkv: corrected direction of ProjectionPoseRoll rotation
  • demux_mkv: add support for BCP 47 language tags
  • player: avoid busy looping during subtitle track switches

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.37.0..v0.38.0
in the git repository or by visiting