MKVToolnix Changelog

New in version 8.3.0

August 16th, 2015
  • MKVToolNix GUI: chapter editor enhancement: pressing return will cause the next appropriate chapter control to be selected depending on where the focus currently is: from a chapter input to the first chapter name, from a chapter name to the next chapter name and from the last chapter name to the next chapter entry's start time. Implements #1358.
  • MKVToolNix GUI: enhancement: the number of running jobs is shown in the status bar. Implements #1381.
  • MKVToolNix GUI: new job queue feature: added a context menu for force-starting selected jobs. This allows for running more than one job at the same time. Implements #1395.
  • MKVToolNix GUI: new merge tool feature: added an option for automatically setting the »default track« flag to »no« for all subtitle tracks when they're added. Implements #1339.
  • MKVToolNix GUI: new merge tool feature: dragging & dropping files onto line edit controls that expect file names (e.g. the »chapter file« control) will set that line edit's text to the dropped file name. Implements #1344.
  • mkvmerge: bug fix: track statistics tags can be kept with the option »--engage keep_track_statistics_tags«. This allows outputting them in verbose identification mode for easier parsing. Fixes #1351.
  • MKVToolNix GUI: new feature: jobs in the queue can now be edited again. For that they're re-opened in the corresponding tool and removed from the queue. Implements #1296.
  • build system: stack protection is enabled when building with gcc on all platforms. For Windows DEP and ASLR is enabled. Implements #1370.
  • MKVToolNix GUI: enhancement: the format of the setting and queue files has been changed from INI style to JSON documents. Reading older setting files in INI style remains supported, but saving will convert them to JSON. Together with the other three changes mentioned below this results in a noticeable reduction in the time needed for writing the queue files, e.g. when pressing »start muxing« or when quitting the application.
  • MKVToolNix GUI: enhancement: the way the job queue is stored has been changed. Earlier all jobs were stored in the same file (or registry on Windows) as the preferences. Now they're stored in a sub directory called »jobQueue« with one file per queue entry.
  • MKVToolNix GUI: enhancement: on Windows the preferences are not stored in the registry anymore, not even if the application has been installed. Instead they're stored in an INI file in the user's AppData\Local directory tree.
  • MKVToolNix GUI: enhancement: the number of times the queue files are saved has been reduced. The queue files are also loaded only once on startup, not twice.
  • MKVToolNix GUI: bug fix: fixed various crashes when dragging & dropping in all of the tree views (merge tool: files view, tracks view, attachments view; chapter editor: edition/chapter tree, chapter name list; job queue). Fixes #1365.
  • MKVToolNix GUI: enhancement: if an instance is already running when the application is started a second time then the GUI requests that the already-running instance will be activated. Implements #1379.
  • MKVToolNix GUI: new feature: added an option in the preferences for automatically switching to the job output tool whenever the user starts a job (e.g. by pressing »start muxing«). Implements #1376.
  • MKVToolNix GUI: new job output and job queue feature: added a function for opening the output folder. Implements #1342.
  • MKVToolNix GUI: new job output tool feature: added a way to clear the output, warnings and errors views. Implements #1356.
  • MKVToolNix GUI: merge tool bug fix: attachments: sometimes changing values didn't apply the changes to all selected attachments depending on how they were selected. Fixes #1373.
  • MKVToolNix GUI: merge tool bug fix: the automatically suggested description for new jobs contained the file name twice, even in the directory portion. Fixes #1378.
  • MKVToolNix GUI: merge tool bug fix: if »set output file name automatically« is enabled then file names ending with a number in parenthesis (e.g. »Berlin (1962).mkv«) will keep their number in the generated output file name. Fixes #1375.
  • MKVToolNix GUI: merge tool bug fix: the GUI will keep manual changes to the output file name even if »set output file name automatically« is enabled. Fixes #1372.
  • MKVToolNix GUI: bug fix: fixed the stereoscopy drop down box not being re-translated when the GUI language is changed. Fixes #1224.
  • MKVToolNix GUI: chapter editor bug fix: it was possible to drop chapter entries on the top-level reserved for editions. Fixes #1369.
  • MKVToolNix GUI: Windows: if the application has been installed then its settings will no longer be saved in the registry but in an INI file in the user's data application folder (e.g. C:\Users\mbunkus\AppData\Local\bunkus.org\mkvtoolnix-gui).
  • MKVToolNix GUI: merge tool enhancement: added »Simple OGM-style chapter files (*.txt)« to the file selection dialog when selecting a chapter file. Implements #1269.
  • MKVToolNix GUI: bug fix: fixed compilation when building without curl support. Fixes #1359.

New in version 8.2.0 (July 20th, 2015)

  • mkvmerge, MKVToolNix GUI: bug fix: fixed the container type not being recognized properly by the GUI. Now the numerical container type ID is output in verbose identification mode by mkvmerge.
  • MKVToolNix GUI: chapter editor enhancement: the template for chapter names can now contain a number of places for the chapter number, e.g. ‘’. The number will be zero-padded if there are less places than specified.
  • MKVToolNix GUI: new chapter editor feature: implemented a function for renumbering chapters. This allows the user to automatically assign new chapter names to one level of sub-chapters with ascending numbers. Implements #1355.
  • MKVToolNix GUI: new feature: the position of the tab headers of all tab widgets can be changed in the preferences. Implements #1334.
  • MKVToolNix GUI: new feature: added an option for hiding the tool selector.
  • MKVToolNix GUI: new job queue feature: added menu options for stopping the queue either immediately or after the current job has finished. Implements #1303.
  • MKVToolNix GUI: new job queue feature: added a context menu option for setting jobs to status »pending manual start«.
  • MKVToolNix GUI: chapter editor bug fix: the file is not kept open so that you can open it in other applications at the same time.
  • MKVToolNix GUI: new merge tool feature: added context menu options for selecting all tracks of a specific type (e.g. all audio tracks). Implements #1197.
  • MKVToolNix GUI: merge tool enhancement: the dialog shown after dragging & dropping files from external applications asking if those files should be added or appended now has an option to always add and never to show that dialog again. For new MKVToolNix installations the default is now to show this dialog again until the user deactivates it either in the dialog or in the preferences.
  • MKVToolNix GUI: new feature: added additional ways to move selected files, tracks and attachments around: keyboard shortcuts (Ctrl+Up and Ctrl+Down) and optional buttons (those have to be enabled in the preferences). Using drag & drop remains possible. Implements #1279.
  • MKVToolNix GUI: bug fix: if a GUI language other than English was selected then the warning/error messages output by mkvmerge were not recognized properly and output in the wrong text views.
  • MKVToolNix GUI: merge tool bug fix: fixed loading saved settings in which an appended file contains chapters/tags/attachments.
  • MKVToolNix GUI: new merge tool feature: dragging files from external applications now allows you to create new mux settings and add the dropped files to those if the »always add dropped files« option is off. Implements #1297.
  • MKVToolNix GUI: new feature: added support for displaying the queue progress on the task bar button. Implements #1335.
  • mkvmerge: bug fix: fixed handling of MPEG transport streams where all PATs and PMTs have CRC errors. Fixes #1336.
  • MKVToolNix GUI: new merge tool feature: implemented support for re-ordering new attachments via drag & drop. Implements #1276.
  • MKVToolNix GUI: bug fix: fixed the command line option used when the »fix bitstream timing info« check box is checked. Fixes #1337.
  • docs: added a Spanish translation of the man pages
  • MKVToolNix GUI: enhancement: several drop down boxes have had their options renamed slightly to be more consistent overall and easier to select via the keyboard. Implements #1309.
  • MKVToolNix GUI: fix compilation with the upcoming Qt 5.5.0. Fixes #1328.
  • MKVToolNix GUI: job queue bug fix: when re-starting a job the »date finished« field wasn’t reset. Fixes #1323.
  • MKVToolNix GUI: merge tool bug fix: the option »set output file name relative to first input file« caused the relative path to be applied each time a file was added resulting in the wrong directory. Fixes #1321.
  • MKVToolNix GUI: merge tool bug fix: when adding a Blu-ray playlist and aborting the »select playlist to add« dialog the originally opened playlist was added even so.
  • mkvmerge: bug fix: the MPEG-1/2 video code was causing an illegal memory access under certain conditions. Fixes #1217 and #1278.
  • MKVToolNix GUI: bug fix: the »default subtitle character set« combo box required a selection without an option for using the system’s default. An entry »– no selection by default –« has been added at the top.
  • MKVToolNix GUI: bug fix: fixed parsing command line arguments to an already-running instance on Windows. Fixes #1322.
  • MKVToolNix GUI: enhancement: position and size of the several additional windows are saved and restored. These include: the preferences window, the dialog for additional command line options, the dialog showing the command line and the dialog for selecting the playlist to add. Implements #1317.
  • MKVToolNix GUI: bug fix: fixed the combo boxes with languages, countries and character sets not being re-initialized after changes to the list of common languages/countries/character sets in the preferences. Fixes #1224.
  • MKVToolNix GUI: enhancement: the relative sizes of all splitters are saved and restored. Implements #1306.
  • MKVToolNix GUI: chapter editor bug fix: fixed the menu entries »save to XML file« and »save to Matroska file« not being available after loading chapters until the tool or tab was changed. Fixes #1312.
  • MKVToolNix GUI: bug fix: fixed labels and therefore the window becoming excessively wide with long file names. Fixes #1314.
  • MKVToolNix GUI: merge tool bug fix: fixed the focus marker around combo boxes inside scroll areas not being drawn. Fixes #1310.
  • MKVToolNix GUI: merge tool bug fix: fixed the stereoscopy mode being off by one. Fixes #1311.
  • MKVToolNix GUI: merge tool bug fix: fixed the –append-to calculation if more than one file has been appended. Fixes #1313.

New in version 8.1.0 (July 1st, 2015)

  • mmg: bug fix: fixed handling of the characters [ and ] in container and track properties.
  • MKVToolNix GUI: merge tool enhancement: moved the »output file name« controls below the three tabs so they're always visible. Also added an option in the preferences to move them back inside the »output« tab. Implements #1266

