History

Release 0.40.0

sfan5 committed 1 year ago

Commit e48ac7c1 parent 425037a56 files · +254 −280Browse files

Unified · Split

56 files
  1. DOCS/interface-changes.rst +134 −0
  2. DOCS/interface-changes/aspect-properties.txt +0 −4
  3. DOCS/interface-changes/audiounit-exclusive.txt +0 −1
  4. DOCS/interface-changes/auto-profiles-prio.txt +0 −1
  5. DOCS/interface-changes/back-color.txt +0 −1
  6. DOCS/interface-changes/cdda-span.txt +0 −1
  7. DOCS/interface-changes/clipboard.txt +0 −4
  8. DOCS/interface-changes/commands.txt +0 −4
  9. DOCS/interface-changes/console-margins.txt +0 −1
  10. DOCS/interface-changes/console-menu.txt +0 −1
  11. DOCS/interface-changes/console-scale-with-window.txt +0 −1
  12. DOCS/interface-changes/current-watch-later-dir.txt +0 −1
  13. DOCS/interface-changes/demuxer-mkv-crop-compat.txt +0 −1
  14. DOCS/interface-changes/display-page-toggle.txt +0 −1
  15. DOCS/interface-changes/exts.txt +0 −4
  16. DOCS/interface-changes/frame-step.txt +0 −2
  17. DOCS/interface-changes/gamma-factor.txt +0 −1
  18. DOCS/interface-changes/geometry-behavior.txt +0 −1
  19. DOCS/interface-changes/glsl-shader-opts.txt +0 −1
  20. DOCS/interface-changes/hearing-impaired.txt +0 −1
  21. DOCS/interface-changes/hwdec-software-fallback.txt +0 −1
  22. DOCS/interface-changes/hwdec.txt +0 −1
  23. DOCS/interface-changes/input.txt +0 −2
  24. DOCS/interface-changes/list-option.txt +0 −3
  25. DOCS/interface-changes/load-console.txt +0 −1
  26. DOCS/interface-changes/media-controls-player.txt +0 −1
  27. DOCS/interface-changes/mp.input.txt +0 −4
  28. DOCS/interface-changes/mpv-protocol.txt +0 −1
  29. DOCS/interface-changes/nvidia-true-hdr.txt +0 −1
  30. DOCS/interface-changes/option-paths.txt +0 −2
  31. DOCS/interface-changes/osc-buttons.txt +0 −5
  32. DOCS/interface-changes/osc-fadein.txt +0 −1
  33. DOCS/interface-changes/osc-script-messages.txt +0 −5
  34. DOCS/interface-changes/osc-slimbar.txt +0 −1
  35. DOCS/interface-changes/osd-bar-marker.txt +0 −2
  36. DOCS/interface-changes/prefetch-playlist.txt +0 −1
  37. DOCS/interface-changes/property-paths.txt +0 −1
  38. DOCS/interface-changes/screenshot-raw-format.txt +0 −1
  39. DOCS/interface-changes/script-binding-scalable.txt +0 −1
  40. DOCS/interface-changes/script-opt.txt +0 −1
  41. DOCS/interface-changes/selected-style.txt +0 −1
  42. DOCS/interface-changes/stats-sizes.txt +0 −1
  43. DOCS/interface-changes/stats-term-clip.txt +0 −3
  44. DOCS/interface-changes/sub-ass-options.txt +0 −3
  45. DOCS/interface-changes/sub-ass-override-blur.txt +0 −1
  46. DOCS/interface-changes/sub-ass-prune-delay.txt +0 −2
  47. DOCS/interface-changes/sub-scale-signs.txt +0 −1
  48. DOCS/interface-changes/term-clip-cc.txt +0 −1
  49. DOCS/interface-changes/track-metadata.txt +0 −1
  50. DOCS/interface-changes/video-frame-info-timecode.txt +0 −1
  51. DOCS/interface-changes/video-recenter.txt +0 −1
  52. DOCS/interface-changes/watch-history.txt +0 −1
  53. DOCS/interface-changes/wayland-internal-vsync.txt +0 −2
  54. DOCS/interface-changes/ytdl_hook-include.txt +0 −1
  55. MPV_VERSION +1 −1
  56. RELEASE_NOTES +119 −191
