All Versions
14
Latest Version
Avg Release Cycle
119 days
Latest Release
541 days ago

Changelog History
Page 1

  • v0.33.0 Changes

    November 22, 2020

    🚀 This release requires FFmpeg 4.0 or newer.

    👷 For packagers: Note that mpv's build system is only supported on Python 3. If you use the bootstrap.py script it will take care of this, otherwise you need to explicitly invoke the build system using python3 waf.

    🔋 Features

    ➕ Added

    • scripting: load scripts from directories
    • 🌲 mac: activate logging when started from the bundle
    • ytdl_hook.lua: delay load subtitles
    • sub: add an option to filter subtitles by regex
    • scripting: add a way to run subprocesses as "scripts"
    • 👍 command: implement asynchronous commands and support for named arguments
    • player: add optional separate video decoding thread
    • 👍 vo_gpu: d3d11: add support for exclusive fullscreen
    • 🏁 w32_common: Support HiDPI on Windows
    • 👍 vo_x11: add 10 bit support
    • vo_gpu: add BT.2390 tone-mapping
    • client API: add software rendering API
    • audio: add scaletempo2 filter based on chromium
    • auto_profiles: add this script
    • stream: Implement slice:// for reading slices of streams
    • player: add automatic loading of external cover art files
    • vo_sixel: implement terminal video output using sixel

    🔄 Changed

    • 0️⃣ sws_utils: use zimg by default if available
    • 🏗 build: pick up Lua 5.2 by default (preferred over 5.1)
    • 🏗 build: disable RPI vendor blob auto-detection in favor of open-source stack
    • 🏗 build: make C11 atomics mandatory
    • 🏗 build: make libass non-optional
    • player: stricter filename matching for external subtitle auto-loading
    • 👍 lua: support Unicode paths in script loading and IO library
    • vo_direct3d: rip out texture video rendering path and dumb down OSD rendering
    • audio: rewrite internal audio handling and AO API
    • 🏗 build: disable GLX by default

    ✂ Removed

    • 👍 stream_libarchive: disable tar support due to bugs
    • ✂ Remove remains of Libav compatibility
    • 🚚 stream_smb: remove due to lack of thread safety and the abundance of alternatives, FFmpeg still includes SMB support
    • 🚚 command: remove legacy hook API (has been deprecated for a long time)
    • 🚚 client API: remove deprecated qthelper.hpp header
    • ✂ removed audio outputs: sndio, rsound, oss
    • 🚚 x11: remove xdg-screensaver invocations that supported dbus based idle inhibit
    • client API: deactivate the opengl_cb API
    • 👷 build system: drop Python 2 compatbility

    Options and Commands

    ➕ Added

    • demux: add option to disable cache "sharing" between back and forward buffers
    • player: add ab-loop-count option/property
    • 0️⃣ ytdl_hook: add a way to use ytdl's default formats
    • ytdl_hook: add all_formats option that loads all formats that were found
    • 0️⃣ demux_mkv: document probe-start-time option and enable it by default
    • command: extend osd-overlay command with bounds reporting
    • player: a number of new playlist contol commands/properties
    • ipc: add --input-ipc-client option
    • 🔀 options: add option to control display-sync factor
    • 👍 vo_gpu: add better gamut clipping option
    • vo_gpu: vulkan: add ability to disable events
    • x11: add option to make window appear on a specific workspace
    • wayland: expose wayland-app-id as a user option
    • player: add --subs-with-matching-audio option
    • command: add read-only focused property
    • screenshot: option to use software rendering for screenshots
    • command: add delete-watch-later-config
    • command: new property mouse-pos with current position and hover state

    🔄 Changed

    • 🚚 options: remove deprecation warning for "-foo bar" syntax
    • 👀 player: make audio hr-seek default
    • 0️⃣ ad_lavc: disable decoder downmix by default
    • 👍 command: support save-position-on-quit for "stop" command too
    • command: extend subprocess command
    • options: do not accept ":" as separator anymore in key/value lists

    🗄 Deprecated

    • 🗄 demux: deprecate --cache-secs

    ✂ Removed

    • 🚚 wayland: remove wayland-frame-wait-offset option
    • 🚚 input: remove deprecated --input-file option
    • 🚚 vo_vdpau: remove deprecated/inactive --vo-vdpau-deint option

    🛠 Fixes and Minor Enhancements

    • 🗄 options: stop hiding deprecated options from --help output
    • lua, js: add mp.get_script_directory() function
    • 🔒 lua: fix security relevant loading order issue with scripts
    • player: make screenshot each-frame mode more accurate
    • bash completion: complete ao/af/vo/vf options
    • 👍 zimg: add alpha support
    • 👍 wayland: make resizing better
    • edl: add mechanism for delay loading streams
    • 🐎 stream_file: fix caching-related performance regression on CIFS
    • ⚡️ cocoa-cb: fix crashes and issues with UI updates
    • sub, demux: improve behavior with negative subtitle delay/muxed subs
    • 👀 demux: make seek ranges work for static images + audio
    • 👍 cocoa-cb: support maximize/minimize on startup
    • umpv: change from legacy FIFO to socket
    • 🚚 stats: move input speed to cache page, make it a graph
    • 🐎 stats: add fourth page with performance graphs
    • 🖨 command: print edition title to OSD when cycling
    • 👍 zimg: add support for big endian input and output
    • 👍 demux_mkv: add png intra support
    • 🏗 build: detect VT_GETMODE on FreeBSD and DragonFly
    • 🏁 win32: use windows 10 native virtual-terminal if available
    • vo_gpu: enable frame caching for still frames
    • command: add property to return text subtitles in ASS
    • vo_gpu: ra_pl: add timers support
    • 🏗 build: allow vo_wlshm on more Wayland platforms (e.g. FreeBSD)
    • 0️⃣ zimg: add slice threading and use it by default
    • command: add a way to access properties of a current track
    • vo_gpu: EGL: fix transparency on X11/EGL/Mesa
    • 0️⃣ vd_lavc: add AV1 to the default allowed hwdec codec list

    📄 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.32.0..v0.33.0
    in the git repository or by visiting either
    v0.32.0...v0.33.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.32.0..v0.33.0

  • v0.32.0 Changes

    January 26, 2020

    🚀 This release requires FFmpeg 4.0 or newer.

    🔋 Features

    ➕ Added

    • 👍 stream_libarchive: enable RAR5 support
    • bash completion: add initial implementation
    • 👍 cocoa-cb: add support for forcing the dedicated GPU for rendering
    • cocoa-cb: add pinch to resize window gesture
    • 👍 w32_common: support minimizing/maximizing using osc window controls

    🔄 Changed

    • ⚠ wayland: print warning on GNOME due to serious issues with their compositor
    • 👀 player: write watch-later config even for unseekable streams

    ✂ Removed

    • vo_gpu: hwdec_vdpau: remove direct_mode
    • vo_gpu: hwdec_vaegl: remove support for old-style interop

    Options and Commands

    ➕ Added

    • command: add a playlist-unshuffle command
    • command: add osd-dimensions property
    • 🔍 input: new PLAYONLY and PAUSEONLY keycodes

    🔄 Changed

    • 📜 options: change option parsing when using a single dash
      ⚠ This adds a warning for -o file.mkv and disallows the use of
      --o file.mkv (use --o=file.mkv instead).

    🛠 Fixes and Minor Enhancements

    • lua: fix mp.file_info for large files
    • vo_gpu: fix crash if dither texture fails to allocate
    • wayland: unscrew up cursors, fix various issues
    • osc: usability improvements for osc window controls

    📄 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.31.0..v0.32.0
    in the git repository or by visiting either
    v0.31.0...v0.32.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.31.0..v0.32.0

  • v0.31.0 Changes

    December 28, 2019

    🚀 This release requires FFmpeg 4.0 or newer.

    🔋 Features

    ➕ Added

    • 🔧 vo_gpu/d3d11: allow configurable swapchain color space for native HDR output
    • 🌲 player: add mechanisms for better logging as preperation for console.lua
    • audio: add ao_audiotrack for Android
    • input: introduce a pseudo key name that grabs all text input
    • wayland: add grab zone for resizing window with mouse
    • osc: implement pseudo client side decorations via OSC
    • vf_gpu: add video filter using vo_gpu's renderer
    • ➕ added console.lua: interactive REPL for input commands
    • osc: display Santa hat for idle logo in December
    • vd_lavc: add option to autoselect known good hwdec implementations
    • 👍 mac: replace old event tap for media key support with MediaPlayer

    🔄 Changed

    • 0️⃣ input: disable gamepad code by default
    • vo_gpu: allow vdpau usage under EGL
    • stream, demux: redo origin policy

    ✂ Removed

    • 🚚 mac: remove Apple Remote support
    • 🗄 client API: deprecate tick event

    Options and Commands

    ➕ Added

    • 🔧 vo_gpu/d3d11: add --d3d11-output-csp for configuring swap chain color space
    • command: add command-list property
    • command, input: add input-bindings property
    • command: add --window-maximized and make --window-minimized settable
    • command: add property returning hidpi scale
    • command, lua: add a way to share data between scripts
    • client API, lua: add new API for setting OSD overlays

    🔄 Changed

    • ➕ add a builtin "sw-fast" profile, which restores performance settings
      for software video conversion. These were switched to higher quality.
      This affects video outputs like vo_x11 and vo_drm, and screenshots.
    • options: make --show-profile without parameters list all profiles
    • 👍 wayland: support for --hidpi-window-scale option
    • 0️⃣ stream_lavf: set --network-timeout to 60 seconds by default
    • x11: scale window-scale by DPI

    🗄 Deprecated

    • 🗄 deprecate --input-file
    • 🔀 deprecate --video-sync=display-adrop
    • 🗄 deprecate all input section commands
    • 🗄 deprecate --display-fps, replaced by --override-display-fps

    ✂ Removed

    • ✂ remove deprecated --playlist-pos alias

    🛠 Fixes and Minor Enhancements

    • vo_drm, vo_x11: allow use of zimg
    • 👍 vo_sdl: Support mouse wheel input, Improve mouse button input
    • video: fix track switching work for external images
    • vo_gpu: fix infinite scaler reinit spam
    • f_output_chain: fix possible crash when changing filters
    • vo_gpu: opengl: add hack for ancient Mesa/GLX
    • demux_lavf: export demuxer_id for more formats which have it
    • lua: make later key bindings always have higher priority
    • drm_common: fix display FPS estimation for interlaced modes
    • vo_drm: fix incorrect pixel format possibly being picked for 30-bit
    • zsh completion: fix pcre usage to really be optional
    • options: increase consistency between list options and document them
    • osc: reduce unnecesary CPU usage by using property notifications

    📄 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.30.0..v0.31.0
    in the git repository or by visiting either
    v0.30.0...v0.31.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.30.0..v0.31.0

  • v0.30.0 Changes

    October 25, 2019

    🚀 This release requires FFmpeg 4.0 or newer.
    🚀 This release has replaced the internal Vulkan rendering abstraction
    with libplacebo's more up-to-date implementation.

    🔋 Features

    ➕ Added

    • vo_gpu: vulkan: hwdec_cuda: Add support for Vulkan interop
    • 👍 command: support for async commands
    • 👍 input: support for named arguments
    • 👍 cocoa-cb: add support for mac 10.14 Dark mode and run time switching
    • vo_gpu: switch to Vulkan API implementation based on libplacebo
    • context_drm_egl: Add support for presentation feedback
    • vo_gpu: implement error diffusion for dithering
    • 👍 vo/gpu: hwdec_vdpau: Support direct mode for 4:4:4 content
    • vo_gpu: hwdec_vaapi: Add Vulkan interop
    • 🖨 video, TOOLS: add vf_fingerprint and a skip-logo script
    • 👍 vo_gpu: d3d11: add support for presentation feedback
    • 👍 vo_drm: 30bpp support
    • 👍 cocoa-cb: add support for 10bit opengl rendering
    • video: add pure gamma TRC curves for 2.0, 2.4 and 2.6
    • vo_drm: Implement N-buffering and presentation feedback
    • Reintroduce vo_wayland as vo_wlshm
    • video: add zimg wrapper
    • wayland: add presentation time
    • 👍 input: add gamepad support through SDL2

    🔄 Changed

    • cocoa-cb: use libmpv's advanced rendering control and timing
    • vo_gpu: improve tone mapping desaturation
    • vo_gpu: redesign peak detection algorithm
    • vo_gpu: allow boosting dark scenes when tone mapping
    • 👀 osc: improve look of seekranges
    • 🚚 vo_gpu: x11: remove special vdpau probing, use EGL by default
    • demux: sort filenames naturally when playing a directory / archive
    • 🚚 stream_dvb: rewrite channel switching, remove old stream control
    • filters: extend vf_format so that it can convert color parameters

    ✂ Removed

    • demux, stream: rip out the classic stream cache
    • 🚚 vo_gpu: removed internal Vulkan implementation
    • ✂ Remove libdvdread support in favor of libdvdnav
    • 🚚 demux, stream: remove much of the optical disc support
    • ✂ Remove classic Linux analog TV support, and DVB runtime controls
    • 🚚 demux, stream: remove old rar support in favor of libarchive
    • 🚚 vo_gpu: remove mali-fbdev
    • 🚚 vo_gpu: remove vdpau/GLX backend
    • 🚚 vf_vapourynth: remove Lua backend
    • 🚚 vo_gpu: remove hwdec_d3d11eglrgb

    Options and Commands

    ➕ Added

    • command: add a subprocess command
    • vo_gpu: added --tone-mapping-max-boost, --hdr-peak-decay-rate, --hdr-scene-threshold-low/high
    • player: add --demuxer-cache-wait option
    • Implement backwards playback
    • demux: add a on-disk cache
    • demux, command: add another stream recording mechanism, dump-cache command
    • ao_pulse: add --pulse-allow-suspended
    • 🚚 command: add video-add/video-remove/video-reload commands
    • demux_cue: added --demuxer-cue-codepage to select CUE sheet charset
    • input: add keybind command
    • command: add sub-start & sub-end properties
    • video/d3d11: added --d3d11-adapter to select a rendering adapter by name
    • 🔧 vo_gpu/d3d11: added --d3d11-output-format for configuring swap chain format

    🔄 Changed

    • vo_gpu: split --linear-scaling into --linear-upscaling and --linear-downscaling
    • vo_gpu: split --tone-mapping-desaturate into strength and exponent
    • drm: rename --drm-osd-plane-id to --drm-draw-plane, --drm-video-plane-id to --drm-drmprime-video-plane, --drm-osd-size to --drm-draw-surface-size

    🗄 Deprecated

    • 🗄 options: deprecate --video-aspect, replaced by --video-aspect-override
    • 🗄 options: deprecate --record-file, --spirv-compiler

    ✂ Removed

    • 🚚 options: remove deprecated --chapter option
    • 🚚 demux: remove "program" property
    • 🚚 stream: remove "disc-titles", "disc-title", "disc-title-list", and "angle" properties
    • 💅 cocoa-cb: remove --macos-title-bar-style, replaced by --macos-title-bar-material and --macos-title-bar-appearance
    • 🚚 spirv: remove support for --spirv-compiler=nvidia (shaderc is the only remaining option)

    🛠 Fixes and Minor Enhancements

    • context_drm_egl: implement n-buffering
    • 👍 cocoa-cb: add support for custom colored title bar
    • 🔀 vo_gpu: x11egl: support Mesa OML sync extension
    • demux, demux_edl: add extension for tracks sourced from separate streams
    • context_drm_egl: Use eglGetPlatformDisplayEXT if available
    • vo_gpu: vulkan: add Android context
    • wayland: use xdg-decoration if available
    • vo_gpu: glx: use GLX_OML_sync_control for better vsync reporting
    • demux: runtime option changing for cache and stream recording
    • x11: fix ICC profiling for multiple monitors
    • 🚚 zsh completion: move generation to runtime and improve

    📄 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.29.1..v0.30.0
    in the git repository or by visiting either
    v0.29.1...v0.30.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.29.1..v0.30.0

  • v0.29.1 Changes

    October 02, 2018

    🚀 A bug fix release for the 0.29 release branch.

    🛠 Fixes and Minor Enhancements

    • 👀 af_rubberband: Fix for A-V drift on seeking.
    • 🚚 ao_alsa: Fixes to remove spam during pausing and end-of-file.
    • ao_jack: Fix for mpv attempting to connect to non-standard devices such as MIDI.
    • 🏗 ao_openal: Drop support for Apple's bundled OpenAL due to lack of features to successfully build.
    • ao_pulse: Fix for audio buffer length calculation.
    • demux_lavf: Fix EDL playback of certain DASH streams.
    • 👀 demux_lavf: Mark v4l streams as not seekable.
    • demux_raw: Fix for gapless playback from raw audio input.
    • drm_atomic: Fix to enable video output with devices without a video overlay plane.
    • encode: Fix for crashes in case of failure to write to output.
    • encode: Fix for encoding when utilizing lavfi-complex.
    • 🛠 Fix to strip HDR peak metadata if attached to SDR video (#6111)
    • 🍎 macOS: Capability to fall back on SW rendering for testing purposes.
    • 🍎 macOS: Fix for issues with the main menu.
    • 🍎 macOS: Fix for side by side split view.
    • 🍎 macOS: Fixes for crashes, most notably those happening on 10.14 (#5908, #6097, #6041, #6062).
    • 🍎 macOS: No longer let older, unsupported versions of the Swift build tools through configure.
    • manpage: Misc fixups.
    • stream_{smb,file}: Fix for partial writes to buffers.
    • 👀 stream_libarchive: Fix hang when an out-of-bound seek happens.
    • stream_smb: Fix for crashes due to libsmbclient and threading (#5936).
    • vo_gpu: Fix for corruption when multiple compute shaders override each others' block sizes (#6083).
    • ytdl_hook: Always load "ytdl://" URLs with ytdl_hook first.
    • ytdl_hook: Fix audio streams not being picked up for some sites.

    Options and Commands

    ➕ Added

    • 🍎 --cocoa-cb-sw-renderer to control whether or not to fall back on software rendering on macOS.
  • v0.29.0 Changes

    July 22, 2018

    🚀 This release requires FFmpeg 4.0 or newer.

    🔋 Features

    ➕ Added

    • 👍 ao/openal: Add better sample format and channel layout selection
    • 👍 ao/openal: Add support for direct channels output
    • cocoa-cb: initial implementation via opengl-cb API
    • context_drm_egl: Introduce 30bpp support (requires Mesa 18.0.0_rc4 or later)
    • osx: add some more menu bar items as suggested by Apples's HIG
    • vo_gpu: make screenshots use the GL renderer (#5498, #5240)
    • 👍 x11: support Shift+TAB as an input key bind (#5849)
    • 👍 ytdl_hook: support native dash demuxer, if present

    🔄 Changed

    • ao_alsa, ao_pulse: reduce requested buffer size
    • 🚚 audio: change format negotiation, remove channel remix fudging
    • 🗄 client API: deprecate opengl-cb API and introduce a replacement API
    • 0️⃣ demux: lower demuxer cache default sizes from 400MB/400MB to 50MB/150MB
    • 🍎 osx: always deactivate the early opengl flush on macOS
    • scripting: change when/how player waits for scripts being loaded
    • vo_gpu: various improvements to HDR peak detection
    • vo_gpu: various improvements to HDR tone mapping
    • ⚡️ wayland_common: update to stable xdg-shell
    • 📜 ytdl_hook: parse youtube playlist urls to set start index if --ytdl-raw-option=yes-playlist= is specified

    🗄 Deprecated

    • 🗄 af_lavrresample: deprecate this filter

    ✂ Removed

    • 🏗 build: drop support for SDL1 (only applied to ao_sdl)

    Options and Commands

    ➕ Added

    • ➕ add a number of --audio-resample-* options, which should from now on be used instead of --af-defaults=lavrresample:
    • ao/openal: --openal-direct-channels
    • 👀 command: add --osd-on-seek option defaulting to bar
    • command: add a change-list command (#5435)
    • options: add --http-proxy
    • 🚤 options: add a builtin low-latency profile
    • 0️⃣ vaapi: add option to select a non-default device path with --vaapi-device (#4320)
    • 🚤 video: add option to reduce latency by 1 or 2 frames
    • vo_gpu: introduce --target-peak (#5521)

    🔄 Changed

    • command: change cycle-value command behavior (#5772)
    • config: replace config dir lua-settings/ with dir script-opts/
    • options: --lavfi-complex now requires uniquely named filter pads.
    • options: --ytdl is now always enabled, even for libmpv
    • options: make --deinterlace=yes always deinterlace (#5219)
    • options: slightly improve filter help output for lavfi bridge
    • vo: rename --vo=opengl-cb to --vo=libmpv

    🗄 Deprecated

    • 🗄 encoding: deprecate a bunch of obscure options (--ovoffset, --oaoffset, --ovfirst, --oafirst)
    • 🗄 options: deprecate --vf-defaults and --af-defaults
    • 🗄 osx: --gpu-context=cocoa with --gpu-api=opengl is now deprecated in favour of --vo=libmpv

    ✂ Removed

    • 🚚 command: remove an old compatibility hack that allowed CLI aliases to be set as property, deprecated in 0.26.0
    • 🚚 input: remove legacy command handling for MPlayer commands that were deprecated in 2013
    • options: drop --opensles-sample-rate, as --audio-samplerate should be used if desired
    • 🗄 options: drop deprecated --videotoolbox-format, --ff-aid, --ff-vid, --ff-sid, --ad-spdif-dtshd, --softvol options
    • 🚚 options: remove --video-stereo-mode
    • 🚚 options: remove deprecated ao/vo auto profiles
    • 🚚 options: remove the following encoding options: --ocopyts (now the default, old timestamp handling is gone), --oneverdrop (now default), --oharddup (you need to use --vf=fps=VALUE), --ofps, --oautofps, --omaxfps

    🛠 Fixes and Minor Enhancements

    • 🍎 HIDRemote: fix volume buttons on macOS 10.13 (#5721)
    • TOOLS/autoload: Fix broken "disabled" option
    • TOOLS/autoload: be more robust with slow directory listings (#5618)
    • 0️⃣ ao_sdl: fix default buffer size
    • 🏗 build: add static libraries to libmpv.pc
    • 🏗 build: bump waf to 2.0.9 (fixes Python 3.7 compatibility)
    • 🏗 build: manually add standard library search paths for linking (#5791)
    • common: round all integer times to milliseconds
    • 📜 demux, player: fix playback of sparse video streams (w/ still images)
    • 📇 demux: support for some kinds of timed metadata (e.g. ICY)
    • demux_mkv: add V_AV1 identifier for AV1
    • 👍 demux_mkv: support Meridian Lossless Packing in Matroska (#5923)
    • 📇 display additional metadata tags during video playback
    • drm_atomic: Fix memory leaks in drm_atomic_create
    • enable cache for FUSE filesystems on OpenBSD and FreeBSD
    • gpu: prefer 16bit floating point FBO formats to 16bit integer ones
    • hwdec_vaegl: Fix VAAPI EGL interop used with gpu-context=drm
    • input.conf: use exact value for [binding, which does the inverse of]
    • input: add a keybinding to toggle hardware decoding
    • 0️⃣ input: minor additions to default key bindings (#973)
    • 👀 osc: fix accidentally skipping files when seeking with slider
    • player: fix strange behavior on edition switching
    • player: fix track autoselection of external files yet again
    • terminal-unix: stop trying to read when terminal disappears (#5842)
    • video: actually wait for last frame being rendered on EOF
    • video: fix --video-rotate in some cases
    • video: fix crash with vdpau when reinitializing rendering (#5447)
    • vo_gpu: fix anamorphic screenshots (#5619)
    • vo_vdpau: fix resizing and rotation problems

    📄 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.28.2..v0.29.0
    in the git repository or by visiting either
    v0.28.2...v0.29.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.28.2..v0.29.0

  • v0.28.2 Changes

    February 14, 2018

    🚀 This release contains an additional fix for CVE-2018-6360.

    🛠 Fixes and Minor Enhancements

    • ytdl_hook: whitelist subtitle URLs as well (#5456)
  • v0.28.1 Changes

    February 10, 2018

    🚀 This release fixes CVE-2018-6360.

    🛠 Fixes and Minor Enhancements

    • ytdl_hook: whitelist protocols from urls retrieved from youtube-dl (#5456)
  • v0.28.0 Changes

    December 24, 2017

    🚀 This release needs recent FFmpeg (newer than 3.4) due to major refactoring.
    Required library versions:

    • libavutil >= 56.6.100
    • libavcodec >= 58.7.100
    • libavformat >= 58.0.102
    • libswscale >= 5.0.101
    • libavfilter >= 7.0.101
    • libswresample >= 3.0.100

    The LGPL 2.1+ relicensing process is now mostly complete. The remaining GPL-only
    🏗 code (see Copyright file) can be disabled at build time by using --enable-lgpl.

    🔋 Features

    ➕ Added

    • ➕ Add DRM_PRIME Format Handling and Display for RockChip MPP decoders
    • 👍 csputils: Add support for Display P3 primaries
    • 👀 demux: support multiple seekable cached ranges, display cache ranges on OSC
    • 👍 demux_playlist: support .url files (#5107)
    • 👍 dvb: Add multiple frontends support (up to 8)
    • 💅 dvb: implement parsing of modulation for VDR-style channels config
    • hwdec: add mediacodec hardware decoder for IMGFMT_MEDIACODEC frames,
      📇 rename mediacodec to mediacodec-copy
    • 0️⃣ lua: integrate stats.lua script (bound to i/I by default)
    • 👍 vd_lavc: add support for nvdec hwaccel
    • vo_gpu: add android opengl backend
    • 👍 vo_gpu: initial d3d11 support
    • 👍 vo_gpu: vulkan support

    ✂ Removed

    • 🚚 af: remove deprecated audio filters (channels, equalizer, pan, volume;
      replacements in lavfi)
    • 🚚 vf: remove most GPL video filters (crop, dsize, expand, flip, gradfun, mirror,
      noformat, pullup, rotate, scale, stereo3d, yadif; replacements in lavfi)
    • 🚚 vf_buffer: remove this filter
    • 🚚 video: remove automatic stereo3d filter insertion
    • 🚚 vo_gpu: remove hwdec_vaglx interop
    • 🔨 vo_opengl: refactor into vo_gpu
    • 🚚 vo_wayland: remove

    Options and Commands

    ➕ Added

    • demux: add option to create CC tracks eagerly (--sub-create-cc-track)
    • options: add --start=none to reset previously set start time
    • options: add --vlang switch

    🔄 Changed

    • 0️⃣ cache: lower default size to 2*10MB
    • demux: bump the demuxer cache readahead duration to 10 hours
    • 👀 demux: use seekable cache for network by default, bump prefetch limit
    • 🌲 msg: make --msg-level affect --log-file too
    • player/misc.c: allow both --length and --end to control play endpoint
    • player: match subtitles with language tags with --sub-auto=exact
    • 📇 rename --opengl-hwdec-interop to --gpu-hwdec-interop (now mostly useless)
    • 👍 vd_lavc: prefer nvdec over vdpau with --hwdec=auto (better codec and surface
      👍 format support)
    • vd_lavc: rename --hwdec=rpi to --hwdec=mmal

    ✂ Removed

    • 🚚 options: remove --heartbeat-cmd and --heartbeat-interval
      🛠 (incidentally fixes #4888)

    🛠 Fixes and Minor Enhancements

    • TOOLS/autoload.lua: add ogm, ogg and opus extensions
    • 👉 Use /dev/tty instead of stdin for terminal input (#4190)
    • audio: add audio softvol processing to AO (replaces previously GPL’d code)
    • audio: fix channel conversion with NA channels (e.g. with ALSA)
    • ⚡️ audio: fix missing volume update on init and reinit
    • csputils: Fix DCI P3 primaries white point
    • demux: don't allow subtitles to mess up buffered time display
    • demux: fix .cue files with audio files that contain attached pictures
    • 👀 demux: fix accounting for seekable ranges on track switches (fixes missing
      🔀 audio when cycling through audio tracks with e.g. EDL, --merge-files, ordered
      chapters and youtube-dl pseudo DASH)
    • demux: fix crash with cue/ordered chapter files (#5027)
    • 👀 demux: speed up cache seeking with a coarse index
    • demux_lavf: always give libavformat the filename when probing
      (helps with mp3 files)
    • demux_mkv: add V_SNOW tag to mkv_video_tags
    • dvb: Fix long channel switching: next/prev channel
    • 🛠 dvb: fixes for ATSC tuning
    • lavc_conv: clamp timestamps to positive (#5047)
    • 🍎 macOS: fix bundle on macOS High Sierra (10.13) (#4926, #4866)
    • mp_image: always copy color attributes on hw download (#4804)
    • mp_image: select an explicit fallback for chroma location (#4804)
    • 🌲 msg: bump log level of --log-file to -v -v
    • msg: reinterpret a bunch of message levels
    • osc: fix rare stack overflow when changing visibility mode
    • osdep/io: add android-related bullshit to fix files >2 GiB
    • player/playloop.c: respect playback start time when using --loop-file
    • 👀 player: allow seeking in cached parts of unseekable streams
    • player: make track language matching case insensitive (#5272)
    • player: use start timestamp for ab-looping if --ab-loop-a is absent
    • player: when loading external file, always add all track types (#5132)
    • 🍎 restore-old-bindings.conf: add old macOS/Wayland AXIS bindings
    • screenshot: create directories from template
    • scripting: report dlerror() output
    • sd_ass: accept RFC8081 font media types
    • sd_ass: accept otc as fallback OpenType collection file extension
    • ↪ stream_libarchive: work around various types of locale braindeath
      (https://git.io/vbiFJ)
    • subprocess-win: don't change the mouse cursor when creating processes
    • video: add a hack to avoid missing subtitles with vf_sub (#5194)
    • video: fix alpha handling (#4983)
    • video: fix memory leaks (roughly 1 KB per decoded frame) with hwdec copy modes
    • video: fix rotation and deinterlace auto filters
    • video: properly pass through ICC data
    • 👍 vo: add support for externally driven renderloop and make wayland use it
      🔀 (partially fixes display-sync under wayland; disables rendering when window
      is invisible)
    • vo_gpu: change --tone-mapping-desaturate algorithm
    • vo_gpu: enable 3DLUTs in dumb mode
    • vo_gpu: fix gamma scale
    • vo_gpu: fix mobius tone mapping compatibility to GLSL 120 (#5069)
    • vo_gpu: fix video sometimes not being rerendered on equalizer change
    • vo_gpu: kill off FBOTEX_FUZZY (#1814)
    • vo_gpu: opengl: fix possible screenshot window crash (#4905)
    • vo_gpu: opengl: use GLX_MESA_swap_control where available
    • vo_gpu: reduce the --alpha=blend-tiles checkerboard intensity
    • 🚚 vo_gpu: win: remove exclusive-fullscreen detection hack
    • 🚚 vo_lavc: remove messy delayed subtitle rendering logic (#4689)
    • 🛠 wayland_common: implement output tracking, many cleanups and bugfixes
    • 🏁 Windows: skip window snapping if Windows handled it
    • 🏁 Windows: add more-POSIXy versions of open() and fstat() (#4711)
    • ytdl_hook: don't prepend ytdl:// to non-youtube links in playlists (#5003)

    📄 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.27.0..v0.28.0
    in the git repository or by visiting either
    v0.27.0...v0.28.0 or
    🌲 https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.27.0..v0.28.0

  • v0.27.2 Changes

    February 14, 2018

    🚀 This release contains an additional fix for CVE-2018-6360.

    🛠 Fixes and Minor Enhancements

    • ytdl_hook: whitelist subtitle URLs as well (#5456)