New in version 8.0.0 (June 21st, 2015)

  • MKVToolNix GUI: improved locating the mkvmerge executable on non-Windows systems. Fixes #1246.
  • MKVToolNix GUI: chapter editor bug fix: dragging & dropping a file onto the chapter editor that cannot be parsed as chapters was causing a confusing warning about changed chapters not being saved.
  • MKVToolNix GUI: merge tool bug fix: fixed several controls not changing their language correctly when the interface language is changed.
  • MKVToolNix GUI: merge tool enhancement: drag & drop of files works even if no mux settings are currently open. Implements #1245.
  • mkvmerge: bug fix: fixed codec identification for MP2 audio read from MPEG program/transport streams. Fixes #1242.
  • MKVToolNix GUI: job output enhancement: when clicking the »abort« button the GUI asks for confirmation before aborting. Both this check and the one when quitting the application can be turned off via an option in the preferences. Implements #1238.
  • MKVToolNix GUI: job output bug fix: fixed displaying the estimated remaining time in tabs that have been opened for specific jobs. Fixes #1244.
  • MKVToolNix GUI: new merge tool, header & chapter editor features: the GUI will ask for confirmation before closing or reloading tabs that have been modified and before quitting if there are modified tabs. This check can be disabled in the preferences. Implements #1211.
  • MKVToolNix GUI: new merge tool feature: implemented an option that allows the user to set up a list of languages. When adding files only those tracks whose language is included in that list are set to be muxed by default. Implements #1227.
  • MKVToolNix GUI: header editor bug fix: fixed the editor assuming values were changed if a track is present whose language element is not present in the file. Fixes #1240.
  • MKVToolNix GUI: bug fix: fixed the translation of the tool tip for the »close tab« buttons after changing the interface language. Fixes #1237.
  • MKVToolNix GUI: bug fix: appended tracks will be disabled automatically when starting to mux if the track they’re appended to has been disabled by the user.
  • MKVToolNix GUI: new feature: added an option in the preferences for disabling additional lossless compression for all track types. Implements #1174.
  • mkvmerge, MKVToolNix GUI: new feature: added an option (»–engage keep_last_chapter_in_mpls«) that will cause mkvmerge not to remove the last chapter entry from a Blu-ray play list file which mkvmerge normally does if that entry’s timecode is within five seconds of the movie’s end. Implements #1226.
  • MKVToolNix GUI: fixed updating the number of pending jobs info in the status bar when manually starting jobs. Fixes #1236.
  • MKVToolNix GUI: merge tool bug fix: fixed a crash when removing source files. Fixes #1235.
  • MKVToolNix GUI: new watch jobs tool feature: implemented estimating the remaining time for both the current job and the whole queue.
  • MKVToolNix GUI: merge tool bug fix: the default settings for the »output directory policy« was changed to »same directory as the first input file«. Fixes #1234.
  • MKVToolNix GUI: enhancement: the following dialogs can now be maximized: the »preferences« dialog; the »additional command line options« dialog; the dialog showing the command line; the dialog where the user selects the play list to add. Implements #1231.
  • MKVToolNix GUI: merge tool enhancement: pressing delete when the source files view is focused will cause the selected source files to be removed. Implements #1225.
  • MKVToolNix GUI: merge tool enhancement: implemented toggling of »mux this« for all selected tracks by either double-clicking on the tracks or pressing enter/return when the tracks view is currently focused. Implements #1225.
  • MKVToolNix GUI: job queue enhancement: added a menu entry for starting all jobs pending manual start. Implements #1228.
  • MKVToolNix GUI: enhancement: the text in all message box dialogs can now be selected & copied, even on Windows. Implements #1230.
  • all: the detection whether or not the applications are installed on Windows is done by checking for the presence of a special file in the program folder instead of checking for an entry in the registry written by the installer. This enables users to try new portable versions without having to uninstall an installed version first as their settings will be kept separate now. A side effect is that compatibility with Windows XP should be restored. Implements #1229.
  • MKVToolNix GUI: bug fix: on Windows the job queue was accidentally always saved to and loaded from the registry even if the portable version was used.
  • MKVToolNix GUI: job queue bug fix: fixed accidental duplication of lines when using drag & drop in certain ways. Fixes #1221.
  • MKVToolNix GUI: bug fix: if a job is running when the user wants to quit requires confirmation from the user that the running job should be aborted. Fixes #1219.
  • MKVToolNix GUI: bug fix: fixed the initial status display when viewing a job’s output from the queue.
  • MKVToolNix GUI: bug fix: running jobs cannot be removed from the job queue anymore. Fixes #1220.
  • MKVToolNix GUI: bug fix: when starting the GUI old jobs from the queue were silently discarded if they included additional parts (e.g. VOBs).
  • MKVToolNix GUI: bug fix: job queue: when saving the job queue jobs removed in the GUI were not removed from the stored settings.
  • MKVToolNix GUI: bug fix: when viewing the job output of a job that hasn’t been run yet the »save output« button was enabled.
  • mkvmerge, mkvpropedit: bug fix: fixed an invalid memory access leading to a crash in the Base 64 decoder. Fixes #1222.
  • MKVToolNix GUI: bug fix: fixed progress parsing for interface languages other than English.
  • mkvmerge: enhancement: if running in GUI mode (parameter »–gui-mode«) then the progress will be output as the untranslated »#GUI#progress …%« in order to facilitate parsing of progress by GUIs.
  • mkvmerge: bug fix: fixed key frame designation for video tracks in MP4 DASH files.
  • mkvmerge: bug fix: the track statistics tags of Matroska source files are always discarded, no matter whether or not they’re to be created for the output file. That way they won’t be reported as track tags by mkvmerge’s identification mode. This makes it easier for the user to create output files without track statistics tags as (s)he only has to use the option »–disable-track-statistics-tags« and not disable all the track tags as well anymore. Fixes #1186.
  • mkvmerge, mkvinfo, mkvextract: bug fix: fixed a crash with certain types of invalid Matroska files. Fix for #1183.
  • all: bug fix: removed some unused code thereby fixing compilation on OpenBSD (#1215).
  • MKVToolNix GUI: bug fix: fix alignment of the tool contents with the tool selector at the bottom. Fixes #1194.
  • MKVToolNix GUI: new feature: added a »help« menu with links to several parts of the MKVToolNix documentation. Implements #1195.
  • MKVToolNix GUI: job output tool: added a button for acknowleding the warnings/errors produced for the job shown. Implements #1210 and is the last part of the implementation of #1196.
  • MKVToolNix GUI: merge tool: the »save« button has been removed in favor of the »save…« menu entries. This also improves consistency with the other tools.
  • MKVToolNix GUI: enhancement: header editor: made the meaning of the »Reset« button clearer with a better label and an additional tool tip. Implements #1212.
  • MKVToolNix GUI: enhancement: the tabs for the tools that haven’t been implemented yet (extraction, info and the tag editor) are not shown anymore.
  • MKVToolNix GUI: bug fix: header editor: fixed the track language shown if the element is not present in the file.
  • MKVToolNix GUI: bug fix: when browsing the output file name the currently entered file name is pre-selected in the dialog. Fixes #1207.
  • MKVToolNix GUI: enhancement: the update check dialog showing the change log can now be maximized. Implements #1204.
  • MKVToolNix GUI: new feature: implemented viewing the output of any job in the job queue.
  • MKVToolNix GUI: new feature: implemented saving the job output to a file.
  • MKVToolNix GUI: enhancement: language and country drop-down boxes will contain the common languages/countries both at the top as well as in the full list. Part of the implementation of #1200.
  • MKVToolNix GUI: enhancement: the entry »Undefined (und)« is always shown at the top of the language drop-down boxes. Part of the implementation of #1200.
  • MKVToolNix GUI: enhancement: the number of new warnings and errors are shown in the status bar. Both counters can be acknowledged via context menus on the status bar and in the job queue view. Part of the implementation of #1199.
  • MKVToolNix GUI: enhancement: the number of jobs pending automatic/manual execution is listed in the status bar. Part of the implementation of #1199.
  • MKVToolNix GUI: enhancement: the progress widget in the stats bar is not reset to 0 once all the jobs have been processed in order to signal the user that the jobs have actually been processed. Part of the implementation of #1198.
  • MKVToolNix GUI: merge tool enhancement: a short animation of a moving icon is shown when a job is started or added to the job queue as a clue to the user what’s happening and where to look for output. This animation can be disabled in the preferences. Implements #1198.
  • MKVToolNix GUI: job output bug fix: fixed superfluous empty lines in job output/warning/error output.
  • MKVToolNix GUI: merge tool bug fix: when adding a VOB from a DVD the tree items for the additional parts (the other VOBs processed automatically) weren’t shown.
  • MKVToolNix GUI: merge tool: fixed the scroll bar not disappearing in the input tab if the window is high enough. Fixes #1193.
  • MKVToolNix GUI: chapter editor enhancements: when selecting a chapter the the chapter name closest to the previously selected chapter name (or the first if there wasn’t a previously selected one) is selected automatically.
  • MKVToolNix GUI: chapter editor enhancements: when starting a new file a single edition and a single chapter are added automatically.
  • MKVToolNix GUI: merge tool enhancement: the »add files« button has been re-labeled »add source files« in order to make it clearer that it cannot be used for adding attachments, even if the attachments tab is the currently selected tab.
  • MKVToolNix GUI: merge tool & job queue tool enhancement: short tool tips will be shown for the files, tracks, attachments and jobs views telling the user to right-click for adding files and similar actions.
  • MKVToolNix GUI: new feature for the merge tool, the header and chapter editors: if no file is open then »new« and »open file« buttons are shown.
  • build system: desktop files and icons were only installed if wxWidgets was enabled. Fixes #1188.
  • man pages: clarify functionality of –default-duration. Fixes #1191.
  • build system: bug fix: fixed running rake if no locale or one with an encoding other than UTF-8 is set. Fixes #1189.

New in version 7.9.0 (May 12th, 2015)

  • build system: configure will now check for Qt by default. If at least v5.2.0 is found then the Qt versions of mkvinfo's GUI and the new mkvtoolnix-gui will be enabled. You can affect this detection with the options --disable-gui (turns off all GUIs; works the same as before), --disable-qt (will compile the wxWidgets GUI for mkvinfo and mmg) and –without-mkvtoolnix-gui (will compile the Qt version of mkvinfo's GUI but no mkvtoolnix-gui).
  • mkvinfo: bug fix: mkvinfo would exit with the wrong return code (0 instead of 2) if a non-existing file name had been given.
  • mkvmerge: Two more characters are now escaped in the container and track properties output in verbose identification mode: [ is replaced with \b and ]w ith \B. This is needed for reliable parsing by other programs, e.g. GUIs.
  • MKVToolNix GUI: new feature: added context menu entries for tracks: »select all«, »enable all« and »disable all«.
  • MKVToolNix GUI: new feature: implemented aborting the currently running job.
  • all: fix compilation on Mac OS in common/command_line.cpp due to boost::range::filtered requiring a copyable functor. Fixes #1175.
  • all: fix compilation on Mac OS in common/version.cpp due to wrong usage of std::stringstream and ostream operators. Fixes #1176.
  • MKVToolNix GUI: new feature: implemented the »additional command line options« dialog.
  • MKVToolNix GUI: new feature in the chapter editor: added features »set the language/country of the selected chapter and its sub-chapters«.
  • all: bug fix: fixed compilation with Boost 1.58.0. Fixes #1172.
  • mkvmerge: bug fix: Fixed a segmentation fault during cleanup after Ctrl+C was pressed. Fixes #1173.
  • MKVToolNix GUI: new feature in the chapter editor: added features »clamping time stamps of sub-chapters to their parent'stime stamps«, »expanding time stamps of chapters to encompass their sub-chapters' time stamps« and »shifting start and end time stamps by an offset«.
  • all: permanently removed the build times tamp from the version information and the corresponding configure option.
  • MKVToolNix GUI: new feature: the main window's size, position and state (maximized/minimized) is saved on exit and restored on startup.
  • MKVToolNix GUI: new feature: the GUI is now fully translatable. The German translation has been completed for the GUI, too.
  • mkvmerge: bug fix: fixed --sync not doing anything if --default-duration is used for the same track, too.
  • mkvmerge: bug fix: fixed aborting file identification with an error message about »aac_error_protection_specific_config« that happened for some files. Fixes #1166.
  • MKVToolNix GUI: new feature: implemented changing the interface language.
  • MKVToolNix GUI: enhancement: implemented often used subtitle character sets.
  • MKVToolNix GUI: enhancement: implemented setting a user configurable subtitle character set by default.
  • MKVToolNix GUI: enhancement: implemented the automatic removal of jobs configurable by the user.
  • mkvmerge: bug fix: fixed specifying track properties like language or name for AC3 cores embedded in TrueHD tracks when they're read from raw thd+ac3 files. Fixes #1158.
  • mkvmerge: enhancement for MPEG program stream handling: mkvmerge will only look for additional files automatically if the source file begins with »VTS_…« and just if it ends in a number. E.g. when reading »video_1.mpg« another file called »video_2.mpg« will no longer be read automatically. Implements #1164.
  • MKVToolNix GUI: enhancement: display country names in addition to country codes.
  • MKVToolNix GUI: enhancement: implemented often used languages and country codes.
  • MKVToolNix GUI: chapter editor enhancement: implemented defaults for the language and country settings for newly created chapter names.
  • MKVToolNix GUI: merge tool enhancement: added controls for mkvmerge's »reduce audio to its core« and »force NALU size length« features.
  • MKVToolNix GUI: new feature: implemented the »Preferences« dialog (not all of the functionality the options refer to has beenimplemented yet, though).
  • mkvmerge: bug fix: MPEG-1/2 parser: fixed a long-standing issue that prevented mkvmerge from recognizing certain MPEG-1/2 video tracks and files if the frame's sequence numbers didn't follow a certain expected pattern. Fixes #1162 and probably others like #1145 or #1099.
  • MKVToolNix GUI: merge tool enhancement: Implemented adding and append files and adding files as additional parts via drag & drop from external applications.
  • MKVToolNix GUI: merge tool bug fix: fixed the column headers on the »attachments« tab.
  • MKVToolNix GUI: chapter editor enhancement: implemented opening files via drag & drop from external applications.
  • MKVToolNix GUI: enhancement: The portable Windows version will store its settings in a file in the same folder instead of the registry.
  • MKVToolNix GUI: enhancement: Qt's »Windows Vista« style is now used on Windows instead of the old, Windows 98-like »Windows« style.
  • MKVToolNix GUI: merge tool enhancement: The merge tool has been re-written to be tabbed like the header and chapter editors allowing for multiple merge job settings to be open at the same time.
  • MKVToolNix GUI: chapter editor enhancement: implemented re-ordering chapters and editions with drag & drop.
  • MKVToolNix GUI: new feature: implemented the chapter editor.
  • MKVToolNix GUI: merge tool enhancement: implemented adding attachments via drag & drop from external applications.
  • MKVToolNix GUI: new feature: implemented the header editor.
  • mkvmerge: enhancement: Implemented proper type output during identification for DTS-ES (extended surround) tracks. Implements #1157.
  • MKVToolNix GUI: new feature: implemented the online update check.
  • mkvmerge: bug fix: The calculation of the width and height of h.265/HEVC video tracks did not take the conformance window (cropping) into account. Fixes #1152.
  • mkvmerge: bug fix: Fixed the value of the DocTypeVersion header field if any of the Matroska elements CodecDelay, DiscardPadding or SeekPreRoll is used. This is the case for Opus tracks.
  • mkvmerge: bug fix: Fixed the handling of E-AC3 tracks in M2TS files if the AC3 core and the extension are stored in separate packets.
  • mkvmerge: new feature: Implemented support for the DTS-HD container format.
  • mkvmerge: new feature: Implemented support for core-less DTS streams consisting solely of XLL extension sub-streams.
  • mkvmerge: new feature: track selection can be done by language codes as well. Affects the options --audio-tracks,--button-tracks, --subtitle-tracks and --video-tracks. Works only for containers that actually provide a language tag. Implements #1108.
  • source code: bug fix: Accidental uses of the »long double« type have been converted to normal »double«s. This fixes compilation on platforms which don't support the »long double« type in combination with Boost::Math. Fixes #1150.

