Digital Digest -> Software -> MKVToolnix -> History & Old Downloads

MKVToolnix -> Version History

This is the version history page for MKVToolnix, showing the last 20 software updates. You can return to the main page for this software by clicking here.

Index:


Version 88.0
  • Release Date: Oct 21, 2024
  • Download(s):
  • # Version 88.0 "All I Know" 2024-10-19

    ## New features and enhancements

    * mkvmerge, MKVToolNix GUI's chapter editor: added support for reading
      chapters from PotPlayer bookmark files.

    ## Bug fixes

    * configure: fixed setting `HAVE_QTDBUS` properly if the QtDbus module is
      found. Fixes #3744.
    * mkvmerge: MP4 reader: mkvmerge will no longer warn when multiple identical
      FourCCs are present within the same track headers. Fixes #3748.
    * mkvmerge man page: removed the wrong statement that an attachment's MIME
      type must be set before use of the `--attach-file` & `--attach-file-once`
      options. If not given, mkvmerge auto-detects the MIME type.

Version 87.0
  • Release Date: Sep 10, 2024
  • Download(s):
  • # Version 87.0 "Black as the Sky" 2024-09-07

    ## New features and enhancements

    * mkvmerge: chapters: added support for specifying MPLS files with
      `--chapters`, too, not just as regular source files. The documentation
      stated this was possible already, but that wasn't actually the
      case. Implements/fixes #3735.
    * MKVToolNix GUI: multiplexer: added a progress dialog that is shown during
      file identification.
    * MKVToolNix GUI: jobs: the status bar now differentiates between numbers of
      warnings/errors that occurred in the current session and those that occurred
      before the current session. Implements #3732.

    ## Bug fixes

    * mkvmerge: AAC parser: LOAS/LATM streams: if the first `AudioSpecificConfig`
      element is not found within the first LOAS/LATM frame, `mkvmerge` will no
      longer discard the frames before it but defer parsing them until after it
      has found the `AudioSpecificConfig` element. Fixes #3727.
    * MKVToolNix GUI: job queue: fixed the GUI crashing when re-ordering the jobs
      in the job queue. This regression was introduced while fixing #3720. Fixes
      #3729.

    ## Build system changes

    * The bundled `fmt` library was updated to v10.2.1.
Version 86.0
  • Release Date: Jul 15, 2024
  • Download(s):
  • # Version 86.0 "Winter" 2024-07-13

    ## New features and enhancements

    * mkvmerge: Matroska reader: track statistics tags are included in the JSON
      identification output just like other tags had already been included: as
      part of the track properties, prefixed with `tag_`. Implements #3714.
    * mkvmerge: MPEG TS reader: mkvmerge will now detect teletext subtitle tracks
      even if they're not listed in the PMT as long as it can find teletext pages
      flagged as subtitles in the header within the probed ranged of the
      file. Implements #3650.
    * MKVToolNix GUI: multiplexer: the default mode for escaping the arguments in
      the "Show command line" dialog can now be set in the preferences. Partially
      implements #3709.
    * MKVToolNix GUI: multiplexer: the "Show command line" dialog now includes the
      command lines for all currently open multiplex settings, switchable with a
      combo box. Partially implements #3709.
    * MKVToolNix GUI: multiplexer: some users add the option
      `--regenerate-track-uids` to the "additional options", even though
      `--regenerate-track-uids` is a file-specific option, and you can only use
      global options in the "additional options". However, the GUI currently
      doesn't have an option for specifying additional file-specific options. The
      GUI now detects the use of this option in the "additional options" & adds it
      for each of the source files instead. Implements #3707.
    * MKVToolNix GUI: multiplexer: the option `--regenerate-track-uids` has been
      added to the "additional command line options" dialog. See #3703.
    * translations: added a Norwegian Bokmål translation of the man pages by Roger
      Knutsen (see `AUTHORS`).

    ## Bug fixes

    * mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no
      longer set a default duration for the track. Partially fixes #3711.
    * mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will no
      longer queue frames longer than necessary, which resulted in the frames
      sometimes being written much later than they should have been according to
      their timestamps. Partially fixes #3711.
    * mkvmerge: when using timestamp files for subtitle tracks, mkvmerge will now
      write the packets' duration properly. Partially fixes #3711.
    * MKVToolNix GUI: job queue: the shortcut from the "Job queue" menu are now
      enabled correctly whenever the number of jobs in the queue changes (e.g. by
      adding new jobs). Fixes #3720.
Version 85.0
  • Release Date: Jun 14, 2024
  • Download(s):
  • # Version 85.0 "Shame For You" 2024-06-02

    ## Bug fixes

    * fixed compilation of `src/common/sorting.h` with certain compilers due to
      the deprecation & removal of `std::result_of<>` in C++20. Fixes #3695.
    * fixed compilation with the `gtest` library when `gtest` requires additional
      libraries by querying `pkg-config` for the correct flags & libraries to
      build with. See #3696.
    * MKVToolNix GUI: multiplexer: restored the keyboard shortcut for switching to
      the "Attachments" tab (Alt+C for the English interface). Fixes #3702.
    * MKVToolNix GUI: multiplexer: fixed several cases when the keyboard shortcuts
      for copying the first source file's name/the destination file's name to the
      title (Ctrl+F & Ctrl+D) and the one for copying the title to the destination
      file name (Ctrl+T) were not enabled. Fixes #3705.
Version 83.0
  • Release Date: Mar 11, 2024
  • Download(s):
  • # Version 83.0 "Circle Of Friends" 2024-03-10

    ## New features and enhancements

    * translations: added a Belarusian translation of the programs & the man pages
      by prydespar (see `AUTHORS`).
    * mkvmerge, MKVToolNix GUI's chapter editor: added support for reading
      chapters from ffmpeg metadata files. Implements #3676.
    * MKVToolNix GUI: added a new action type for execution after jobs or the
      queue finishes: quitting MKVToolNix. Implements #3677.

    ## Build system changes

    * The bundled `fmt` library was updated to v10.2.1.

    ## Other changes

    * Tons of changes were made to support the latest development versions of
      libEBML & libMatroska.