DOCS/interface-changes.rst+134−0
@@ -30,7 +30,141 @@ Interface changes · 29 unmodified lines
3030
3131 ::
3232
33+ --- mpv 0.41.0 ---
3334 --- mpv 0.40.0 ---
35+ - undeprecate list option suffixes that work with multiple items
36+ - add `-del` to string list and keyvalue list options
37+ - add `-clr` to keyvalue list options
38+ - undeprecate `--gamma-factor`
39+ - the `path` and `track-list/N/external-filename` properties now always
40+ return a full, absolute path
41+ - rename `--vd-lavc-software-fallback` to `--hwdec-software-fallback`
42+ - rename `--sub-ass-line-spacing` to `--sub-line-spacing`
43+ - rename `--sub-ass-shaper` to `--sub-shaper`
44+ - rename `--sub-ass-hinting` to `--sub-hinting`
45+ - rename `--load-osd-console` to `--load-console`
46+ - remove `stats-term_width_limit` script-opt
47+ - add `stats-term_clip` script-opt
48+ - remove `stats-term_height_limit` script-opt
49+ - remove `player` argument form `--media-controls`, it's handled internally
50+ now.
51+ - make `script-binding` command scalable; add `nonscalable` command prefix
52+ to restore the old behavior
53+ - deprecate `osc-message` script message in favor of `show-text` command
54+ - deprecate `osc-chapterlist` script message in favor of `show-text
55+ ${chapter-list}`
56+ - deprecate `osc-playlist` script message in favor of `show-text
57+ ${playlist}`
58+ - deprecate `osc-tracklist` script message in favor of `show-text ${track-
59+ list}`
60+ - add `visibility_modes` script-opt to osc
61+ - deprecate `--wayland-disable-vsync`
62+ - add `--wayland-internal-vsync` as a replacement for `--wayland-disable-
63+ vsync`
64+ - deprecate `--cdda-span-a` and `--cdda-span-b`
65+ - commands.lua is split out of console.lua. commands.lua runs and completes
66+ commands and adds mpv's log entries to the console's log, while
67+ console.lua handles the UI for other scripts
68+ - add `--load-commands` option
69+ - `script-binding console/enable` becomes `script-binding commands/open`,
70+ though the console one is kept as an alias
71+ - `script-message-to console type` becomes `script-message-to commands
72+ type`, though the console one is kept as an alias. This also now
73+ automatically closes the console after running the command.
74+ - change the underlying type of the `aspect`, `par`, and `sar` sub-
75+ properties to double from float
76+ - add `--video-aspect-method=ignore`
77+ - change `--video-aspect-override=no` to respect `--video-aspect-method`
78+ option
79+ - deprecate setting `--video-aspect-override` to `0` and `-1`
80+ - change several OSC mouse bindings to select.lua functions
81+ - add script-opts to configure what OSC buttons do when clicked
82+ - remove `osc-playlist_osd` script-opt and behave as if it was off by
83+ default; `playlist_osd=yes` can be replicated with `osc-
84+ playlist_prev_mbtn_left_command=playlist-prev; show-text ${playlist} 3000`
85+ and `osc-playlist_next_mbtn_left_command=playlist-next; show-text
86+ ${playlist} 3000`
87+ - remove `osc-chapters_osd` script-opt and behave as if it was off by
88+ default; `chapter_osd=yes` can be replicated with `osc-
89+ chapter_prev_mbtn_left_command=no-osd add chapter -1; show-text ${chapter-
90+ list} 3000` and `osc-chapter_next_mbtn_left_command=no-osd add chapter 1;
91+ show-text ${chapter-list} 3000`
92+ - add script-opts to define custom buttons
93+ - change `--prefetch-playlist`'s default to `yes`
94+ - change `--osd-back-color` and `--sub-back-color` defaults to #AF000000
95+ - change `--geometry` so that it no longer unconditionally moves the window
96+ on platforms where that is possible. Use `--force-window-position` or add
97+ `+50%+50%` to your geometry command to get the old behavior back.
98+ - all options that take filepaths as values are now properly expanded (i.e.
99+ ~/ -> /home/$USER)
100+ - all commands that take filepaths as arguments are now properly expanded
101+ (i.e. ~/ -> /home/$USER)
102+ - add `ytdl_hook-include` script-opt
103+ - add `video-frame-info/gop-timecode`, `video-frame-info/smpte-timecode` and
104+ `video-frame-info/estimated-smpte-timecode`
105+ - add `term-clip-cc`
106+ - add `sub-ass-prune-delay` option to control libass automatic pruning of
107+ past
108+ - events
109+ - add `slimbottombar` and `slimtopbar` OSC layouts optimized for viewing
110+ images
111+ - add `osc-fadein` script-opt
112+ - add `mpv://` protocol
113+ - add `metadata` sub-property for `track-list`
114+ - add `keep_open` flag to `mp.input.get()` and `mp.input.select()`
115+ - `mp.input.get()` now closes automatically on submit, pass `keep_open =
116+ true` to restore the old behavior
117+ - add `autoselect_completion` flag to `mp.input.get()`
118+ - add `history_path` key to `mp.input.get()`
119+ - add `hearing-impaired`, `visual-impaired` and `attached-picture` flags to
120+ track add command
121+ - add `format` argument to `screenshot-raw` command
122+ - add `display-page-n-toggle` script bindings to stats.lua, where n is a
123+ page number
124+ - add `demuxer-mkv-crop-compat` option
125+ - add `current-watch-later-dir` property
126+ - add `console-scale_with_window` script-opt
127+ - add `console-margin-x` and `console-margin-y` script-opts
128+ - add `console-background_alpha` `console-menu_outline_size` `console-
129+ menu_outline_color` `console-corner_radius` `console-selected_color` and
130+ `console-selected_back_color` script-opts
131+ - add `--video-recenter` option
132+ - add `nvidia-true-hdr` mode to vf_d3d11vpp
133+ - add `--sub-scale-signs` to allow `--sub-scale` to also scale events
134+ detected to be signs by libass
135+ - add `--script-opt` alias for `--script-opts-append`
136+ - add `--save-watch-history` and `--watch-history-path` options
137+ - add `--osd-selected-color` and `--osd-selected-outline-color` options
138+ - add `--osd-bar-marker-scale` and `--osd-bar-marker-min-size` options
139+ - add `--osd-bar-marker-style` option
140+ - add `--input-ime` to enable or disable the IME on supported VOs (Windows,
141+ Wayland)
142+ - add `--clipboard-monitor` option
143+ - add `clipboard` property
144+ - add `current-clipboard-backend` property
145+ - add `--clipboard-backends` option
146+ - add `--archive-exts`
147+ - add `archive` to `--directory-filter-types`' default
148+ - add `--playlist-exts`
149+ - add `playlist` to `--directory-filter-types`' default
150+ - add --audio-exclusive option support for ao=audiounit and make non-
151+ exclusive the new default
152+ - `sub-blur` is now applied by `sub-ass-override=force` with new enough
153+ libass
154+ - `stats-font_size`, `stats-border_size`, `stats-shadow_x_offset`, `stats-
155+ shadow_y_offset` and `stats-plot_bg_border_width` script-opt values result
156+ in 2.5 times smaller sizes in order to have the same sizes as the values
157+ of equivalent OSD options like `--osd-font-size`. If you customized these
158+ sizes, multiply them by 2.5 to get the previous sizes.
159+ - ``glsl-shader-opts`` now has predefined parameters that can be used. See
160+ the documentation for available values.
161+ - `--hwdec=auto` now behaves like `--hwdec=auto-safe`; use `--hwdec=auto-
162+ unsafe` to get the old behavior back
163+ - Change auto profiles hook priority from 50 to 5
164+ - add optional `frames` and `flags` arguments to `frame-step` command
165+ controlling the direction and amount of frames mpv steps through
166+ - add optional `mute` flag to `frame-step` command which mutes the player
167+ during the duration of the frame step
34168 --- mpv 0.39.0 ---
35169 - turn `--cover-art-whitelist` into a list option
36170 - reserve `user-data/osc` and `user-data/mpv` sub-paths for internal use
DOCS/interface-changes/aspect-properties.txt+0−4
@@ -1,4 +0,0 @@
1−change the underlying type of the `aspect`, `par`, and `sar` sub-properties to double from float
2−add `--video-aspect-method=ignore`
3−change `--video-aspect-override=no` to respect `--video-aspect-method` option
4−deprecate setting `--video-aspect-override` to `0` and `-1`
DOCS/interface-changes/audiounit-exclusive.txt+0−1
@@ -1 +0,0 @@
1−add --audio-exclusive option support for ao=audiounit and make non-exclusive the new default
DOCS/interface-changes/auto-profiles-prio.txt+0−1
@@ -1 +0,0 @@
1−Change auto profiles hook priority from 50 to 5
DOCS/interface-changes/back-color.txt+0−1
@@ -1 +0,0 @@
1−change `--osd-back-color` and `--sub-back-color` defaults to #AF000000
DOCS/interface-changes/cdda-span.txt+0−1
@@ -1 +0,0 @@
1−deprecate `--cdda-span-a` and `--cdda-span-b`
DOCS/interface-changes/clipboard.txt+0−4
@@ -1,4 +0,0 @@
1−add `--clipboard-monitor` option
2−add `clipboard` property
3−add `current-clipboard-backend` property
4−add `--clipboard-backends` option
DOCS/interface-changes/commands.txt+0−4
@@ -1,4 +0,0 @@
1−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
2−add `--load-commands` option
3−`script-binding console/enable` becomes `script-binding commands/open`, though the console one is kept as an alias
4−`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.
DOCS/interface-changes/console-margins.txt+0−1
@@ -1 +0,0 @@
1−add `console-margin-x` and `console-margin-y` script-opts
DOCS/interface-changes/console-menu.txt+0−1
@@ -1 +0,0 @@
1−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
DOCS/interface-changes/console-scale-with-window.txt+0−1
@@ -1 +0,0 @@
1−add `console-scale_with_window` script-opt
DOCS/interface-changes/current-watch-later-dir.txt+0−1
@@ -1 +0,0 @@
1−add `current-watch-later-dir` property
DOCS/interface-changes/demuxer-mkv-crop-compat.txt+0−1
@@ -1 +0,0 @@
1−add `demuxer-mkv-crop-compat` option
DOCS/interface-changes/display-page-toggle.txt+0−1
@@ -1 +0,0 @@
1−add `display-page-n-toggle` script bindings to stats.lua, where n is a page number
DOCS/interface-changes/exts.txt+0−4
@@ -1,4 +0,0 @@
1−add `--archive-exts`
2−add `archive` to `--directory-filter-types`' default
3−add `--playlist-exts`
4−add `playlist` to `--directory-filter-types`' default
DOCS/interface-changes/frame-step.txt+0−2
@@ -1,2 +0,0 @@
1−- add optional `frames` and `flags` arguments to `frame-step` command controlling the direction and amount of frames mpv steps through
2−- add optional `mute` flag to `frame-step` command which mutes the player during the duration of the frame step
DOCS/interface-changes/gamma-factor.txt+0−1
@@ -1 +0,0 @@
1−undeprecate `--gamma-factor`
DOCS/interface-changes/geometry-behavior.txt+0−1
@@ -1 +0,0 @@
1−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.
DOCS/interface-changes/glsl-shader-opts.txt+0−1
@@ -1 +0,0 @@
1−``glsl-shader-opts`` now has predefined parameters that can be used. See the documentation for available values.
DOCS/interface-changes/hearing-impaired.txt+0−1
@@ -1 +0,0 @@
1−add `hearing-impaired`, `visual-impaired` and `attached-picture` flags to track add command
DOCS/interface-changes/hwdec-software-fallback.txt+0−1
@@ -1 +0,0 @@
1−rename `--vd-lavc-software-fallback` to `--hwdec-software-fallback`
DOCS/interface-changes/hwdec.txt+0−1
@@ -1 +0,0 @@
1−`--hwdec=auto` now behaves like `--hwdec=auto-safe`; use `--hwdec=auto-unsafe` to get the old behavior back
DOCS/interface-changes/input.txt+0−2
@@ -1,2 +0,0 @@
1−add `--input-ime` to enable or disable the IME on supported VOs (Windows, Wayland)
2−disable IME by default; set `--input-ime=yes` to enable it on demand
DOCS/interface-changes/list-option.txt+0−3
@@ -1,3 +0,0 @@
1−undeprecate list option suffixes that work with multiple items
2−add `-del` to string list and keyvalue list options
3−add `-clr` to keyvalue list options
DOCS/interface-changes/load-console.txt+0−1
@@ -1 +0,0 @@
1−rename `--load-osd-console` to `--load-console`
DOCS/interface-changes/media-controls-player.txt+0−1
@@ -1 +0,0 @@
1−remove `player` argument form `--media-controls`, it's handled internally now.
DOCS/interface-changes/mp.input.txt+0−4
@@ -1,4 +0,0 @@
1−add `keep_open` flag to `mp.input.get()` and `mp.input.select()`
2−`mp.input.get()` now closes automatically on submit, pass `keep_open = true` to restore the old behavior
3−add `autoselect_completion` flag to `mp.input.get()`
4−add `history_path` key to `mp.input.get()`
DOCS/interface-changes/mpv-protocol.txt+0−1
@@ -1 +0,0 @@
1−add `mpv://` protocol
DOCS/interface-changes/nvidia-true-hdr.txt+0−1
@@ -1 +0,0 @@
1−add `--vf=d3d11vpp=nvidia-true-hdr`
DOCS/interface-changes/option-paths.txt+0−2
@@ -1,2 +0,0 @@
1−all options that take filepaths as values are now properly expanded (i.e. ~/ -> /home/$USER)
2−all commands that take filepaths as arguments are now properly expanded (i.e. ~/ -> /home/$USER)
DOCS/interface-changes/osc-buttons.txt+0−5
@@ -1,5 +0,0 @@
1−change several OSC mouse bindings to select.lua functions
2−add script-opts to configure what OSC buttons do when clicked
3−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`
4−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`
5−add script-opts to define custom buttons
DOCS/interface-changes/osc-fadein.txt+0−1
@@ -1 +0,0 @@
1−add `osc-fadein` script-opt
DOCS/interface-changes/osc-script-messages.txt+0−5
@@ -1,5 +0,0 @@
1−deprecate `osc-message` script message in favor of `show-text` command
2−deprecate `osc-chapterlist` script message in favor of `show-text ${chapter-list}`
3−deprecate `osc-playlist` script message in favor of `show-text ${playlist}`
4−deprecate `osc-tracklist` script message in favor of `show-text ${track-list}`
5−add `visibility_modes` script-opt to osc
DOCS/interface-changes/osc-slimbar.txt+0−1
@@ -1 +0,0 @@
1−add `slimbottombar` and `slimtopbar` OSC layouts optimized for viewing images
DOCS/interface-changes/osd-bar-marker.txt+0−2
@@ -1,2 +0,0 @@
1−add `--osd-bar-marker-scale` and `--osd-bar-marker-min-size` options
2−add `--osd-bar-marker-style` option
DOCS/interface-changes/prefetch-playlist.txt+0−1
@@ -1 +0,0 @@
1−change `--prefetch-playlist`'s default to `yes`
DOCS/interface-changes/property-paths.txt+0−1
@@ -1 +0,0 @@
1−the `path` and `track-list/N/external-filename` properties now always return a full, absolute path
DOCS/interface-changes/screenshot-raw-format.txt+0−1
@@ -1 +0,0 @@
1−add `format` argument to `screenshot-raw` command
DOCS/interface-changes/script-binding-scalable.txt+0−1
@@ -1 +0,0 @@
1−make `script-binding` command scalable; add `nonscalable` command prefix to restore the old behavior
DOCS/interface-changes/script-opt.txt+0−1
@@ -1 +0,0 @@
1−add `--script-opt` alias for `--script-opts-append`
DOCS/interface-changes/selected-style.txt+0−1
@@ -1 +0,0 @@
1−add `--osd-selected-color` and `--osd-selected-outline-color` options
DOCS/interface-changes/stats-sizes.txt+0−1
@@ -1 +0,0 @@
1−`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.
DOCS/interface-changes/stats-term-clip.txt+0−3
@@ -1,3 +0,0 @@
1−remove `stats-term_width_limit` script-opt
2−add `stats-term_clip` script-opt
3−remove `stats-term_height_limit` script-opt
DOCS/interface-changes/sub-ass-options.txt+0−3
@@ -1,3 +0,0 @@
1−rename `--sub-ass-line-spacing` to `--sub-line-spacing`
2−rename `--sub-ass-shaper` to `--sub-shaper`
3−rename `--sub-ass-hinting` to `--sub-hinting`
DOCS/interface-changes/sub-ass-override-blur.txt+0−1
@@ -1 +0,0 @@
1−`sub-blur` is now applied by `sub-ass-override=force` with new enough libass
DOCS/interface-changes/sub-ass-prune-delay.txt+0−2
@@ -1,2 +0,0 @@
1−add `sub-ass-prune-delay` option to control libass automatic pruning of past
2−events
DOCS/interface-changes/sub-scale-signs.txt+0−1
@@ -1 +0,0 @@
1−add `--sub-scale-signs` to allow `--sub-scale` to also scale events detected to be signs by libass
DOCS/interface-changes/term-clip-cc.txt+0−1
@@ -1 +0,0 @@
1−add `term-clip-cc`
DOCS/interface-changes/track-metadata.txt+0−1
@@ -1 +0,0 @@
1−add `metadata` sub-property for `track-list`
DOCS/interface-changes/video-frame-info-timecode.txt+0−1
@@ -1 +0,0 @@
1−add `video-frame-info/gop-timecode`, `video-frame-info/smpte-timecode` and `video-frame-info/estimated-smpte-timecode`
DOCS/interface-changes/video-recenter.txt+0−1
@@ -1 +0,0 @@
1−add `--video-recenter` option
DOCS/interface-changes/watch-history.txt+0−1
@@ -1 +0,0 @@
1−add `--save-watch-history` and `--watch-history-path` options
DOCS/interface-changes/wayland-internal-vsync.txt+0−2
@@ -1,2 +0,0 @@
1−deprecate `--wayland-disable-vsync`
2−add `--wayland-internal-vsync` as a replacement for `--wayland-disable-vsync`
DOCS/interface-changes/ytdl_hook-include.txt+0−1
@@ -1 +0,0 @@
1−add `ytdl_hook-include` script-opt
MPV_VERSION+1−1
@@ -1 +1 @@
1−0.39.0-UNKNOWN
1+0.40.0
RELEASE_NOTES+119−191
@@ -1,205 +1,133 @@
1−Release 0.39.0
1+Release 0.40.0
22 ==============
33
4−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.
4+We are excited to announce the release of mpv 0.40.0.
55
66 Key highlights:
77
8−* A new select.lua script, allowing users to easily choose files from playlists, tracks, chapters, output devices, and more.
9−* A native replacement for autoload.lua has been implemented. See --autocreate-playlist in the manual.
10−* NVIDIA RTX and Intel VSR scaling are now supported via the d3d11va filter.
11−* Media controls are now supported on Windows.
12−* Track selection has been improved, especially for multi-component languages like fr-CA.
13−* A new fifth page has been added to stats.lua, displaying track information.
14−* Compatibility with dmabuf-wayland has been significantly enhanced.
15−* Multi-touch support has been introduced.
8+* Console: Enhanced autocompletion and visual styling
9+* OSC: New selection menu accessible by right-clicking common buttons
10+* HDR is now natively supported when using direct rendering (DRM),
11+ as well as dmabuf-wayland on Linux
12+* Native clipboard access for scripts via new `clipboard` property
13+* New command menu, with common actions easily accessible
14+* Enhanced select.lua with new selection options for watch history, editions, DVD/Blu-Ray titles
15+* New positioning.lua script script for cursor-centric zooming and drag to pan
16+* Better stream support for Blu-ray, DVD and CDDA
17+* Track selection improvements and better metadata display
18+* Added osd-box / sub-box / box profiles to easily enable box styled OSD/OSC
19+* Windows support in umpv helper script
1620
1721 This release requires FFmpeg 6.1 or newer and libplacebo 6.338.2 or newer.
1822
19−
20−
21−Features
22−--------
23−
24−New
25−~~~
26−
27−- vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes
28−- demux: add --autocreate-playlist
29−- audio: add pitch-shifting feature
30−- win32: add Media Control support
31−- various: allow changing GPU API options at runtime
32−- vo_gpu_next: support --gamma-factor
33−- vf_vapoursynth: upgrade to VapourSynth API v4
34−- select.lua: add this script
35−- console.lua: implement a command parser to complete more things
36−- demux_mkv: demux Block Additional Mappings
37−- cocoa-cb: add support for macOS color space transformation (EDR/HDR)
38−- powershell-completion: add PowerShell command line completion
39−- input: implement VO dragging deadzone
40−- win32: support multitouch
41−- wayland_common: support multitouch
42−- demux/packet: add support for ITU T.35 metadata in Matroska
43−- demux: support VVC Matroska demux
44−- terminal-win: support mouse input events
45−- x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR
46−
47−
48−Changed
49−~~~~~~~
50−
51−- loadfile: improve the format of terminal track information
52−- options: add secondary-{sid,sub-delay} to watch_later_options
53−- input: map Num 5 to distinct value when numlock is off
54−- input.conf: make Alt+BS reset panscan
55−- msg: don't use bold colors and instead use bright ones
56−
57−
58−Options and Commands
59−--------------------
60−
61−Added
62−~~~~~
63−
64−- sub: add ass-video-aspect-override option
65−- input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes
66−- demux_playlist: use --directory-filter-types for --autocreate-playlist
67−- options: add --{video,audio,image}-exts
68−- player: don't decrement --ab-loop-count=N and add remaining-ab-loops
69−- player: don't decrement --loop-file=N and add remaining-file-loops
70−- sub: add (sub/osd)-border-style; renaming sub options
71−- input.conf: add zoom, pan, scale and rotate keybinds for numpad
72−- wayland: add a --wayland-present option
73−- mac/menu: add option to disable default shortcuts
74−- stats.lua: display file tags
75−- osc.lua: add option to use display fps for update interval
76−- osc.lua: add option to make rendering smoother
77−- opengl: add --egl-output-format, --egl-config-id
78−- vf_vapoursynth: add parameter to pass arbitrary string to script
79−- options: add --osd-playlist-entry
80−- {osc,stats}.lua: add 'auto' value to vidscale option
81−- input/cmd: add nonrepeatable prefix
82−- player: add option-info/<name>/expects-file
83−- command: add dolby-vision-profile and dolby-vision-level to track-list
84−- scripting: add mp.input.select()
85−- command: add normalize-path command
86−- OSC: implemented user configurable colors
87−- ao_wasapi: add `--wasapi-exclusive-buffer` option
88−- stats.lua: add option to disable scale with video size
89−- stats.lua: add option to control plot border width
90−- player/command: add track-list/N/decoder
91−- sd_ass: add `sub-vsfilter-bidi-compat` to enable vsfilter bidi compat
92−- {x11,w32}_common: implement --show-in-taskbar option
93−
94−
95−Changed
96−~~~~~~~
97−
98−- sub: merge vsfilter-aspect and vsfilter-blur-compat options
99−- input.conf: swap the positions of values for `ctrl+h` binding
100−- video/csputils: remove space from choice option for chroma loc
101−- input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings
102−- external_files: allow specifying --cover-art-whitelist filenames
103−- x11_common: handle runtime keepaspect/keepaspect-window change
104−- video/out/gpu/context: convert --gpu-api to object settings list
105−- playlist: let playlist-next go to first item if player is idle
106−- playlist: let playlist-prev go to last item in playlist
107−- options: remove deprecated auto choice for --mute
108−- player/command: alias playback-time to time-pos
109−- input.conf: change 'u' binding to cycle between 'force' and default
110−- options: make sub-ass-override default to 'scale'
111−- sd_ass: only set sub-scale for 'scale', 'force' or 'strip'
112−- player/command: mark sub-text-ass as deprecated
113−- player/command: add sub-text/ass-full sub-property
114−- player/command: move sub-text-ass to a sub-property
115−
116−
117−Removed
118−~~~~~~~
119−
120−- command: remove deprecated packet-*-bitrate properties
121−- console.lua: remove the scale script-opt
122−- osc.lua: remove scaleforcedwindow
123−
124−
125−Fixes and Minor Enhancements
126−----------------------------
127−
128−- wayland: fix vertical resizing
129−- stats.lua: don't use ASS tags when use_ass is false
130−- video/out/wayland_common: set key state only on keyboard_enter keys
131−- input: add MP_KEY_STATE_SET_ONLY
132−- vo_gpu: use fallback colorspace for Dolby Vision
133−- video/out/wayland_common: don't pass mouse inputs on resizing edges
134−- hwdec_vulkan: allow using multiple decoding family queues
135−- hwdec_vulkan: update to new libavutil queue family API
136−- drm_prime: fix use of formats with modifiers
137−- build: bump minimum Windows version to 10
138−- input/ipc-win: support fd:// for --input-ipc-client
139−- player/command: fix --force-window=yes acting like immediate
140−- sd_ass: fix margin y scale with font size
141−- sd_ass: fix sub scale with window when use_margins is enabled
142−- loadfile,select.lua: print bitrates of tracks
143−- wayland: avoid potential floating point errors while scaling
144−- vo_dmabuf_wayland: don't use -ve margins in window size calculation
145−- ytdl_hook.lua: allow changing try_ytdl_first during runtime
146−- wayland: fix missed int -> double conversion for cursor scaling
147−- player/loadfile: enable streams in order of types when loading file
148−- misc/natural_sort: avoid implementation-defined behavior in comparison
149−- demux: allow refresh seek for non-video streams
150−- demux_edl: fix infinite loop on empty EDL files
151−- d3d11: return minimum bitdepth for display output and swapchain
152−- stats.lua: add page 5 for currently selected tracks information
153−- autoload.lua: fix options update
154−- input: prevent MBTN_LEFT conflict with VO dragging
155−- TOOLS/autoload.lua: fix directory_mode and ext options
156−- player/video: fix incorrect VO frame duration and frame drops
157−- x11: correct position coordinates if mpv was launched with --fs
158−- vo_vaapi: fix use-after-free when quitting
159−- vo_vaapi: fix use-after-free of current frame
160−- playloop: don't loop when seeking to the end of cover art while paused
161−- build: dynamically generate mpv.desktop file protocols
162−- wayland: use wl->callback_surface for idle inhibitor creation
163−- wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported
164−- {options,player}: fix stream leaks
165−- console.lua: increase margins from the bottom-left corner
166−- external_files: detect language tags with hyphens
167−- player/loadfile: match language and subcodes
168−- player: normalize paths for resuming playback
169−- demux_mkv: fix image detection
170−- demux_mkv: make V_QUICKTIME codec detection generic
171−- osd: show left arrow when playing backwards
172−- wayland: set wl->scaling if there is no wl->current_output yet
173−- sub/osd: fix rounding when rescaling bitmap subtitle rects
174−- zsh-completion: complete --gpu-context
175−- stats.lua: show osd-dimensions property
176−- sub/lavc_conv: don't override style of converted teletext pages
177−- mac: make display-names unique to allow specific selection
178−- vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source
179−- vo_dmabuf_wayland: fix scaling for subsurface positioning
180−- demux: also read "CUESHEET" tag from stream metadata
181−- stats.lua: filter input bindings by typing them
182−- vo_{tct,sixel,kitty}: implement mouse support
183−- terminal-unix: ignore unhandled mouse CSI sequences
184−- terminal-unix: support mouse escape codes
185−- sd_ass: fix margins for all styles when overriding PlayResX
186−- stats.lua: inherit OSD styles
187−- options: fix runtime update of teletext-page
188−- ytdl_hook: add some more yt-dlp tags
189−- vulkan: don't tolerate suboptimal swapchain configurations
190−- vd_lavc: add Vulkan hardware decoding to autoprobe
191−- sub/osd: add log if osd rendering takes too long time
192−- vo_gpu_next: allow setting antiring value for cscale
193−- f_auto_filters: don't set interlaced-only for userdeint
194−- vo_dmabuf_wayland: reject formats not supported by the GPU
195−- ytdl_hook: make path and json available to other scripts
23+# Features
24+
25+## New
26+
27+- vf_d3d11vpp: add NVIDIA RTX Video HDR support
28+- context_drm_gl: add support for HDR metadata
29+- positioning.lua: add new script for video alignment and zooming
30+- umpv: add Windows support
31+- command: add clipboard property with native backends for Windows, macOS, and Wayland
32+- select.lua: add watch history, edition, DVD/Blu-Ray titles and more selection options
33+- input.conf: add cursor-centric zoom and drag-to-pan bindings
34+- wayland: add support for wp-color-management-v1 protocol
35+- console.lua: add persistent command history
36+- stats.lua: add timecode display
37+- options: add --playlist-exts and --archive-exts
38+- wayland_common: support IME usage via text-input-v3
39+- command: add multiple track metadata and properties
40+- vo_gpu_next: add chroma location and HDR metadata to shader parameters
41+- player/screenshot: support more formats for screenshot-raw command
42+- demux_mkv: add `--demuxer-mkv-crop-compat` option
43+- misc/language: parse hi/sdh/cc tags from external subtitle tracks
44+- wayland: support xdg-activation
45+- player: add mpv:// protocol
46+
47+
48+## Changed
49+
50+- meson: build libmpv by default
51+- command: enhance track and playlist display information
52+- input.conf: improve numpad key bindings
53+- osc.lua: add custom buttons support and improved mouse bindings
54+- console.lua: inherit OSD styles and colors
55+- options: default to --prefetch-playlist=yes
56+- osc.lua: add slimbottombar and slimtopbar layouts
57+- command: improve frame-step to go through multiple frames
58+- wayland: use wp-presentation v2 if available
59+- various: reorganize options into more logical groups
60+- vo_gpu_next: improve target colorspace handling
61+- options: disable `--input-ime` by default (enabled on demand)
62+
63+
64+# Options and Commands
65+
66+## Added
67+
68+- sd_ass: introduce sub-ass-prune-delay
69+- player: add an optional mute flag when framestepping
70+- command: add clipboard/text-primary property
71+- command: add current-clipboard-backend property
72+- command: add notify-property command
73+- options: add --script-opt alias for --script-opts-append
74+- options: add --osd-bar-marker-{size,style} options
75+- options: add --input-ime for improved text input
76+- options: add --video-recenter
77+- options: add --clipboard-backends
78+- options: add --wayland-internal-vsync
79+- options: add --sub-scale-signs
80+
81+
82+## Changed
83+
84+- options: rename --load-osd-console to --load-console
85+- player: improve track selection for multi-component languages
86+- options: improve frame-step command to handle multiple frames
87+- input.conf: make Alt+BS reset --video-align-{x,y}
88+- command: print track metadata when changing track
89+- command: print track-list with enhanced metadata
90+
91+
92+## Deprecated
93+
94+- options: deprecate `--gamma-auto` (use gamma-auto.lua script instead)
95+- options: deprecate undocumented --cdda-span-{a,b} options
96+
97+
98+# Fixes and Minor Enhancements
99+
100+- f_hwtransfer: ensure that we convert to full range rgb with scale_vaapi
101+- win32: fix window size restore after maximize state
102+- build: fix dynamic generation of mpv.desktop file protocols
103+- player/sub: avoid pointlessly redecoding subs
104+- x11: remove nvidia blacklist logic from --x11-present=auto
105+- osc.lua: seek to the nearest chapter when right clicking the seekbar
106+- command: fix keybind command with sequence keys
107+- video/out/wayland_common: fix crash with multi-seat drag and drop
108+- demux: reclaim demux_packets to reduce memory allocator pressure
109+- demux_cue: only accept TRACK with AUDIO type
110+- player/loadfile: strip common filename part from external track title
111+- build: remove unused dvdread dependency
112+- wayland: fix vertical resizing and scaling issues
113+- console.lua: improve completion and visual appearance
114+- sub/osd: default to a semitransparent black back color
115+- player: improve playlist handling with prefetch
116+- drm: parse EDID using libdisplay-info (which is now a required dependency)
117+- win32: fix window size restore after maximize state
118+- hwdec_d3d11va: align image mapper dimensions to a multiple of 2
119+- wayland: fix DnD with focus follow mouse
120+- player: store external filenames as normalized
121+- player: properly handle secondary subtitles on the terminal
122+- demux_mkv: add support for chroma location
123+- vo_dmabuf_wayland: improve and fix format selection
124+- player: fix combination of --loop-playlist + --shuffle + --prefetch-playlist
196125
197126
198127 This listing is not complete. Check DOCS/client-api-changes.rst for a history
199128 of changes to the client API, and DOCS/interface-changes.rst for a history
200129 of changes to other user-visible interfaces.
201130
202−A complete changelog can be seen by running `git log v0.38.0..v0.39.0`
203−in the git repository or by visiting either
204−https://github.com/mpv-player/mpv/compare/v0.38.0...v0.39.0 or
205−https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.38.0..v0.39.0
131+A complete changelog can be seen by running `git log v0.39.0..v0.40.0`
132+in the git repository or by visiting
133+<https://github.com/mpv-player/mpv/compare/v0.39.0...v0.40.0>.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t