New in version 7.8.0 (March 29th, 2015)

  • build system: Boost’s »Math« library is now required.
  • mkvmerge: bug fix: HEVC tracks which did not have an aspect ratio present in their sequence parameter set were copied incorrectly; the resulting sequence parameter set was invalid. Fixes #1081.
  • mkvextract: bug fix: When extracting HEVC tracks mkvextract will use the same start code lengths that x265 uses (four bytes 0x00000001 for the first and video/picture/sequence parameter set NALs and three bytes 0x000001 for all others).
  • mkvmerge: enhancement: File type identification will output a more detailed description of the DTS type for DTS audio tracks (DTS-HD Master Audio, DTS-HD High Resolution, DTS Express or just plain DTS). Implements #1109.
  • mkvmerge: new feature: Implemented support for DTS Express.
  • mkvmerge: bug fix: The number of channels in DTS tracks with more than six channels is now recognized correctly by parsing the DTS HD extensions, too. Fixes #1139.
  • all: new feature: added a Swedish translation of the programs by Kristoffer Grundström
  • mkvmerge: bug fix: Fixed handling of the BITIMAPINFOHEADER extra data size handling during merging and extraction for codecs like HuffYUV.
  • mkvmerge: bug fix: When appending unframed HEVC/h.265 tracks and setting the default duration the second and all following source parts will use the same default duration as set for the first part. Fixes #1147.
  • mkvmerge: bug fix: enabled the use of tags in WebM files. Tagging elements not supported by the WebM specs are removed. Fixes #1143.
  • mkvmerge: bug fix: fixed detection of audio tracks in QuickTime files whose FourCC code is unknown to mkvmerge.
  • mkvmerge: bug fix: fixed detection of video tracks in QuickTime files whose FourCC code is unknown to mkvmerge.
  • mkvextract: bug fix: Fixed VobSub file naming when mkvextract is built against Boost::Filesystem older than 1.50.0. Fixes #1140.
  • mkvmerge: bug fix: fixed detection of Cinepak video tracks in QuickTime files.
  • mkvmerge: bug fix: fixed detection of PCM audio tracks in QuickTime files using the »raw « FourCC.
  • mkvmerge: bug fix: fixed detection of tracks in Flash Video files for which the headers do not signal a track.
  • mkvmerge: bug fix: fixed a segfault in the Flash Video file format reader.
  • mmg: The change making the window wider by default has been reverted.
  • mkvmerge: bug fix: Fixed file type detection for MP3 files with big ID3 tags at the start of the file (e.g. if they contain cover images).
  • mkvinfo (Qt interface): enhancement: implemented support for opening files via drag & drop.
  • mkvmerge: enhancement: added an option (–engage no_delay_for_garbage_in_avi) for disabling deriving a delay from garbage in audio tracks in AVI files. Requested in #1137.
  • mkvmerge: bug fix: The formula used for calculating the audio delay for garbage data at the start of tracks in AVI files has been fixed. Fixes #1137.

