Release 0.40.0

This commit is contained in:
sfan5
2025-03-25 18:32:57 +01:00
parent 425037a16a
commit e48ac7ce08
56 changed files with 239 additions and 265 deletions
+134
View File
@@ -30,7 +30,141 @@ Interface changes
::
--- mpv 0.41.0 ---
--- mpv 0.40.0 ---
- undeprecate list option suffixes that work with multiple items
- add `-del` to string list and keyvalue list options
- add `-clr` to keyvalue list options
- undeprecate `--gamma-factor`
- the `path` and `track-list/N/external-filename` properties now always
return a full, absolute path
- rename `--vd-lavc-software-fallback` to `--hwdec-software-fallback`
- rename `--sub-ass-line-spacing` to `--sub-line-spacing`
- rename `--sub-ass-shaper` to `--sub-shaper`
- rename `--sub-ass-hinting` to `--sub-hinting`
- rename `--load-osd-console` to `--load-console`
- remove `stats-term_width_limit` script-opt
- add `stats-term_clip` script-opt
- remove `stats-term_height_limit` script-opt
- remove `player` argument form `--media-controls`, it's handled internally
now.
- make `script-binding` command scalable; add `nonscalable` command prefix
to restore the old behavior
- deprecate `osc-message` script message in favor of `show-text` command
- deprecate `osc-chapterlist` script message in favor of `show-text
${chapter-list}`
- deprecate `osc-playlist` script message in favor of `show-text
${playlist}`
- deprecate `osc-tracklist` script message in favor of `show-text ${track-
list}`
- add `visibility_modes` script-opt to osc
- deprecate `--wayland-disable-vsync`
- add `--wayland-internal-vsync` as a replacement for `--wayland-disable-
vsync`
- deprecate `--cdda-span-a` and `--cdda-span-b`
- commands.lua is split out of console.lua. commands.lua runs and completes
commands and adds mpv's log entries to the console's log, while
console.lua handles the UI for other scripts
- add `--load-commands` option
- `script-binding console/enable` becomes `script-binding commands/open`,
though the console one is kept as an alias
- `script-message-to console type` becomes `script-message-to commands
type`, though the console one is kept as an alias. This also now
automatically closes the console after running the command.
- change the underlying type of the `aspect`, `par`, and `sar` sub-
properties to double from float
- add `--video-aspect-method=ignore`
- change `--video-aspect-override=no` to respect `--video-aspect-method`
option
- deprecate setting `--video-aspect-override` to `0` and `-1`
- change several OSC mouse bindings to select.lua functions
- add script-opts to configure what OSC buttons do when clicked
- remove `osc-playlist_osd` script-opt and behave as if it was off by
default; `playlist_osd=yes` can be replicated with `osc-
playlist_prev_mbtn_left_command=playlist-prev; show-text ${playlist} 3000`
and `osc-playlist_next_mbtn_left_command=playlist-next; show-text
${playlist} 3000`
- remove `osc-chapters_osd` script-opt and behave as if it was off by
default; `chapter_osd=yes` can be replicated with `osc-
chapter_prev_mbtn_left_command=no-osd add chapter -1; show-text ${chapter-
list} 3000` and `osc-chapter_next_mbtn_left_command=no-osd add chapter 1;
show-text ${chapter-list} 3000`
- add script-opts to define custom buttons
- change `--prefetch-playlist`'s default to `yes`
- change `--osd-back-color` and `--sub-back-color` defaults to #AF000000
- change `--geometry` so that it no longer unconditionally moves the window
on platforms where that is possible. Use `--force-window-position` or add
`+50%+50%` to your geometry command to get the old behavior back.
- all options that take filepaths as values are now properly expanded (i.e.
~/ -> /home/$USER)
- all commands that take filepaths as arguments are now properly expanded
(i.e. ~/ -> /home/$USER)
- add `ytdl_hook-include` script-opt
- add `video-frame-info/gop-timecode`, `video-frame-info/smpte-timecode` and
`video-frame-info/estimated-smpte-timecode`
- add `term-clip-cc`
- add `sub-ass-prune-delay` option to control libass automatic pruning of
past
- events
- add `slimbottombar` and `slimtopbar` OSC layouts optimized for viewing
images
- add `osc-fadein` script-opt
- add `mpv://` protocol
- add `metadata` sub-property for `track-list`
- add `keep_open` flag to `mp.input.get()` and `mp.input.select()`
- `mp.input.get()` now closes automatically on submit, pass `keep_open =
true` to restore the old behavior
- add `autoselect_completion` flag to `mp.input.get()`
- add `history_path` key to `mp.input.get()`
- add `hearing-impaired`, `visual-impaired` and `attached-picture` flags to
track add command
- add `format` argument to `screenshot-raw` command
- add `display-page-n-toggle` script bindings to stats.lua, where n is a
page number
- add `demuxer-mkv-crop-compat` option
- add `current-watch-later-dir` property
- add `console-scale_with_window` script-opt
- add `console-margin-x` and `console-margin-y` script-opts
- add `console-background_alpha` `console-menu_outline_size` `console-
menu_outline_color` `console-corner_radius` `console-selected_color` and
`console-selected_back_color` script-opts
- add `--video-recenter` option
- add `nvidia-true-hdr` mode to vf_d3d11vpp
- add `--sub-scale-signs` to allow `--sub-scale` to also scale events
detected to be signs by libass
- add `--script-opt` alias for `--script-opts-append`
- add `--save-watch-history` and `--watch-history-path` options
- add `--osd-selected-color` and `--osd-selected-outline-color` options
- add `--osd-bar-marker-scale` and `--osd-bar-marker-min-size` options
- add `--osd-bar-marker-style` option
- add `--input-ime` to enable or disable the IME on supported VOs (Windows,
Wayland)
- add `--clipboard-monitor` option
- add `clipboard` property
- add `current-clipboard-backend` property
- add `--clipboard-backends` option
- add `--archive-exts`
- add `archive` to `--directory-filter-types`' default
- add `--playlist-exts`
- add `playlist` to `--directory-filter-types`' default
- add --audio-exclusive option support for ao=audiounit and make non-
exclusive the new default
- `sub-blur` is now applied by `sub-ass-override=force` with new enough
libass
- `stats-font_size`, `stats-border_size`, `stats-shadow_x_offset`, `stats-
shadow_y_offset` and `stats-plot_bg_border_width` script-opt values result
in 2.5 times smaller sizes in order to have the same sizes as the values
of equivalent OSD options like `--osd-font-size`. If you customized these
sizes, multiply them by 2.5 to get the previous sizes.
- ``glsl-shader-opts`` now has predefined parameters that can be used. See
the documentation for available values.
- `--hwdec=auto` now behaves like `--hwdec=auto-safe`; use `--hwdec=auto-
unsafe` to get the old behavior back
- Change auto profiles hook priority from 50 to 5
- add optional `frames` and `flags` arguments to `frame-step` command
controlling the direction and amount of frames mpv steps through
- add optional `mute` flag to `frame-step` command which mutes the player
during the duration of the frame step
--- mpv 0.39.0 ---
- turn `--cover-art-whitelist` into a list option
- reserve `user-data/osc` and `user-data/mpv` sub-paths for internal use
@@ -1,4 +0,0 @@
change the underlying type of the `aspect`, `par`, and `sar` sub-properties to double from float
add `--video-aspect-method=ignore`
change `--video-aspect-override=no` to respect `--video-aspect-method` option
deprecate setting `--video-aspect-override` to `0` and `-1`
@@ -1 +0,0 @@
add --audio-exclusive option support for ao=audiounit and make non-exclusive the new default
@@ -1 +0,0 @@
Change auto profiles hook priority from 50 to 5
-1
View File
@@ -1 +0,0 @@
change `--osd-back-color` and `--sub-back-color` defaults to #AF000000
-1
View File
@@ -1 +0,0 @@
deprecate `--cdda-span-a` and `--cdda-span-b`
-4
View File
@@ -1,4 +0,0 @@
add `--clipboard-monitor` option
add `clipboard` property
add `current-clipboard-backend` property
add `--clipboard-backends` option
-4
View File
@@ -1,4 +0,0 @@
commands.lua is split out of console.lua. commands.lua runs and completes commands and adds mpv's log entries to the console's log, while console.lua handles the UI for other scripts
add `--load-commands` option
`script-binding console/enable` becomes `script-binding commands/open`, though the console one is kept as an alias
`script-message-to console type` becomes `script-message-to commands type`, though the console one is kept as an alias. This also now automatically closes the console after running the command.
@@ -1 +0,0 @@
add `console-margin-x` and `console-margin-y` script-opts
-1
View File
@@ -1 +0,0 @@
add `console-background_alpha` `console-menu_outline_size` `console-menu_outline_color` `console-corner_radius` `console-selected_color` and `console-selected_back_color` script-opts
@@ -1 +0,0 @@
add `console-scale_with_window` script-opt
@@ -1 +0,0 @@
add `current-watch-later-dir` property
@@ -1 +0,0 @@
add `demuxer-mkv-crop-compat` option
@@ -1 +0,0 @@
add `display-page-n-toggle` script bindings to stats.lua, where n is a page number
-4
View File
@@ -1,4 +0,0 @@
add `--archive-exts`
add `archive` to `--directory-filter-types`' default
add `--playlist-exts`
add `playlist` to `--directory-filter-types`' default
-2
View File
@@ -1,2 +0,0 @@
- add optional `frames` and `flags` arguments to `frame-step` command controlling the direction and amount of frames mpv steps through
- add optional `mute` flag to `frame-step` command which mutes the player during the duration of the frame step
-1
View File
@@ -1 +0,0 @@
undeprecate `--gamma-factor`
@@ -1 +0,0 @@
change `--geometry` so that it no longer unconditionally moves the window on platforms where that is possible. Use `--force-window-position` or add `+50%+50%` to your geometry command to get the old behavior back.
@@ -1 +0,0 @@
``glsl-shader-opts`` now has predefined parameters that can be used. See the documentation for available values.
@@ -1 +0,0 @@
add `hearing-impaired`, `visual-impaired` and `attached-picture` flags to track add command
@@ -1 +0,0 @@
rename `--vd-lavc-software-fallback` to `--hwdec-software-fallback`
-1
View File
@@ -1 +0,0 @@
`--hwdec=auto` now behaves like `--hwdec=auto-safe`; use `--hwdec=auto-unsafe` to get the old behavior back
-2
View File
@@ -1,2 +0,0 @@
add `--input-ime` to enable or disable the IME on supported VOs (Windows, Wayland)
disable IME by default; set `--input-ime=yes` to enable it on demand
-3
View File
@@ -1,3 +0,0 @@
undeprecate list option suffixes that work with multiple items
add `-del` to string list and keyvalue list options
add `-clr` to keyvalue list options
-1
View File
@@ -1 +0,0 @@
rename `--load-osd-console` to `--load-console`
@@ -1 +0,0 @@
remove `player` argument form `--media-controls`, it's handled internally now.
-4
View File
@@ -1,4 +0,0 @@
add `keep_open` flag to `mp.input.get()` and `mp.input.select()`
`mp.input.get()` now closes automatically on submit, pass `keep_open = true` to restore the old behavior
add `autoselect_completion` flag to `mp.input.get()`
add `history_path` key to `mp.input.get()`
-1
View File
@@ -1 +0,0 @@
add `mpv://` protocol
@@ -1 +0,0 @@
add `--vf=d3d11vpp=nvidia-true-hdr`
-2
View File
@@ -1,2 +0,0 @@
all options that take filepaths as values are now properly expanded (i.e. ~/ -> /home/$USER)
all commands that take filepaths as arguments are now properly expanded (i.e. ~/ -> /home/$USER)
-5
View File
@@ -1,5 +0,0 @@
change several OSC mouse bindings to select.lua functions
add script-opts to configure what OSC buttons do when clicked
remove `osc-playlist_osd` script-opt and behave as if it was off by default; `playlist_osd=yes` can be replicated with `osc-playlist_prev_mbtn_left_command=playlist-prev; show-text ${playlist} 3000` and `osc-playlist_next_mbtn_left_command=playlist-next; show-text ${playlist} 3000`
remove `osc-chapters_osd` script-opt and behave as if it was off by default; `chapter_osd=yes` can be replicated with `osc-chapter_prev_mbtn_left_command=no-osd add chapter -1; show-text ${chapter-list} 3000` and `osc-chapter_next_mbtn_left_command=no-osd add chapter 1; show-text ${chapter-list} 3000`
add script-opts to define custom buttons
-1
View File
@@ -1 +0,0 @@
add `osc-fadein` script-opt
@@ -1,5 +0,0 @@
deprecate `osc-message` script message in favor of `show-text` command
deprecate `osc-chapterlist` script message in favor of `show-text ${chapter-list}`
deprecate `osc-playlist` script message in favor of `show-text ${playlist}`
deprecate `osc-tracklist` script message in favor of `show-text ${track-list}`
add `visibility_modes` script-opt to osc
-1
View File
@@ -1 +0,0 @@
add `slimbottombar` and `slimtopbar` OSC layouts optimized for viewing images
@@ -1,2 +0,0 @@
add `--osd-bar-marker-scale` and `--osd-bar-marker-min-size` options
add `--osd-bar-marker-style` option
@@ -1 +0,0 @@
change `--prefetch-playlist`'s default to `yes`
@@ -1 +0,0 @@
the `path` and `track-list/N/external-filename` properties now always return a full, absolute path
@@ -1 +0,0 @@
add `format` argument to `screenshot-raw` command
@@ -1 +0,0 @@
make `script-binding` command scalable; add `nonscalable` command prefix to restore the old behavior
-1
View File
@@ -1 +0,0 @@
add `--script-opt` alias for `--script-opts-append`
@@ -1 +0,0 @@
add `--osd-selected-color` and `--osd-selected-outline-color` options
-1
View File
@@ -1 +0,0 @@
`stats-font_size`, `stats-border_size`, `stats-shadow_x_offset`, `stats-shadow_y_offset` and `stats-plot_bg_border_width` script-opt values result in 2.5 times smaller sizes in order to have the same sizes as the values of equivalent OSD options like `--osd-font-size`. If you customized these sizes, multiply them by 2.5 to get the previous sizes.
@@ -1,3 +0,0 @@
remove `stats-term_width_limit` script-opt
add `stats-term_clip` script-opt
remove `stats-term_height_limit` script-opt
@@ -1,3 +0,0 @@
rename `--sub-ass-line-spacing` to `--sub-line-spacing`
rename `--sub-ass-shaper` to `--sub-shaper`
rename `--sub-ass-hinting` to `--sub-hinting`
@@ -1 +0,0 @@
`sub-blur` is now applied by `sub-ass-override=force` with new enough libass
@@ -1,2 +0,0 @@
add `sub-ass-prune-delay` option to control libass automatic pruning of past
events
@@ -1 +0,0 @@
add `--sub-scale-signs` to allow `--sub-scale` to also scale events detected to be signs by libass
-1
View File
@@ -1 +0,0 @@
add `term-clip-cc`
@@ -1 +0,0 @@
add `metadata` sub-property for `track-list`
@@ -1 +0,0 @@
add `video-frame-info/gop-timecode`, `video-frame-info/smpte-timecode` and `video-frame-info/estimated-smpte-timecode`
@@ -1 +0,0 @@
add `--video-recenter` option
-1
View File
@@ -1 +0,0 @@
add `--save-watch-history` and `--watch-history-path` options
@@ -1,2 +0,0 @@
deprecate `--wayland-disable-vsync`
add `--wayland-internal-vsync` as a replacement for `--wayland-disable-vsync`
@@ -1 +0,0 @@
add `ytdl_hook-include` script-opt
+1 -1
View File
@@ -1 +1 @@
0.39.0-UNKNOWN
0.40.0
+104 -176
View File
@@ -1,205 +1,133 @@
Release 0.39.0
Release 0.40.0
==============
We are excited to announce the release of mpv 0.39.0, with more than 5 months of development since the last version. This release brings numerous improvements and fixes across nearly all components.
We are excited to announce the release of mpv 0.40.0.
Key highlights:
* A new select.lua script, allowing users to easily choose files from playlists, tracks, chapters, output devices, and more.
* A native replacement for autoload.lua has been implemented. See --autocreate-playlist in the manual.
* NVIDIA RTX and Intel VSR scaling are now supported via the d3d11va filter.
* Media controls are now supported on Windows.
* Track selection has been improved, especially for multi-component languages like fr-CA.
* A new fifth page has been added to stats.lua, displaying track information.
* Compatibility with dmabuf-wayland has been significantly enhanced.
* Multi-touch support has been introduced.
* 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
Features
--------
## Changed
New
~~~
- vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes
- demux: add --autocreate-playlist
- audio: add pitch-shifting feature
- win32: add Media Control support
- various: allow changing GPU API options at runtime
- vo_gpu_next: support --gamma-factor
- vf_vapoursynth: upgrade to VapourSynth API v4
- select.lua: add this script
- console.lua: implement a command parser to complete more things
- demux_mkv: demux Block Additional Mappings
- cocoa-cb: add support for macOS color space transformation (EDR/HDR)
- powershell-completion: add PowerShell command line completion
- input: implement VO dragging deadzone
- win32: support multitouch
- wayland_common: support multitouch
- demux/packet: add support for ITU T.35 metadata in Matroska
- demux: support VVC Matroska demux
- terminal-win: support mouse input events
- x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR
- 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)
Changed
~~~~~~~
# Options and Commands
- loadfile: improve the format of terminal track information
- options: add secondary-{sid,sub-delay} to watch_later_options
- input: map Num 5 to distinct value when numlock is off
- input.conf: make Alt+BS reset panscan
- msg: don't use bold colors and instead use bright ones
## 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
Options and Commands
--------------------
## Changed
Added
~~~~~
- sub: add ass-video-aspect-override option
- input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes
- demux_playlist: use --directory-filter-types for --autocreate-playlist
- options: add --{video,audio,image}-exts
- player: don't decrement --ab-loop-count=N and add remaining-ab-loops
- player: don't decrement --loop-file=N and add remaining-file-loops
- sub: add (sub/osd)-border-style; renaming sub options
- input.conf: add zoom, pan, scale and rotate keybinds for numpad
- wayland: add a --wayland-present option
- mac/menu: add option to disable default shortcuts
- stats.lua: display file tags
- osc.lua: add option to use display fps for update interval
- osc.lua: add option to make rendering smoother
- opengl: add --egl-output-format, --egl-config-id
- vf_vapoursynth: add parameter to pass arbitrary string to script
- options: add --osd-playlist-entry
- {osc,stats}.lua: add 'auto' value to vidscale option
- input/cmd: add nonrepeatable prefix
- player: add option-info/<name>/expects-file
- command: add dolby-vision-profile and dolby-vision-level to track-list
- scripting: add mp.input.select()
- command: add normalize-path command
- OSC: implemented user configurable colors
- ao_wasapi: add `--wasapi-exclusive-buffer` option
- stats.lua: add option to disable scale with video size
- stats.lua: add option to control plot border width
- player/command: add track-list/N/decoder
- sd_ass: add `sub-vsfilter-bidi-compat` to enable vsfilter bidi compat
- {x11,w32}_common: implement --show-in-taskbar option
- 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
Changed
~~~~~~~
## Deprecated
- sub: merge vsfilter-aspect and vsfilter-blur-compat options
- input.conf: swap the positions of values for `ctrl+h` binding
- video/csputils: remove space from choice option for chroma loc
- input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings
- external_files: allow specifying --cover-art-whitelist filenames
- x11_common: handle runtime keepaspect/keepaspect-window change
- video/out/gpu/context: convert --gpu-api to object settings list
- playlist: let playlist-next go to first item if player is idle
- playlist: let playlist-prev go to last item in playlist
- options: remove deprecated auto choice for --mute
- player/command: alias playback-time to time-pos
- input.conf: change 'u' binding to cycle between 'force' and default
- options: make sub-ass-override default to 'scale'
- sd_ass: only set sub-scale for 'scale', 'force' or 'strip'
- player/command: mark sub-text-ass as deprecated
- player/command: add sub-text/ass-full sub-property
- player/command: move sub-text-ass to a sub-property
- options: deprecate `--gamma-auto` (use gamma-auto.lua script instead)
- options: deprecate undocumented --cdda-span-{a,b} options
Removed
~~~~~~~
# Fixes and Minor Enhancements
- command: remove deprecated packet-*-bitrate properties
- console.lua: remove the scale script-opt
- osc.lua: remove scaleforcedwindow
Fixes and Minor Enhancements
----------------------------
- wayland: fix vertical resizing
- stats.lua: don't use ASS tags when use_ass is false
- video/out/wayland_common: set key state only on keyboard_enter keys
- input: add MP_KEY_STATE_SET_ONLY
- vo_gpu: use fallback colorspace for Dolby Vision
- video/out/wayland_common: don't pass mouse inputs on resizing edges
- hwdec_vulkan: allow using multiple decoding family queues
- hwdec_vulkan: update to new libavutil queue family API
- drm_prime: fix use of formats with modifiers
- build: bump minimum Windows version to 10
- input/ipc-win: support fd:// for --input-ipc-client
- player/command: fix --force-window=yes acting like immediate
- sd_ass: fix margin y scale with font size
- sd_ass: fix sub scale with window when use_margins is enabled
- loadfile,select.lua: print bitrates of tracks
- wayland: avoid potential floating point errors while scaling
- vo_dmabuf_wayland: don't use -ve margins in window size calculation
- ytdl_hook.lua: allow changing try_ytdl_first during runtime
- wayland: fix missed int -> double conversion for cursor scaling
- player/loadfile: enable streams in order of types when loading file
- misc/natural_sort: avoid implementation-defined behavior in comparison
- demux: allow refresh seek for non-video streams
- demux_edl: fix infinite loop on empty EDL files
- d3d11: return minimum bitdepth for display output and swapchain
- stats.lua: add page 5 for currently selected tracks information
- autoload.lua: fix options update
- input: prevent MBTN_LEFT conflict with VO dragging
- TOOLS/autoload.lua: fix directory_mode and ext options
- player/video: fix incorrect VO frame duration and frame drops
- x11: correct position coordinates if mpv was launched with --fs
- vo_vaapi: fix use-after-free when quitting
- vo_vaapi: fix use-after-free of current frame
- playloop: don't loop when seeking to the end of cover art while paused
- build: dynamically generate mpv.desktop file protocols
- wayland: use wl->callback_surface for idle inhibitor creation
- wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported
- {options,player}: fix stream leaks
- console.lua: increase margins from the bottom-left corner
- external_files: detect language tags with hyphens
- player/loadfile: match language and subcodes
- player: normalize paths for resuming playback
- demux_mkv: fix image detection
- demux_mkv: make V_QUICKTIME codec detection generic
- osd: show left arrow when playing backwards
- wayland: set wl->scaling if there is no wl->current_output yet
- sub/osd: fix rounding when rescaling bitmap subtitle rects
- zsh-completion: complete --gpu-context
- stats.lua: show osd-dimensions property
- sub/lavc_conv: don't override style of converted teletext pages
- mac: make display-names unique to allow specific selection
- vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source
- vo_dmabuf_wayland: fix scaling for subsurface positioning
- demux: also read "CUESHEET" tag from stream metadata
- stats.lua: filter input bindings by typing them
- vo_{tct,sixel,kitty}: implement mouse support
- terminal-unix: ignore unhandled mouse CSI sequences
- terminal-unix: support mouse escape codes
- sd_ass: fix margins for all styles when overriding PlayResX
- stats.lua: inherit OSD styles
- options: fix runtime update of teletext-page
- ytdl_hook: add some more yt-dlp tags
- vulkan: don't tolerate suboptimal swapchain configurations
- vd_lavc: add Vulkan hardware decoding to autoprobe
- sub/osd: add log if osd rendering takes too long time
- vo_gpu_next: allow setting antiring value for cscale
- f_auto_filters: don't set interlaced-only for userdeint
- vo_dmabuf_wayland: reject formats not supported by the GPU
- ytdl_hook: make path and json available to other scripts
- 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.38.0..v0.39.0`
in the git repository or by visiting either
https://github.com/mpv-player/mpv/compare/v0.38.0...v0.39.0 or
https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.38.0..v0.39.0
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>.