MKVToolNix v29.0.0 released

It’s time for MKVToolNix v29.0.0 which fixes a couple of bugs and adds one or two new features.

There were two important changes for package managers regarding library dependencies. Please see the NEWS below for details.

You can download the source code or one of the binaries. The Windows and macOS binaries as well as the Linux AppImage are available already. The other Linux binaries are stil being built and will be available over the course of the next couple of hours.

Here are the NEWS since the previous release:

Important notes

  • The string formatting library used was switched from boost::format to fmt. See the section "Build system changes" for details.

New features and enhancements

  • MKVToolNix GUI: added an option in the preferences for disabling automatic scaling for high DPI displays. Implements #2415.
  • MKVToolNix GUI: the GUI will now prevent the system from going to sleep while the job queue is running. This feature is implemented for macOS, Windows and Linux/Unix systems where the org.freedesktop.login1.Manager D-Bus interface is available. Implements #2411.

Bug fixes

  • mkvmerge: chapter generation: the start timestamps of chapters generated in intervals was wrong for files whose smallest video timestamp was bigger than 0. Fixes #2432.
  • mkvmerge: MP4 reader: fixed handling of atoms whose size exceeds the parent atom’s size. Fixes #2431.
  • mkvmerge, MKVToolNix GUI’s chapter editor: the chapter name template will now also be used when reading Ogg-style chapter files with empty chapter names. Fixes #2441.
  • mkvextract: AAC: mkvextract will now write the program config element (PCE) before the first AAC raw data packet if the PCE is present in the AudioSpecificConfig structure in the Codec Private Matroska element. The PCE carries vital information about the number of channels and is required in certain cases. Fixes #2205 and #2433.
  • mkvpropedit, MKVToolNix GUI’s header editor: in situations when a one-byte space must be covered by a new EBML void element the following element must be moved up instead. If that moved element is a cluster, the corresponding cue entries will now be updated to reflect the cluster’s new position. Fixes #2408.
  • MKVToolNix GUI: Windows: the application manifest is now included properly so that Windows actually recognizes it. See #2415.

Build system changes

  • Qt’s D-Bus implementation is now required for building on systems other than macOS and Windows,
  • The boost::format library is not used anymore.
  • The fmt library is now required. Versions 3 and newer are supported. As not all Linux distributions include packages for the library, its release 5.2.1 comes bundled with MKVToolNix. The configure script will check for a system version of the library and use it if present and recent enough. Otherwise it will fall back to the bundled version and link that statically.

Have fun :)