New in version 7.7.0 (March 2nd, 2015)

  • 2015-02-28 Moritz Bunkus
  • Released v7.7.0.
  • 2015-02-28 Lionel Fourquaux
  • source code: Fixed the compilation on cygwin.
  • 2015-02-27 Moritz Bunkus
  • documentation: The Dutch, Ukrainian and Chinese (Simplified) manual pages have contained only untranslated English strings since release 7.0.0. This was due to the files holding the translatable strings having being corrupted by a misbehaving tool in the build process. This has been rectified. Fixes #1134,
  • 2015-02-25 Mats Peterson
  • mkvmerge: bug fix: Fixed reading all of the private codec data in AVIs from the ‘strf’ chunk for codecs that don’t set biSize to include that data. Fixes #1129.
  • mkvextract: bug fix: Fixed writing AVIs with ckSize fields that were too large. Fixes #1128.
  • 2015-02-25 Moritz Bunkus
  • mmg: new feature: added a button »toggle all« that enables or disables all tracks. It at least one track is currently disabled then all tracks are enabled when pressing that button. Otherwise (if all tracks are currently enabled) then they will all be disabled. Implements #1130.
  • mmg: new feature: added a new checkbox »reduce to audio core« on the »format-specific options« tab that passes the new –reduce-to-core option to mkvmerge if enabled. Part of the implementation of #1107.
  • mkvmerge: bug fix: fixed determining the key frame status in certain AVIs (those whose dwFlags index field has more bits set than just 0x10).
  • build system: new feature: added configure options for building statically-linked binaries (–enable-static). Patches by Florent Thiéry. Implements #1119.
  • mkvextract: new feature: implemented a mode for extracting cue information.
  • 2015-02-24 Moritz Bunkus
  • mkvinfo (Qt interface): bug fix: added WebM extensions to the known types in the »Open file« dialog.
  • 2015-02-23 Mats Peterson
  • mkvextract: bug fix: Fixed writing AVIs with the wrong bit depth for video codecs that don’t use 24 bits/pixel. Fixes #1123.
  • 2015-02-23 Moritz Bunkus
  • mkvmerge: bug fix: Fixed recognition of E-AC3 audio tracks in MPEG transport streams if they use the type ID 0xa1 (and the same for DTS tracks stored with type ID 0xa2). Fixes #1126.
  • mkvextract: bug fix: Fixed VobSubs being written to the wrong directory if the output file name given by the user didn’t have an extension but one of the directories contained a dot. Fixes #1124.
  • mkvpropedit, mmg’s header editor: bug fix: if updating the file required creating an EBML void for a 130 bytes long gap then the void element created was one byte too short resulting in an invalid file structure. Fixes #1121.
  • mkvmerge: bug fix: If the MP4 track headers for MP3 tracks contain invalid values (number of channels is 0 or the sampling rate is 0) then mkvmerge will re-derive these parameters from the MP3 bitstream instead of ignoring that track.
  • 2015-02-18 Moritz Bunkus
  • mkvmerge: bug fix: Matroska reader: track-specific tags weren’t copied for tracks for which the pass-through packetizer was used (e.g. those with the codec ID A_MS/ACM) instead of a specialized one.
  • 2015-02-14 Moritz Bunkus
  • mkvmerge: enhancement: The code for determining the time codes of AAC, AC3, DTS, MP3 and TrueHD packets has been completely rewritten. This improves how timecodes are kept if the source container provides them in many cases.
  • mkvmerge: removal: AAC: The hack for using the old codec IDs (e.g. A_AAC/MPEG4/LC/SBR) for AAC tracks has been removed. Those codec IDs have been deprecated for nearly ten years. Reading files that use those IDs will stay supported.
  • mkvmerge: removal: TrueHD: The hack for merging a sync frame and all following normal frames into a single Matroska packet has been removed as there are no players that can play such merged frames anyway.
  • 2015-02-12 Moritz Bunkus
  • mkvmerge: new feature: Added an option »–reduce-to-core« that tells mkvmerge not to copy HD extensions for DTS tracks. Part of the implementation of #1107.
  • mkvmerge: new feature: mkvmerge will now recognize TrueHD tracks inside MPEG transport streams that contain an AC3 core as consisting of two tracks. Instead of always dropping the AC3 part the user can simply select which tracks to keep. Part of the implementation of #1107.
  • 2015-02-10 Moritz Bunkus
  • mkvmerge: new feature: mkvmerge will now recognize TrueHD+AC3 files as consisting of two tracks. Instead of always dropping the AC3 part the user can simply select which tracks to keep. Part of the implementation of #1107.

New in version 7.6.0 (February 10th, 2015)

  • all programs: bug fix: Since release 7.0.0 the wrong exit code was used when warnings were finished (0 instead of 1). Fixes #1101.
  • mkvmerge: bug fix: Appending chapters with the same chapter UID was dropping all sub-chapters from the one of the two merged chapters. Now the sub-chapters are merged recursively as well.
  • mkvmerge: bug fix: The wrong Codec ID was written when reading PCM tracks from Matroska files in Big Endian byte order. Fixes #1113.
  • all: new feature: added a Serbian (Latin) translation of the programs by Danko (see AUTHORS).
  • mkvmerge: bug fix: If splitting was active and AC3 tracks read from Matroska files were shorter than a split point then the following output file would contain an AC3 packet with the timecode of 00:00:00 somewhere in the middle. Fixes #1104.
  • mmg: bug fix: If a chapter track from a Matroska file is selected then the »language« drop-down box is disabled. Fixes #1105.
  • mkvmerge: bug fix: On Windows the end-of-file-reached status wasn't tracked correctly for certain file operations. This could manifest in e.g. mkvmerge not finding tracks in MPEG transport streams when probing MPLS playlist files. Fixes #1100.
  • mmg: bug fix: When scanning for play lists the window presenting the results listed some properties in an unescaped way (e.g. »\s« instead of spaces).
  • mmg: bug fix: When adding MPLS files mmg was only offering to scan for more playlists if there were at least two additional MPLS files present. This has been fixed to one MPLS file (in addition to the one just added).

New in version 7.5.0 (January 5th, 2015)

  • mkvmerge: bug fix: If the target drive is full then a nicer error message is output instead of simply crashing due to an uncaught exception.
  • mkvmerge: bug fix: Fixed reading MPEG transport streams in which all PATs and/or PMTs have CRC errors. Fixes #1100.
  • all: bug fix: Re-wrote the whole checksum calculation code. This lead to a fix for the Adler32 checksum algorithm that was triggered under certain circumstances. Adler32 is used in mkvinfo's output (e.g. in summary mode or if checksums are activated), in the h.265/HEVC bitstream and TrueAudio (TTA) file headers.
  • mkvmerge: bug fix: fixed handling of HE-AACv2 with object type »parametric stereo«.
  • mkvmerge: new feature: implemented support for MP4 DASH files. Implements #1038.
  • mkvmerge: new feature: implemented reading MPEG-H p2/HEVC video tracks from MP4 files. Implements #996.
  • mkvinfo: bug fix: track statistics: the duration (and therefore the estimated bitrate) was wrong for files in which the frame with the maximum timecode wasn't the last frame in the file. Fixes #1092.
  • mkvmerge: new feature: implemented support for AAC in LOAS/LATM multiplex if read from MPEG transport streams or raw LOAS/LATM AAC files. Implements #877 and fixes the underlying issue in #832.
  • build system: libEBML and libMatroska have been changed to provide pkg-config configuration files. Therefore MKVToolNix' build system has been switched to look for both libraries via pkg-config.
  • all: bug fix: several fixes have gone into libEBML and libMatroska that prevent illegal memory access (both reading from and writing to unallocated addresses). The bugs #1089 and #1096 have thus been fixed.
  • build system: libMatroska v1.4.2 is now required as part of a fix for #1096.
  • build system: libEBML v1.3.1 is now required as a part of a fix for #1089.
  • mkvinfo: bug fix: mkvinfo will abort with a proper error message if the first element found is not an EBML head element. See #1089.
  • all: enhancement: improved exception messages that can occur when reading damaged Matroska files to make it clearer for the user what's happening. See #1089.
  • mkvmerge: new feature: Added support for reading h.265/HEVC video tracks from MPEG transport streams. Implements #995.
  • mkvinfo: bug fix: Timecodes output with ms resolution are now rounded to ms instead of simply cut off. Fixes #1093.

New in version 7.4.0 (December 14th, 2014)

  • mkvmerge: bug fix: mkvmerge was sometimes dropping lines from teletext subtitles read from MPEG transport streams. See #773.
  • mkvmerge: bug fix: The PCM packetizer was producing wrong track statistics by disregarding the last packet's duration when reading PCM data from packaged sources (Matroska, MP4 files). Fixes #1075.
  • build system: enhancement: configure will look for a system version of the pugixml library and use that instead of the bundled version if it is found. Fixes #1090.
  • mkvextract: bug fix for chapter & tag extraction: If locale is set to a non-UTF locale (including C or POSIX) then no XML data was output at all even if the XML data contained ASCII characters only. Fixes #1086. This also fixes mkvextract writing two BOMs when extracting tags with the »--redirect-output« option on Windows.
  • mkvinfo: bug fix: summary mode: reported frame types in block groups are now derived from the number of references found and not by the references' values.
  • mkvmerge: bug fix: Fixed muxing open GOPs after I frames in MPEG-1/2 video (patch by Stefan Pãschel). Fixes #1084.
  • mmg: bug fix: VP9 video tracks are accepted in WebM mode.
  • mkvmerge: bug fix: Cherry-picked several commits from DivX' mkvmerge fork for improved HEVC handling. Fixes #1076.
  • all: new feature: added a Catalan translation of the programs by Antoni Bella Pãrez
  • mkvmerge: bug fix: Fixed the handling of Big Endian PCM tracks read from MP4 files. Fixes #1078.

