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
30 30
31::31::
32 32
33 --- mpv 0.41.0 ---
33 --- mpv 0.40.0 ---34 --- 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
34 --- mpv 0.39.0 ---168 --- mpv 0.39.0 ---
35 - turn `--cover-art-whitelist` into a list option169 - turn `--cover-art-whitelist` into a list option
36 - reserve `user-data/osc` and `user-data/mpv` sub-paths for internal use170 - 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 @@
1change the underlying type of the `aspect`, `par`, and `sar` sub-properties to double from float
2add `--video-aspect-method=ignore`
3change `--video-aspect-override=no` to respect `--video-aspect-method` option
4deprecate setting `--video-aspect-override` to `0` and `-1`
DOCS/interface-changes/audiounit-exclusive.txt+0−1
@@ -1 +0,0 @@
1add --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 @@
1Change auto profiles hook priority from 50 to 5
DOCS/interface-changes/back-color.txt+0−1
@@ -1 +0,0 @@
1change `--osd-back-color` and `--sub-back-color` defaults to #AF000000
DOCS/interface-changes/cdda-span.txt+0−1
@@ -1 +0,0 @@
1deprecate `--cdda-span-a` and `--cdda-span-b`
DOCS/interface-changes/clipboard.txt+0−4
@@ -1,4 +0,0 @@
1add `--clipboard-monitor` option
2add `clipboard` property
3add `current-clipboard-backend` property
4add `--clipboard-backends` option
DOCS/interface-changes/commands.txt+0−4
@@ -1,4 +0,0 @@
1commands.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
2add `--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 @@
1add `console-margin-x` and `console-margin-y` script-opts
DOCS/interface-changes/console-menu.txt+0−1
@@ -1 +0,0 @@
1add `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 @@
1add `console-scale_with_window` script-opt
DOCS/interface-changes/current-watch-later-dir.txt+0−1
@@ -1 +0,0 @@
1add `current-watch-later-dir` property
DOCS/interface-changes/demuxer-mkv-crop-compat.txt+0−1
@@ -1 +0,0 @@
1add `demuxer-mkv-crop-compat` option
DOCS/interface-changes/display-page-toggle.txt+0−1
@@ -1 +0,0 @@
1add `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 @@
1add `--archive-exts`
2add `archive` to `--directory-filter-types`' default
3add `--playlist-exts`
4add `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 @@
1undeprecate `--gamma-factor`
DOCS/interface-changes/geometry-behavior.txt+0−1
@@ -1 +0,0 @@
1change `--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 @@
1add `hearing-impaired`, `visual-impaired` and `attached-picture` flags to track add command
DOCS/interface-changes/hwdec-software-fallback.txt+0−1
@@ -1 +0,0 @@
1rename `--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 @@
1add `--input-ime` to enable or disable the IME on supported VOs (Windows, Wayland)
2disable IME by default; set `--input-ime=yes` to enable it on demand
DOCS/interface-changes/list-option.txt+0−3
@@ -1,3 +0,0 @@
1undeprecate list option suffixes that work with multiple items
2add `-del` to string list and keyvalue list options
3add `-clr` to keyvalue list options
DOCS/interface-changes/load-console.txt+0−1
@@ -1 +0,0 @@
1rename `--load-osd-console` to `--load-console`
DOCS/interface-changes/media-controls-player.txt+0−1
@@ -1 +0,0 @@
1remove `player` argument form `--media-controls`, it's handled internally now.
DOCS/interface-changes/mp.input.txt+0−4
@@ -1,4 +0,0 @@
1add `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
3add `autoselect_completion` flag to `mp.input.get()`
4add `history_path` key to `mp.input.get()`
DOCS/interface-changes/mpv-protocol.txt+0−1
@@ -1 +0,0 @@
1add `mpv://` protocol
DOCS/interface-changes/nvidia-true-hdr.txt+0−1
@@ -1 +0,0 @@
1add `--vf=d3d11vpp=nvidia-true-hdr`
DOCS/interface-changes/option-paths.txt+0−2
@@ -1,2 +0,0 @@
1all options that take filepaths as values are now properly expanded (i.e. ~/ -> /home/$USER)
2all 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 @@
1change several OSC mouse bindings to select.lua functions
2add script-opts to configure what OSC buttons do when clicked
3remove `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`
4remove `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`
5add script-opts to define custom buttons
DOCS/interface-changes/osc-fadein.txt+0−1
@@ -1 +0,0 @@
1add `osc-fadein` script-opt
DOCS/interface-changes/osc-script-messages.txt+0−5
@@ -1,5 +0,0 @@
1deprecate `osc-message` script message in favor of `show-text` command
2deprecate `osc-chapterlist` script message in favor of `show-text ${chapter-list}`
3deprecate `osc-playlist` script message in favor of `show-text ${playlist}`
4deprecate `osc-tracklist` script message in favor of `show-text ${track-list}`
5add `visibility_modes` script-opt to osc
DOCS/interface-changes/osc-slimbar.txt+0−1
@@ -1 +0,0 @@
1add `slimbottombar` and `slimtopbar` OSC layouts optimized for viewing images
DOCS/interface-changes/osd-bar-marker.txt+0−2
@@ -1,2 +0,0 @@
1add `--osd-bar-marker-scale` and `--osd-bar-marker-min-size` options
2add `--osd-bar-marker-style` option
DOCS/interface-changes/prefetch-playlist.txt+0−1
@@ -1 +0,0 @@
1change `--prefetch-playlist`'s default to `yes`
DOCS/interface-changes/property-paths.txt+0−1
@@ -1 +0,0 @@
1the `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 @@
1add `format` argument to `screenshot-raw` command
DOCS/interface-changes/script-binding-scalable.txt+0−1
@@ -1 +0,0 @@
1make `script-binding` command scalable; add `nonscalable` command prefix to restore the old behavior
DOCS/interface-changes/script-opt.txt+0−1
@@ -1 +0,0 @@
1add `--script-opt` alias for `--script-opts-append`
DOCS/interface-changes/selected-style.txt+0−1
@@ -1 +0,0 @@
1add `--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 @@
1remove `stats-term_width_limit` script-opt
2add `stats-term_clip` script-opt
3remove `stats-term_height_limit` script-opt
DOCS/interface-changes/sub-ass-options.txt+0−3
@@ -1,3 +0,0 @@
1rename `--sub-ass-line-spacing` to `--sub-line-spacing`
2rename `--sub-ass-shaper` to `--sub-shaper`
3rename `--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 @@
1add `sub-ass-prune-delay` option to control libass automatic pruning of past
2events
DOCS/interface-changes/sub-scale-signs.txt+0−1
@@ -1 +0,0 @@
1add `--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 @@
1add `term-clip-cc`
DOCS/interface-changes/track-metadata.txt+0−1
@@ -1 +0,0 @@
1add `metadata` sub-property for `track-list`
DOCS/interface-changes/video-frame-info-timecode.txt+0−1
@@ -1 +0,0 @@
1add `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 @@
1add `--video-recenter` option
DOCS/interface-changes/watch-history.txt+0−1
@@ -1 +0,0 @@
1add `--save-watch-history` and `--watch-history-path` options
DOCS/interface-changes/wayland-internal-vsync.txt+0−2
@@ -1,2 +0,0 @@
1deprecate `--wayland-disable-vsync`
2add `--wayland-internal-vsync` as a replacement for `--wayland-disable-vsync`
DOCS/interface-changes/ytdl_hook-include.txt+0−1
@@ -1 +0,0 @@
1add `ytdl_hook-include` script-opt
MPV_VERSION+1−1
@@ -1 +1 @@
10.39.0-UNKNOWN10.40.0
RELEASE_NOTES+119−191
@@ -1,205 +1,133 @@
1Release 0.39.01Release 0.40.0
2==============2==============
3 3
4We 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.4We are excited to announce the release of mpv 0.40.0.
5 5
6Key highlights:6Key highlights:
7 7
8* A new select.lua script, allowing users to easily choose files from playlists, tracks, chapters, output devices, and more.8* Console: Enhanced autocompletion and visual styling
9* A native replacement for autoload.lua has been implemented. See --autocreate-playlist in the manual.9* OSC: New selection menu accessible by right-clicking common buttons
10* NVIDIA RTX and Intel VSR scaling are now supported via the d3d11va filter.10* HDR is now natively supported when using direct rendering (DRM),
11* Media controls are now supported on Windows.11 as well as dmabuf-wayland on Linux
12* Track selection has been improved, especially for multi-component languages like fr-CA.12* Native clipboard access for scripts via new `clipboard` property
13* A new fifth page has been added to stats.lua, displaying track information.13* New command menu, with common actions easily accessible
14* Compatibility with dmabuf-wayland has been significantly enhanced.14* Enhanced select.lua with new selection options for watch history, editions, DVD/Blu-Ray titles
15* Multi-touch support has been introduced.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
16 20
17This release requires FFmpeg 6.1 or newer and libplacebo 6.338.2 or newer.21This release requires FFmpeg 6.1 or newer and libplacebo 6.338.2 or newer.
18 22
19 23# Features
20 24
21Features25## New
22--------26
23 27- vf_d3d11vpp: add NVIDIA RTX Video HDR support
24New28- context_drm_gl: add support for HDR metadata
25~~~29- positioning.lua: add new script for video alignment and zooming
26 30- umpv: add Windows support
27- vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes31- command: add clipboard property with native backends for Windows, macOS, and Wayland
28- demux: add --autocreate-playlist32- select.lua: add watch history, edition, DVD/Blu-Ray titles and more selection options
29- audio: add pitch-shifting feature33- input.conf: add cursor-centric zoom and drag-to-pan bindings
30- win32: add Media Control support34- wayland: add support for wp-color-management-v1 protocol
31- various: allow changing GPU API options at runtime35- console.lua: add persistent command history
32- vo_gpu_next: support --gamma-factor36- stats.lua: add timecode display
33- vf_vapoursynth: upgrade to VapourSynth API v437- options: add --playlist-exts and --archive-exts
34- select.lua: add this script38- wayland_common: support IME usage via text-input-v3
35- console.lua: implement a command parser to complete more things39- command: add multiple track metadata and properties
36- demux_mkv: demux Block Additional Mappings40- vo_gpu_next: add chroma location and HDR metadata to shader parameters
37- cocoa-cb: add support for macOS color space transformation (EDR/HDR)41- player/screenshot: support more formats for screenshot-raw command
38- powershell-completion: add PowerShell command line completion42- demux_mkv: add `--demuxer-mkv-crop-compat` option
39- input: implement VO dragging deadzone43- misc/language: parse hi/sdh/cc tags from external subtitle tracks
40- win32: support multitouch44- wayland: support xdg-activation
41- wayland_common: support multitouch45- player: add mpv:// protocol
42- demux/packet: add support for ITU T.35 metadata in Matroska46
43- demux: support VVC Matroska demux47
44- terminal-win: support mouse input events48## Changed
45- x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR49
46 50- meson: build libmpv by default
47 51- command: enhance track and playlist display information
48Changed52- input.conf: improve numpad key bindings
49~~~~~~~53- osc.lua: add custom buttons support and improved mouse bindings
50 54- console.lua: inherit OSD styles and colors
51- loadfile: improve the format of terminal track information55- options: default to --prefetch-playlist=yes
52- options: add secondary-{sid,sub-delay} to watch_later_options56- osc.lua: add slimbottombar and slimtopbar layouts
53- input: map Num 5 to distinct value when numlock is off57- command: improve frame-step to go through multiple frames
54- input.conf: make Alt+BS reset panscan58- wayland: use wp-presentation v2 if available
55- msg: don't use bold colors and instead use bright ones59- various: reorganize options into more logical groups
56 60- vo_gpu_next: improve target colorspace handling
57 61- options: disable `--input-ime` by default (enabled on demand)
58Options and Commands62
59--------------------63
60 64# Options and Commands
61Added65
62~~~~~66## Added
63 67
64- sub: add ass-video-aspect-override option68- sd_ass: introduce sub-ass-prune-delay
65- input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes69- player: add an optional mute flag when framestepping
66- demux_playlist: use --directory-filter-types for --autocreate-playlist70- command: add clipboard/text-primary property
67- options: add --{video,audio,image}-exts71- command: add current-clipboard-backend property
68- player: don't decrement --ab-loop-count=N and add remaining-ab-loops72- command: add notify-property command
69- player: don't decrement --loop-file=N and add remaining-file-loops73- options: add --script-opt alias for --script-opts-append
70- sub: add (sub/osd)-border-style; renaming sub options74- options: add --osd-bar-marker-{size,style} options
71- input.conf: add zoom, pan, scale and rotate keybinds for numpad75- options: add --input-ime for improved text input
72- wayland: add a --wayland-present option76- options: add --video-recenter
73- mac/menu: add option to disable default shortcuts77- options: add --clipboard-backends
74- stats.lua: display file tags78- options: add --wayland-internal-vsync
75- osc.lua: add option to use display fps for update interval79- options: add --sub-scale-signs
76- osc.lua: add option to make rendering smoother80
77- opengl: add --egl-output-format, --egl-config-id81
78- vf_vapoursynth: add parameter to pass arbitrary string to script82## Changed
79- options: add --osd-playlist-entry83
80- {osc,stats}.lua: add 'auto' value to vidscale option84- options: rename --load-osd-console to --load-console
81- input/cmd: add nonrepeatable prefix85- player: improve track selection for multi-component languages
82- player: add option-info/<name>/expects-file86- options: improve frame-step command to handle multiple frames
83- command: add dolby-vision-profile and dolby-vision-level to track-list87- input.conf: make Alt+BS reset --video-align-{x,y}
84- scripting: add mp.input.select()88- command: print track metadata when changing track
85- command: add normalize-path command89- command: print track-list with enhanced metadata
86- OSC: implemented user configurable colors90
87- ao_wasapi: add `--wasapi-exclusive-buffer` option91
88- stats.lua: add option to disable scale with video size92## Deprecated
89- stats.lua: add option to control plot border width93
90- player/command: add track-list/N/decoder94- options: deprecate `--gamma-auto` (use gamma-auto.lua script instead)
91- sd_ass: add `sub-vsfilter-bidi-compat` to enable vsfilter bidi compat95- options: deprecate undocumented --cdda-span-{a,b} options
92- {x11,w32}_common: implement --show-in-taskbar option96
93 97
94 98# Fixes and Minor Enhancements
95Changed99
96~~~~~~~100- f_hwtransfer: ensure that we convert to full range rgb with scale_vaapi
97 101- win32: fix window size restore after maximize state
98- sub: merge vsfilter-aspect and vsfilter-blur-compat options102- build: fix dynamic generation of mpv.desktop file protocols
99- input.conf: swap the positions of values for `ctrl+h` binding103- player/sub: avoid pointlessly redecoding subs
100- video/csputils: remove space from choice option for chroma loc104- x11: remove nvidia blacklist logic from --x11-present=auto
101- input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings105- osc.lua: seek to the nearest chapter when right clicking the seekbar
102- external_files: allow specifying --cover-art-whitelist filenames106- command: fix keybind command with sequence keys
103- x11_common: handle runtime keepaspect/keepaspect-window change107- video/out/wayland_common: fix crash with multi-seat drag and drop
104- video/out/gpu/context: convert --gpu-api to object settings list108- demux: reclaim demux_packets to reduce memory allocator pressure
105- playlist: let playlist-next go to first item if player is idle109- demux_cue: only accept TRACK with AUDIO type
106- playlist: let playlist-prev go to last item in playlist110- player/loadfile: strip common filename part from external track title
107- options: remove deprecated auto choice for --mute111- build: remove unused dvdread dependency
108- player/command: alias playback-time to time-pos112- wayland: fix vertical resizing and scaling issues
109- input.conf: change 'u' binding to cycle between 'force' and default113- console.lua: improve completion and visual appearance
110- options: make sub-ass-override default to 'scale'114- sub/osd: default to a semitransparent black back color
111- sd_ass: only set sub-scale for 'scale', 'force' or 'strip'115- player: improve playlist handling with prefetch
112- player/command: mark sub-text-ass as deprecated116- drm: parse EDID using libdisplay-info (which is now a required dependency)
113- player/command: add sub-text/ass-full sub-property117- win32: fix window size restore after maximize state
114- player/command: move sub-text-ass to a sub-property118- hwdec_d3d11va: align image mapper dimensions to a multiple of 2
115 119- wayland: fix DnD with focus follow mouse
116 120- player: store external filenames as normalized
117Removed121- player: properly handle secondary subtitles on the terminal
118~~~~~~~122- demux_mkv: add support for chroma location
119 123- vo_dmabuf_wayland: improve and fix format selection
120- command: remove deprecated packet-*-bitrate properties124- player: fix combination of --loop-playlist + --shuffle + --prefetch-playlist
121- console.lua: remove the scale script-opt
122- osc.lua: remove scaleforcedwindow
123
124
125Fixes 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
196 125
197 126
198This listing is not complete. Check DOCS/client-api-changes.rst for a history127This listing is not complete. Check DOCS/client-api-changes.rst for a history
199of changes to the client API, and DOCS/interface-changes.rst for a history128of changes to the client API, and DOCS/interface-changes.rst for a history
200of changes to other user-visible interfaces.129of changes to other user-visible interfaces.
201 130
202A complete changelog can be seen by running `git log v0.38.0..v0.39.0`131A complete changelog can be seen by running `git log v0.39.0..v0.40.0`
203in the git repository or by visiting either132in the git repository or by visiting
204https://github.com/mpv-player/mpv/compare/v0.38.0...v0.39.0 or133<https://github.com/mpv-player/mpv/compare/v0.39.0...v0.40.0>.
205https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.38.0..v0.39.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