Version 82.0
  • Release Date: Jan 3, 2024
  • Download(s):
  • # Version 82.0 "I'm The President" 2024-01-02

    ## New features and enhancements

    * mkvmerge: Matroska reader: the "video alpha mode" track header property will
      be copied to the output file if present. Part of the implementation of
      #3643.
    * mkvmerge: Matroska reader: the "video alpha mode" track header property will
      be reported in JSON identification mode as the track property
      `alpha_mode`. Part of the implementation of #3643.
    * mkvmerge: Matroska reader: the file's timestamp scaling factor will be
      reported in JSON identification mode as the container property
      `timestamp_scale`.
    * mkvmerge: MPEG transport stream reader: teletext subtitles intended for
      hearing impaired people (type 0x05) are now marked as such via the
      appropriate flag in the track headers.
    * mkvmerge: file identification: the JSON identification output schema version
      has been bumped to 19.
    * mkvmerge: added a new hack `always_write_block_add_ids` that can be used as
      a workaround for players that don't support the handling of missing "Block
      Addition ID" sub-elements of "Block More" elements in block additions
      properly. These are used for e.g. alpha channel data in VP9 with a "Block
      Addition ID" value of 1, which is also its default value. Workaround for the
      player issues listed in #3643.
    * mkvinfo: added support for the "video alpha mode" track header element. Part
      of the implementation of #3643.
    * mkvpropedit, MKVToolNix GUI's header editor: added support for the "video
      alpha mode" track header property. In `mkvpropedit` it's called
      `alpha-mode`. Part of the implementation of #3643.
    * MKVToolNix GUI: multiplexer: when adding files the GUI can automatically
      enable the "hearing impaired" flag for audio and subtitle tracks if the file
      name contains the word "cc" or "sdh" delimited by certain characters
      (configurable). This feature is turned on by default. Implements #3648.
    * MKVToolNix GUI: multiplexer: when scanning for Blu-ray playlists the GUI
      will now ignore playlists that are likely meant for menus. Currently the GUI
      considers this to be the case when a playlist contains the same item at
      least five times. This behavior can be turned off in the
      preferences. Implements #3658.

    ## Bug fixes

    * mkvmerge: MPEG transport stream reader: fixed a crash introduced in v81 that
      occurred when there was at least one PCM track that wasn't copied from the
      transport stream file. Fixes #3645.
    * mkvmerge: when reading data from Matroska files damaged in a specific way,
      mkvmerge ended up trying to write various types of elements that aren't
      allowed to be written (so-called `EbmlDummy` elements as well as elements
      that don't have a value set) to the output file, which caused the underlying
      `libebml` library to abort. These types of broken elements are now filtered
      out.

    ## Build system changes

    * Qt 5 is no longer supported. Qt 6 is now required for building
      MKVToolNix. This implies that the options to `configure` revolving around
      configuring Qt 5 or choosing between the two have been removed
      (e.g. `--disable-qt6`).
    * Qt 6 detection: if detection fails, error messages from `qmake` can now be
      found in `config.log`. See #3649.
    * Qt 6 detection: `configure` will only consider Qt 6.2.0 or newer, not 6.0.x
      or 6.1.y anymore, due to the lack of support for the multimedia module.
    * Qt 6 detection: `configure` will now fail to detect Qt 6 if the 'multimedia'
      module is not found by `qmake` (e.g. due to development packages not being
      installed). See #3649.
    * The bundled `fmt` library was updated to v10.1.1.

Version 81.0
  • Release Date: Dec 2, 2023
  • Download(s):
  • # Version 81.0 "Milliontown" 2023-12-02

    ## New features and enhancements

    * mkvmerge: MPEG transport stream reader: HEVC/H.265: added support for
      reading single-layer Dolby Vision from Annex B type bitstream read from MPEG
      transport streams. Partially implements #3113.
    * mkvmerge: MPEG transport stream reader, HEVC/H.265 elementary stream reader:
      added support for reading dual-layer Dolby Vision with both the base &
      enhancement layers in the same track from Annex B type bitstreams in MPEG
      transport files & elementary stream files. Implements #3126.
    * mkvmerge: MPEG transport stream reader: HEVC/H.265: implemented combining
      dual-layer Dolby Vision with base & enhancement layers in different
      tracks. Implements #3127.
    * MKVToolNix GUI: multiplexer: added a new option in the preferences for
      always enabling 'forced' subtitle tracks. A subtitle track is considered to
      be 'forced' if: the corresponding property is set in the source file; the
      track's name contains the word 'forced' (in English); deriving the 'forced
      display' flag from file names is active & the file name matches the
      corresponding pattern. The option is disabled by default. Implements #3627.
    * MKVToolNix GUI: multiplexer: the functionality for detecting file name
      sequences when adding files can now recognize the patterns used by GoPro's
      cameras for chaptered video files. Implements #3633.
    * xyzvc_dump: the end position of the current NALU will be output in
      non-portable format as well.
    * xyzvc_dump: HEVC: the tool will now also output the inner NALU type of Dolby
      Vision NALUs (`unspec62` and `unspec63`).

    ## Bug fixes

    * mkvmerge: when the user requests processing be stopped after the video ends
      `mkvmerge` will now take appending files into account properly. It won't
      stop processing unconditionally after the first file ends anymore. Fixes
      #3618.
    * mkvmerge: AV1 handling in readers: the readers will now provide the pixel
      dimensions to the AV1 packetizer as early as possible, just like for other
      video packetizers. That way the pixel dimensions are available for
      calculating the display dimensions when command-line options such as
      `--aspect-ratio` & `--aspect-ratio-factor` are used. Before the change the
      calculation was done based on initial pixel dimension values of 0x0,
      resulting in display dimensions of 0x0, too. Fixes #3611.
    * mkvmerge: HEVC/H.265 packetizer: when reading & appending HEVC/H.265 from
      Matroska, MP4/MOV or FLV files the first frame of all the appended files was
      sometimes dropped, resulting in broken video at the point where video is
      appended. Fixes #3479.
    * mkvmerge: MPEG transport stream reader: when reading MPEG transport streams
      from Blu-rays the four-byte long `TP_extra_header` structure in front of the
      transport packets are now skipped properly. Before the fix a stray byte with
      value of `0x47` inside that `TP_extra_header` structure could have thrown
      off the detection of where the transport packets start, leading to mkvmerge
      dropping a few audio and/or video frames at the start of the file. Fixes
      #3632.
    * mkvextract: AAC extractor: when an invalid program config element in the
      GA-specific config element is encountered, the program config element will
      be disregarded, which avoids mkvextract aborting with an exception. Fixes
      #3606.
    * xyzvc_dump: fixed the tool aborting with an exception when the last NALU in
      an Annex B type file was shorter than four bytes.

    ## Other changes

    * AVC & HEVC dumper development tool: the tool has been renamed from
      `xvc_dump` to `xyzvc_dump` as `xvc` is an abbreviation for an existing video
      codec (Extreme Video Coding), and the tool has nothing to do with that
      codec.
Version 80.0
  • Release Date: Oct 30, 2023
  • Download(s):
  • # Version 80.0 "Roundabout" 2023-10-29

    ## New features and enhancements

    * MKVToolNix GUI: if the system's locale uses one of the Han scripts, the GUI
      will force Arabic numerals to be used in spin boxes. This prevents Suzhou
      numerals from being used which seems to be the default on Windows systems
      sold in China. Implements #3624.

    ## Bug fixes

    * build system: fixed detection of Qt6 if `clang` is used for compilation on
      Linux. In that case Qt's `qmake` added a `gcc`-specific option that `clang`
      doesn't understand, `-mno-direct-extern-access`. `configure` will now pass
      the parameter `-spec linux-clang` to `qmake` so that it uses the correct
      compiler flags.
    * build system: fixed the use of `mktemp` to be more portable to
      e.g. macOS. Fixes #3608.
    * mkvmerge: if a video aspect ratio was given with `--aspect-ratio-factor`,
      the code would apply a second factor based on the pixel resolution,
      resulting in much too large values for the `DisplayWidth` element. For
      example, with a pixel resolution of 720x520 & an aspect ratio factor of 1/1
      the result should be 720x520, but instead it was 900x520. Up until release
      76.0 this has only happened when a track order was given (which
      unfortunately includes all invocations with MKVToolNix GUI as it always
      includes the track order). Starting with release 77.0 this has always
      happened due to the automatic sorting of tracks implicitly creating a track
      order, even if none was given.
Version 79.0
  • Release Date: Aug 20, 2023
  • Download(s):
  • # Version 79.0 "Funeral Pyres" 2023-08-20

    ## New features and enhancements

    * mkvmerge: AV1: added support for reading Dolby Vision from AV1 IVF & OBU
      streams. Patches by Quietvoid.
    * mkvmerge: MPEG TS reader: added support for colors in teletext
      subtitles. Patch by Angela Schmid.
    * MKVToolNix GUI: multiplexer: when adding files the GUI can automatically
      enable the "forced display" flag for subtitle tracks if the file name
      contains the word "forced" delimited by certain characters
      (configurable). This feature is turned on by default. Implements #3586.
    * MKVToolNix GUI: multiplexer: added the option `--stop-after-video-ends` to
      the dialog for additional command line options. Implements #3594.
    * MKVToolNix GUI: multiplexer: when adding Blu-ray playlists the dialog
      allowing the user to select the playlist to add will now show audio & video
      track properties as well (pixel dimensions for video; sampling frequency,
      channels for audio). Implements #3597.
    * MKVToolNix GUI: header editor: in order to reduce confusion with users non
      that versed in Matroska elements, the naming of the two "language" track
      properties has been changed: the old element is now titled "Language
      (obsolete)" & the current, IETF BCP 47 based one is simply called
      "Language".
    * MKVToolNix GUI: preferences: you can now use the "delete" key to remove
      entries from simple list widgets for strings (e.g. the list of recently used
      destination directories).

    ## Bug fixes

    * mkvmerge: DTS reader: if a DTS stream doesn't start with a DTS core but a
      sub-stream element (EXSS), the reader will now look for a core. If found,
      it'll start processing from there instead of from the start. This fixes the
      timestamp calculation if the sampling frequency in the core & in the
      extensions are different. Fixes #3602.
    * MKVToolNix GUI: multiplexer: the "emphasis" and "stereoscopy" combo-boxes
      now have a much smaller minimum width, allowing to make the whole
      "properties" pane much smaller again. Fixes #3581.
    * MKVToolNix GUI: macOS: when you install the application from the DMG it'll
      no longer register itself as an alternate handler for its supported file
      types. It seems like this overrode existing associations, forcing people to
      change them manually to whatever they wanted them to be. Additionally this
      forced the associated file to always be shown with an MKVToolNix icon. The
      GUI's own `.mtxcfg` files will still be registered. Fixes #3588.


    # Version 78.0 "Running" 2023-07-02

    ## New features and enhancements

    * MKVToolNix GUI: header editor: for files that only contain legacy track
      language elements but no IETF language elements the header editor will now
      derive the IETF language elements from the legacy elements. See #3557.
    * AppImage: the AppImage is now built on AlmaLinux 8 with Qt 6.5.1. This means
      that the minimum glibc version this AppImage is compatible with has also
      been bumped, to v2.28. The oldest Debian coming with this version is Debian
      10 "Buster"; for Ubuntu it's 18.10 "Cosmic Cuttlefish".
    * Windows installer: the installer will now remove the file
      `data\portable-app` if it's present in the installation directory as its
      presence would signal to the app to run in portable mode, requiring write
      access to its base directory. This fixes some installation issues that could
      occur when a user extracted a portable app archive into a folder like
      `C:\Program Files\MKVToolNix`. Also added an installation check for the same
      issue. See #3558.

    ## Bug fixes

    * all: Linux: if initializing the locale system based on the system's settings
      fails, e.g. if environment variables such as `LC_ALL` have been set to
      `fr_FR.UTF-8` but the locale for `fr_FR.UTF-8` hasn't been built, MKVToolNix
      will try to fall back to `en_US.UTF-8` first & `C.UTF-8` second. If neither
      of the three succeeds, an error message will be shown, and the program will
      abort. This fixes the programs not catching an exception from the
      `boost::filesystem` library which doesn't cope with mis-configured locale
      systems well. Workaround for #3574.
    * mkvmerge: sorting tracks by type did not work properly when some tracks
      weren't copied. Part of the fix of #3567.
    * mkvmerge: track numbers in the destination file were assigned out-of-order
      when the track order in the source files differs from the one in the
      destination file. Now they're assigned sequentially in the order the tracks
      appear in the destination file again. Part of the fix of #3567.
    * MKVToolNix GUI: under certain circumstances the GUI would try to display
      error messages from a secondary thread, which isn't allowed in Qt, causing
      to program to either hang or outright crash. Part of the fix of #3556 &
      #3561.
    * MKVToolNix GUI: the GUI will check for several potential installation issues
      wrt. to having write access to certain directories (system's temporary
      directory, MKVToolNix's file identification cache directory and others) &
      display proper error messages if not. Part of the fix of #3556 & #3561.
    * MKVToolNix GUI: header editor: fixed the application crashing whenever you
      change a property below the "segment information" node. This bug was
      introduced in v77. Fixes #3556.
    * MKVToolNix GUI: header editor: when reading files that only contain legacy
      track language elements but no IETF track language elements, the header
      editor was showing all tracks as having "English" as the language. This bug
      was introduced in v77. Fixes #3557.
    * MKVToolNix GUI: header editor: when a legacy track language element contains
      a country code (e.g. `fr-CA`), the header editor was wrongfully using `und`
      = "undetermined" as the language for that element. Now it'll use the
      language from the language/country pair, which would be `fr` in the earlier
      example. Part of the fix of #3557.
    * MKVToolNix GUI: header editor: the keyboard shortcuts from the "modify
      selected track" sub-menu didn't work right after opening a file. They only
      started working after opening the "header editor" menu. Fixes #3573.
    * AppImage: fixed the GUI resources (e.g. icons) not being found.
    * AppImage: the Qt plugins required for using compose key/dead keys are now
      included. Fixes #3577.

    ## Build system changes

    * The compilation database (`compile_commands.json`) is now always built. The
      variable `BUILD_COMPILATION_DATABASE` is not evaluated anymore.
Version 77.0
  • Release Date: Jun 5, 2023
  • Download(s):
  • # Version 77.0 "Elemental" 2023-06-04

    ## New features and enhancements

    * mkvmerge: tracks in the destination file will now be sorted by their type
      automatically unless the track order is specified with the `--track-order`
      option. The order is as follows: video tracks first followed by audio &
      subtitle tracks with other rarely used types of tracks last. Tracks of the
      same type will be sorted in the same order as their source files occur in
      the command-line arguments. Note that this doesn't affect file
      identification. Implements #3545.
    * MKVToolNix GUI: multiplexer: the default list colors used for distinguishing
      source files does not include the darkest tier anymore (the ones where one
      or two components are set to the value 0x3f) as they're hard to distinguish
      from each other. Only affects new installations, or when the user presses
      the "reset to default colors" button. Implements #3533.
    * MKVToolNix GUI: multiplexer: the GUI will now check the state of the 'track
      enabled' flag of all video, audio & subtitle tracks when starting to
      multiplex or adding a job to the job queue. If there's no track with its
      flag turned on for a type, the GUI will turn on the flag for the first track
      of the type. This behavior can be turned off in the preferences. Implements
      #3535.
    * MKVToolNix GUI: header editor: the columns in the tracks/attachments view
      and the values on the "track type" page will now be updated each time a
      corresponding property is changed (e.g. when a track's name is changed)
      instead of showing what's in the file on disk. Implements #3554.
    * MKVToolNix GUI: macOS: when you install the application from the DMG it'll
      register itself as an alternate handler for its supported file types. This
      allows the use of the "Open with" context menu action in Finder.
    * MKVToolNix GUI: Windows: a new settings in the preferences lets the user
      chose whether to use the light or the dark color palette, or to follow the
      system settings. Part of the fix for #3528.

    ## Bug fixes

    * Fixed compilation with fmt v10.0.0.
    * mkvmerge: fixed several instances of wrong format strings for `fmt::format`
      used in debug messages. Fixes #3548.
    * mkvmerge: AV1 packetizer: the packetizer did not honor the aspect ratio
      (factor) given on the command-line via the `--aspect-ratio` or
      `--aspect-ratio-factor` options.
    * mkvmerge: JSON identification: cropping parameters are reported again even
      if some of the four values are not present in the file or set to 0. Fixes
      #3534.
    * mkvmerge: Windows: when writing to a network share connected via SMB1
      `mkvmerge` was aborting with a error about `create_directory() failed` with
      existing directories. This was due to a bug in recent versions of the
      Boost.Filesystem library. The Windows version of MKVToolNix will be built
      with Boost 1.82.0 from now on which includes the fix. Fixes #3547.
    * MKVToolNix GUI: the defunct "disable the dark mode" checkbox was removed
      from the preferences.
    * MKVToolNix GUI: language dialog: under certain conditions the controls for
      the individual components remained disabled when the dialog is opened even
      though editing of individual components is selected. Part of the fix of
      #3532.
    * MKVToolNix GUI: language dialog: the controls for the individual components
      weren't re-initialized properly after opening the dialog for the second &
      all following times, potentially leaving previously selected/entered entries
      intact, primarily when editing multiple tracks at once. Part of the fix of
      #3532.
    * MKVToolNix GUI: header editor: using the actions from the "modify selected
      track" context menu only worked if the user right-clicked on the first
      column in the view. They now work for clicks on any of the columns. See also
      #3554.
    * MKVToolNix GUI: header editor: some of the actions toggling specific flags
      from the "modify selected track" did not work correctly if the flag wasn't
      currently present in the file, especially if the underlying value has a
      default value in the Matroska specs.
    * MKVToolNix GUI: Windows: the GUI will now always use its own implementation
      of light & dark palettes instead of relying on Qt. This circumvents two
      issues with the palette support in Qt 6.5.0:
      1. if Windows 11's dark application mode is active, links were displayed in
         a hard-to-read dark blue.
      2. for unknown reasons the the dark palette was not chosen on some Windows
         11 installations even though Windows 11's color mode was set to "dark".
      This is a workaround for #3528.

    ## Build system changes

    * The bundled `fmt` library was updated to v10.0.0.
    * MKVToolNix GUI now uses an external Qt resource file instead of compiling it
      into the executable. The resource file has reached a size at which the C++
      compiler exhausts available virtual memory on some 32-bit architectures. On
      Windows & macOS the GUI will look for the file in
      `<folder_with_executables>/data/qt_resources.rcc`, and in the directory set
      with `configure`'s `--datadir` parameter on other systems (which usually
      means `/usr/share/mkvtoolnix`). The `install` build system commands installs
      it into that folder.
Version 76.0
  • Release Date: Apr 30, 2023
  • Download(s):
  • # Version 76.0 "Celebration" 2023-04-30

    ## Important notes

    * mkvmerge: removed the option `--blockadd`. Removing block additional data is
      not possible anymore, as it is often required for proper decoding. Part of
      the implementation of #3511.

    ## New features and enhancements

    * mkvmerge: JSON file identification: added a child element called
      `num_index_entries` to the `properties` track element containing the number
      of index entries found for a track. Currently only implemented for Matroska
      files where it contains the number of cue points. See #3510.
    * mkvmerge: the maximum block addition ID track header value is now calculated
      automatically from both the existing mappings & the actually used block
      additions in the block groups. Part of the implementation of #3511.
    * mkvmerge: Matroska reader: when reading WebM files that use block additions
      with ID 4 (HDR for VP9) an appropriate block addition mapping will be
      created automatically. Part of the implementation of #3511.
    * mkvmerge: MP4 reader: the title/movie name meta data (content of the
      `udta.meta.ilst.©nam` atom) will now be copied over as the segment title
      track header attribute. Part of the implementation of #3475.
    * mkvmerge: MP4 reader: the comment & encoder meta data (content of the
      `udta.meta.ilst.©cmt` & `….©too` atoms) will now be copied over as global
      tags `COMMENT` & `ENCODER` respectively. Part of the implementation of
      #3475.
    * mkvmerge, MKVToolNix GUI's multiplexer: added an option to stop processing
      after the primary video track ends called `--stop-after-video-ends`. This
      discards any remaining packets of other tracks. Part of the implementation
      #3506.
    * MKVToolNix GUI: only on Windows: the GUI now uses Qt's "Fusion" style
      instead of the deprecated "Windows Vista" style. The advantage is that as of
      Qt 6.5 the "Fusion" style properly supports Windows 10's & 11's dark
      application mode. The Windows binaries are now built with said Qt
      version. Therefore the option to disable the dark mode has been
      removed. Fixes #3264 and likely others.
    * MKVToolNix GUI: multiplexer: automatically setting the destination file
      name: added an option in the preferences for using the first source file's
      directory name instead of its file name as the basis for the destination
      file name. Implements #3512.
    * MKVToolNix GUI: multiplexer: double-clicking on certain columns in the
      "tracks" view will now toggle them directly (columns "Default track" &
      "Forced track") or activate the corresponding control (columns "Language",
      "Name" & "Delay"). Double-clicks on other columns will do what they've done
      before, too: toggling the "Copy item" state. Implements #3513 & others.
    * MKVToolNix GUI: the dialog for editing language tags is now created only the
      first time the user wants to edit a language tag & cached afterwards instead
      of creating a new instance each time. This makes subsequent uses instant.

    ## Bug fixes

    * mkvmerge: mkvmerge will now only try to probe for VobSubs if the name of the
      file to identify ends in either `.idx` or `.sub`, preventing
      mis-identification of other file types if VobSubs with the same base name
      exist in the same directory. Fixes #3508.
    * mkvmerge: AC-3: mkvmerge will now skip certain types of garbage data (16
      bytes starting with 0x01 0x10) that can occur before each sync frame,
      fixing the file not being identified as AC-3. Fixes #3484.
    * mkvmerge: Matroska reader: when reading files that use block additions with
      IDs other than 1 (e.g. 4 for HDR for VP9) the IDs will now be kept & written
      to the output file. Before no ID would be written, effectively using 1 as
      that's the default value for the corresponding element. Part of the
      implementation of #3511.
    * mkvmerge: mkvmerge will no longer write block addition mappings or the max
      block addition ID track header elements when creating a WebM file as those
      elements aren't supported there. Part of the implementation of #3511.
    * mkvpropedit: fixed replacing chapters & tags in files that don't contain
      tracks. Fixes #3498.
Version 75.0.0
  • Release Date: Mar 27, 2023
  • # Version 75.0.0 "Goliath" 2023-03-26

    ## New features and enhancements

    * mkvmerge: MP4 reader: mkvmerge will now read Timed Text (FourCC `tx3g`)
      subtitle tracks & convert them on the fly to Matroska's simple text subtitle
      format (`S_TEXT/UTF8`; text only, no styles). Implements #2208, #2242,
      #2613, #3000, #3243, #3418 and possibly others.

    ## Bug fixes

    * all: switched back to using `boost::filesystem` functions for creating
      directories instead of the ones introduced to work around bugs in
      `std::filesystem`. The latter didn't work correctly with UNC paths after the
      switch to `boost::filesystem::path` in v74. Fixes #3483.
    * mkvmerge: VobSub reader: mkvmerge will now probe the `.idx` file during
      VobSub identification even if the `.sub` file is passed as the
      source. Avoids mis-detection of the `.sub` as MPEG program streams. Fixes
      #3489.
    * MKVToolNix GUI: the GUI could abort with an exception on startup while
      looking for the `mkvmerge` or `mediainfo` executables due to inaccessible
      folders. Fixes #3481.
    * MKVToolNix GUI: preferences: when opening the preferences the first time the
      UI might pre-select the first entry in the list of interface languages if
      the operating system's language is not available for MKVToolNix. This might
      also happen on Linux if e.g. `en_GB` is set, even though `en_US` is
      available. Now English (`en_US`) will be selected instead. Fixes #3486.
    * MKVToolNix GUI: multiplexer: when adding files the GUI has special handling
      for chapter/tags/segment info files. This is done by comparing their content
      to certain patterns. This recognition could wrongfully be triggered if any
      such file was embedded in another file verbatim, e.g. with a chapter XML
      file attachment in a Matroska file. When trying to add that Matroska file,
      the GUI would treat it as a chapter file instead of a regular one. This
      content-based detection was fixed. Fixes #3487.

    ## Other changes

    * mkvpropedit, GUI's header editor: removed support for the deprecated
      "minimum cache" & "maximum cache" track header elements.
Version 74.0.0
  • Release Date: Feb 13, 2023
  • # Version 74.0.0 "You Oughta Know" 2023-02-12

    ## New features and enhancements

    * mkvmerge: SRT handling: added a hack called `--engage
      keep_whitespaces_in_text_subtitles` which disables stripping whitespaces
      from the start & end of each line of SRT entries during muxing. Part of the
      implementation of #3470.

    ## Bug fixes

    * all: Windows: UNC paths of type `\\?\C:\…` are supported again by switching
      back to Boost's file system library instead of using C++17's file system
      library. Fixes #3058.
    * mkvmerge: AVC/H.264 & HEVC/H.265 packetizers: when appending tracks the
      pixel dimensions will be checked & muxing will be aborted if they don't
      match. Fixes #3480.
    * mkvmerge: file type detection: file types that can be detected unambiguously
      by their content (e.g. Matroska, MP4, WAV…) will now preferred in the
      detection order over file types based on their extension. Prevents certain
      cases of mis-detection, e.g. DTS in WAV but with a file name extension of
      `.dts` being detected as the wrong type of DTS. Fixes #3462.
    * mkvmerge: SRT handling: whitespaces will now be stripped from the start &
      the end of each line of each entry, not just from the end of the last
      line. Part of the fix of #3470.
    * mkvextract: SRT extraction: whitespaces will not be stripped from the start
      & end of the whole entry anymore. Part of the fix of #3470.
    * MKVToolNix GUI: multiplexer: when adding multiple files that include certain
      file types (chapters, segment info and tag files) and when the choice where
      to add them is "all files to a single new tab", these certain file types
      will now be added in the newly added tab as well instead of the current tab
      that had already been open. Fixes #3469.
    * build system: fixed compatibility with Ruby 3.2.0 by using `FileTest.exist?`
      instead of `File.exists?`, `Dir.exists?` & `FileTest.exists?` which were
      removed in that release.

    ## Build system changes

    * MKVToolNix is now using & requiring Boost's "file system" and "system"
      libraries again instead of C++17's file system library. This is due to gcc's
      library not supporting UNC paths of types `\\?\C:\dir\file.ext`.

Version 73.0.0
  • Release Date: Jan 3, 2023
  • # Version 73.0.0 "25 or 6 to 4" 2023-01-02

    ## New features and enhancements

    * mkvmerge: greatly enhanced the speed of Base64 decoding which is used used
      e.g. when reading pictures embedded in Ogg or FLAC files or for binary data
      inside XML chapter & tag files. Even small blocks of data could take
      unreasonably long.
    * mkvmerge: added support for reading HEVC/H.265 video from FLV
      containers. Implements #3466.

    ## Bug fixes

    * mkvmerge: splitting: fixed a typo in the string output in GUI mode regarding
      the timestamps before which splitting was done. See #3421.
    * MKVToolNix GUI: job output: after having run multiple jobs the "Clear
      output" functionality only reset the visible parts. However, using the "save
      output" function would also save the output generated before the user used
      "clear output". Now only the output after the last use of "clear output" is
      saved. Fixes #3438.
    * build system: when probing for the FLAC library the Ogg libraries will be
      linked with the compiled test program as well. This fixes detection if the
      `pkg-config` settings for FLAC don't list Ogg & the linker doesn't find the
      library automatically (e.g. for my macOS builds). Fixes #3439.
Version 71.1.0
  • Release Date: Oct 10, 2022
  • # Version 71.1.0 "Fortitude" 2022-10-09

    ## Bug fixes

    * Chapters DTD: added the new edition & chapter elements from Matroska v5.
    * Chapters DTD: fixed EditionUID being mandatory. mkvmerge can auto-generate
      it if it's missing from the XML file.
    * Chapters DTD: fixed the `example-chapters-1.xml` not validating against the
      DTD.
    * Chapters DTD: corrected the old name `EditionManaged` to
      `EditionFlagOrdered`.
    * Chapters DTD: fixed `ChapLanguageIETF` missing its element declaration &
      `ChapterLanguage` being required.
    * XML DTDs: fixed elements representing binary data not allowing the `format`
      attribute.

    ## Build system changes

    * bug fix: configure accidentally tested for libEBML ≥ 2.0.0 & libMatroska ≥
      2.0.0, even though the actual requirements are 1.4.4 & 1.7.1 respectively.
Version 71.0.0
  • Release Date: Oct 9, 2022
  • # Version 71.0.0 "Altitude" 2022-10-08

    ## New features and enhancements

    * mkvmerge, MKVToolNix GUI's multiplexer: added support for the Emphasis audio
      track header element via the `--audio-emphasis` option. It is also read from
      Matroska files.
    * mkvmerge: the options `--list-stereo-modes` and `--list-audio-emphasis` have
      been added to list all support numerical & textual values for the
      `--stereo-mode` & `--audio-emphasis` options.
    * mkvpropedit, MKVToolNix GUI's header editor: added support for the Emphasis
      audio track header element via the `emphasis` property.
    * MKVToolNix GUI: multiplexer: when the track properties are
      configured to be displayed in a tab widget below the files & tracks
      in the "Input" tab, the "Color information" tab will be laid out in
      two columns. This reduces the minimum height the whole tab widget
      requires. Implements #3401.
    * MKVToolNix GUI: greatly sped up closing the preferences dialog by only
      re-running certain initialization functions when their corresponding
      settings have changed. Also fixes issues such as #3406.
    * mkvinfo, MKVToolNix GUI's info tool: added support for the following new
      elements from Matroska v5: Emphasis audio track header element; Chapter Skip
      Type; Edition Display; Edition String; Edition Language IETF.
    * mkvmerge, mkvpropedit: added support for the following new chapter elements
      from Matroska v5: Chapter Skip Type; Edition Display; Edition String;
      Edition Language IETF. The GUI's chapter editor will receive support for
      them in the next release.

    ## Bug fixes

    * mkvmerge: Ogg/OGM reader: mkvmerge will now correctly skip tracks of
      unsupported types as well as tracks for which all track header pages
      haven't been found. Fixes #3394.

    ## Build system changes

    * libEBML 1.4.4 & libMatroska 1.7.1 are now required.
    * The bundled libEBML & libMatroska libraries were updated to v1.4.4 & v1.7.1
      respectively.
    * The bundled `fmt` library was updated to v9.1.0.
    * The bundled `nlohmann-json` library was updated to v3.11.2.
Version 70.0.0
  • Release Date: Aug 14, 2022
  • # Version 70.0.0 "Caught A Lite Sneeze" 2022-08-14

    ## New features and enhancements

    * MKVToolNix GUI: the user can now control where the job queue files & the
      preferences INI file are stored via environment variables. If set, the
      variable `MKVTOOLNIX_GUI_STATE_DIR` can point to a directory where the GUI
      stores both the job queue sub-directory and the preferences INI file. If you
      only want to relocate the preferences INI file, you can store the desired
      file name for the INI file in `MKVTOOLNIX_GUI_CONFIG_FILE`. Implements
      #3382.
    * MKVToolNix GUI: when adding directories via drag & drop/copy & paste the GUI
      will now offer the user the option to create one multiplex settings tab per
      directory & adding all files from that directory to the corresponding, newly
      created tab. Implements #3371.

    ## Bug fixes

    * mkvmerge: AV1 OBU parser: fixed identifying files that only contain single
      frame. Fixes #3380.
    * MKVToolNix GUI: multiplexer: when reading color parameters from identified
      files that are floating point numbers (minimum/maximum luminance, projection
      pitch/roll/yaw) the numbers will be formatted in floating-point notation
      instead of scientific notation as mkvmerge only supports the former. Fixes
      #3368.
    * MKVToolNix GUI: multiplexer: color parameters that are floating point
      numbers (minimum/maximum luminance, projection pitch/roll/yaw) will only be
      set to a value during identification if the identification actually contains
      the property, and not to 0 anymore if it doesn't.

    ## Build system changes

    * Several merge requests where accepted that improve compilation on MSYS2 on
      Windows. Note that this build type isn't supported.
Version 69.0.0
  • Release Date: Jul 10, 2022
  • # Version 69.0.0 "Day And Age" 2022-07-09

    ## Important notes

    * all: the spelling of "colour" was changed to "color" throughout all programs
      to match the use of American English spelling in MKVToolNix. This not only
      affects documentation and user interface controls, but also program options
      for mkvmerge & mkvpropedit. Both programs will continue to accept the
      British English spelling of their respective options indefinitely. One
      breaking change is that the property names in mkvmerge's JSON identification
      mode have also been changed to American English spelling. As those
      properties have only been introduced in release v68, this seems like a small
      enough window to make such a change.

    ## New features and enhancements

    * MKVToolNix GUI: the number of recently used entries (e.g. destination
      directories) remembered by the GUI can now be configured in the
      preferences. Implements #3362.
    * MKVToolNix GUI: multiplexer: when adding files the track properties
      regarding color information & color mastering meta information will be
      parsed & set in the corresponding GUI controls. Implements #3359.
    * MKVToolNix GUI: job queue: the job queue can now be sorted by clicking on
      the column headers. Part of the implementation of #3365.
    * MKVToolNix GUI: job queue: when loading jobs from the queue directory that
      weren't previously known to the program those jobs will be sorted by their
      "date added" timestamp instead of using the order the operating system
      returns them in. Part of the implementation of #3365.

    ## Bug fixes

    * build system: fixed compilation with fmt v9. Fixes #3366.
    * mkvmerge: HEVC ES parser: the parser will now parse at least the first full
      access unit before reporting that it has found all the required
      headers. Otherwise parsing might stop in the middle of the access unit due
      to the source reader not providing more data in the first call, leading to
      the parser not finding the `unspec62` and `unspec63` NALUs required for
      Dolby Vision. Fixes #3363.
    * MKVToolNix GUI: preferences: the default actions added to the "execute
      programs" section on new installations now default to use WebM file names
      instead of Ogg, matching the format of the included audio files.

    ## Build system changes

    * The bundled `fmt` library was updated to v9.0.0.

Version 68.0.0
  • Release Date: May 23, 2022
  • # Version 68.0.0 "The Curtain" 2022-05-22

    ## New features and enhancements

    * mkvmerge: HDMV PGS subtitles: mkvmerge now tries to detect bogus timestamps
      (where the current timestamp is two hours or more after the previous
      timestamp) & correct them to something more sensible (1s after the previous
      timestamp). That way one bogus timestamp cannot cause the rest of the frames
      to not be interleaved properly with the other audio & video
      packets. Implemented for #3268.
    * mkvmerge: added colour information, colour mastering meta information &
      video projection information properties to the JSON identification
      format. The properties are reported for container types for which mkvmerge
      supports reading them (Matroska & MP4). The JSON identification format
      version number has been bumped to v15.
    * MKVToolNix GUI: multiplexer: added controls for all the video colour
      information & the video projection information.

    ## Bug fixes

    * mkvmerge: SRT reader: entries with a duration of 0 or less will now be
      skipped. Fixes #3332.
    * mkvpropedit, MKVToolNix GUI's chapter & header editors: fixed an invalid
      memory access when trying to update existing Matroska files whose EBML Head
      element had a "size" field length of eight bytes, and where rewriting said
      element would shrink the element by one byte. Files created by gstreamer fit
      the first part whereas the second depends on the changes requested by the
      user. Part of the fix of #3325.
    * mkvpropedit, MKVToolNix GUI's chapter & header editors: fixed the programs
      not handling having to remove EBML void elements at the end of the file
      correctly and consequently aborting. Part of the fix of #3325.
    * MKVToolNix GUI: the GUI now uses almost all SVG icons, allowing proper
      scaling even for scaling factors such as 125%. Fixes #3335.
    * MKVToolNix GUI: when compiled with Qt 5 the character set of INI files is
      forced to UTF-8 in order to fix reading INI files written by a version
      compiled with Qt 6. Fixes #3346.

    ## Build system changes

    * Qt's SVG library is now required.

Version 67.0.0
  • Release Date: Apr 11, 2022
  • # Version 67.0.0 "Under Stars" 2022-04-10

    ## New features and enhancements

    * all: IETF BCP 47/RFC 5646 language tags: when deriving the legacy language
      element codes to use a language tag's ISO 639 code is also potentially
      interpreted as an & its prefix is used as the legacy language code. For
      example, "Yue Chinese" = `yue` is not part of ISO 639-2. However, there is
      an extlang subtag `yue` with a valid prefix of `zh` ("Chinese"), and for
      "Chinese" there is an ISO 639-2 language code: `chi`. In this example the
      IETF language element would be set to `yue` and the corresponding legacy
      element to `chi`. Part of the implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: grandfathered language tags are now
      supported. Part of the implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: all deprecated subtags from the
      IANA language subtag registry are now supported. Part of the implementation
      of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: all lists of valid subtags have
      been updated from their respective authoritative sources. Part of the
      implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: all in the IANA language subtag
      registry are now supported, even those marked as deprecated and of type
      'grandfathered'. Part of the implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: reduced the maximum number of
      extended language subtags that are present in a valid tag from 3 to 1 in
      compliance with RFC 5646 section 2.2.2. Part of the implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: all language codes reserved for
      private/local use (`qaa`–`qtz`) are now supported. Part of the
      implementation of #3307.
    * all: IETF BCP 47/RFC 5646 language tags: Digital Cinema Naming Convention
      language codes that fall into the IETF BCP 47 range of "private use" tags
      (`qaa`–`qtz`) are now replaced by their IETF BCP 47 equivalents during
      normalization (e.g. `QMS` → `cmn-Hans`). Part of the implementation of
      #3307.
    * all: added a new translation to Chinese Simplified (Singapore) by Dian Li.
    * mkvmerge, mkvpropedit: added a new command line option called
      `--enable-legacy-font-mime-types`. With this option on the two programs will
      use the same legacy MIME types for fonts whenever new attachments are added
      (both programs), when reading existing attachments (only `mkvmerge`) or when
      replacing existing ones (only `mkvpropedit`).
    * mkvmerge, mkvpropedit: IETF BCP 47/RFC 5646 language tags: added a command
      line option `--normalize-language-ietf <mode>` which turns on normalization
      of IETF BCP 47 language tags to either their canonical (mode `canonical`) or
      extended language subtags form (mode `extlang`) or turns it off (mode
      `off`). If the option isn't given, language tags will now be normalized to
      the canonical form. Part of the implementation of #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: ISO 639-3 and 639-5
      languages will now be used by default. Part of the implementation of #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor
      dialog will now show warnings in several cases: when deprecated tags are
      used; when the tag's canonical and/or extlang forms differ from the user
      input. Part of the implementation of #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor now
      has a button to replace the current tag with a normalized form (canonical or
      extlang) if those differ from the current tag. Part of the implementation of
      #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: added an option in the
      preferences to always normalize all language tags to their canonical or
      extlang forms or to turn normalization off. Can also be enabled from the
      language editor dialog. Part of the implementation of #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now
      shows a warning if a variant is used with a prefix that isn't in the
      variant's list of suitable prefixes. It'll also say if the corresponding
      canonical/extlang forms would have a suitable prefix. Part of the
      implementation of #3307.
    * MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now
      shows a warning if a script is used with a language for which it should be
      suppressed. Part of the implementation of #3307.
    * MKVToolNix GUI: multiplexer: the track property group boxes in the
      scrollable pane are now collapsible & expandable, saving their state over
      restarts of the GUI. This is in preparation of adding many more track
      properties in future releases, allowing the user to hide parts they don't
      use all that often.
    * MKVToolNix GUI: multiplexer: if the option "use legacy font MIME types" is
      enabled in the preferences, the new command line option
      `--enable-legacy-font-mime-types` will be passed to `mkvmerge` in order to
      have it remap the MIME types of existing attachments, too.

    ## Bug fixes

    * all: IETF BCP 47/RFC 5646 language tags: variants aren't validated wrt. to
      prefixes anymore as BCP 47 doesn't actually pose restrictions on them,
      saying only that prefixes "are suitable sequences" for use with the
      variants. What is now verified, though, is that no variant is used multiple
      times within the same language tag. Part of the implementation/fix of #3307.
    * build system & MKVToolNix GUI: fixed detecting the presence of & the
      compilation with the multimedia module of Qt version 6.2.0 and newer.
    * build system: fixed compilation on Unices other than Linux & macOS
      (e.g. FreeBSD). Fixes #3316.
    * MKVToolNix GUI: job queue: fixed compiling in the audio player code for the
      the "play audio" end-of-job action. Fixes #3303.
    * MKVToolNix GUI: multiplexer: recognizing added XML chapter, segment info or
      chapter files required the XML declaration & root node (e.g. `<?xml…?> …
      <Chapters>` for chapters) be located within the first 1 KB, which wasn't
      enough for files that contain a lot of comments at the start like the
      included `example-chapters-2.xml`. The detection range was extended to 10
      KB. Fixes #3302.

    ## Build system changes

    * build system: the provided Windows binaries are now compiled with Qt 6. A
      drawback is that certain audio formats aren't supported anymore by Qt for
      the "end of job" sound notification playback, notably the Ogg file format &
      the Vorbis audio codec. MKVToolNix therefore now ships Opus-in-WebM files
      for the same purpose.
    * The bundled `fmt` library was updated to v8.1.1.
    * The bundled `nlohmann-json` library was updated to v3.10.5.
    * The bundled `pugixml` library was updated to v1.12.1.

Rate this software:

Your Rating:
You have not voted yet!

Average: 4.26
Total Ratings: 114

 



Software Submissions