New in version 7.3.0 (October 26th, 2014)

  • mkvmerge: new feature: implemented support for reading teletext subtitles from MPEG transport streams. They're converted to SRT-style subtitles (CodecID S_TEXT/UTF8). Implements #773.
  • mkvmerge: bug fix: probing MPEG transport streams with certain types of broken MPEG-2 inside caused mkvmerge to exit with an error message. Such tracks are now ignored instead.
  • mkvmerge, mmg's chapter editor: fixed the default value for the »language« element if it isn't present in a chapter XML file.
  • MKVToolNix GUI: implemented drag & drop in the files pane.
  • mkvinfo (Qt version on Windows): bug fix: the console window is closed if the GUI is launched.
  • mkvmerge: bug fix: Reading tracks from MPEG transport streams resulted in the track being cut off at points with a five minute gap in between frames. It is due to timecode wrap detection introduced in v6.9.0. As it affects subtitles the most the wrap detection has been relaxed for them.
  • MKVToolNix GUI: implemented drag & drop in the track pane.
  • mkvmerge: new feature: added support for PCM in MPEG program streams (.vob – DVDs) and transport streams (.ts, .m2ts – Blu-rays). Implements #763.
  • MKVToolNix GUI: fixed missing command line switch for audio sync/stretch.
  • MKVToolNix GUI: implemented drag & drop in the job queue.
  • MKVToolNix GUI: implemented storing the job queue when the application exits and retrieving it when it starts again.
  • Installer: bug fix: the shortcut for the GUI preview on the desktop is removed upon uninstallation. If the user opts not to have shortcuts on the desktop then no shortcut is created for the GUI preview either.
  • MKVToolNix GUI: fixed clearing the file/track/attachment lists when starting a new config or when loading an existing one.
  • MKVToolNix GUI: implemented setting the output file name automatically in four different modes (don't set at all; place in previous output directory; place in fixed output directory; place in parent directory of first source file) with an option to make them unique by appending a running number.
  • MKVToolNix GUI: implemented setting the file title automatically from added files that already have a title.

New in version 7.2.0 (September 15th, 2014)

  • MKVToolNix GUI: included a first preview version in the Windows installer and portable releases.
  • mkvmerge: bug fix: Fixed calculating AC3 delay from garbage data when reading AC3 from AVIs. This stopped working in release 5.4.0 due to commit 97cc2121.
  • mkvextract: bug fix: SSA/ASS files with sections after "[Events]" in their CodecPrivate are now handled correctly. Fixes #1057.
  • mkvmerge: bug fix: Fixed handling certain edit list types in MP4 files that are used for positive track delays. Fixes #1059.
  • source: Fixed compilation with Boost 1.56.0 which changed the »indexed« range adaptor in an incompatible way.
  • mkvpropedit, mmg's header editor: bug fix: when editing files with missing track UID elements such an element will be generated automatically instead of crashing and leaving the file in an unplayable state. Part of a fix for #1050.
  • mkvmerge: bug fix: Reading Matroska files with missing track UID elements will no longer cause mkvmerge to abort with an error. A warning is printed and a new unique track ID generated instead. Part of a fix for #1050.

New in version 7.0.0 (June 10th, 2014)

  • mkvmerge: enhancement: In addition to the track statistics tags "BPS", "DURATION", "NUMBER_OF_BYTES" and "NUMBER_OF_FRAMES" mkvmerge will write two more tags identifying which application wrote the statistics ("_STATISTICS_WRITING_APP") and when the file in question was written: "_STATISTICS_WRITING_DATE_UTC". "_STATISTICS_WRITING_APP" will always contain the same string contained in the segment info header element "WritingApp". "_STATISTICS_WRITING_DATE_UTC" will contain the same timestamp as in the segment info header element "Date", though "_STATISTICS_WRITING_DATE_UTC" is actually a string representation instead of an integer value.
  • Additionally a tag named "_STATISTICS_TAGS" is written containing the names of the tags that mkvmerge has set automatically. It equals the following currently: "BPS DURATION NUMBER_OF_BYTES NUMBER_OF_FRAMES".
  • build system: Boost's "date/time" library is now required.
  • mkvmerge: bug fix: If a single subtitle track contains two or more entries at the same timecode then the cue duration and cue relative position elements written were wrong.
  • mkvinfo: bug fix: fixed wrong progress percentage shown during saving the information to text files. Fixes #1016.
  • mkvmerge: new feature: Added a global option for disabling writing the tags with statistics for each track: --disable-track-specific-tags.
  • mkvmerge: new feature: When identifying a Matroska file in verbose identification mode track-specific tags will be output as well. The format is "tag_:", e.g. for a tag named "BPS" with the value "224000" the output would be "tag_bps:224000". Enhancement for #1021.
  • mkvmerge: new feature: mkvmerge will write track-specific tags with statistics ("BPS" for the average number of bits per second, "DURATION" for the duration, "NUMBER_OF_BYTES" and "NUMBER_OF_FRAMES" for the track's size in bytes and its number of frames/packets). Implements #1021.
  • mkvmerge: bug fix: Changed the file type detection order again. The text subtitle formats are now probed after those binary formats that can be detected quickly and unambiguously. This avoids some mis-detection if e.g. Matroska files as ASS text subtitles if they do contain such a track.
  • mmg: enhancement: The chapter editor will only use fast-mode parsing when loading chapters from Matroska files.
  • all: bug fix: fixed invalid memory access in the cleanup procedures which only occurred if the output was redirected with the "--redirect-output" command line parameter.
  • mkvmerge: enhancement: The last chapter entry read from MPLS files is removed if it is at most five seconds long. Patch by Andrew Dvorak (see AUTHORS).
  • mkvmerge: enhancement: added the attachment UID to the verbose identification output of Matroska files.
  • mmg: bug fix: Selecting a subtitle track correctly sets the "character set" drop-down box if no character set was set for this track. Fixes #1008.
  • mmg: enhancement: the subtitle character set cannot be set anymore for subtitle tracks read from Matroska files as mkvmerge ignores that setting for said container anyway (text subs are always encoded in UTF-8 in Matroska).
  • mmg: enhancement: mmg will look for the "mkvmerge" executable in the same directory as the "mmg" executable is located it if the location hasn't been set by the user on all operating systems (before: only on Windows). Improves detection if "mkvmerge" is not in the $PATH.

New in version 6.9.1 (April 22nd, 2014)

  • mkvmerge: bug fix: fixed huge memory usage when probing files (it was reading the whole file into memory for that).

New in version 6.8.0 (March 4th, 2014)

  • mkvmerge, mkvextract: new feature: added support for h.265/HEVC by merging the patches from DivX/Rovi Corp. So far HEVC is only supported as elementary streams and read from other Matroska files.
  • mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now recognized for Hebrew.
  • mkvmerge: bug fix: The AC3 packetizer will re-derive the sampling frequency and the number of channels from the bitstream. This way obviously invalid information from the source container like a sampling frequency of 0 Hz will be fixed.
  • mkvmerge: enhancements: AVI reader: audio chunks with obvious wrong size information (bigger than 10 MB) will be skipped.
  • mkvmerge: bug fix: When reading M2TS files belonging to an MPLS playlist mkvmerge will now only copy packets whose timestamps lie between the "in time" and "out time" restrictions from the playlist's entry corresponding to that M2TS file. Fixes #985.
  • all: Windows 64bit: fixed return value checks for opening files. Fixes #972.
  • all: Windows: when redirecting the program's output with cmd.exe (e.g. "mkvinfo file.mkv > info.txt") the programs will no longer write two line feed characters (\r) per carriage return character (\n). Fixes #970.
  • all: Windows: the default charset for the files created with "--redirect-output" has been changed from the system's local charset to UTF-8. Just like before it can be changed with "--output-charset". See #970.
  • all: bug fix: Windows: messages written to the console (cmd.exe) are not re-encoded to the local charset and back to UTF-16 before they're handed over to ConsoleWriteW(). This fixes outputting Unicode characters to the console that are not part of the local charset. Fixes #971.
  • extract: bug fix: using names of non-existing files in "attachments", "chapters", "cuesheet" or "tags" mode caused mkvextract to crash instead of emitting a proper error message. Fixes #964.
  • mmg: bug fix: fixed the check for WebM-compatible track types for Opus.
  • mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from QuickTime files.
  • mkvmerge, mkvextract, mkvpropedit: enhancement: attachments in Matroska files with a missing FileUID element are not ignored anymore even though they violate the specs. mkvmerge generates a new FileUID instead.
  • mkvmerge: re-built with the 64bit build for Windows with a newer compiler version in order to fix #957. It was due to a bug in gcc: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56742
  • mmg: bug fix: mkvmerge's file identification is written to a temporary file with --redirect-output and from there into mmg instead of directly from mkvmerge. This prevents from character re-coding done by wxWidgets 3.0.0 on Windows. Fixes #959.
  • installer: enhancement: the architecture (32bit vs 64bit) is mentioned in the interface.
  • installer: bug fix: the installation directory for 64bit builds will default to the proper directory ("C:\Program Files" instead of "C:\Program Files (x86)"). Fixes #956.

New in version 6.7.0 (January 9th, 2014)

  • build system: Ruby 1.9.x is now required.
  • all: enhancement: The architecture (32bit/64bit) is mentioned in the version information of all programs.
  • build system: bug fix for 64bit builds on Windows (x86_64-w64-mingw32): use the correct processor architecture via separate Windows manifest files. Fixes mmg and mkvinfo not starting due to »error 0x0000007b«.
  • mkvmerge: bug fix: Fixed a potential endless loop due to an integer overflow in the code removing AVC/h.264 filler NALUs.
  • mkvmerge: bug fix: Fixed reading uncompressed PCM audio tracks from QuickTime/MP4 files in certain situations. Fixes #950.
  • mmg: enhancement: Made the »scanned files« list box sortable by all columns. Fixes #954.
  • mmg: enhancement: The »additional parts« dialog will now show the files that make up an MPLS playlist. This is for informational purposes only and doesn't allow changing the playlist itself.
  • mkvmerge: bug fix: Reading from an MPLS playlist file is now done as if the second and following files referenced in that playlist had been appended to the first file from that playlist. Before they were treated as if they were additional parts. Fixes #934.
  • mmg: enhancement: a couple of fixes to tooltips: 1. Content correction for »splitting by chapters«; 2. no ugly re-formatting with wxWidgets 3.0.0 on Windows.
  • mkvmerge: bug fix: Improved the AAC, AC3 and MP3 header decoding error handling so that the corresponding parsing routines won't get stuck in endless loops when encountering certain garbage data patterns.
  • mkvmerge: enhancement: unified codec names output by mkvmerge's identification mode for all file format readers.
  • mkvinfo: bug fix: when setting the language with --ui-language a few strings were still translated using the system's default language.
  • mkvextract: bug fix: if the track headers were located at the end of the file (e.g. after modification with mkvpropedit or mmg's header editor) then mkvextract was writing files with a length 0 bytes.
  • mmg: bug fix: the »playlist items« list box in the »select playlist file to add« dialog was showing the items in reversed order. Fixes #952.
  • mmg: bug fix: the »select playlist file to add« dialog can now be resized, minimized and maximized. It also remembers its position and size during runs. Fixes #951.
  • mmg: enhancement: The user can select the default subtitle character set to use for newly added subtitle tracks in the preferences dialog as requested in bug #948.
  • mmg: bug fix: fixed the tooltip for the subtitle character set drop-down box to match mkvmerge's actual behavior. Fixes #948.
  • mkvmerge: new feature: implemented reading DTS audio tracks from MP4 files (with ESDS object type ID == 0xA9 (decimal 169) or FourCC == 'DTS ' or 'dtsc').
  • mkvmerge: enhancement: allowed muxing Opus to WebM files.
  • mkvmerge: bug fix: Fixed the mapping of the Opus element »seek pre-roll« and »pre-skip« to the Matroska elements »track seek pre-roll« and »codec delay«. Remuxing Matroska files without Opus created with earlier versions of MKVToolNix is enough to fix such a file.
  • mkvmerge: bug fix: fixing the bitstream timing information of h.264/AVC writes clean values for 25000/1001 frames per second video (e.g. de-telecined PAL @ 29.97).
  • mmg: bug fix: fixed a crash in during drag & drop operations in mmg's chapter editor.

New in version 6.6.0 (December 2nd, 2013)

  • mmg: new feature: implemented drag & drop in the chapter editor. Implements #929.
  • mmg: bug fix: fixed an assertion in wxLogMessage() due to wrong format string/argument data types caused by changes in wxWidgets 3.0.0. See Debian bug #730273.
  • mkvmerge: bug fix: improved resilience against MP4 files with obviously wrong entries in the 'sample size table' (STSZ) atom.
  • mkvmerge: bug fix: improved VC1 frame type detection so that it works even for streams without entry points.
  • mkvinfo: bug fix: at most the lower 32bits of the track numbers and track UIDs elements were output, even if the element in the file used more bits. Fixes #935.
  • mkvmerge: bug fix: fixed accessing invalid memory in the memory handling core routines. May be triggered by the code to remove filler NALUs introduced in v6.5.0. Fixes #931.
  • mmg: bug fix: fixed the tracks list box on the input tab being invisible/0 pixels high with wxWidgets 2.9.x/3.x.
  • all: integrated the Portuguese translation. Although the translation files themselves had been added back in 6.3.0 that translation wasn't available for selection due to forgetfulness on my part.
  • mkvmerge: bug fix: The file detection code in the MPEG elementary stream reader had a logic error. Fixes #928. In practice this logic error didn't have any consequence.

New in version 6.5.0 (October 21st, 2013)

  • mkvmerge: enhancement: filler NALUs will now be removed from framed h.264/AVC tracks (such as the ones read from Matroska/MP4 files) just like they have already been when handling unframed tracks.
  • mkvextract: new feature: implemented support for extracting VP9 tracks into IVF files.
  • mkvmerge: new feature: implemented support for VP9 read from IVF and Matroska/WebM files. Implements #899.
  • mkvextract: enhancement: using the same track/attachment ID multiple times in "tracks", "attachments" or "timecodes_v2" mode will result in an error message instead of one empty file. Implements #914.
  • mmg: bug fix: With wxWidgets 2.9.x/3.0.x debug message will no longer appear as modal dialogs but only go to the log window.
  • mkvmerge: bug fix: fixed a crash when reading empty global tag files. Fixes #921.
  • build system: bug fix: fix autodetection of Boost's library path if it is installed in the multiarch directories (e.g. /usr/lib/i386-linux-gnu or /usr/lib/x86_64-linux-gnu).
  • mmg: bug fix: saved window widths were growing by 1 pixel each time mmg was exited.
  • documentation: Added a German translation of the man pages by Chris Leick (see AUTHORS).
  • mkvmerge: bug fix: Reading OGM files with chapter entries not encoded in the system's local character set has been fixed. During identification the number of chapter entries is still output by removing any non-ASCII characters from the chapter entries. When muxing an additional warning is output if parsing those chapter entries fails, e.g. due to the format being wrong or due to the charset guessed wrongly. Fixes #919.
  • mkvmerge: bug fix: The "duration" element was calculated wrong if the first element in the file wasn't the one with the smallest timestamp. To be precise, it was too short by the difference between the first timestamp and the smallest one (e.g with video sequences timestamped 80ms, 0ms, 40ms, 120ms... the duration was 80ms too short).

New in version 6.4.1 (September 17th, 2013)

  • Bug fix: fixed packet ordering regression introduced in 6.4.0 if --default-duration is used for a track.

New in version 6.3.0 (June 29th, 2013)

  • mkvmerge: bug fix: When appending unframed AVC/h.264 tracks and setting the default duration the second and all following source parts will use the same default duration as set for the first part. Fixes #889.
  • all: enhancement (Windows only): mmg will store its settings in a file "mkvtoolnix.ini" in the same folder mmg.exe is located in if MKVToolNix hasn't been installed via its installer. If it has been installed then the settings are stored in the Windows registry. This way MKVToolNix is truly portable.
  • mmg: new feature: mmg's windows and dialogs will remember and restore their positions and sizes. Implements #878.

New in version 6.2.0 (April 29th, 2013)

  • This version adds many bugfixes.
  • Memory usage has been reduced severely.

New in version 6.1.0 (March 4th, 2013)

  • This version supports Blu-ray playlists (MPLS files) in both mkvmerge and mmg.
  • Several small bugs have been fixed.

New in version 6.0.0 (January 21st, 2013)

  • mkvmerge: new feature: Implemented splitting by parts based on frame/field numbers ("--split parts-frames:" in mkvmerge). Implements #819.
  • mkvmerge: bug fix: Re-writing the track headers after they'd grown a lot (to more than the EBML void size located after them allowed for) led to an integer underflow. Then mkvmerge tried to write a void element the size of that integer (e.g. nearly 4 GB on 32bit platforms). Fixes #822 and #828.
  • mkvmerge: bug fix in the MP4 reader: Fixed language code conversion from what is used in MP4 to the ISO 639-2 codes used in Matroska (e.g. convert from "deu" to "ger").
  • Source distribution: source code archives (tarballs) will be compressed with xz instead of bzip2 from now on. The file name's extension will therefore change from ".tar.bz2" to ".tar.xz". The download URL changes accordingly.
  • mkvmerge: new feature: Implemented reading VobSubs from MP4 files if they're stored in the Nero Digital way (track sub-type 'mp4s', ESDS object type identifier 0xe0). Implements #821 and the second half of #815.
  • mmg: new feature: Command line options can be saved as default for new jobs by clicking a check box in the "add command line options" dialog.
  • mmg: bug fix: Fixed a crash in the chapter editor if the root was selected and the user used the "Set values" button.
  • mkvmerge, mmg: removal: The 'header removal compression' method is not turned on by default anymore. This affects the following track types: AC3, AVC/h.264, Dirac, DTS, MP3. The setting in mmg that turned it off by default has been removed.
  • mkvmerge: new feature: Added experimental support for the Opus audio codec. Parts of an implementation of #779.
  • mkvmerge: bug fix: "text"-type tracks in MP4 files are only treated as chapters if their track ID is listed on a "chap" atom inside a "tref" track reference atom. Fixes #815.
  • mkvmerge, mmg: new feature: Implemented splitting by chapter numbers. Implements #504 and #814.
  • mkvmerge: enhancement: Removed several warnings from the MPEG-2 video parser code about open GOPs, missing references. Those were too confusing for most users, even after being given additional information via email and FAQs.
  • mkvextract: new feature: Implemented extraction of ALAC into Core Audio Format files (CAF). Implements #786.
  • mkvmerge, mmg: new feature: Implemented splitting by frame/field numbers. Implements #771.
  • mmg: bug fix: Fixed consistency checks when appending files and at least one track is disabled.
  • mkvmerge: new feature: Implemented a reader for the Flash Video format (.flv). Implements #735.
  • Build system: Boost's "variant" library is now required.
  • mkvmerge: bug fix: ISO 639-2 language handling: The deprecated language codes "scr", "scc" and "mol" are replaced by their respective successors "hrv", "srp" and "rum". Fixes #803.
  • mkvmerge: bug fix: Matroska reader: Fixed finding the "segment info" element if it is located behind the clusters.
  • mkvmerge: bug fix: MP3 parser code: Fixed skipping ID3 tags so that the header directly behind the ID3 tag is recognized properly. Fixes #747.
  • mkvmerge: bug fix: MP4 reader: Fixed handling of edit lists if the edit list is used to adjust the track's timecodes by a fixed amount (either positive or negative). Fixes #780.
  • mkvpropedit: bug fix: Giving a non-existent file name in tags mode will result in a proper error message. Fixes #806.

New in version 5.9.0 (December 11th, 2012)

  • mkvmerge: bug fix: Fixed reading seek position values bigger than 2 GB. Fixes #805.
  • mkvmerge: bug fix: Fixed appending non-empty tracks to empty tracks. Fixes #793.
  • mkvmerge: bug fix: mkvmerge will now keep timecodes of PCM tracks from source files if they're available. Fixes #804.
  • all: bug fix: EBML void elements will be skipped when reading structures from XML (e.g. chapters). Fixes #802.
  • all: bug fix: EBML void elements will be skipped when saving structures to XML (e.g. chapters). Fixes #801.
  • mkvmerge: bug fix: Fixed reading linked seek heads in Matroska files.
  • mmg: bug fix: Fixed reading file names containing a '%' from a .mmg settings file (both normally saved files and the job queue files). Fixes #795.
  • mkvmerge: enhancement: Dirac video code: Added four more pre-defined video types from Dirac spec v2.2.2 and two from Dirac Pro.
  • mkvmerge, mmg: enhancement: Added options for turning off writing "CueDuration" elements ("--engage no_cue_duration") and "CueRelativePosition" elements ("--engage no_cue_relative_positions").
  • mkvmerge: new feature: The element "CueRelativePosition" is written for all cue entries.
  • mkvmerge: new feature: The element "CueDuration" will be written for all cue entries referring to subtitle tracks.
  • mkvmerge: new feature: mkvmerge will write cues for subtitle tracks by default now.
  • mkvinfo: new feature: added support for the new elements CueDuration, CueRelativePosition and TimecodeScaleDenimonator. The denominator's value is only shown so far but not taken into account when calculating any timecode.
  • mkvpropedit, mmg, mkvmerge: removal: removed support for the deprecated element TrackTimecodeScale.

New in version 5.8.0 (September 3rd, 2012)

  • mkvpropedit: new feature: Added support for adding, deleting and replacing attachments.
  • mmg: new feature: chapter editor: Added support for the edition flags "hidden", "default" and "ordered" as well as the chapter values "segment UID" and "segment edition UID". Implements ticket #736.
  • documentation: Added a Basque translation of mmg's guide by Xabier Aramendi (see AUTHORS).
  • all: bug fix: Fixed a buffer overflow in the Base64 decoder routine.
  • source: Various fixes for building with g++ 4.7.x and clang 3.1.
  • Build system: Boost's "bind" library is not required anymore. The C++11 features from "functional" are used instead.
  • mkvmerge: bug fix: MPEG transport streams whose timecodes wrap around/overflow are handled correctly. Fixes #777.
  • mkvmerge: bug fix: MP2/MP3 audio tracks in MPEG program streams that contained garbage at the start of the very first packet caused mkvmerge to use uninitialized/random values for certain parameters (sample rate, number of channels, and therefore also during timecode calculation).
  • mkvmerge: new feature: Added support for reading ALAC (Apple Lossless Audio Codec) from CAF (CoreAudio), MP4 and Matroska files. Implements #753.
  • mkvmerge: new feature: mkvmerge will remove stuffing bytes from MPEG-1/-2 video streams that are used to keep the bit rate above certain levels (the 0 bytes between slices and the following start code). Implements #734.
  • mkvmerge: bug fix: Fixed audio/video synchronisation when reading MPEG program streams with MPEG-1/2 video with respect to B frames. Fixes #579.
  • mkvmerge: enhancement: SRT files can have spaces in their timecode line's arrow (e.g. "-- >").
  • mkvmerge: bug fix: VC1: mkvmerge will now only mark frames as I frames if a sequence header precedes them directly. Fixes #755.
  • all: new feature: Added a Basque translation by Xabier Aramendi (see AUTHORS).
  • all: bug fix: The programs do not try to create directories with empty names anymore. This happened if the output file name for e.g. mkvmerge or mkvextract was only a file name without a directory component. With Boost v1.50.0 the call to "boost::filesystem::create_directory()" would result in an error if the name was empty (it didn't in earlier versions of Boost).
  • mmg: bug fix: Fixed mmg not reading the very last line of mkvmerge's output. The result was that messages like "the cues are being written" did not show up in mmg and that the progress bar was not filled completely. Fixes #774.

New in version 5.7.0 (July 10th, 2012)

  • In MP4/QuickTime files, an issue with "constant sample size, variable duration not supported" has been fixed.
  • Excessive CPU usage has been fixed.
  • Other bugs were fixed.

New in version 5.6.0 (May 28th, 2012)

  • This version fixes a couple of important issues with the new "--split parts:" functionality.
  • Other bugs were fixed as well.
  • A Polish translation of the programs has been added, as well as a Spanish translation of mmg’s guide.

New in version 5.5.0 (April 9th, 2012)

  • Build system: Boost's "lexical_cast" and "type traits" libraries are now required.
  • mmg: new feature: Added GUI controls for mkvmerge's "file concatenation" feature as "additional file parts". The user can chose which individual files are treated as if they were a single huge source file.
  • mkvmerge: bug fix: The handling of the "do not read other files" options (e.g. "=file.vob" and "( file.vob )") was broken for MPEG program stream files.

New in version 5.2.1 (January 3rd, 2012)

  • mkvmerge: bug fix: Fixed certain DTS files being mis-detected as AC3. Fix for bug 693.
  • build system: Added an option "--without-gettext" that allows for building without support for translations even if gettext itself is installed.
  • build system: Added an option "--without-curl" that allows for building without CURL support even if CURL itself is installed.
  • all: bug fix: Fixed compilation if gettext/libintl is not available.
  • mkvmerge: bug fix: The MPEG program stream reader was reporting wrong progress percentage if multiple files were used since v5.1.0.
  • mkvmerge: enhancement: Removed the posix_fadvise() code. The application is using its own caching code which caused bad performance if the OS caching provided via posix_fadvise() is used as well.
  • mkvmerge: bug fix: If an MP4 file contains chapters encoded in a different charset than UTF-8 and --chapter-charset is not used then the error message shown is a lot clearer why mkvmerge aborts muxing. Before the error message was a generic "mm_text_io_c::read_next_char(): invalid UTF-8 character. The first byte:..."
  • mkvmerge: bug fix: MPEG program streams in which a track suddenly ends and others continue or in which a track has huge gaps will no longer cause mkvmerge to try to read the whole file at once. This could lead to excessive swapping and finally mkvmerge crashing if no more memory was available.
  • mkvextract: bug fix: The track IDs used for extraction are consistent again with the IDs that mkvmerge's identification reports. Fix for bug 689.
  • mkvmerge: bug fix: Fix compilation if FLAC is not available. Fix for issue #13.

New in version 5.2.0 (December 19th, 2011)

  • mkvmerge, mmg: bug fix: Automatic MIME type recognition for TrueType fonts will result in "application/x-truetype-font" again instead of "application/x-font-ttf". Fix for bug 682.
  • documentation: enhancement: Added a Ukrainian translation for mkvextract's man page.
  • mkvinfo: bug fix: Various elements used to have a space between their names and their value's hex dump. In v5.1.0 that space was accentally removed. It has been added again. Fix for bug 583.
  • mkvmerge: bug fix: Turn off input file buffering for badly interleaved MP4 files.
  • mkvmerge: bug fix: Changed how mkvmerge assigns IDs to tracks in source files for Matroska and MP4 files. That way files whose headers contain the same ID for multiple tracks will work correctly. Fix for bug 681.
  • mkvmerge: enhancement: The VP8 output module will always re-derive frame types (key frame vs. non-key frame).
  • mkvmerge: bug fix: VP8 read from AVI could not be put into WebM compatible files.
  • mkvmerge: bug fix: Fixed a rare audio type mis-detection of MP2/MP3 audio tracks in MPEG program streams causing mkvmerge to abort with an error message.
  • mkvmerge, mkvextract: enhancement: Implemented input file buffering in mkvmerge and improved/implemented output file buffering in other tools.
  • mmg, mkvinfo's GUI: enhancement: Added new icons based on the work of Alexandr Grigorcea (see AUTHORS).
  • mmg: bug fix: Fixed a memory leak in mmg's header editor that caused the "open file" function to stop working after opening a few files. Fix for bug 679.

New in version 5.1.0 (November 29th, 2011)

  • Many bugs were fixed and great improvements were made to the MPEG transport stream handling.
  • Building now requires GCC 4.6.0 or newer and Boost 1.46 or newer, as many features from the C++11 standard are used actively.

New in version 5.0.1 (October 10th, 2011)

  • A regression in reading PGS subtitles from Matroska files was fixed.
  • Support for MPEG transport streams has been improved in several areas, mostly related to audio handling and detection.

New in version 5.0.0 (September 27th, 2011)

  • build system: libEBML 1.2.2 and libMatroska 1.3.0 are required for building. If external versions are not found or if they're too old then the included versions will be used as a fallback.
  • mkvmerge: bug fix: The "writing application" element will not be localized but always be written in English.
  • mkvmerge: new feature: MPEG TS: mkvmerge will extract the track languages from a corresponding clpi (clip info) file. That file is searched for in the same directory and in ../CLIPINF and must have the same base name but with the ".clpi" extension.
  • mkvmerge: enhancement: Added new stereo mode options to match the current specs. The new options are "anaglyph_green_magenta" (12), "both_eyes_laced_left_first" (13) and "both_eyes_laced_right_first" (14).
  • mkvmerge: The --stereo-mode named option "anaglyph" was renamed to "anaglyph_cyan_red" to match the specs. The numerical value (10) remains unchanged.
  • mkvextract: bug fix: Fixed attachment number displayed during extraction. Fix for bug 663.
  • mkvmerge: enhancement: MPEG TS: Added support for HDMV PGS subtitles.
  • mkvmerge: enhancement: MPEG TS: Added support for DTS HD Master Audio tracks.
  • mkvmerge: enhancement: MPEG TS: Streams that are mentioned in the PMT but do not actually contain data are neither reported during identification nor muxed.
  • mkvmerge: new feature: MPEG TS: Added support for reading the language code.
  • mmg: enhancement: Added MPEG transport streams to the "add file" dialog file selector.
  • mkvmerge: new feature: MPEG TS: Added support for normal DTS tracks.
  • mkvmerge: Tons of fixes and additions to the MPEG transport stream demuxer.
  • build system: configure will accept external versions of libEBML and libMatroska again. Minimum required versions are libEBML 1.2.1 and libMatroska 1.1.0.
  • All: Updated the French translation with a complete set by DenB (see AUTHORS).
  • mmg: mmg respects the XDG Base Directory Specification regarding its configuration files (environment variable $XDG_CONFIG_HOME/mkvtoolnix if set, otherwise ~/.config/mkvtoolnix).
  • all: Added an Lithuanian translation by Mindaugas Baranauskas (see AUTHORS).
  • mkvmerge: new feature: Implemented a MPEG transport stream demuxer.
  • mkvmerge: enhancement: When looking for MPEG files with the same base name as a source file mkvmerge will be stricter what it accepts. The file name must consist of at least one char followed by "-" or "_" followed by a number. That will match VTS_01_1.VOB but not e.g. "some_series_s03e10.mpg".
  • mkvmerge: bug fix: Opening MPEG files with numbers in their name from folders with e.g. Cyrillic names failed on Windows.
  • mkvmerge: bug fix: Several elements are not written when creating WebM compliant files. In the segment headers: SegmentUID, SegmentFamily, ChapterTranslate, PreviousSegmentUID, NextSegmentUID. In the track headers: MinCache, MaxCache and MaxBlockAdditionID.
  • mkvmerge: enhancement: Sped up file identification by caching read operations.
  • mkvmerge: bug fix: Fixed identifying QuickTime/MP4 files that start with a 'skip' atom.
  • mkvmerge: bug fix: Fixed a crash when reading AVI files with DTS audio tracks that do not contain valid headers in the first couple of packets. Fix for bug 646.

New in version 4.9.1 (July 14th, 2011)

  • mkvmerge: bug fix: Fixed endless loop when reading AVI files on Windows if MKVToolNix was compiled with a gcc mingw cross compiler v4.4.x. Fix for bug 642.
  • mkvmerge: bug fix: Fixed long file identification time caused by DV detection. Fix for bug 641.

New in version 4.7.0 (April 22nd, 2011)

  • build system: For the time being the build system will always build and link statically against the internal versions of libEBML and libMatroska.
  • mkvmerge: bug fix: Fixed appending timecode calculation for appended subtitle tracks if the subtitle tracks are read from complex containers (e.g. Matroska, MP4, AVI etc). Fix for bug 620.
  • mkvextract: bug fix: Fixed extraction of MPEG-1/2 video tracks whose sequence headers change mid-stream but whose key frames are not all prefixed with a sequence header. Fix for bug 556.
  • mkvmerge: bug fix: Fixed reading AAC tracks from AVI files with 7 bytes long codec data. Fix for bug 613.
  • mkvmerge: enhancement: Added support for WAV and AVI files that use a WAVEFORMATEXTENSIBLE structure (wFormatTag == 0xfffe). Fix for bug 614.
  • mmg: bug fix: The output file name extension will be updated on each track selection changed as well. The extension is based on the actually selected tracks, not on the presence of tracks of certain types. Fix for bug 615.
  • mkvmerge: bug fix: mkvmerge was dropping the last full DTS packet from a DTS files if that file was not encoded in "14-in-16" mode and if the file size was not divisible by 16.
  • mkvmerge: bug fix: Fixed huge slowdown when splitting by size is active with certain kinds of input files. Fix for bug 611.
  • mkvinfo: bug fix: Fixed redirecting the output into a file with "--redirect-output"/"-r" and verbosity levels of 2 and higher.
  • mkvpropedit, mmg header/chapter editor: bug fix: Fixed parsing Matroska files if mkvtoolnix is compiled with newer versions of libebml/libmatroska (SVN revisions after the releases of libebml 1.2.0/libmatroska 1.1.0).
  • mkvmerge: bug fix: WAV files with unsupported format tags are rejected instead of being treated like containing PCM. Fix for bug 610.
  • mkvmerge: enhancement: The EBML header values "doc type version" and "doc type read version" are both set to 3 if at least one of the video tracks uses the stereo mode parameter.

New in version 4.6.0 (March 10th, 2011)

  • build system: Fixed building the Qt version of mkvinfo's GUI (again). Fix for bug 576.
  • mmg: bug fix: If the header editor finds 'language' elements with ISO-639-1 codes (e.g. "fra" instead of "fre" for "French") then it will map the code to the corresponding ISO-639-2 code. Fix for bug 598.
  • mmg: bug fix: Fixed one of the issues causing mmg to report that it is configured to use an unsupported version of mkvmerge when the reported version was actually empty.
  • mkvmerge: enhancement: HD-DVD subtitles are recognized as being an unsupported file format. This makes the error message presented to the user a bit clearer. Fix for bug 600.
  • build: Boost 1.36.0 or newer is required (up from 1.34.0). Also fixed building with v3 of Boost's filesystem library, e.g. with Boost 1.46.0 Beta 1 or newer.
  • mkvpropedit: new feature: Added support for adding, replacing and removing tags.
  • all: Added a translation for the programs into Turkish by ßouЯock (see AUTHORS).
  • build system: Fixed compilation if configure choses the internal versions of libebml and libmatroska while older versions are still installed in a location named with "-I..." or "-L..." in CFLAGS/CXXFLAGS/LDFLAGS or with configure's

New in version 4.5.0 (February 3rd, 2011)

  • build: Building mkvtoolnix now requires libebml v1.2.0 and libmatroska v1.1.0 or later. * build: enhancement: mkvtoolnix now includes libebml and libmatroska. The configure script will use them if either no installed versions of them is found or if the installed version is too old

New in version 4.4.0 (November 2nd, 2010)

  • build system: bug fix: Installation no longer fails if xsltproc is available but the DocBook stylesheets aren't. Fix for bug 575.
  • mkvmerge: new feature: If the name of an input file starts with '=' then mkvmerge will not try to open other files with the same name (e.g. 'VTS_01_1.VOB', 'VTS_01_2.VOB', 'VTS_01_3.VOB') from the same directory. A single '=' as an argument disables this as well for the next input file. Implements bug 570.
  • mmg: new feature: Added an option to disable extra compression when adding tracks by default.
  • mkvmerge: bug fix: Made file type detection stricter for MP3, AC3 and AAC files. This prevents mis-detection of other file types as one of these for certain files. Fix for bug 574.

New in version 4.3.0 (September 6th, 2010)

  • SSA/ASS subtitle tracks were discarded even if selected for inclusion.
  • The header editor and mkvpropedit sometimes crashed and created broken files.
  • The job manager's "total remaining time" was totally wrong.
  • A couple of malformatted translation entries were causing mmg to crash.
  • Certain h.264 frame types were handled wrong. All of these problems have been fixed.
  • mkvinfo displays the level and profile information for h.264 tracks.
  • Attachments are written at the start of the file again.
  • mkvextract will not continue after encountering an error anymore.

New in version 4.2.0 (July 29th, 2010)

  • Various crashes in mkvmerge have been fixed.
  • Splitting by size was basing the split decision on uninitialized variables causing multiple very small files to be created.
  • DisplayWidth/DisplayHeight values that were only used to store the display aspect ratio are fixed to sensible values while providing the same aspect ratio information.
  • mmg will remove entries from "recently used files" lists if they don't exist anymore.

New in version 4.1.1 (July 4th, 2010)

  • A crash in mkvmerge regarding the header removal compression that occurred often in version 4.1.0 has been fixed. mmg no longer adds .mmg files opened by job execution to the file menu's list of recently accessed files.

New in version 4.1.0 (July 2nd, 2010)

  • Placement of key frames inside clusters has been improved.
  • Support for PGS/SUP files has been added.
  • Several crashes have been fixed.
  • The handling of default values in mmg has been fixed.
  • mkvmerge uses "header removal compression" for several track types.
  • Muxing speed has been improved by caching write operations.
  • The man pages have been translated into Dutch and the programs into Spanish.

New in version 3.3.0 (March 25th, 2010)

  • Build system: Sped up builds by using pre-compiled headers. Patches by Steve Lhomme (see AUTHORS) and myself.
  • mkvmerge: bug fix: Fixed the default duration for interlaced MPEG-1/2 video tracks. Also added the 'interlaced' flag for such tracks.
  • mkvmerge: bug fix: Specifying a FourCC with spaces at the end will not result in an error anymore.
  • mkvmerge: bug fix: Timecodes for MPEG-1/2 tracks are calculated properly, especially for B frames.
  • mmg: bug fix: The jobs will be saved in the 'mkvtoolnix/jobs'sub-directory of the 'application data' folder instead of the'jobs' folder in the current directory. On Windows this is the special 'application data' folder inside the user's profile directory, e.g. 'C:\Users\mbunkus\AppData\mkvtoolnix'. On
  • non-Windows systems this is the folder '.mkvtoolnix' in the user's home directory. mmg's configuration file has also been moved from ~/.mkvmergeGUI
  • to ~/.mkvtoolnix/config on non-Windows systems. Fix for bug 466.

New in version 2.7.0 (April 16th, 2009)

  • Build requirements changed: mkvtoolnix requires Boost v1.32.0 or later.

New in version 2.6.0 (March 24th, 2009)

  • A header editor capable of changing almost any header field in an existing Matroska file without remuxing was added to mmg.
  • A Japanese translation was added.
  • Several bugs related to charset seletcion and translations were fixed.

New in version 2.5.3 (March 7th, 2009)

  • Another bug regarding locale selection has been fixed.
  • Concatenation of AVC elementary files does not cause segmentation faults anymore.
  • he track selection for the "--attachments" option has been fixed.

New in version 2.5.2 (March 1st, 2009)

  • Locale detection was fixed.
  • MIME type autodetection was fixed for file names and paths with non-ASCII characters.
  • Several issues with the new "attached files" feature in mmg were fixed.
  • Several issues with wxWidgets 2.9 regarding compilation and GUI layout were fixed.
  • mmg now has buttons for enabling or disabling all attached files.
  • mkvinfo's GUI is now translatable and translated to German.

New in version 2.5.1 (February 23rd, 2009)

  • This release contains fully translatable versions of the tools and a German translation of them.
  • The second new feature is fine-grained control over file attachments both in mkvmerge and in mmg.
  • A couple of smaller bugs were fixed.

New in version 2.4.2 (January 19th, 2009)

  • Appending external subtitle files works again. mkvmerge can handle simple chapter files with more than 100 chapters.
  • mkvmerge does not report arbitrary display dimensions for OGM files anymore.
  • The parse speed of Quicktime/MP4 header fields has been improved.

New in version 2.4.1 (December 6th, 2008)

  • The timecode handling during appending files has been fixed so that audio/video sync issues should not occur anymore.
  • mkvmerge is much more tolerant regarding the format of timecodes in SRT files, has an updated list of ISO-639-2 language codes, and processes WAV files bigger than 8 GB correctly.
  • mkvmerge can now handle SRT/SSA subtitles in AVI files.
  • mmg processes redraw events much more often during muxing, and allows short timecodes to be entered for splitting.

New in version 2.4.0 (October 12th, 2008)

  • New features include support for VC1 video reading from elementary streams and MPEG program streams, Dirac video elementary streams, support for 7.1 channel EAC3 tracks, and the extraction of Theora video tracks into Ogg files.
  • Bugs that were fixed include the handling of unknown tracks in Ogg files, the automatic garbage detection for AC3/MP3 tracks, the handling of DTS in MPEG program streams, (E)AC3 files bigger than 2 GB, and many more.

New in version 2.3.0 (September 9th, 2008)

  • Newly supported features include DTS-HD tracks (both "high definition" and "master audio"), Ogg Kate text subtitles, skipping of ID3 tags in AAC and AC3 files, Vorbis-in-AVI, delaying any track type, and floating point WAV files.
  • Several bugs were fixed including time code handling for various track types and use cases, A/V desynchronization in VOBs, incorrect VobSub packets, and more.