MKVtoolnix is a set of tools to create, alter, split, join and inspect Matroska files(mkv). With these tools one can get information about (mkvinfo) Matroska files, extract tracks/data from (mkvextract) Matroska files and create (mkvmerge) Matroska files from other media files. Matroska is a multimedia file format aiming to become THE new container format for the future. Use MKVCleaver or gMKVExtractGUI to extract/demultiplex mkv video and audio files.

2016-10-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge was entering endless loops under certain conditions when appending files. This was a regression introduced with the fix to #1774 (using very large --sync values causing mkvmerge to abort).

2016-10-23 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: added options in the preferences to only show the list of often used languages/country codes/character sets in their respective selections instead of both the often used and the full list. Implements #1796.

2016-10-16 Moritz Bunkus <moritz@bunkus.org>
* Released v9.5.0 "Quiet Fire".
* mkvmerge, mkvextract: VobSub handling bug fix: mkvmerge and mkvextract will now update the duration stored in the SPU bitsream with the duration from the container level if it differs at least 1ms. Fixes #1771.

2016-10-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: h.264 elementary stream handling bug fix: if mkvmerge ever encounters changing SPS or PPS NALUs (ones where their ID has been encountered before with different settings) in the h.264 then it will prepend all following key frames with all currently active SPS and PPS NALUs. This enables playback from arbitrary key frames even if they require other SPS or PPS settings than the ones stored in the AVCC in CodecPrivate.
Fixes #1711.

2016-09-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus files with comment headers anymore. This was broken by the fix to not require Ogg/OGM files to have comment headers in v9.4.0.

2016-09-11 Moritz Bunkus <moritz@bunkus.org>
* Released v9.4.2 "So High".
* mkvmerge: bug fix: AVC & HEVC readers: release v9.4.1 contains a change to both readers so that they will refuse to handle files where the detected pixel width or height is equal to or less than 0. This check was wrong in certain cases causing mkvmerge to reject a file as an unsupported file type. This has been fixed while keeping the constraints on width & height having to be positive.

2016-09-07 Moritz Bunkus <moritz@bunkus.org>
* Note: most of the bugs fixed on 2016-09-06 and 2016-09-07 for issue #1780 are potentially exploitable. The scenario is arbitrary code execution with specially-crafted files. Updating is highly recommended.
* mkvmerge: bug fix: AVC & HEVC readers: the readers will now refuse to handle files where the detected pixel width or height is equal to or less than 0. Before this fix the muxing process aborted with an assertion inside libMatroska. Fixes the last test case of #1780.
* mkvmerge: bug fix: HEVC parser: fixed another invalid memory access (beyond the end of allocated space). Fixes two test cases of #1780.

2016-08-16 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: bug fix: mkvpropedit will no longer say that it's writing the changes if only attachment changes are specified and none of the specified attachments can be found.

2016-07-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: when adding attachments the GUI will check if there are attachments or attached files with the same name as the file to add. If so the GUI will tell the user and ask for confirmation.

2016-07-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: VP8 in Ogg: fixed dropping the first frame and the timestamp calculation. Fixes #1754.
* mkvmerge: bug fix: mkvmerge does no longer emit a warning if no comment header packet is found when reading tracks from Ogg/OGM files. See #1754.

2016-07-19 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the "select a play list to add" dialog does now contain a column with the number of chapters for each play list found.
* MKVToolNix GUI: job queue enhancement: dragging & dropping a valid .mtxcfg file (either a full job file or one containing only merge settings without the job properties) onto the job queue window will import the dropped .mtxcfg job into the job queue. Rest of the implementation of #1714.

2016-07-18 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: dragging & dropping a job queue .mtxcfg file onto the merge tool or using one as a command line parameter to the mkvtoolnix-gui executable will import the .mtxcfg job into the job queue. Part of the implementation of #1714.

* MKVToolNix GUI: merge tool bug fix: the GUI v9.3.0 was often creating an invalid syntax for the --probe-range-percentage parameter for mkvmerge due to uninitialized memory. Fixes #1741.
* Released v9.3.0 "Second Sight".
* build system: libEBML v1.3.4 and libMatroska v1.4.5 are now required due to several new elements having been specified for Matroska, and mkvmerge uses those elements.

2016-07-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, MKVToolNix GUI: new chapter generation feature: two new placeholders have been introduced when generating chapters for appended files, <FILE_NAME> and <FILE_NAME_WITH_EXT>. The former will be replaced by the appended file's name without its extension; the latter with its extension. Implements #1737.
* MKVToolNix GUI: merge tool enhancement: when opening a saved configuration (via the menu as well as via drag & drop) the current tab will be replaced if it is empty ( = in the same state it is in right after creating new mux settings). Implements #1738.
* mkvmerge, MKVToolNix GUI: added an option for specifying how much of a MPEG PS or TS file is probed for tracks (--probe-range-percentage). Implements #1734.

2016-07-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MPEG TS: considerable parts of the module have been rewritten. Due to its convoluted structure didn't buffer PES packets properly before trying to parse the PES header leading to invalid memory accesses in certain cases.

2016-07-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed overly long file type detection in some cases when text subtitle type probing read a lot of data due to there being no carriage returns near the start of the file.
* mkvmerge, mkvextract, MKVToolNix GUI: bug fix: several fixes to the handling of country codes. The list has been updated to reflect the currently valid top level domain country codes. Deprecated codes such as "gb" for "Great Britain" are now mapped to their updated values ("uk" for "United Kingdom" in this case). Fixes #1731.
* mkvmerge: WavPack4 bug fix: relaxed the stream detection criteria to only require the major version to be 4 and not to check the minor version. Fixes #1720.

2016-07-02 Chao Chen <tochenchao@gmail.com>
* mkvmerge, mkvinfo: new feature: added flags to support the Colour elements in the video tracks of Matroska containers. Users can use those flags to specify the colour space, transfer function, chromaticity coordinates etc. These properties are useful for correct colour reproduction of high dynamic range / wide colour gamut videos.

2016-07-02 Moritz Bunkus <moritz@bunkus.org>
* configure: fixed the Qt detection with Qt 5.7.0 which now requires the compiler to be in C++11 mode.
* build system: libEBML v1.3.4 and libMatroska v1.4.5 are now required due to the usage of new elements introduced in libMatroska v1.4.5. The copies included in the MKVToolNix source code have been updated to those releases as well.

2016-06-05 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the default track languages to set can now also be set whenever the language in the source file is 'undefined' ('und'). This is now the default and can be changed back to the old behavior (only set if the source file doesn't contain a language attribute) in the preferences. Implements #1697.

2016-06-04 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: menus have been added to both the "start muxing" and the "add to job queue" buttons. The menus let the user override the preferences regarding clearing merge settings after starting to mux and after adding a job to the queue respectively. Implements #1696.
* mkvmerge: the warning about not being able to determine whether a raw AAC file contains HE-AAC/AAC+/SBR has been removed. Implements #1701.
* MKVToolNix GUI: enhancement: all file names are now displayed with their native path separators (e.g. "C:somewhereoutput.mkv" on Windows). Implements #1298, #1456.
* MKVToolNix GUI: merge tool bug fix: the GUI now takes into account whether splitting is activated when looking for and warning due to existing destination files. Fixes #1694.
* mkvmerge: bug fix: the parser for the --default-duration argument was wrongfully handling arguments of the form "123/456i" (only this specific syntax and only with "i" as the unit; other formats and units were fine). This is part of #1673.
Additionally the parser doesn't use the "double" data type internally anymore fixing loss of precision and failing test cases on certain 32bit platforms. This fixes #1705.

2016-05-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the action "select all attached files" in the popup menu actions for the attached files view has been split up into "enable all attached files" and "disable all attached files". Implements #1698.

2016-05-15 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix on Windows: removing the drive letter does not cause the colon to be removed automatically anymore. Fixes #1692.
* MKVToolNix GUI: merge tool bug fix: it's no longer possible to select "1" as the maximum number of files to split into as mkvmerge doesn't accept that value. Fixes #1695.
* mkvmerge: bug fix: the "interval" chapter generation mode was always creating one chapter too many.
* mkvmerge: bug fix: if a certain number of chapters had been generated with --generate-chapters then mkvmerge wasn't replacing the void placerholder with the actual chapters. Fixes #1693.

2016-05-14 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: the track column "default track in output" wasn't taking into account if the track had its "default track" flag set to "no" in the source file. This would result in the column showing "yes" in certain situations even though mkvmerge would assign "no".

2016-05-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: bug fix: fixed handling of Big Endian PCM with a bit depth other than 16, 32 or 64 bits/sample. Other formats were using the Little Endian codec ID, but their content was actually not byte-swapped to match it. Now those other bit depths are byte-swapped to Little Endian, too. Fixes #1683.
* mkvinfo: the change to start the GUI by default on Windows and Mac OS has been reverted. Instead a separate executable (mkvinfo-gui) will be included for those platforms which starts the GUI by default. The newly introduced option "--no-gui" will remain valid but won't have any effect when used with mkvinfo.

2016-05-04 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo GUI: enhancement: the window title now includes the file name. Implements #1679.
* mkvmerge: enhancement: the "bit depth" track header field will be set for DTS tracks from the first DTS core header. Implements #1680.

2016-05-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the time zone portion of the "date_local" member of the JSON and verbose identification formats contained the time zone's name instead of its offset on Windows due to the Visual C++ runtime's std::strftime not being C++11 compliant.
Additionally this resulted in errors about invalid UTF-8 strings for locales where the time zone's name contained non-ASCII characters.

2016-04-23 Moritz Bunkus <moritz@bunkus.org>
* Released v9.1.0 "Little Earthquakes".
* mkvmerge: MPEG TS/teletext enhancement: included the teletext page number in the JSON/verbose identification output as track property "teletext_page".
* mkvmerge: MPEG TS bug fix: the "text_subtitles" property of the JSON/verbose identification modes was always set to true for all subtitle tracks, even for those that aren't text subtitles (VobSub, PG).
* mkvmerge: MPEG TS/teletext enhancement: if a teletext track contains multiple teletext pages then mkvmerge will now recognize all of those pages as separate tracks to merge instead of only merging the first page. See #1662.

2016-04-11 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: added support for extracting WebVTT subtitles. Implements the extraction part of #1592.
* mkvmerge: new feature: added support for reading WebVTT subtitles from WebVTT and Matroska files. Implements the merge part of #1592.
* mkvmerge: enhancement: when reading Matroska files not created by mkvmerge that contain chapters the existing edition UIDs and chapter UIDs are removed and random ones created. This is necessary as not only HandBrake but other tools assign sequential numbers starting at 1 for each file. Therefore there are two chapter entries with the UID 1, two with the UID 2 etc. and those should, strictly speaking, be treated as if they were a single chapter whereas the user expects those entries to stay separate entries.

2016-04-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: added an option in the preferences ("Merge" ? "Output") for controlling whether or not the GUI clears the "output file name" input upon removal of the last file.
* MKVToolNix GUI: new feature: added an option in the preferences ("Merge" ? "Default values") for controlling whether or not the GUI clears the "file title" input upon removal of the last file.
* mkvmerge: bug fix: mkvmerge will no longer abort reading a Matroska file with a structural error right before the first cluster. Fixes #1654.

2016-04-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added the minimum timestamp for each track in verbose/JSON identification outputs (key "minimum_timestamp") when identifying Matroska files. At most the first ten seconds are probed; if no block is found for a track within that range then the key is not output for the track.
Also added "muxing_application" and "writing_application" to the "container" section of the output. Currently those are only set for Matroska files.

2016-03-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool change: attachments from source files have been moved from the "Tracks, chapters, tags and attachments" list on the "sources" tab to a new list on the "attachments" tab. That way all existing attachments and all the ones to newly add will be shown in a single tab. This makes it easier to decide which attachments will have to be added and which can be removed.
* MKVToolNix: merge tool bug fix: when adding playlists the GUI won't ask the user whether or not to scan if there's only a single playlist in that directory.

2016-03-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: if too many chapters had been generated with --generate-chapters then mkvmerge created a bogus entry in the meta seek element and did not actually write the chapters to the file.
* mkvmerge: bug fix: the DTS packetizer was setting the number of channels wrong sometimes when reducing to the DTS core. It was using the number of channels including the extensions instead of the channels of the core only.

2016-03-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed two more issues in the conversion of teletext subtitles to SRT subtitles:
1. Packets belonging to pages that don't contain subtitles were used as valid end points for subtitles causing entries to become very short (e.g. 40ms).
2. Sometimes the timestamps of wrong packets were used as entry's start and end points causing start timestamps and durations that were slightly off.
Second part of the fix for #1623.

2016-03-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MP4/QuickTime reader: audio tracks with the FourCC 'lpcm' are muxed as A_PCM/INT/LIT instead of A_QUICKTIME.
* mkvmerge: bug fix: MP4/QuickTime reader: audio tracks can contain two instances of certain header fields (channel count, bits/sample & channel, sample rate) in the STSD atom: one instance in the version 0 header and one in the version 2 header parts. So far mkvmerge has used those from the version 0 header only and ignored the ones from the version 2 header.
This has been changed to match the behavior of other players and MP4 readers like ffmpeg. If the STSD atom contains a version 2 structure then the fields from it will be used. Otherwise the fields from the version 0 part will be used.
Fixes #1633.

2016-03-21 Moritz Bunkus <moritz@bunkus.org>
* all: new feature: added a new translation of both the programs and the man pages to Korean by Potato (see AUTHORS).
* MKVToolNix GUI: chapter editor enhancement: added a button next to the 'segment UID' controls that enable the user to select a Matroska file. The GUI reads that file's segment UID and enters its value into the input field.

2016-03-20 Moritz Bunkus <moritz@bunkus.org>
* build system: added an option to configure »--without-qt-pkg-config«. Normally configure uses pkg-config for detecting Qt and setting QT_CFLAGS and QT_LIBS. With this option configure won't use pkg-config and rely on the user having set both variables before running configure. This enables using Qt on systems where no pkg-config files are generated (e.g. Qt 5.6.0 on MacOS with frameworks enabled).

2016-03-18 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: change: on Windows and Mac OS mkvinfo will now launch the GUI by default unless the option »--no-gui« (or »-G«) has been given. This is due to the fact that on both OS users often use portable versions respectively disk images and launch the executable directly and not via start menu entries. In those situations adding command line options for launching the GUI is unnecessarily difficult.

2016-03-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed two issues in the conversion of teletext subtitles to SRT subtitles:
1. Consecutive teletext packets with the same content are now merged into a single entry instead of resulting in multiple entries.
2. The calculation of a packet's duration was wrong in certain situations.
Part of the fix for #1623.

2016-03-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: added the number of bits per sample to the verbose/JSON identification output for FLAC files.

2016-03-11 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: fixed the duplication of VPS, SPS, PPS and SEI NALUs when extracting h.265/HEVC tracks. See #1076 and #1621.
* mkvmerge: bug fix: reverted the patch by Vladimír Pilný that made the h.265/HEVC not store SEI NALUs with the frames during muxing. It was supposed to prevent having the SEI NALUs present twice when extracting HEVC due to some SEI information also being stored in the codec private data, but it dropped a lot of other SEI NALUs irrevocably. Fixes #1621.

2016-03-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the --sub-charset option is now ignored for text subtitle files that start with a byte-order mark (BOM) bringing the behavior in line with the documentation. Fixes #1620.

2016-03-07 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: implemented the extraction of Big Endian PCM (codec ID A_PCM/INT/BIG) to WAV files. The content will be byte-swapped into Little Endian PCM in the process.
* mkvmerge: enhancement: Big Endian PCM tracks will now be byte-swapped into Little Endian PCM, and the codec ID A_PCM/INT/LIT will be used. This was done due to a lot of players not supporting Big Endian PCM inside Matroska.

2016-03-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, MKVToolNix GUI: new feature: added switches (»--generate-chapters« and »--generate-chapter-name-template«) and their corresponding UI items for generating chapters while muxing. Two modes are currently supported: »when-appending« which creates one chapter at the beginning and an additional one each time a file is appended and »interval:…« which generates chapters in fixed intervals.
Implements mkvmerge's and the GUI's part of #1586.

2016-02-28 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: job queue enhancement: completed jobs will now be removed from the queue automatically on exit if the job has been added more than 14 days ago in order not to let the queue grow arbitrarily large. This feature can be turned off and the number of days can be adjusted in the preferences.

2016-02-27 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit, MKVToolNix GUI's header editor: bug fix: fixed the handling of files where the last level 1 element has an unknown size. The programs will now either fix this element to have a known size or abort the process with an appropriate error message but without modifying the file. Fixes #1601.

2016-02-25 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: enhancement: when extracting chapters in the simple format the user can use the new option »--simple-language …« for selecting the chapter names that are output. Normally the first chapter name found in each atom is used. With this option mkvextract looks for a chapter name whose language matches the specified one.
Implements the feature enhancement part of #1610.
* mkvextract: several issues regarding the extraction of chapters in the simple format have been fixed: if multiple names with different languages were present then an entry had been written for each name; the total number of entries written was wrong; the wrong entries were written.
The new code only writes the first name found from the top-most chapter atoms of all editions. Chapters flagged as hidden or as not enabled are not extracted at all.
Fixes the bug part of #1610.

2016-02-21 Moritz Bunkus <moritz@bunkus.org>
* Released v8.9.0.
* MKVToolNix GUI: the default font size adjustment has been deactivated for the time being as it causes problems on high DPI displays. See #1602.
* MKVToolNix GUI: bug fix: ampersands (&) in file names were shown as keyboard shortcuts in tab titles in various tools (merge tool, chapter and header editors, job output tool). Fixes #1603.

2016-02-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: header editor enhancement: when the user drags & drops files on an open header editor tab the GUI will ask the user what to do with them: either open the files as new header editor tabs or add the files as new attachments to the current tab. The action can also be set as the default. Implements #1585.
* MKVToolNix GUI: chapter & header editor enhancement: Matroska files are initially opened in read-only mode and only later re-opened in read/write mode in order to enable reading from write-protected files. Part of the implementation of #1594.
* MKVToolNix GUI: chapter & header enhancement: the error messages shown when a Matroska file could not be parsed have been improved to include the most likely reasons. Part of the implementation of #1594.
* MKVToolNix GUI: chapter editor enhancement: added a menu entry for removing chapters from an existing Matroska file. Inspired by #1593.
* MKVToolNix GUI: chapter editor enhancement: it is now possible to save chapters to Matroska files after having removed all entries (editions and chapter atoms). This effectively removes the chapters from the file. Implements #1593.

2016-01-31 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: job queue bug fix: fixed an invalid memory access in the "edit in corresponding tool and remove from queue" functionality.
* MKVToolNix GUI: re-write, merge tool bug fix: the file identification is now based on mkvmerge's JSON output instead of its verbose output. This also fixes the merge tool not showing names of attachments inside Matroska files properly if those names contain spaces (#1583).
* MKVToolNix GUI: merge tool bug fix: the "mux this" combo box was disabled if a single attachment was selected.
* mkvmerge: bug fix: removed spurious output generated during file identification in the HEVC detection code (e.g. "Error No Error").
* mkvmerge: bug fix: fixed the output of the "playlist_file" and "other_file" properties of the "container" entity in the JSON identification format from a single string to an array of strings. The format version has been bumped to 3 due to this change.

2016-01-30 Moritz Bunkus <moritz@bunkus.org>
* docs: added a Polish translation of the man pages by Daniel Kluz (see AUTHORS).
* MKVToolNix GUI: "run program after XYZ" enhancement: configurations can now be deactivated without having to change them. Implements #1581.

2016-01-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed parsing of AAC in MP4 with a program config element with an empty comment field at the end of the GA specific config. Fixes #1578.

2016-01-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: when reading Matroska files created by HandBrake that contain chapters the existing edition UIDs and chapter UIDs are removed and random ones created. This is necessary as HandBrake assigns sequential numbers starting at 1 for each file. Therefore there are two chapter entries with the UID 1, two with the UID 2 etc. and those should, strictly speaking, be treated as if they were a single chapter whereas the user expects those entries to stay separate entries. Implements an improvement for issues such as #1561.
* MKVToolNix GUI: merge tool bug fix: the GUI no longer requires at least one source file to be present before muxing can start in order to allow creation of track-less files. Fixes #1576.

2016-01-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: "run program after XYZ" enhancement: added a button for executing the program right now as a test run. See #1570.
* MKVToolNix GUI: "run program after XYZ" enhancement: an error message is shown if the program couldn't be executed. See #1570.
* MKVToolNix GUI: "run program after XYZ" enhancement: any leading spaces in the executable path are removed in order to make copying & pasting less error-prone.
* MKVToolNix GUI: "run program after XYZ" bug fix: the paths used in the variables and the executable are converted to the platforms native path separators. This fixes compatibility with Windows applications that don't support the use of forward slashes in path names like e.g. VLC. See #1570.

2016-01-06 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the GUI's default font's size is now scaled with the screen's DPI and is at least 9 points high (up from 8). Additionally on Windows "Segoe UI", which is Windows' default user interface font, is used instead of the default provided by Qt, "MS Shell Dlg 2".
* MKVToolNix GUI: enhancement: the user can select the font family and size for the GUI in the preferences.

2016-01-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed TrueHD detection both as raw streams as well as inside other contains if the stream does not start with a TrueHD sync frame.

2016-01-03 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new merge tool feature: added a layout for the track properties where they're on the right of the files/tracks lists in two fixed columns. Implements #1526.

2016-01-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed a mis-detection of an MPEG-2 video elementary stream as a TrueHD file which then caused a segmentation fault. Fixes #1559.
* mkvmerge: bug fix: Matroska attachments with the same name, size and MIME type were not output during file identification.
* MKVToolNix GUI: merge tool enhancement: added a column to the "attachments" tab containing the file size.
* MKVToolNix GUI: enhancement: pressing the insert key when the focus is on the merge tool's source files or attachments list, on the chapter editor's chapter list or on the header editor's list will invoke the corresponding action for adding elements to that list.

2016-01-01 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: when using one of the "select all tracks (of typeâ€¦)" actions the "properties" column didn't show the selection.
* MKVToolNix GUI: new feature: implemented adding, changing and removing attachments in existing Matroska files as part of the header editor. Implements #1533.

2015-12-31 Moritz Bunkus <moritz@bunkus.org>
* Released v8.7.0.

2015-12-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed the handling of a PES size of 0 ( = unknown). Tracks whose PES packets had such a size were sometimes not detected at all, and even if they were their content was incomplete. Fixes #1553.
* mkvmerge: bug fix: made the MPEG 1/2 video elementary stream file type recognition more resilient and more flexible dropping the requirement for a file to start with an MPEG start code (0x00 00 01). Fixes #1462.
* mkvpropedit: bug fix: when changing the track language it is now verified to be a valid ISO 639-2 language code before writing it to the file. Fixes #1550.
* mkvmerge: enhancement: the MP4 reader will keep the display dimensions from the track header atom ("tkhd") and use them as the display width & height. See also #1547.

2015-12-29 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: the "add source files" button now has optional popup menu containing actions for adding/appending files and adding files as additional parts for easier discovery of those actions. This popup is only shown if the user clicks on the arrow shown on the right of the button.
* mkvmerge: new feature: TrueHD tracks that contain Dolby Atmos will be identified as "TrueHD Atmos". Implements #1519.
* mkvmerge: bug fix: the Matroska reader now uses TrueHD-specific code when reading Matroska files. This can fix things like wrong frame type flags.

2015-12-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed the decisions whether or not to write the last frame of a track as a BlockGroup or a SimpleBlock and whether or not to write a block duration for that frame. Fixes #1545.
* MKVToolNix GUI: new merge tool feature: added menu options in the "Merge" menu for copying either the first source file's name or the current output file's name into the "file title" control.

2015-12-22 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: new feature: added an option for calculating statistics for all tracks and adding new/updating existing statistics tags in a file. Second half of the implementation of #1507.

2015-12-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the progress calculation was sometimes outputting negative numbers when appending Matroska files whose timestamps don't start at 0 (e.g. if they were created by splitting with linking enabled). In the the GUI this resulted in lines like "#GUI#progress -2%" in the job's output.
* mkvpropedit: new feature: added an option for removing all existing track statistics tags from a file. Part of the implementation of #1507.
* mkvmerge: bug fix: AAC with low sampling frequencies was sometimes mis-detected with the wrong profile preventing appending it to other AAC tracks. Fixes #1540.

2015-12-16 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: the "split mode" drop-down box got reset to "do not split" each time the preferences dialog was closed with the "OK" button. Fixes #1539.
* mkvmerge: enhancement: if JSON identification mode is active then warnings and errors will be output as JSON as well. They're output as arrays of strings as the keys "warnings" and "errors" of the main JSON object. Implements #1537.
* all: reversion of a change: several ISO 639-2 codes of languages that are very old and not spoken anymore have been re-added (e.g. "English, Middle (1100-1500)") due to feedback from users who did have a use for such codes.
* all: reversion of a change: all of the tools will write a byte-order mark (BOM) to text files encoded any of the UTF-* schemes again. This reverts the change in release 8.6.0 due to user feedback preferring the old way.

2015-12-12 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit: enhancement: when using --add-attachment, --replace-attachment or --update-attachment the UID can be changed with --attachment-uid. See #1532.
* mkvpropedit: new feature: added an option "--update-attachment" for updating the properties of existing attachments without replacing their content. Implements #1532.

2015-12-11 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: added options for running arbitrary programs after a job has finished or after the queue has finished. Implements #1406.

2015-12-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: if files are dragged & dropped from an external application with the right mouse button being pressed then the GUI will always ask the user what to do with the files even if the user has configured the GUI not to ask. Implements #1508.
* MKVToolNix GUI: enhancement: when starting the GUI with a saved settings file then the GUI won't contain an empty tab in the merge tool anymore. Fixes #1504.

2015-12-01 Moritz Bunkus <m.bunkus@linet-services.de>
* MKVToolNix GUI: the preferences dialog has been reworked heavily in order to provide a better overview and to be less overwhelming.

2015-11-29 Moritz Bunkus <moritz@bunkus.org>

* Released v8.6.1.

* mkvpropedit, GUI's chapter & header editors bug fix: in certain situations the modified file would not contain a seek head before the first cluster anymore resulting in most players not finding elements such as attachments or the index located at the end of the file anymore. Fixes #1513.

* mkvmerge: bug fix: the change to do a deeper file analysis if no seek head was found was causing huge increases in file type detection time as popular tools like x264 don't write seek heads. The way elements at the end are searched has been changed to only scan the last 5 MB of the file instead of iterating over every level 1 element from the beginning of the file.

2015-11-28 Moritz Bunkus <moritz@bunkus.org>

* Released v8.6.0.

* all: change: none of the tools will write a byte-order mark (BOM) to text files encoded any of the UTF-* schemes anymore.

2015-11-25 Moritz Bunkus <moritz@bunkus.org>

* mkvmerge: Matroska reader bug fix: the info about which packetizer is used was output twice for each HEVC track. Fixes
#1522.

* MKVToolNix GUI: bug fix: implemented a workaround for a bug in Qt which caused the GUI not to start anymore due to failing to detect a stale lock file if the GUI had crashed before on a computer with a host name that included non-ASCII characters. See https://bugreports.qt.io/browse/QTBUG-49640

2015-11-22 Moritz Bunkus <moritz@bunkus.org>

* mkvmerge: bug fix: a track's number of bits per audio sample wasn't output in verbose identification mode even if it was present in the file.

* mkvmerge: enhancement: if no seek head is found before the first cluster when reading Matroska files then mkvmerge will attempt a deeper scan of all elements in the file in order to find track headers, attachments, chapters and tags located at the end of the file. See #1513 for the rationale.

* MKVToolNix GUI: bug fix: the program changes its working directory to the user's profile/home directory on startup allowing the removal of its installation folder even if a program started by the GUI (e.g. a web browser) is still running. Fixes #1518.

2015-10-20 Moritz Bunkus <moritz@bunkus.org>
* build system: libEBML v1.3.3 and libMatroska v1.4.4 are now required due to important fixes for invalid memory accesses in those two releases. The copies included in the MKVToolNix source code have been updated to those releases as well.

2015-10-19 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: the "save file" dialogs did not have the currently entered file name pre-selected anymore. Fixes #1480.
* MKVToolNix GUI: header editor enhancement: several track properties like name or language are shown as columns in the tree for easier distinction between tracks. They're also shown on the overview page on the right when that track's entry is selected in the tree. The text in the labels on this overview page can be selected with the mouse for copying & pasting elsewhere.

2015-10-17 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix (Linux): the function "open folder" was inserting a superfluous leading slash in the directory name. This causes some file managers (in this particular case Dolphin on Linux) to interpret a directory name like "//home/mosu/â€¦" as a share called "mosu" on a Samba/Windows server called "home" and to prepend the whole name with the "smb://" protocol. Fixes #1479.

2015-10-13 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: if the last directory opened doesn't exist anymore then default to one that does in order to prevent an error message from older Windows versions about a location not being available. Fixes #1438.

2015-10-10 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the context menu for the status bar job status counters is now shown when the user clicks with any mouse button, not just the right one. This should make the feature easier to discover. Implements #1396.
* MKVToolNix GUI: new job queue feature: added an option in the preferences for resetting the warning and error counters of all jobs and the global counters in the status bar to 0 when exiting the program. Implements #1437.
* MKVToolNix GUI: current job output enhancement: the separator lines for warnings and errors ("--- Warnings emitted by Job â€¦ started on â€¦ ---") are only shown when warnings/errors actually occur and not for each job that's run.

2015-10-09 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: the menus that are currently not shown are disabled properly so that they don't react to keyboard shortcuts anymore. This affected e.g. Alt+J with the English localization as there were three shortcuts active: the "add to job queue" button (if the merge tool is active), the "job queue" menu and the "job output" menu.

2015-10-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: PCM tracks: if the number of samples per packet varies then no default duration will be written. Fixes #1426.
* MKVToolNix GUI: merge tool enhancement: added buttons for previewing the character sets for text subtitles read from SRT and SSA/ASS files as well as for chapter files. They're located next to the drop down boxes for the character sets on the input and output tabs.
* MKVToolNix GUI: merge tool enhancement: added buttons next to the 'segment UID', 'previous segment UID' and 'next segment UID' controls that enable the user to select a Matroska file. The GUI reads that file's segment UID and enters its value into the corresponding control. Part of the implementation of #1363.
* mkvmerge: new feature: The three options that use segment UIDs (--segment-uid, --link-to-previous and --link-to-next) can now read the segment UID of an existing Matroska file. For this the file's name must be given as an argument prefixed with = (e.g. '--segment-uid =some_file.mkv'). Implements #1363.
* MKVToolNix GUI: chapter editor enhancement: Added another variable to the chapter name templates called <START> which is replaced by the chapter's start timestamp. An optional format can be specified, e.g. <START:%H:%M:%S.%3n> resulting in something like 01:35:27.734. This can be used in the 'generate sub-chapters' or the 'renumber sub-chapters' functionality. Implements #1445.

2015-10-03 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: If there's currently no source file present when the user drags & drops files onto the merge tool then the GUI will no longer leave an empty, superfluous tab for certain drop modes. Fixes #1446.
* MKVToolNix GUI: merge tool enhancement: implemented the optional warning before overwriting existing files when starting to mux or adding a job to the queue. The pending jobs in the queue are checked for the same destination file name as well. Implements #1390.
* MKVToolNix GUI: enhancement: pressing the delete key in the chapter editor and the job queue removes the selected entries. Implements #1454.
* MKVToolNix GUI: merge tool enhancement: dropping chapter, tag and segment info files from external applications will cause those file names to be added to the appropriate controls on the 'output' tab. Implements #1332 and 1345.
* MKVToolNix GUI: merge tool enhancement: the feature "default track language" has been split into track languages by type. There are now three separate settings for audio, video and subtitle tracks. Implements #1338.

2015-09-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: the verbose identification for MP4 files will now derive basic audio parameters of MP3 and AC3 tracks from the bitstream instead of relying on the values in the track headers.

2015-09-25 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: when browsing for chapter files on the "output" tab the initial directory is the first input file's directory instead of the directory accessed last.
* MKVToolNix GUI: merge tool bug fix: the cropping parameters were not converted into parameters for mkvmerge at all.

2015-09-22 Moritz Bunkus <moritz@bunkus.org>
* all: several ISO 639-2 codes of languages that are very old and not spoken anymore have been removed (e.g. "English, Middle (1100-1500)").
* MKVToolNix GUI: enhancement: on Windows the drop down boxes were elliding overlong text. This has been changed to making the open combo boxes' scroll areas wide enough to contain the whole entries. This matches the behavior of Qt on other operating systems.
* all: fixed the spelling of the AC-3, E-AC-3 and VC-1 codec names.

2015-09-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: the interface language selection has been improved not to select wrong entries resulting in error messages from mkvmerge about unknown translations. Fixes #1434.
* MKVToolNix GUI: bug fix: if the Windows version of the GUI was started from a symbolically linked folder then it would crash when the user added a file. Fixes #1315.

2015-09-19 Moritz Bunkus <moritz@bunkus.org>
* Released v8.4.0.
* MKVToolNix GUI: chapter editor bug fix: whenever the additional modification of »expanding start/end timecodes to include the minimum/maximum timecodes of their children« was run on an edition entry then ChapterTimeStart and sometimes ChapterTimeEnd nodes were inserted as direct children of the EditionEntry node when saving. This resulted in invalid chapters.

2015-09-18 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new merge tool feature: when dragging & dropping files onto merge settings already containing a file the user can set more options to be always done instead of asking (before: only adding files to the current merge settings could be thus marked; now: adding to current, adding to new settings and adding each file to new settings can be set to perform without asking). Implements #1388.
* MKVToolNix GUI: merge tool enhancement: when dragging & dropping files onto merge settings already containing a file the dialog asking the user what to do has received a new option for creating one new merge tab for each of the dropped files. Implements #1380.

2015-09-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: the pixel dimensions reported for VC-1 in MPEG transport streams in verbose identification mode was 0x0.
* mkvmerge: bug fix: the number of channels and the sample rate reported for DTS in MPEG transport streams and MPEG program streams in verbose identification mode was 0.
* mkvmerge: container and track properties in verbose identification mode are now output sorted.
* MKVToolNix GUI: new merge tool feature: the »tracks« tree view contains a new column titled »properties« which contains basic track properties: the pixel dimensions for a video track and sampling frequency, number of channels and bits per sample for an audio track. Implements #1295.

2015-09-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: the verbose identification result for all audio tracks has been extended to include the number of channels, the sample rate and the bits per sample where applicable. Part of the implementation of #1295.

2015-09-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: the verbose identification result for the MPEG program stream, MPEG transport stream and WAV readers has been changed for audio tracks in order to match the Matroska reader's result. The old keys »channels«, »sample_rate« and »bits_per_sample« have been replaced by »audio_channels«, »audio_sampling_frequency« and »audio_bits_per_sample«.
* mkvmerge: enhancement: the pixel width/height will be reported in verbose identification mode for all video tracks.

2015-09-05 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new merge tool feature: added a column in the track list showing the effective state of the »default track« flag. It shows the state of the flag as it will be in the output file. Implements #1353.

2015-09-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: when mkvmerge encounters garbage data in the middle of AC3 or MP3 tracks it will now output the timecode where the garbage occurred in order to make checking for audio/video sync issues easier. Implements #1420.

2015-09-01 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: chapter editor enhancement: added a column in the tree with the edition's/chapter's flags.
* MKVToolNix GUI: new feature: the state of all columns in all list/tree views can be reset (both the shown/hidden state as well as their order) from the column's context menu. See #1268.

2015-08-30 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: the column headers of all list/tree views can be re-ordered via drag & drop and the GUI will remember their position upon restart. Additionally the columns can be hidden/shown via a context menu by right-clicking on the column headers. Implements #1268.
* MKVToolNix GUI: new chapter editor feature: added an option for skipping chapters marked as "hidden" in the re-numbering dialog. Implements #1414.

2015-08-28 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: if the output file name policy »last output directory« was used then manual changes to the output file name weren't recognized as changes to the last output directory. Fixes #1411.
* MKVToolNix GUI: merge tool bug fix: the »default subtitle charset« is not applied to text subtitles from Matroska files as those are always encoded in UTF-8. Fixes #1416.
* MKVToolNix GUI: enhancement: the titles and button texts of dialogs asking questions have been improved to be easier understandable. For example, instead of using »yes/no« as the answers to the question »Do you want to close the unmodified file?« the choices are now »Close file/Cancel«. Implements #1417.

2015-08-27 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: chapter editor bug fix: the »shift timecodes« action in the mass modification dialog wasn't working at all, and selecting multiple actions in the dialog would result in wrong actions being executed.

2015-08-23 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: chapter editor enhancement: when loading simple/ OGM style chapter files that contain non-ASCII characters and which do not start with a byte order mark (BOM) the GUI will let the user chose the character set to use. A preview is shown for the selected character set and updated when the user changes the character set.

2015-08-20 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool enhancement: added »remove all« and »select all« entries to the attachments context menu. Implements #1386.
* MKVToolNix GUI: job output enhancement: the output, warnings and error text views are now separated by two splitters enabling the user to change their respective sizes. These changes are remembered over restarts. Implements #1394.
* MKVToolNix GUI: chapter editor enhancement: pressing shift+return will cause the next appropriate chapter control to be selected depending on where the focus currently is: from a chapter input (start/end time, flags, UIDs) to the next chapter entry's start time, from a chapter name to the next chapter name and from the last chapter name to the next chapter entry's first chapter name. Implements #1398 and complements #1358.
* MKVToolNix GUI: chapter editor enhancement: pressing return on the very last chapter entry will wrap and focus the first one in the tree again. Enhances #1358.

2015-08-18 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: mkvmerge is now run in with the same interface language set for the GUI.
* 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 again. It now uses the values dwStart, dwScale and dwSampleSize from the AVI stream header structure instead of values derived from the audio packet headers. Fixes #1382 and still works correctly for #1137.
* MKVToolNix GUI: enhancement: scrolling over input elements like combo boxes, check boxes and radio buttons located within a scroll area will now scroll the scroll area instead of the element the cursor is over (e.g. a combo box). Implements #1400.

2015-08-17 Moritz Bunkus <moritz@bunkus.org>
* all: the environment variable <TOOLNAME>_OPTIONS is now parsed for options for TOOL (e.g. MKVMERGE_OPTIONS for mkvmerge). MKVTOOLNIX_OPTIONS is still used for all programs. Fixes #1403.

2015-08-16 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: fixed the escaping of the command line for cmd.exe regarding the command name itself (the very first argument). Fixes #1401.

2015-08-15 Moritz Bunkus <moritz@bunkus.org>
* build system: removal: the switch »--without-mkvtoolnix-gui« has been removed. There are only two GUIs left in the package: the Qt-enabled mkvinfo and MKVToolNix GUI. Both are enabled by default and can be disabled with the option »--disable-qt«. In that case only the text-mode version of mkvinfo is built, and the MKVToolNix GUI is not built at all.
* Removal: all support for wxWidgets has been removed. This means that the mkvmerge GUI (mmg) has been removed and that mkvinfo now only supports a text-mode and a Qt-based interface.
* build system: bug fix: fixed Qt platform plugin detection on MacOS.

2015-08-15 Moritz Bunkus <moritz@bunkus.org>
* Released v8.3.0.
* 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.

2015-08-14 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-08-11 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-08-09 Moritz Bunkus <moritz@bunkus.org>
* build system: the Boost detection macros were updated from www.gnu.org resulting in better compatibility with bare-bones shells like dash.
* 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 AppDataLocal 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.

2015-08-08 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-07-21 Moritz Bunkus <moritz@bunkus.org>
* 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:UsersmbunkusAppDataLocalbunkus.orgmkvtoolnix-gui).

2015-07-18 Moritz Bunkus <moritz@bunkus.org>
* Released v8.2.0.
* 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. '<NUM:3>'. 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.

2015-07-15 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: the position of the tab headers of all tab widgets can be changed in the preferences. Implements #1334.

2015-07-11 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-07-05 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-29 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-28 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-27 Moritz Bunkus <moritz@bunkus.org>
* Released v8.1.0.
* 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.

2015-06-24 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: merge tool bug fix: if Â»automatically set the file titleÂ« is enabled then the title field will be cleared after all source files have been removed.
* MKVToolNix GUI: new watch jobs tool feature: the first tab showing the output of the current job has been changed to show the output of all jobs that have been run since the GUI's been started. This can be turned off in the preferences so that only the output of the currently running job is shown again. Implements #1263.
* MKVToolNix GUI: merge tool bug fix: fixed a crash when enabling/disabling chapters coming from an appended file. Fixes #1293.
* MKVToolNix GUI: new merge tool feature: added an option to set a directory relative to the first input file as the default output directory. Implements #1261.
* MKVToolNix GUI: merge tool bug fix: it was possible to set the Â»default track flagÂ« to Â»yesÂ« for multiple tracks of the same type. Fixes #1289.
* MKVToolNix GUI: enhancement: the Â»open fileÂ« dialogs for the chapter and header editor tools will use the same directory that was last used in the merge tool. Fixes #1290.

2015-06-23 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: bug fix: fixed reading the Â»default trackÂ« flag of tracks from added Matroska files. Fixes #1281.
* MKVToolNix GUI: new feature: added a check box to the track/chapters/tags/attachments list. This offers an additional way of toggling the Â»mux thisÂ« state of entries, same as the drop down box on the right and as double-clicking on the item already did. Implements #1277.
* MKVToolNix GUI: merge tool bug fix: when appending files with multiple tracks of a type (e.g. multiple audio tracks) then all tracks of that kind would get assigned to the first track of that kind of the file they're appended to. Now the second audio track from the appended file is appended to the second audio track of the existing file, the third to the third etc. Fixes #1257.
* MKVToolNix GUI: merge tool bug fix: fixed automatic output file name re-generation when the mux status of tracks changes. Fixes #1253.
* MKVToolNix GUI: new feature: added an option for always using the suggested description and not asking the user when adding a job to the queue. Implements #1288.
* MKVToolNix GUI: job queue enhancement: added the shortcut Ctrl+R for the menu entry Â»start all pending jobsÂ«. Implements #1287.
* MKVToolNix GUI: new feature: added an option to always treat files dragged & dropped external applications as being added circumventing the question what to do with them (add, append or add as additional parts). This option is enabled by default changing the default behavior from release 8.0.0. Implements #1259.
* MKVToolNix GUI: new feature: added an optional action after starting a job or adding one to the queue. This can be either to create whole new settings or to only remove all input files. Implements #1254.
* mmg: bug fix: the deprecation warning will only be shown once. Fixes #1252.
* Installer for Windows: enhancement: associated the .mtxcfg files with MKVToolNix GUI. Implements #1258.
* MIME and desktop files: enhancement: added file associations for .mtxcfg with MKVToolNix GUI. Implements #1258.

2015-06-22 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature: implemented command line handling. You can open configuration files, add files to merge jobs, open files in the chapter or header editors. Implements #1209.

2015-06-09 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-07 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-06 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-05 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-04 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-02 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-06-01 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-05-30 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-05-25 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-05-24 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: enhancement: the number of jobs pending automatic/manual execution is listed in the status bar. Part of the implementation of #1199.

2015-05-23 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-05-11 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-05-10 Moritz Bunkus <moritz@bunkus.org>
* Released v7.9.0.
* 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).

2015-05-07 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: bug fix: mkvinfo would exit with the wrong return code (0 instead of 2) if a non-existing file name had been given. Fixes #1182.

2015-05-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Two more characters are now escaped in the container and track properties output in verbose identification mode: [ is replaced with b and ] with B. This is needed for reliable parsing by other programs, e.g. GUIs.

2015-04-23 Moritz Bunkus <moritz@bunkus.org>
* MKVToolNix GUI: new feature in the chapter editor: added features Â»clamping time stamps of sub-chapters to their parent's time stampsÂ«, Â»expanding time stamps of chapters to encompass their sub-chapters' time stampsÂ« and Â»shifting start and end time stamps by an offsetÂ«.

2015-04-22 Moritz Bunkus <moritz@bunkus.org>
* all: permanently removed the build times tamp from the version information and the corresponding configure option.

2015-04-18 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-04-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed --sync not doing anything if --default-duration is used for the same track, too.

2015-04-13 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-04-12 Moritz Bunkus <moritz@bunkus.org>
* 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 been implemented yet, though).

2015-04-10 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-03-29 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-03-28 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-03-27 Moritz Bunkus <moritz@bunkus.org>
* Released v7.8.0.
* 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).

2015-03-25 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-03-23 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-03-01 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-02-27 Moritz Bunkus <moritz@bunkus.org>
* 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 <matsp888@yahoo.com>
* 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 <moritz@bunkus.org>
* 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-23 Moritz Bunkus <moritz@bunkus.org>
* 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 <moritz@bunkus.org>
* 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 <moritz@bunkus.org>
* 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 <moritz@bunkus.org>
* 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 <moritz@bunkus.org>
* 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.

2015-02-02 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-01-17 Moritz Bunkus <moritz@bunkus.org>
* 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.

2015-01-05 Moritz Bunkus <moritz@bunkus.org>
* 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).

2015-01-04 Moritz Bunkus <moritz@bunkus.org>
* Released v7.5.0.
* 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.

2015-01-03 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-12-30 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-12-21 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-12-20 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-12-19 Moritz Bunkus <moritz@bunkus.org>
* build system: libMatroska v1.4.2 is now required as part of a fix for #1096.

2014-12-18 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-12-05 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-11-19 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-09-26 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo (Qt version on Windows): bug fix: the console window is closed if the GUI is launched.

2014-09-25 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-09-14 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-09-13 Moritz Bunkus <moritz@bunkus.org>
* Released v7.2.0.
* MKVToolNix GUI: included a first preview version in the Windows installer and portable releases.

2014-08-09 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-07-26 Moritz Bunkus <moritz@bunkus.org>
* all: bug fix: if MKVToolNix on Windows is residing in a directory containing non-ASCII characters then translations weren't found. This has only been fixed for cases where those non-ASCII characters are part of the system's active code page.

2014-05-26 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-05-25 John Peebles <johnpeeb@gmail.com>
* 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.

2014-05-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: When identifying a Matroska file in verbose identification mode track-specific tags will be output as well. The format is »tag_<tag name in lower case>:<tag value>», 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.

2014-05-18 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-05-14 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-05-04 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-04-21 Moritz Bunkus <moritz@bunkus.org>
* 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).

2014-04-20 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-03-10 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: during the extraction of chapters, tags or segment info XML files with the --redirect-output parameter the BOM (byte order mark) was written twice.

2014-03-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: fixed timestamp assignment for AVC/h.264 videos in which recovery point SEIs occur in front of the second field of two interlaced fields.

2014-03-02 Moritz Bunkus <moritz@bunkus.org>
* Released v6.8.0.

2014-02-28 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-02-15 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-01-21 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-01-11 Moritz Bunkus <moritz@bunkus.org>
* 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.

2014-01-10 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-12-31 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-12-29 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-12-28 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-12-27 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-11-14 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-10-26 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-10-19 Moritz Bunkus <moritz@bunkus.org>
* Released v6.5.0.
* 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.

2013-10-02 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-09-17 Moritz Bunkus <moritz@bunkus.org>
* 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).

2013-07-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: CueRelativePosition was wrong for BlockGroups: it pointed to the Block inside the group instead of the BlockGroup itself. CueRelativePosition elements for SimpleBlock elements are not affected. Fixes #903.

2013-07-04 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The "jobs" folder will be created in the same mmg.exe is located in for the portable version. The installed version will still keep the folder where has already been (%APP_DATA%mkvtoolnixjobs).
* mmg: bug fix: Closing mmg's window while it was minimized caused mmg to appear hidden and unmovable when started the next time.

2013-07-02 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: new feature: Added support for the new Matroska elements DiscardPadding, CodecDelay and SeekPreRoll.
* build system: libMatroska 1.4.1 is now required for building.

28 Jun 2013: Added new builds for Windows (6.3.0-1): same source, but built against a different version of the wxWidgets library in order to circumvent a bug in the library.

2013-06-27 Moritz Bunkus <moritz@bunkus.org>
* Released v6.3.0.
* 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.

2013-04-16 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: mmg will now handle all file names given on the command line instead of only the first one. This allows things like opening several selected files with mmg in Windows, and mmg will add all of them. Fixes #867.
* mkvmerge: bug fix: The amount of memory required to store the cues during muxing has been reduced drastically. This is more noticeable the more video and subtitle tracks are muxed. Fixes #871.

2013-04-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If splitting had been active then the elements "cue duration" and "cue relative position" were only written to the first output file.

2013-04-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The "CTS offset" field of FLV files with AVC/h.264 video tracks is now read as a signed-integer field in accordance with the FLV specifications.

2013-04-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: DTS parsing: no more warnings about incompatible encoder revision numbers will be printed. Fixes #866.
* mkvextract: enhancement: track extraction mode: If mkvextract encounters a broken file structure it will output the last timecode successfully read before resyncing. After the resync the first cluster timecode will be reported as well.
* installer: The installation directory will no longer be added to the PATH environment variable.
* mkvmerge: bug fix: The parsing of the AAC AudioSpecificConfig structure (the bytes contained in Matroska's CodecPrivate and in MP4's "ESDS" atom) was fixed to support parsing the GASpecificConfig and the ProgramConfigElement if the channel configuration is 0. Fixes #872.

2013-03-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Matroska reader: If mkvmerge encounters a broken file structure it will output the last timecode successfully read before resyncing. After the resync the first cluster timecode will be reported as well.

2013-03-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: removal: Support for BZ2 (bzlib) and LZO (lzo1x) compression has been removed.
* mmg: bug fix: Using drag & drop to add playlists will no longer lock the dragging application (e.g. Windows Explorer) in D&D mode for the duration of the scan for other playlists.
* mmg: bug fix: The validation for the argument to "split by chapters" was wrongfully rejecting certain valid inputs (chapter number lists in which the second or any later chapter number was higher than 9).
* all: enhancement on Windows: all programs now determine the interface language to use from the user's selected interface language (C function "GetUserDefaultUILanguage()"), not from the locale setting. Implements #852.

2013-03-02 Moritz Bunkus <moritz@bunkus.org>
* Released v6.1.0.

2013-02-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed mkvmerge sometimes mistakenly detecting MPEG-1 video in MPEG program streams as AVC/h.264. Fixes #845.
* mmg: new feature: When a playlist file (e.g. MPLS Blu-ray playlist) is added mmg can optionally scan all the other files in the directory that have the same extension and present the user with the results (including them playback time, total size, number of chapters, number and types of tracks). The user can then select the actual playlist file to add. The user can configure the minimum playlist duration in order to filter out too short ones.

2013-02-22 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added an option for disabling making the suggested output file name unique by adding a running number (e.g. ' (1)'). Implements #848.
* mmg: new feature: The output file name can be auto-set to be located in the first input file's parent directory. Implements #849.

2013-02-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented support for reading MPLS BluRay playlist files. All M2TS files referenced from an MPLS file are processed. Chapter entries from that MPLS file are used as well. Implements #765.

2013-01-26 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Selecting one of the pre-defined values from the "split by X" argument drop down box (e.g. "700M") was not leaving the selected entry in the drop down box but set it to empty instead.

2013-01-13 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-01-12 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-01-08 Moritz Bunkus <moritz@bunkus.org>
* 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.

2013-01-02 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed a crash in the chapter editor if the root was selected and the user used the "Set values" button.

2013-01-01 Moritz Bunkus <moritz@bunkus.org>
* 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.

2012-12-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added experimental support for the Opus audio codec. Parts of an implementation of #779.

2012-09-27 Moritz Bunkus <moritz@bunkus.org>
* 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.

2012-08-06 Moritz Bunkus <moritz@bunkus.org>
* 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).

2012-08-02 Moritz Bunkus <moritz@bunkus.org>
* 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.

2012-07-20 Moritz Bunkus <moritz@bunkus.org>
* 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).

2012-07-11 Moritz Bunkus <moritz@bunkus.org>
* 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.

2012-07-08 Moritz Bunkus <moritz@bunkus.org>
* Released v5.7.0.
* mmg: bug fix: mmg will no longer print false warnings about a chapter UID not being unique. Fixes #760.
* mkvmerge, mkvpropedit, mmg: bug fix: All tools can now deal with 64bit UID values (chapter UIDs, edition UIDs etc).
* mkvmerge: new feature: If "splitting by parts" is active and the last split part has a finite end point then mkvmerge will finish muxing after the last part has been completed. Implements #768.

2012-06-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The DTS and TrueHD packetizers were not flushed correctly. In some rare circumstances this could lead to mkvmerge aborting with an error message about the packet queue not being empty at the end of the muxing process. Fixes #772.

2012-06-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Reading DTS from AVI files often resulted in the error message that DTS headers could not be found in the first frames. This has been fixed. Fixes issue 759.

2012-04-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: When adding a Matroska file that has either the "previous segment UID" or the "next segment UID" set then mmg will copy those two and the source file's segment UID into the corresponding controls on the "globla" tab if they haven't been set before. Implements ticket 733.
* mkvmerge: new feature: The verbose identification mode for Matroska files will now includes the "segment UID", the "next segment UID" and "previous segment UID" elements.
* mkvmerge: enhancement: In "--split parts:" mode mkvmerge will use the output file name as it is instead of adding a running number to it if all the ranges to be kept are to be written into a single output file. Implements ticket 743.
* mkvextract: bug fix: mkvextract will no longer abort extracing h.264 tracks if it encounters a NAL smaller than its size field. Instead it will warn about it and drop the NAL.

2012-04-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Writing more than two parts into the same file with "--split parts:" resulted in the timecodes of the third and all following parts to be wrong. Fixes ticket 740.
* mkvmerge: bug fix: The "--split parts:" functionality was not taking dropped ranges into account when calculating the segment duration for files that more than one range was written to. Fixes ticket 738.
* mkvmerge: bug fix: The "--split parts:" functionality was producing a small gap between the first part's last packet's timecode and the second part's first packet's timecode if two parts are written to the same file. Fixes ticket 742.

2012-04-07 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The "--split parts:" functionality was writing a superfluous and empty first part if the first range starts at 00:00:00. Fixes ticket 737.

2012-04-06 Moritz Bunkus <moritz@bunkus.org>
* Released v5.5.0.
* 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.

2012-03-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: new feature: Added support for keeping only certain timecode ranges from the source files with a new format to "--split": "--split parts:...". Implements ticket #518.

2012-03-30 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added an option in the preferences dialog called "clear jobs from the job queue after they've been run". Can be set to "only if run was successfull", "even if there were warnings" and "even if there were errors". Defaults to off.

2012-03-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract, mmg: Re-write of the whole XML handling code. It now uses the "pugixml" C++ library instead of the "expat" library. Therefore "expat" is not required for building MKVToolNix anymore. And neither is Boost's "property tree" library. "pugixml" itself is included and not an external requirement either.
* Build system: removed all files and documentation related to building MKVToolNix with Microsoft's Visual Studio because even the most recent version of Visual C++ does not support the C++11 features required for MKVToolNix.
* mkvmerge, mkvextract: removal: Removed support for the CorePicture file format. It was mostly unused and relied on old code that will be removed soon.
* documentation: enhancement: mkvmerge's man page has been updated with a list of valid XML tags for the chapters, tags and segment info XML file formats.
* all: Updated the DTD files with the newly supported elements.
* mkvmerge: enhancement: Chapter XML files: mkvmerge can handle the "ChapterSegmentEditionUID" element.
* mkvmerge: enhancement: Segment info XML files: mkvmerge can handle the "SegmentFilename", "PreviousSegmentFilename" and "NextSegmentFilename" elements.

2012-03-07 Moritz Bunkus <moritz@bunkus.org>
* build system: The C++ compiler must now support the C++11 keyword 'nullptr'. configure checks for it. For GCC this means at least v4.6.0.
* mkvinfo: new feature: mkvinfo will output the track ID that mkvmerge and mkvextract would use for a track. This information is shown alongside the "track number" element in verbose mode and in the track summary in summary mode.
* mkvmerge, mmg: enhancement: The "--default-duration" in mkvmerge and the "FPS" drop down box in mmg now accept "p" or "i" as a unit -- as in e.g. "25p" or "50i". Several commonly used values have been added to mmg's "FPS" drop down box and others removed.
* mkvmerge: bug fix: When using an external timecode file with AVC/h.264 video the default duration will be set to the most-often used duration in the timecode file.
* mmg: enhancement: Added the values "50", "60" and "48000/1001" to the list of commonly used values for the "FPS" input field.
* mkvmerge: bug fix: AVC/h.264 packetizer: The value given with "--default-duration" (after internal conversion from the unit given by the user to duration in nanoseconds) is now again interpreted as the duration of a frame and not of a field.
* mkvmerge: bug fix: SRT subtitles: timecodes can contain the minus sign before any digit, not just before the first one.

2012-03-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Sometimes non-AC3 files were mistakenly for AC3 after the re-write of the AC3 handling code on 2012-02-26. This has been rectified. Fix for bug 723.

2012-03-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge will keep the "enabled" track header flag when muxing. mkvmerge will also output its value in verbose identification mode as "enabled_track".
* mkvmerge: enhancement: MicroDVD text subtitles are recognized as an unsupported format instead of an unknown format.
* mmg: The warning that no default duration/FPS has been given for AVC/h.264 tracks has been removed.
* mkvmerge: bug fix: Complete re-write of the timecode handling code for AVC/h.264 tracks. Now handles several cases correctly: interlaced video, video with multiple or changing SPS with different timing information. The timing information is extracted from the bitstream. Therefore the user doesn't have to specify the default duration/FPS himself anymore. Fix for bugs 434 and 688.

2012-02-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: mkvmerge will parse and apply the audio encoder delay in MP4 files that contain said information in the format that iTunes writes it. Fix for bug 715.

2012-02-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented support for treating several input files as if they they had been concatenated binarily into a single big input file. Snytax is "mkvmerge -o out.mkv ( in1.ts in2.ts in3.ts )". This feature has already been present since version 5.1.0 but never been mentioned in the ChangeLog. Support for this feature in mmg is still missing.

2012-01-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Blocks with "BlockAdditions" will no longer be muxed as "SimpleBlock" elements discarding the additions but instead as "BlockGroup" elements. This applies to e.g. WAVPACK4 tracks with correction files as the correction data is stored in "BlockAdditions". Fix for bug 713.
* mkvmerge: bug fix: Fixed some more issues with (E)AC3 being misdtected as AVC elementary streams.

2012-01-27 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The header editor was sometimes creating two instances of an element if an element was added to the second or one of the later tracks. Fix for bug 711.
* mkvpropedit, mmg: bug fix: Trying to modify a file located in a path mounted with GVFS SFTP will no longer crash the programs. Instead an error message is output if an error occurs. Fix for bug 710.

2012-01-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Appending AVI, Matroska or MPEG program stream files with DTS audio tracks will not result in a warning that the appended DTS tracks might not be compatible. Fix for bug 705.

2012-01-13 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix for the "timecodes_v2" mode: mkvextract will write one more timecode than there are frames in the file. The last timecode written will be the the sum of the last frame's timecode and duration with the "last frame" being the one with the highest timecode. Fix for bug 691.

2012-01-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed writing into paths on which a drive is mounted on Windows. Fix for bug 701.
* mkvmerge: enhancement: Identification output for Matroska files: Added the track number header field as "number" to the verbose identification mode.

2012-01-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Identification output for Matroska files: Added a field "content_encoding_algorithms" that contains a comma-separated list of encoding algorithm IDs used for that track. For example, "content_encoding_algorithms:3" would indicate that header removal compression is used.

2012-01-05 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: The track IDs used in the "timecodes_v2" extraction mode are consistent again with the IDs that mkvmerge's identification reports and that mkvextract's "tracks" extraction mode uses. Fix for bugs 689 and 694.

2011-12-28 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-12-27 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-12-25 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-12-24 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: The track IDs used for extraction are consistent again with the IDs that mkvmerge's identification reports. Fix for bug 689.

2011-12-13 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-10-23 Moritz Bunkus <moritz@bunkus.org>
* build system: Boost's "Range" library is now required.
* build system: Boost v1.46.0 or newer is now required. As a consequence included copies of some of Boost's libraries have been removed (foreach, property tree).
* build system: The C++ compiler must now support several features of the C++11 standard: initializer lists, range-based 'for' loops, right angle brackets, the 'auto' keyword and lambda functions. configure checks for each of these. For GCC this means at least v4.6.0.

2011-10-13 Moritz Bunkus <moritz@bunkus.org>
* Packaging: In v5.0.1 mmg's guide was accidentally moved into the "mkvtoolnix" Debian/Ubuntu package. It has been moved back into "mkvtoolnix-gui" again.

2011-10-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: "Castilan" has been merged with "Spanish" into "Spanish; Castillan" in the ISO 639 language list as both share the same ISO 639-2 code "spa".

2011-09-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed mkvmerge not finding any track in TS streams whose first PMT packet could not be parsed (e.g. invalid CRC).
* mkvmerge: bug fix: Fixed detection of TS streams that only contain one PAT or PMT packet within the first few KB but no others within the first 10 MB.

2011-09-24 Moritz Bunkus <moritz@bunkus.org>
* Released v5.0.0.
* 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.

2011-09-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The "writing application" element will not be localized but always be written in English.

2011-09-20 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-08-02 Moritz Bunkus <moritz@bunkus.org>
* 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".

2011-07-31 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-05-23 Moritz Bunkus <moritz@bunkus.org>
* Released v4.8.0.
* mmg: bug fix (Windows): mmg will no longer convert the "mkvmerge executable" from just "mkvmerge" into a full path name when writing its preferences to the registry upon existing.
* mkvmerge: enhancement: Added support for VobSub IDX files with negative "delay" fields.

2011-05-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The 'doc type read version' EBML header field is only set to 2 even if a stereo mode other than 'none' is used for at least one video track. Fix for bug 625.

2011-05-03 Moritz Bunkus <moritz@bunkus.org>
* All: Avoided a segmentation fault in gcc by not including a pre-compiled header if FLAC or CURL support is disabled.
* mkvmerge: bug fix: Reading DTS files stored in 14-to-16 mode were read partially.

2011-04-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge will rederive frame types for VC1 video tracks stored in Matroska files instead of relying on the container information. This fixes files created by e.g. MakeMKV that mark all frames as key frames even if they aren't.

2011-04-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The 'doc type version' and 'doc type read version' EBML header fields are only set to 3 if a stereo mode other than 'none' is used for at least one video track. Fix for bug 625.
* mkvmerge: enhancement: File identification for tracks read from Matroska files with a codec ID of "A_MS/ACM" will show the track's format tag field if it is unknown to mkvmerge. Implements bug 624.

2011-04-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Track, tag and attachment selection via --audio-tracks, --video-tracks etc. can have their meaning reversed by prefixing the list of IDs with "!". If it is then mkvmerge will copy all tracks/tags/attachments but the ones with the IDs given to the option (e.g. "--attachments !3,6").
* mkvmerge: bug fix: Fixed handling AVIs with AAC audio format tag 0x706d and bogus private data size. Fix for bug 623.

2011-04-20 Moritz Bunkus <moritz@bunkus.org>
* Released v4.7.0.
* 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.

2011-04-14 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-04-13 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-03-13 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-02-17 Moritz Bunkus <moritz@bunkus.org>
* 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.

2011-02-06 Moritz Bunkus <moritz@bunkus.org>
* 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 "--with-extra-includes" and "--with-extra-libs" options.

2011-01-31 Moritz Bunkus <moritz@bunkus.org>
* Released v4.5.0.
* 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.

2011-01-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed an infinite loop when reading program stream maps in MPEG program streams. Part of a fix for bug 589.

2011-01-21 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: new feature: Added an option "--track-info" (short: "-t") that displays one-line statistics about each track at the end of the output. The statistics include the track's total size, duration, approximate bitrate and number of packets/frames.
* mkvinfo: bug fix: The hexdump mode was accessing invalid memory if the data to dump was shorter than 16 bytes. It was also outputting the values as characters instead of hexadecimal numbers. Patch by ykar@list.ru. Fix for bug 591.

2011-01-20 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: The output file name extension is automatically set to ".mk3d" if the stereo mode parameter for any video track is changed to anything else than "mono" or the default value.
* mmg: enhancement: Added ".mk3d" to the list of known file name extensions for Matroska files.
* mkvmerge, mmg: enhancement: Updated the "stereo mode" parameter to match the current Matroska specifications.

2010-12-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: If mkvmerge encounters invalid UTF-8 strings in certain files or command line arguments then those strings will simply be cut short. Before mkvmerge was exiting with an error ("Invalid UTF-8 sequence encountered").
* all: new feature: Added online update checks. The command line tools know a new parameter "--check-for-updates". mmg has a new menu entry ("Help" -> "Check for updates") and checks automatically when it starts, but at most once in 24 hours. Can be turned off in the preferences. This function requires libcurl and is not built if libcurl is not available.

2010-12-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Avoid a crash due to invalid memory access if a source file name contains numbers (happens only if mkvtoolnix is built with MS Visual Studio). Fix for bug 585.

2010-12-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for reading VP8 video from Ogg files. Implements bug 584.
* mkvextract: enhancement: mkvextract will exit with an error if the user specifies track IDs that do not exist in the source file. This works in the "tracks" and "timecodes_v2" extraction modes. Fix for bug 583.
* docs: mkvextract's man page has been updated to match the program's expected command line syntax for the "timecodes_v2" mode. Fix for bug 583.

2010-12-20 Moritz Bunkus <moritz@bunkus.org>
* build system: Fixed building the Qt version of mkvinfo's GUI. Fix for bug 576.
* mkvmerge, mmg: bug fix: Option files could not contain options that started with '#' as they were interpreted as comment lines.

2010-11-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: The "default duration" header field is set for DTS audio tracks.

2010-11-07 Moritz Bunkus <moritz@bunkus.org>
* all: Made the French translation selectable in all programs.

2010-11-01 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: On Mac OS X the application type is set to a foreground application preventing issues like the GUI never getting focus.

2010-10-31 Moritz Bunkus <moritz@bunkus.org>
* Released v4.4.0.
* 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.

2010-10-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed the usage of iterators with the STL "deque" template class. This caused mkvmerge to abort on systems which did not use the GNU implementation of the standard template library, e.g. OpenSolaris with the SunStudio compiler. Fix for bug 567.

2010-09-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: The warning about subtitle entries that are skipped because their start time is greater than their end time now includes the subtitle number.

2010-09-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: When appending two Matroska files which both contain chapters the chapter entries of all editions will be merged even if the edition's UIDs were different to begin with. This is done based on the order of the edition. If both files contain three editions each then the chapters from the first edition in the second file will be put into the first edition from the first file; the chapters from the second edition into the second edition and so on.
* all: Added a translation of the programs into French by Trinine (see AUTHORS).
* mkvmerge: bug fix: The MPEG ES reader was accessing uninitialized data. This could lead to crashes or source files not being read correctly.
* mkvmerge: bug fix: Using "--no-video" on AVI files caused the video track to be mistaken for an audio track and included anyway. Fix for bug 558.

2010-09-04 Moritz Bunkus <moritz@bunkus.org>
* Released v4.3.0.
* mkvmerge: bug fix: Appending tracks which would normally be compressed (e.g. with header removal compression) and turning off compression for those tracks with "--compression TID:none" (or the corresponsing option in mmg) was resulting in the second and all following appended tracks to be compressed all the same.

2010-09-01 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Errors such as 'file does not exist' did not cause mkvextract to quit. Instead it continued and exited with the result code 0.

2010-08-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Certain frames in certain h.264/AVC raw tracks were handled wrong, e.g. files created by x264 versions starting with revision 1665. The situation occured if an IDR slice comes immedtiately after a non-IDR slice and the IDR slice has its frame_num and pic_order_count_lsb fields set to 0.

2010-08-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Attachments will be rendered at the beginning of the file again. Fix for bug 516.

2010-08-24 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit, mmg's header editor: Fixed a crash corrupting files in certain situations. If the updated header fields required filling exactly one byte with an EbmlVoid element and if the next Matroska element's "size" was already written with its maximum length (8 bytes) then the crash would occur. Such files are written by e.g. lavf. Fix for bug 536.

2010-08-17 Moritz Bunkus <moritz@bunkus.org>
* All: bug fix: Fixed a couple of format strings in translations which could cause the programs to crash.

2010-08-14 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: new feature: mkvinfo will show the h.264 profile and level for AVC/h.264 tracks along with the CodecPrivate element.

2010-08-01 Moritz Bunkus <moritz@bunkus.org>
* build system: The build system has been changed from "make" to "rake", the Ruby based build tool. MKVToolNix includes its own copy of it so all you need is to have Ruby itself installed. The build proecss has been tested with Ruby 1.8.6, 1.8.7 and 1.9.1. Building is pretty much the same as before: "./configure", "./drake", "sudo ./drake install". Most of the build targets have similar if not identical names, e.g. "./drake install". You can override variables just like with make, e.g. "./drake prefix=/somewhere install".

2010-07-30 Moritz Bunkus <moritz@bunkus.org>
* mmg header editor: bug fix: If a file was loaded that did not contain 'track language' elements and those elements were unchanged then they would be set to 'und' upon saving. Now they're left as-is, and when adding them to the file the drop-down box defaults to 'eng' being selected as per Matroska default value specifications. Fix for bug 525.

2010-07-29 Moritz Bunkus <moritz@bunkus.org>
* mkvextract, mkvinfo, mkvpropedit: new feature: Added the option "-q" and its long version "--quiet". With "--quiet" active only warnings and errors are output. Fix for bug 527.
* mkvmerge: bug fix: The option "--quiet" was not working properly.
* mkgmerge: bug fix: mkvmerge was treating SSA/ASS subtitle files as audio files for the purpose of track selection (--no-subtitles / --no-audio). Fix for bug 526.

2010-07-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Splitting output files by size was basing its decision when to create a new file on an uninitialized variable. This caused effects like a lot of small files being created with sizes much smaller than the intended split size.

2010-07-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Reading Matroska files: DisplayWidth & DisplayHeight values that are obviously not meant to represent pixels but only to be used for aspect ratio calculation (e.g. 16x9) are converted into proper ranges based on the track's PixelWidth & PixelHeight values and the quotient of DisplayWidth / DisplayHeight.

2010-07-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Attachments will be rendered at the end of the file instead of at the beginning. The attachments will be placed after the cues but before the chapters. Fix for bug 516.
* mkvmerge: enhancement: Header removal compression has been enabled by default for MPEG-4 part 10 (AVC/h.264) video tracks with a NALU size field length of four bytes.
* mkvmerge: bug fix: Header removal compression has been deactivated for MPEG-4 part 2 (aka DivX/Xvid) video tracks due to incompatibility with packed bitstreams.

2010-06-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge will report if it finds data errors in a Matroska file (e.g. due to storage failure or bad downloads). The position is reported as well as a periodic update as long as mkvmerge re-syncs to the next Matroska element.
* mmg: enhancement: The "compression" drop down box is enabled for all track types. That way "no compression" can be forced for those tracks mkvmerge uses "header removal" compression for.

2010-06-23 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Matroska files read from/written to by the header and chapter editors will no longer be kept opened and locked. Fix for bug 498.
* mmg: bug fix: If mmg was called with "--edit-headers filename.mkv" then it crashed when the header editor was closed.

2010-06-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge will start a new cluster before a key frame of the first video track. Fix for bug 500.
* mkvmerge: enhancement: The default cluster length has been increased to five seconds (up from two seconds).

2010-06-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge will no longer report nonsensical progress reports (e.g. -17239182%) when reading Matroska files with all the flags "--no-audio --no-video --no-subtitles" enabled. Fix for bug 505.
* mmg: bug fix: Fixed a crash in the job runner when the total time was very big due to a division by zero.
* mkvmerge: enhancement: Implemented write caching resulting in faster muxes especially on Windows writing to network shares.

2010-06-14 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Changing mmg's interface language did not change the entries in the "command line options" dialog if that dialog had been opened prior to the language change.

2010-05-28Moritz Bunkus<moritz@bunkus.org>
* mkvextract: feature removal: Removed support for extracting FLAC tracks into Ogg FLAC files. Instead they're always written into raw FLAC files. The option "--no-ogg" has been removed as well.
* mkvmerge: feature removal: Removed support for the FLAC library older than v1.1.1.
* mkvmerge: bug fix: Fixed support for reading FLAC tracks from Ogg files following the FLAC-in-Ogg-mapping established with FLAC v1.1.1. Fix for bug 488.

2010-05-27Moritz Bunkus<moritz@bunkus.org>
* mmg: enhancement: The "mkvmerge executable" input in the preferences dialog is not read-only anymore. Final part of a fix for bug 490.
* mmg: bug fix: mmg will output a warning if it is used with a mkvmerge executable whose version differs from mmg's version. Part of a fix for bug 490.
* mmg: bug fix: If adding a file fails mkvmerge's error message will be shown in a scrollable dialog instead of a normal message box. Part of a fix for bug 490.
* mmg: Added 'IVF' files to the list of known input file types.
* mkvmerge: Added support for reading IVF files with VP8 video tracks.
* mkvextract: Added support for extracting VP8 video tracks into IVF files.

2010-05-21Moritz Bunkus<moritz@bunkus.org>
* mmg: new feature: Added a checkbox for enabling "WebM" mode. This will also enable the same limitations that mkvmerge enables: Only VP8 and Vorbis tracks, no chapters, no tags. The output file name extension will be changed to ".webm" upon enabling the mode.

2010-05-18Moritz Bunkus<moritz@bunkus.org>
* mkvmerge: new feature: Neither chapters nor tags will be written to WebM compliant files. Warnings are issued if chapters or tags are found and not disabled.
* mkvmerge: bug fix: Matroska files without clusters are accepted as valid input files again.
* mmg: enhancement: Added "WebM" with the extension "webm" to the list of known file types.
* mkvmerge: new feature: Added support for muxing VP8 video tracks.
* mkvmerge: enhancement: mkvmerge will no longer put all clusters into a meta seek element resulting in smaller file size. The parameter "--no-clusters-in-meta-seek" has been renamed to "--clusters-in-meta-seek" and its meaning reverted.
* mkvmerge: enhancement: WebM compatibility mode will be turned on automatically if the output file name's extension is '.webm', '.webma' or '.webmv'.
* mkvinfo GUI: enhancement: Added "webm" to the list of known file name extensions for WebM files both for the "Open file" dialog and the drag & drop support.

2010-05-17Moritz Bunkus<moritz@bunkus.org>
* mkvmerge: new feature: Added options "--webm"/"--web-media" that enable the WebM compatibility mode. In this mode only Vorbis audio tracks and VP8 video tracks are allowed. Neither chapters nor tracks are allowed. The DocType element is set to "webm".
* mkvinfo GUI: bug fix: Opening more than one file without restarting mkvinfo GUI could result in wrong timecodes due to variables not being reinitialized.

* mkvmerge: bug fix: mkvmerge will not output a message that it
has extracted the display dimensions from AVC/h.264 bitstream if
the source container (e.g. Matroska) overrides that setting. Fix
for bug 485.

2010-03-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Added a message in verbosity level 2 to the splitting code. It reports before which timecode and after what file size a new file is started.
* All: A lot of changes preparing mkvtoolnix for use with the upcoming libebml2/libmatroska2 versions were applied. Patches by Steve Lhomme (see AUTHORS).

2010-02-24 Moritz Bunkus <moritz@bunkus.org>
* All: bug fix: The programs will no longer abort with an error message if a selected interface translation is not available. The "C" locale is used instead. Fix for bug 472.

2010-02-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: enhancement: Improved the error resilience when dealing with damaged Matroska files. When a damaged part is encountered reading will continue at the next cluster.

2010-02-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Some Matroska files contain h.264/AVC tracks lacking their CodecPrivate element (e.g. files created by gstreamer's muxer). For such tracks the CodecPrivate element (the AVCC) is re-created from the bitstream. Fix for bug 470.
* mkvmerge: bug fix: MP4 files that do contain edit lists but whose edit lists do not span the entire file are processed properly. Such files are created by current x264 builds. Fix for bug 469.

2010-02-13 Moritz Bunkus <moritz@bunkus.org>
* Build system: Fixed configure for systems on which 'echo' does not support the '-n' parameter (e.g. Mac OS).

2010-02-03 Moritz Bunkus <moritz@bunkus.org>
* 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:UsersmbunkusAppDatamkvtoolnix'. 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.

2010-01-28 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Files are only opened for reading, not for writing, so that mkvextract will work on files the user only has read-only permissions for.
* mkvextract: bug fix: Modes 'attachments', 'chapters', 'tags' and 'cuesheet': mkvextract will output an error message if the file cannot be opened (e.g. because it does not exist or due to lack of access).

2010-02-03Moritz Bunkus<moritz@bunkus.org>
* 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:UsersmbunkusAppDatamkvtoolnix'. 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.

2010-01-28Moritz Bunkus<moritz@bunkus.org>
* mkvextract: bug fix: Files are only opened for reading, not for writing, so that mkvextract will work on files the user only has read-only permissions for.
* mkvextract: bug fix: Modes 'attachments', 'chapters', 'tags' and 'cuesheet': mkvextract will output an error message if the file cannot be opened (e.g. because it does not exist or due to lack of access).

2010-01-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If the first input file was a Quicktime/MP4 file and all tracks from that file were deselected for muxing then mkvmerge would crash. Fix for bug 458.

2010-01-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The option 'AAC is SBR/HE-AAC' was not honored for appended AAC tracks. This could lead to mkvmerge aborting with an error that the track parameters did not match if it itself could not detect HE-AAC in the second file.

2010-01-03 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The output file name is checked for invalid characters before the muxing process is started. Fix for bug 455.
* mkvpropedit, mmg: bug fix: Files with an infinite segment size are handled correctly now. Fix for bug 438.
* mkvmerge: bug fix: Matroska files which have its 'tracks' element located behind the clusters are read correctly now.
* mmg: enhancement: After muxing the "abort" button is changed to "open folder" which opens the explorer on the output file's folder. This only happens on Windows.

2010-01-02 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: When constructing the output file name mmg will only suggest names that don't exist already by appending a number to the file name (e.g. resulting in "/path/file (1).mkv").

2009-12-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for reading chapters from MP4 files that are stored in tracks with subtype 'text'. Such files are used e.g. on iPods/iPhones and can be created by HandBrake. Fix for bug 454.

2009-12-29 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The "tags" input box on the "general track options" tab was not updated when a track was selected. Fix for bug 453.

2009-12-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: new feature: If a MPEG-2 program stream file is added to mkvmerge whose base name ends in a number then mkvmerge will automatically read and process all other files in the same directory with the same base name, same extension and different numbers. Those files are treated as if they were a single big file. This applies e.g. to VOB files from DVD images that are named VTS_01_1.VOB, VTS_01_2.VOB, VTS_01_3.VOB etc. mmg will output an error message if the user tries to add or append one of the other files that mkvmerge will process automatically (e.g. if the user has added VTS_01_1.VOB already and tries to append VTS_01_2.VOB).
This also fixes bug 437.
* Build requirements changed: mkvtoolnix requires Boost v1.34.0 or later. It requires the Boost::Filesystem library (with all Boost versions) and the Boost::System libraries (starting with Boost v1.35.0).

2009-12-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: SRT files with negative timecodes will are not rejected anymore. Negative timecodes will be adjusted to start at 00:00:00.000.

2009-12-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge/mmg: enhancement: Added an option '--segment-uid' for specifying the segment UIDs to use instead of having to use a XML file and '--segmentinfo'.
* Installer: The installer will no longer offer to run mmg after it has been installed. On Windows setups where a normal user account doesn't have administrator privileges this caused mmg to be run as the user "Administrator" instead of the normal user account causing confusion and some things not to work, e.g. drag & drop.

2009-12-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Zero-length frames in Theora bitstreams as created by libtheora v1.1 and later were dropped. Fix for bug 450.

2009-12-12 Moritz Bunkus <moritz@bunkus.org>
* Released v3.0.0.
* mmg: enhancement: Added support for showing the muxing progress for both normal muxes and the job manager in Windows 7's taskbar.

2009-12-06 Moritz Bunkus <moritz@bunkus.org>
* all: bug fix: The charset for output in cmd.exe for non-English interface languages has been fixed on Windows Vista and Windows 7.
* all: enhancement for Windows platforms: If one of the mkvtoolnix components is run without having been installed before then translations will be read from the directory the .exe is run from.

2009-12-05 Moritz Bunkus <moritz@bunkus.org>
* configure: Added an option ('--without-build-timestamp') that omits the build timestamp from all version information so that two builds of mkvtoolnix can be byte-identical.

2009-11-11 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The warning that no FPS has been entered for AVC/h.264 elementary streams is not shown anymore for appended tracks (only once for the first track that they're appended to).

2009-10-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The pixel cropping parameters were not kept when muxing from Matroska files.
* mkvmerge: bug fix: The display width/height parameters were not kept when muxing from Matroska files if the bitstream of the track contained different aspect ratio information. Now the order is "command line" first, "source container" second and "bitstream" last.

2009-08-18 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: The file dialogs for 'add file'/'append file' will show files with extensions in all uppercase as well. This only applies to file systems that distinguish between case (e.g. most of the non-Windows, non-FAT world). Fix for bug 433.

2009-08-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Missing ChapterLanguage elements were assumed to be set to "und". They're now assumed to be "eng" in accordance with the Matroska specifications.
* Added a new program 'mkvpropedit' that can modify certain properties of existing Matroska files. It is mmg's header editor, just for the command line.

2009-08-13 Moritz Bunkus <moritz@bunkus.org>
* Released v2.9.8.
* mmg: bug fix: The inputs for timecode files and the language are deactivated if the user has selected a track that will be appended to another track. Fix for bug 432.

2009-08-06 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: mmg will handle multiple consecutive spaces in the options given with "add command line options" properly and not cause mkvmerge to exit with misleading error messages anymore. The "add command line options" dialog has been reordered, and the drop down box in it is now read-only. Fixes for bug 429.
* doc, mmg: bug fix: The tooltip and documentation for the 'delay' option was misleading. Fix for bug 420.

2009-07-30 Moritz Bunkus <moritz@bunkus.org>
* mmg/header editor: bug fix: The header editor copes better with files that do not contain all mandatory header fields. The missing ones are added or assumed to be default values.

2009-07-23 Moritz Bunkus <moritz@bunkus.org>
* all: bug fix: Selecting the translations with the "--ui-language" option did not work on Mac OS X.

2009-07-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed an invalid memory access in the VobSub reader module. Fix for bug 426.
* mmg: bug fix: Tracks added from Matroska files did not get their 'default track' drop down box set correctly if the flag was 'off' in the source file and no other track of its kind hat its 'default track' flag set.
* mkvmerge: bug fix: mkvmerge was wrongly turning the 'default track' flag back on for the first subtitle track muxed from a Matroska file if none of the subtitle tracks muxed had their 'default track' flag set in their source files and if the user didn't use the '--default-track' option for setting that flag explicitely.

2009-07-13 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Files for which all tracks were disabled were left out from mkvmerge's command line so that tags, chapters and attachments were not copied from such files either.
* mkvmerge: bug fix: Appending MPEG4 part 2 video tracks from Matroska files which contain aspect ratio information will not result in an error message "connected_to > 0" anymore. Fix for bug 427.

2009-07-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed the audio sync for tracks read from AVI files containing garbage at the beginning. Fix for bug 421.
* mmg: bug fix: Trying to save chapters that contain editions without a single chapter entry does no longer result in a crash but a descriptive error message instead. Saving empty chapters to a Matroska file will remove all chapters contained in the file instead of not doing anything. Fixes for bug 422.

2009-07-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed reading AVC/h.264 video tracks from OGM files. Fix for bug 418.
* mmg: bug fix: The chapter language for chapters copied from source files (e.g. Matroska, MP4 or OGM files) is only changed if the user has selected any language other than "und". Fix for bug 420.
* mmg: bug fix: mmg will no longer show an error message if the user has not selected a country in the "chapters" tab of the preferences dialog.

2009-07-01 Moritz Bunkus <moritz@bunkus.org>
* Released v2.9.7.

2009-06-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The handling of NVOPs in native MPEG4 part 2 video storage has been improved. NVOPs are dropped again both from packed and non-packed bitstreams, and timecodes are adjusted to match the number of dropped frames.

2009-06-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: The "preferences" dialog has been split up into several tabs. Some other preferences available in other dialogs have been merged into the "preferences" dialog.
* mkvmerge: bug fix: The I frame detection for AVC/h.264 video has been fixed. Sometimes a single I frame was recognized as two or more consecutive I frames resulting in garbled display and wrong timestamps. Fix for bug 415.

2009-06-23 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: The list of common languages can be configured by the user via the 'preferences' dialog.

2009-06-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Appending MP4 or OGM files with chapters will merge the chapters from all appended files and not just take the chapters from the first file and discard the chapters from the following files. Fix for bug 397.
* mkvmerge, mmg: new feature: The language for chapters read from files such as OGM and MP4 files can be chosen with the --chapter-language command line option. Fix for bug 399.
* mkvmerge, mmg: new feature: Chapter and tag information contained in source files are now shown in the "track" selection box and can be toggled individually. The user can set the charset for chapters if the source file's chapters are not encoded in UTF-8 (e.g. in some OGM/MP4 files). The old file specific checkboxes "no tags" and "no chapters" have been removed. Fix for bug 400.

2009-06-13 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The chapter editor was corrupting Matroska files if the chapters were saved to a file twice in a row without reloading them from the Matroska file.

2009-06-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: If the user selects the option "Verify" from the "Chapters" menu then a message will be shown even if the validation succeeded. Fix for bug 410.
* mmg/mkvmerge: bug fix: Adding MP4 files with chapter entries that are not encoded in UTF-8 will not result in mkvmerge aborting with a message about invalid UTF-8 sequences anymore. Fix for bug 408.

2009-06-07 Moritz Bunkus <moritz@bunkus.org>
* Released v2.9.5.

2009-06-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The handling of TrueHD/MLP audio in MPEG program streams was broken resulting in many dropped packets.
* all: bug fix: There was the possibility that invalid memory access occured and e.g. mkvmerge crashed on systems with the posix_fadvise() function (mainly Linux) if mkvmerge was opening several files from certain file systems (e.g. VFAT). Apart from obvious crashes the only other side effect was that the posix_fadvise() function would not be used resulting in slightly worse I/O performance.

2009-05-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Improved the control over which tags get copied from a source file to the output file. The old option "--no-tags" was replaced with the new options "--no-global-tags" which causes global tags not to be copied and "--no-track-tags" which causes track specific tags to not be copied. The new option "--track-tags" can be used to select tracks for which tags will be copied. The default is still to copy all existing tags.
* mkvmerge: new feature: Included chapters, global and track specific tracks in the output of mkvmerge's identification mode.
* mkvmerge: Renamed a couple of command line options to make the command line interface more consistent: "--no-audio", "--no-video", "--no-subtitles", "--no-buttons", "--audio-tracks", "--video-tracks", "--subtitle-tracks", "--button-tracks". The old versions of these options "--noaudio", "--novideo", "--nosubs", "--nobuttons", "--atracks", "--vtracks", "--stracks" and "--btracks" still work.
* mkvmerge: bug fix: The sequence header of MPEG-1/2 video tracks is put into the CodecPrivate again while still leaving sequence headers in the bitstream as well. This is more compatible with some existing parsers.

2009-05-30 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Removed the check if the user has added tracks and files before starting mkvmerge because mkvmerge itself is able to create track-less files (e.g. chapters only). Fix for bug 402.
* mkvmerge: bug fix: Improved the handling of consecutive AC3 packets with the same timecode (e.g. if AC3 is read from MP4 files). Fix for bug 403.

2009-05-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The detection of invalid padding packet lengths in the MPEG program stream reader was improved to not produce as many false positives. Patch by Todd Schmuland (see AUTHORS). Fix for bug 393.

2009-05-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for the FourCCs ".mp3" and "XVID" in QuickTime files.
* mmg: bug fix: Pressing 'return' in the job dialog will close the dialog on Windows, too. Fix for bug 392.

2009-05-22 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed the behaviour of how mmg sets the output file name automatically if the option is enabled. If the user adds more than one file then the extension of the output file name is set each time a file is added and not only when the first one is. The full file name and path will only be set when the first file is added. Fix for bug 391.
* Released v2.9.0.

2009-05-17 Moritz Bunkus <moritz@bunkus.org>
* all: Added a translation to Traditional Chinese by Dean Lee (see AUTHORS).
* mkvmerge: bug fix: mkvmerge was not handling dropped frames well when converting from VfW-mode MPEG-4 part 2 to native mode MPEG-4 part 2 (with '--engage native_mpeg4'). This resulted in timecodes being to low which in turn resulted in the loss of audio/video synchronization. Fix for bug 236.

2009-05-16 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: The modes 'chapters', 'cuesheet' and 'tags' did not honor the '--redirect-output' option and where always writing to the standard output.
* mkvmerge: new feature: Added a hack ('vobsub_subpic_stop_cmds') that causes mkvmerge to add 'stop display' commands to VobSub subtitle packets that do not have a duration field. Patch by Todd Schmuland (see AUTHORS).

2009-05-15 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: Changed how mmg sets the output file name automatically if the option is enabled. If the user adds more than one file then the output file name is set each time a file is added and not only when the first one is unless the user has changed the output file name manually. Fix for bug 229.

2009-05-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Improved support for QuickTime audio tracks with version 2 of the STSD sound descriptor.
* mmg: bug fix: The "remove all" button was sometimes disabled even though there were still files left to be removed.
* mkvmerge: enhancement: The MPEG program stream reader will now detect invalid padding packets and skip only to the next 2048 byte packet boundary instead of skipping several good packets. Patch by Todd Schmuland (see AUTHORS).
* mmg: enhancement: The "no chapters" checkbox can now be used for QuickTime/MP4 files and OGM files as well.
* mkvmerge: enhancement: The OGM reader will only print the warning that no chapter charset has been set by the user if the title or the chapter information contained in the OGM file is actually used and not overwritten with '--title ...' or '--no-chapters'.

2009-05-13 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: The VobSub extraction was made more compatible with most applications. Fix for bug 245. Patch by Todd Schmuland (see AUTHORS).
* mkvmerge: bug fix: Fixed support for Windows systems that use code pages that are not supported by the iconv library (e.g. code page 720). mkvmerge was exiting with warnings causing mmg to report that file identification had failed. Fix for bug 376.

2009-05-10 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The header and chapter editors will no longer crash the application if the user wants to open a file that's locked by another process and show an error message instead.
* mkvmerge: enhancement: Invalid VobSub packets whose internal SPU length field differs from its actual length are patched so that the SPU length field matches the actual length. This fixes playback issues with several players and filters. Fix for bug 383.
* mkvmerge: new feature: Added support for reading chapters from MP4 files. Fix for bug 385.

2009-05-09 Moritz Bunkus <moritz@bunkus.org>
* Released v2.8.0.

2009-05-07 Moritz Bunkus <moritz@bunkus.org>
* all: Added a translation to Chinese (simplified) by Dean Lee (see AUTHORS).
* mkvmerge: enhancement: Added support for handling AC3 audio in MP4 files with the FourCC "sac3" (as created by e.g. Nero Recode v3/4). Fix for bug 384.
* mkvmerge, mmg: enhancement: Made mmg's "FPS" input field available for all video tracks. mkvmerge's corresponding option "--default-duration" now not only modifies the track header field but affects the frame timecodes as well.

2009-05-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The VobSub reader was dropping the very last MPEG packet possibly resulting in the very last subtitle entry being garbled or discarded completely. Patch by Todd Schmuland.

2009-04-29 Moritz Bunkus <moritz@bunkus.org>
* mmg (header editor): bug fix: The header editor controls on the right stopped responding after the second file had been loaded or the "reload file" feature had been used. Fix for bug 372.

2009-04-27 Moritz Bunkus <moritz@bunkus.org> * mmg: new feature: Added an option for clearing all inputs after a successful muxing run.

2009-04-25 Moritz Bunkus <moritz@bunkus.org> * mkvmerge: bug fix: Made the AAC detection code stricter in what it accepts. This results in fewer mis-detections. Fix for bugs 373 and 374.

2009-04-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Splitting without the option "--engage no_simpleblocks" resulted in broken files: all frames were marked as B frames. Fix for bug 371.
* mkvinfo: bug fix: Timecodes of SimpleBlock elements that were output formatted in summary mode were too small by a factor of 1000000.

2009-04-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The duration of subtitle frames was overwritten with the difference between the next frame's timecode and the current frame's timecode if a timecode file was used for that track. Fix for bug 286.
* mmg: bug fix: Removed the option "always use simple blocks" from the preferences dialog as this option was already removed from mkvmerge. Fix for bug 370.

2009-04-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: By default mkvmerge keeps the aspect ratio information in AVC/h.264 video bitstreams now (equivalent to specifying "--engage keep_bitstream_ar_info" in earlier versions). A new option "--engage remove_bitstream_ar_info" is available that restores the previous behaviour.
* mkvmerge: bug fix: Fixed the aspect ratio extraction for AVC/h.264 video by adding three more pre-defined sample aspect ratios. Mkvmerge also only assumes "free aspect ratio" if the aspect ratio type information indicates it and not if the type information is unknown.

2009-04-05 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added drag & drop support for the header editor (files can be opened by dropping them on the header editor).
* mkvmerge: new feature: Added support for reading the track language from QuickTime/MP4 files. Thanks to Eduard Bloch for the code for unpacking the language string.
* mmg: bug fix: All arguments are shell escaped and quoted instead of only those with spaces in them. Only applies to the menu options "show command line", "save command line to file" and "copy command line to clipboard". Fix for bug 364.

2009-03-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: new feature: Added support for MLP audio.
* mmg: bug fix: When adding a file with colons in the segment title all colons were replaced with the letter 'c'.

2009-03-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The job manager's status output was garbled if mmg was run with another language as English.
* mmg: bug fix: The progress bar for each individual job in the job dialog wasn't updated if mmg was run with another language as English.
* mmg: bug fix: The timecodes in the job queue editor were off by one month. The "added job on" was additionally off by an amount depending on the user's time zone. Fix for bug 362.

2009-03-15 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: The charset for text output was not initialized correctly resulting in garbled display of non-ASCII characters in non-UTF-8 locales.
* all: bug fix: A couple of translated strings were converted from the wrong locale when they were displayed.
* mmg, mkvinfo: The GUIs now require an Unicode-enabled version of wxWidgets.

2009-03-14 Moritz Bunkus <moritz@bunkus.org>
* all: bug fix: The tools use the API call "GetOEMCP()" on Windows instead of "GetACP()". This should make messages output in cmd.exe come out correctly for Windows versions for which cmd.exe uses a different code page than the rest (e.g. on German Windows).

2009-03-08 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: enhancement: If mkvinfo is started in GUI mode on Windows then the console that was started with it will be closed.
* mkvinfo: bug fix: Chapter names and tag elements were recoded to the wrong charset resulting in garbled output. Fix for bug 353.

2009-03-07 Moritz Bunkus <moritz@bunkus.org>
* Released v2.5.3.

2009-03-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract, mmg: bug fix: If the environment variables LANG, LC_ALL, LC_MESSAGES contained a locale that was supported by the system but for which mkvtoolnix did not contain a translation (e.g. fr_FR, it_IT, en_AU) then the programs would abort with an error message. Fix for bug 338.
* mkvmerge: bug fix: Appending raw AVC/ES files resulted in segmentation faults. Fix for bug 344.

2009-02-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: When mkvmerge was run with the --attachments option to copy only some of the attachments in a Matroska file then any attachment with an ID larger than the first skipped attachment ID was not copied into the new file. Fix for bug 346.
* Released v2.5.2.
* installer: bug fix: If the installer is run in silent mode (switch "/S") then it will not ask the user whether or not to place a shortcut on the desktop, and that shortcut will not be created. Fix for bug 345.
* mmg: new feature: Added two buttons "enable all" and "disable all" to the list of attached files that enable / disable all attached files.
* mmg: bug fix: The action "File" -> "New" did not clear the internal list of attached files resulting in unexpected behaviour if files with attachments where added afterwards.
* mmg: bug fix: The button "remove all files" did not clear the list of attached files.

2009-02-26 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: new feature: Made mkvinfo's GUI translatable. Added a German translation for the GUI.

2009-02-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: On Linux wxWidgets 2.8.0 and newer uses the GTK combo boxes which suck. A lot. Therefore mmg uses wxBitmapComboBoxes for wxWidgets >= 2.8.0 on Linux and normal wxComboBoxes in all other cases. wxBitmapComboBoxes are still drawn by wxWidgets itself (just like wxComboBoxes before 2.8.0) and offer much better functionality. Fix for bug 339.
* mkvmerge, mmg: bug fix: The MIME type autodetection for attachments was broken for paths with non-ASCII characters on non-UTF-8 encoded systems (mostly on Windows). Fix for bug 340.
* source: various fixes for compilation with wxWidgets 2.9.

2009-02-24 Moritz Bunkus <moritz@bunkus.org>
* all programs: bug fix: The locale was not detected properly often resulting in the program aborting with the message that "the locale could not be set properly". Fix for bug 338.

2009-02-22 Moritz Bunkus <moritz@bunkus.org>
* Released v2.5.1.
* mmg: bug fix: Fixed the selection of the translation to use if the LC_MESSAGES environment variable has been set on Windows.

2009-02-21 Moritz Bunkus <moritz@bunkus.org>
* Released v2.5.0.
* mmg: bug fix: Fixed a crash during the check if files could be overwritten by the next mux. Possible fix for bugs 335 and 336.

2009-02-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvinfo, mkvextract, mmg: Made all those programs nearly completly translatable. Added a German translation for all four programs (only for the programs, not for the static documentation: man pages, the guide to mmg etc).
* mkvmerge, mmg: new feature: Added options ('-m' / '--attachments' and its counterparts '-M' / '--no-attachments') to mkvmerge for selecting which attachments to copy and which to skip and the corresponding controls to mmg.

2009-02-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed the detection of AAC files whose first AAC header does not start on the first byte of the file.

2009-01-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If subtitle files are appended to separate video files (e.g. two AVI and two SRT files) then the subtitle timecodes of the second and all following subtitle files were based on the last timecode in the first subtitle file instead of the last timecode in the first video file. Fix for bug 325.
* mkvmerge: bug fix: Due to uninitialized variables mkvmerge would report OGM files as having arbitrary display dimensions. Fix for bug 326.

2009-01-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If a Matroska file containing attachments was used as an input file and splitting was enabled then the attachments were only written to the first output file. Now they're written to each output file. Partial fix for bug 324.

2008-12-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The parser for the simple chapter format (CHAPTERxx=...) can now handle more than 100 chapters. Fix for bug 320.
* mmg: bug fix: The commands "Save command line" and "Create option file" did not save mmg's current state but the state it was in when the command "Show command line" was last used or when mmg was started.

2008-12-08 Moritz Bunkus <moritz@bunkus.org>
* Windows installer: The installer cleans up leftovers from old installations during an upgrade. It doesn't write registry entries for an exe called "AppMainExe.exe" anymore. It asks whether or not the user wants a shortcut on the desktop. It does not install the document for base64tool anymore because base64tool itself isn't installed anymore either. Fixes for bugs 314, 315, 316 and 317.
* mmg: bug fix: Fixed a compilation problem with non-Unicode enabled wxWidgets. Fix for bug 313.

2008-12-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge recognizes SRT subtitle files with timecodes that contain spaces between the colons and the digits and timecodes whose numbers are not exactly two or three digits long.

2008-11-04 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Split timecodes with more than three decimals were not allowed even though the docs say that they are. They are now, as mkvmerge supports such timecodes.

2008-11-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Changed the way mkvmerge calculates the timecodes when appending files. Should result in better audio/video synchronization.
* mkvmerge: new feature: Added support for reading SRT and SSA/ASS subtitles from AVI files (fix for bug 64).

2008-11-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge's LZO compressor would segfault if mkvmerge was compiled against v2 of the LZO library and the v1 LZO headers were not present.

2008-10-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: SRT subtitle files are also handled correctly if the timecode lines do not have spaces around the arrow between the start and end timecodes.

2008-10-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Incorrect usage of the iconv library caused some conversions to omit the last character of each converted entry (e.g. for the conversion from Hebrew to UTF-8). Fix for bug 302.

2008-09-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Revision 3831 (the change to the "--delay" and "--sync" options) caused mkvmerge to no longer respect the delay caused by garbage at the beginning of MP3 and AC3 audio tracks in AVI files. The timecodes of such tracks are now delayed appropriately again. Fix for bug 300.

2008-08-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The fix to the timecode handling for AVC tracks in MP4 files from 2008-04-16 caused certain other MP4 files to not be read correctly. The video tracks were found, but no frames were read. Fix for bug 294.
* mkvmerge: new feature: Added support for Ogg Kate subtitles. Patch by ogg.k.ogg.k@googlemail.com.

2008-08-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: The option "--delay" was removed. The option "--sync" now only modifies the timecodes of a given track. mkvmerge does not pad audio tracks with silence. "--sync" works with all track types now, but using a stretch factor other than 1 with audio tracks might not work too well during playback. mmg's inputs for "Delay" and "Stretch by" can be used with all track types. Fix for bug 287.

2008-05-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Improved support for WAV files bigger than 4 GB which only contain a single DATA chunk and a wrong length field for this DATA chunk (e.g. eac3to creates such files).

2007-12-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Rewrote the timecode application code. Additionally force the "previous cluster timecodes" that libmatroska uses to the current timecode. This seems to get rid of libmatroska's assertions about the local timecode being to small/big to fit into an int16. It also seems to get rid of some of mkvmerge's errors about the packet queue not being empty, and it fixes a couple of crashes with file splitting.

2007-08-30 Moritz Bunkus <moritz@bunkus.org>
* avilib: bug fix: Fixed a segmentation fault if reading the first part of an index failed but a second/other index part is present. Fix for bug 256.

2007-08-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: SRT files that contain coordinates in the timecode line are supported. The coordinates are discarded automatically (as S_TEXT/SRT doesn't support them), and a warning is shown.
* Released v2.1.0.

2007-07-05 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: Moved the complete 'settings' tab to its own dialog accessible via the 'Settings' option in the 'File' menu.

2007-06-30 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added a buton 'remove all' which removes all input files and tracks leaving all other options as they are. Fix for bug 248.
* mmg: new feature: Added an option for setting the default output directory if the automatic setting of the output file name is turned on. Fix for bug 248.
* mkvmerge: enhancement: DTS code: Some tools (e.g. Surcode) can create DTS files which are padded with zero bytes after each DTS frame. These zero bytes are now skipped without printing a warning.
* mmg: enhancement: mmg can now be called with any file name as an argument. If it ends with 'mmg' then the file will be loaded as a 'mmg settings file'. Otherwise mmg will 'add' it. Fix for bug 243.

2007-06-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The OGM reader uses the OGM's timestamps for video tracks. Before it would just use the current frame number multiplied by the FPS.
* mkvmerge: enhancement: The OGM reader now uses the AVC/h.264 video packetizer for AVC/h.264 tracks so that the aspect ratio can be extracted from it.

2007-06-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added better checks if two tracks can be appended to the passthrough packetizer so that tracks that are otherwise not known to mkvmerge can still be appended (e.g. V_VC1). Fix for bug 244.

2007-06-23 Moritz Bunkus <moritz@bunkus.org>
* mmg: The NALU size length can now be chosen for all AVC tracks, not only for those that are handled by the 'AVC ES packetizer'.
* mkvmerge: bug fix: The 'default track' flag was set to 'yes' for tracks read from Matroska files even if 'no' was specified on the command line.
* mkvextract: new feature: Added support for the 'header removal' encoding scheme.

2007-06-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: The NALU size length of an AVC/h.264 track can now be changed even if the source is not an elementary stream (e.g. for MP4 and Matroska files).

2007-04-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Added support for handling SEI NALUs in AVC/h.264 elementary streams so that "key frames" can be detected even if no IDR slices are present.

2007-03-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: The MPEG program stream reader will now sort the tracks it finds first by their type (video > audio > subs) and then by their stream ID.
* mkvmerge: Disabled the support for DTS tracks in MPEG program streams because DTS HD is not supported yet.
* mkvmerge: enhancement: Implemented a major speed-up for reading MPEG-1/2 and AVC/h.264 tracks from MPEG program streams.

2007-03-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Fixed the MPEG PS reader so that it will just skip blocks whose headers it cannot parse instead of aborting.
* mkvmerge: new feature: Added support for handling AVC/h.264 tracks in MPEG program streams.

2007-02-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Added support for DTS files which use only 14 out of every 16 bits and which are not stored inside a WAV file.

2007-01-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: Changed the default for the "NALU size length" to "4" and added a warning if "3" is used.
* mkvmerge: bug fix: File type detection for Qt/MP4 files which start with a "wide" atom has been fixed.
* mmg: bug fix: The "NALU size length" drop down box is now also enabled for h.264 tracks read from AVIs and for h.264 tracks stored in "VfW compatibility mode" in Matroska files.

2007-01-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: new feature: Extended the option "--default-track" so that it can be forced to "off" allowing the user to create a file for which no track has its "default" flag set. Fix for bug #224.

2007-01-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract, mkvinfo: new feature: Added support for using CodecState for signaling changes to CodecPrivate. It is used for MPEG-1/-2 video if it is turned on with "--engage use_codec_state".

2007-01-13 Moritz Bunkus <moritz@bunkus.org>
* Released v2.0.0.

2007-01-12 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added another tab for each track in which the user can add arbitrary track options.
* mkvextract: enhancement: mkvextract will now also print which container format it uses for each track.
* mkvextract: new feature: Added support for extracting MPEG-1/2 video to MPEG-1/2 program streams.
* mkvmerge: bug fix: Fixed the file type detection for MPEG-1/2 ES files with a single frame inside.

2007-01-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: MPEG-1/2 video: The sequence and GOP headers are not removed from the bitstream anymore. This should fix the blockiness if the sequence headers change mid-stream. Fix for Bugzilla bug #167.

2007-01-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: mkvmerge now handles the first frames in AVC/h.264 ES streams properly, especially for files for which it did not find a key frame at the beginning in earlier versions.

2007-01-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Improved the detection of AVC/h.264 ES streams with garbage at the beginning.
* mmg: enhancements to the job management dialog: There's a minimum width for the columns. The "up" and "down" buttons are disabled if all entries are selected. Pressing "Ctrl-A" selects all entries.
* mmg: enhancements: "File -> New" will also focus the "input" tab.

2007-01-07 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancements: The job manager can be opened with "Ctrl-J". The last directory from which a file is added is saved even if the file identification failed. The automatically generated output file name uses the extension ".mka" if no video track is found and ".mks" if neither a video nor an audio track is found in the first file.
* mkvmerge: bug fix: Fixed the aspect ratio extraction for raw AVC/h.264 ES tracks.
* mkvmerge: bug fix: If a raw AVC/h.264 ES file does not start with a key frame then all the frames before the first key frame are skipped, and mkvmerge does not abort anymore.

2006-12-30 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: All inputs and controls are cleared and deactivated if the user select "File -> New".
* mmg: enhancement: The user can switch between the "generic" and "format specific options" pages even if no track is selected.

2006-12-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Added a workaround for RealAudio tracks for which the key frame flag is never set.

2006-12-27 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed a segfault that occured if the user had a track selected and its the file the track was read from is removed.
* mmg: bug fix: Fixed the behaviour of a couple of ComboBoxes on Windows after selecting "File -> New". E.g. if the user selected "700M" in the "split after this size" ComboBox, selected "File -> New" and selected "700M" again, then it would not show up in the command line window until he selected another option and returned to the "700M" afterwards.

2006-11-25 Moritz Bunkus <moritz@bunkus.org>
* Released v1.8.1.

2006-11-24 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Some input controls (like "subtitle charset") where disabled for appended tracks even though the user can and sometimes has to change those settings. Fixes Anthill bug 216.

2006-11-19 Moritz Bunkus <moritz@bunkus.org>
* configure: new feature: Allow the user to tell configure which "wx-config" executable to use ("--with-wx-config=...").

2006-11-14 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The "aspect ratio" box was losing its input when the user switched tracks.
* mkvmerge/mmg: new feature: If ATDS AAC tracks are added to mmg and the AAC track's sample rate is <= 24000 Hz then mkvmerge and mmg assume that the AAC is a SBR track and mmg will check the "AAC is SBR" checkbox automatically.

2006-11-11 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Made the "set the delay input field from the file name" feature disengageable.

2006-11-10 Moritz Bunkus <moritz@bunkus.org>
* Released v1.8.0.
* mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by default. The CodecPrivate contains the same initialization data that are stored in the ESDS in MP4 files for AAC tracks. The old CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with "--engage old_aac_codecid".

2006-11-08 Moritz Bunkus <moritz@bunkus.org>
* mmg: Reworked the "input tab" and split track options into two sub-pages. Also added an input for the "stereo mode" parameter for video tracks.

2006-11-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: For MP4 files with certain CTTS contents mkvmerge would use negative timecodes for a couple of frames. Those frames were dropped and mkvmerge often ended up eating huge amounts of memory and crashing afterwards.
* mkvmerge: bug fix: AAC-in-MP4 with the LC profile was sometimes misdetected as having a SBR extension and an output sampling frequency of 96000 Hz. Fixes Anthill bug 210.

2006-09-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: SSA/ASS subtitles with comments before the "[script info]" line were not identified.

2006-09-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Made the checks for SRT timecodes a bit less strict (e.g. allow fewer than three digits after the comma).

2006-07-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Comments in OGM files were not handled if mkvmerge was called in identification mode. One obvious result was that neither the track language nor the file title was imported into mmg.

2006-06-01 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added an option for always using simple blocks.
* mmg: new feature: Pre-set the "delay" input field for audio tracks if the file name contains something like "DELAY XX" where XX is a number.

2006-05-24 Moritz Bunkus <moritz@bunkus.org>
* mmg: enchancement: After adding files with drag&drop the next "open file" dialog will start in the directory the last file came from.

2006-02-27 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: The 'adjust timecodes' function accepts timecodes like 'XXXXXunit' with 'unit' being 'ms', 'us', 'ns' or 's'.
* mkvmerge: enhancement: mkvmerge will no longer refuse to concatenate files with differing Codec Private contents and only issue a warning in such cases.
* mkvmerge: bug fix: Quicktime/MP4 reader: Added support for version 1 media headers ('mdhd' atom) with 64bit fields. Fixed the duration of the last packet passed downstream. Fixed overflow issues during re-scaling from the Quicktime/MP4's time scale to nano seconds used by mkvmerge.

2006-01-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for the "Delay:" feature and for negative timecodes in VobSub IDX files.

2005-12-14 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: If mmg is set to automatically fill in the output file name then it will clear the output file name once all input files have been removed.

2005-12-12 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed a crash that occured if the user removed an attachment and clicked somewhere in the empty space in the attachment list. Occured only on Windows.

2005-12-10 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Re-added Chinese to the list of popular languages (those are listed first in the language drop down boxes).

2005-12-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The last change to the ISO 639 language handling broke the VobSub reader so that it reported the wrong language codes. This also caused mmg to not display the correct language after adding a VobSub file.

2005-12-07 Moritz Bunkus <moritz@bunkus.org>
* Released v1.6.5.

2005-12-06 Moritz Bunkus <moritz@bunkus.org>
* source: bug fix: Changed the list of ISO 639 languages so that the terminology versions are converted into the bibliography versions of the 639-2 codes (e.g. use "ger" instead of "deu" for the German language). Converted almost all pieces of mkvmerge and mmg to accept ISO 639-1, 639-2 codes (both bibliography and terminology versions) and the languages' English names. Those will always be converted to the 639-2 code. Fixes Anthill bug #171.

2005-12-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The country code used in XML chapter files was checked against the list of ISO 639-1 codes and not against the list of ccTLDs. Partial bugfix for Anthill bug #171.
* mkvmerge: bug fix: When appending tracks and using timecodes the timecodes were only used for the first track in a chain of tracks. This has been changed so that you must specify only one timecode file in such cases (e.g. "mkvmerge ... --timecodes 0:my_timecodes.txt part1.avi +part2.avi"). mmg has already been working like this. Fixes Anthill bug #162.

2005-12-02 Moritz Bunkus <moritz@bunkus.org>
* source: new feature: Added support for linking against liblzo2 (same compression algorithm, just a new library version). Patch by Diego PettenĂ˛ (see AUTHORS).
* mkvmerge: new feature: Added a workaround for files created by Gabest's DirectShow Matroska muxer with slightly broken frame references. Fixes Anthill bug #172.
* mkvextract: new feature: attachment extraction mode: Made the output file name optional. If it is missing (e.g. "mkvextract attachments source.mkv 92385: 124981:") then the name of the attachment inside the Matroska file is chosen instead. Patch by Sergey Hakobyan (see AUTHORS).
* mkvmerge: new feature: If an output file name contains directories that don't exist then they're created. Patch by Sergey Hakobyan (see AUTHORS) with modifications by myself.

2005-11-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Don't abort reading a Matroska if the next element is not a cluster. This is the case for e.g. files produced by Haali's muxer which writes the segment tracks element in intervals. Fixes Anthill bug #169.

2005-11-19 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed a problem with the selection of language codes for chapters in the chapter editor.

2005-11-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If at least or more attachments were present and the user used --attachment-name for each of them (as mmg does) then mkvmerge was wrongly outputting a warning about multiple uses of --attachment-name for a single attachment.
* mkvmerge: new feature: Added limited support for edit lists in MP4/QuickTime files. Fixes Anthill bug #151.
* mkvmerge: bug fix: MP4/QuickTime files which contain another atom before the 'avcC' atom in the video track headers weren't correctly remuxed.

2005-10-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Changed the CodecID for AAC audio tracks to "A_AAC" by default The CodecPrivate contains the same initialization data that are stored in the ESDS in MP4 files for AAC tracks. The old CodecIDs (e.g. "A_AAC/MPEG4/SBR") can be turned on again with "--engage old_aac_codecid".

2005-10-21 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: new feature: The sub elements of the EBML head are now shown.
* mkvinfo: new feature: Added support for the new SimpleBlock.
* mkvextract: new feature: Added support for the new SimpleBlock.
* mkvmerge, mmg: new feature: Added support for the new SimpleBlock instead of BlockGroups (only available via "--engage use_simpleblock" for now). Patch by Steve Lhomme (see AUTHORS) with fixes by myself.

2005-10-14 Moritz Bunkus <moritz@bunkus.org>
* Released v1.6.0.

2005-10-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented the new header removal compression: compression for native MPEG-4 part 2, decompression for all types (don't use it yet, folks!).

2005-09-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Appending AVC video tracks was broken if they contained aspect ratio information that the user overwrote on the command line.
* mmg: bug fix: If a video track was selected that was appended to another track then the aspect ratio drop down box was still active.
* mkvmerge: new feature: MPEG-4 part 2 streams are searched for the pixel width/height values. Those are taken if they differ from those values in the source container. This is a work-around for buggy muxers, e.g. broken video camera firmwares writing bad MP4 files. Fixes bug 149.

2005-09-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: bug fix: ASS files sometimes use a column called 'Actor' instead of 'Name', but both should be mapped to the 'name' column in a Matroska file.

2005-09-07 Moritz Bunkus <moritz@bunkus.org>
* Released v1.5.6.

2005-09-06 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: If the user selected an aspect ratio for a video track, then chose "File -> new", added a file, selected another video track and chose the same aspect ratio as before then it wasn't added to the command line. Fixes Anthill bugs 132 and 146.
* mkvmerge: bug fix: Support Qt/MP4 files with 64bit offset tables ('co64' atom instead of 'stco' atom).

2005-09-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: mkvmerge will remove the aspect ratio information from a AVC/h.264 video track bitstream and put it into the display dimensions (until now the AR information was kept on the bitstream level). The reason is that in Matroska the container AR is supposed to take precedence over bitstream AR, but some decoder programmers ignore the container AR in favour of bitstream AR.

2005-08-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Display dimensions were reported for all tracks, even if they weren't present. In that case they allegedly were "0x0" which caused mmg to add "--display-dimensions ...:0x0" for each track read from a Matroska file, even if the tracks were not video tracks.

2005-08-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If a Matroska file with a MPEG-4 part 2 video track was muxed into a Matroska file and the source file did not contain the display width/height elements for that track then the aspect ratio was extracted from the video data itself which clashes with the Matroska specs which say that display width/height default to the pixel width/height if they're not present.

2005-08-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Native MPEG-4 ASP storage was still bugged: timecodes were assigned twice, frames referenced themselves.
* mkvmerge: bug fix: Embedded fonts and pictures in a SSA/ASS file are not discarded any longer. They are converted to Matroska attachments instead. Other sections that were discarded are added to the CodecPrivate data as are "Comment:" lines in the "[Events]" section. Those comment lines still lose their association for which "Dialogue:" line they were meant, but that cannot be changed.

2005-08-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: --delay was not working at all.
* mkvmerge: bug fix: Single digit numbers followed by 's' were not recognized as valid numbers with a unit (e.g. in '--delay 0:9s').
* Released v1.5.5.
* mkvtoolnix: Disabled storing AVC/h.264 video tracks in VfW mode.

2005-08-03 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Added a new extraction mode for outputting timecodes in a timecode v2 format file. It is called "timecode_v2" and takes the same arguments as the "tracks" extraction mode.
* mkvinfo: new feature: Added a command line switch "--output-charset" which sets the charset that strings read from Matroska files are output in (e.g. if you want the output in UTF-8 and not your system's local charset).
* mkvinfo: new feature: Added a command line switch "-o" for redirecting the output to a file (for systems which re-interpret stdout).
* mkvmerge: bug fix: The combination of using external timecode files and video tracks with B frames was not working as intended. The user had to order the timecodes in the timecode file just like the frames were ordered (meaning the timecodes for a IPBBP sequence with 25 FPS had to be "0", "120", "40, "80"...). This has been fixed. They have to be ascending again and mkvmerge will assign them properly.

2005-07-25 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: bug fix: Files with non-ASCII chars weren't opened because conversion to UTF-8 was done before the charset routines were initialized.

2005-07-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed a crash if a track in a MP4/QuickTime file did not contain a STCO atom (chunk table) but a STSC atom (chunk map table).

2005-07-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Very large values were not kept correctly for a lot of elements (meaning they were truncated to 16 or 32 bits).
* mkvinfo: bug fix: Very large values were not displayed correctly for a lot of elements (meaning they were truncated to 16 or 32 bits prior to displaying).
* mkvmerge: bug fix: AVC/H.264 references were wrong, and muxing of AVC from Matroska files with proper references resulted in unplayable files.

2005-07-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed support for USF subtitles stored in UTF-16 and UTF-32. Added support for USF subtitles stored in UTF-8 without a BOM.

2005-07-01 Moritz Bunkus <moritz@bunkus.org>
* Released v1.5.0.

2005-06-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The track language read from old Matroska files was wrongfully set to "und" if it was not written although the specs say that "eng" is the default value.
* mkvmerge: bug fix: USF subtitles: If identical tags were nested (e.g. "font") and both were closed right after each other then the result looked like "</font/>".
* mkvmerge: bug fix: Native MPEG-4 was not working if read from OGM files.

2005-06-24 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added an input box for mkvmerge's new "split after these timecodes" feature.

2005-06-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fixes: Improved the native MPEG-4 generation a lot (thanks to Haali for testing and pushing me). The codec version string inside the MPEG-4 initialization data is now checked if it indicates "DivX packed bitstream" and changed to not indicate it anymore.

2005-06-07 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: If mmg was minimized when it was closed (e.g. with Windows' "Show desktop" function) then it didn't show up after a restart and could only be shown by maximizing it.
* mkvmerge: bug fix: If a OGM style chapter file contains empty chapter names ('CHAPTER01NAME=' without something after the '=') then this chapter's timecode is used as the name instead of aborting.

2005-05-07 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: bug fix: Removed the restriction of max. ten levels of nested elements.
* mmg: bug fix: If splitting was enabled and "splitting by time" selected and the user chose "new" from the "File" menu then "splitting by time" was not selectable anymore. This happened only on Windows. Fixes Anthill bug 131.

2005-05-05 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Use the native newline style when extracting text subtitles (rn on Windows and n on all other systems).
* mkvextract: bug fix: SSA/ASS text was missing in the output if the "Format=" line contained newlines at the end of the CodecPrivate data (e.g. our old Mew Mew sample file).

2005-04-16 Moritz Bunkus <moritz@bunkus.org>
* Released v1.4.2.
* mkvmerge: bug fix: In rare occasions involving B frames mkvmerge freed data too early. In such a case it was eating more and more memory finally exiting with a message about not finding a packet for a "bref".

2005-04-07 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Added the extraction of the raw data with the "--raw" and "--fullraw" flags. Patch by Steve Lhomme (see AUTHORS).
* mkvextract: bug fix: WAVPACK extraction did not update the "number of samples" header field. Patch by Steve Lhomme (see AUTHORS).
* mkvmerge: bug fix: RealMedia files contain a "FPS" field in their track headers. Unfortunately this field does not always contain the actual FPS of a video track but the maximum number of FPS that the encoder has output or should output. Therefore mkvmerge does not use a "default duration" element for RealVideo tracks anymore. Fixes Anthill bug 113.
* mkvmerge: bug fix: Failing calls to posix_fadvise upon adding a file to mmg caused mmg to think that the file identification failed. Now warnings for posix_fadvise are not output anymore, and posix_fadvise is silently switched off for that file. Fixes Anthill bug 123.
* mkvmerge: bug fix: Appending files that were created with mkvmerge's "--link" option was broken. The timecodes for both the chapters and the actual media data blocks were not adjusted correctly. Fixes Anthill bugs 115 and 116.
* mkvmerge: bug fix: If chapters are present in several appended files and there were atoms who shared the same UID then those entries were present multiple times in the output files. Now such entries are merged into one chapter entry. Fixes the second part of Anthill bug 122.

2005-04-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If chapters were present and splitting was enabled then mkvmerge would not treat chapters correctly that spanned across several files. Now the spanning chapters are kept in all files, and their start timecodes are adjusted accordingly. Fixes the first part of Anthill bug 122.

2005-03-28 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: bug fix: On Windows mkvinfo was linked without the console subsystem resulting in no output at all if run without the GUI (-g). Fixes Anthill Bug 118.

2005-03-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Due to the compiler doing some strange number conversion mkvextract seemed to hang on Windows with certain files.

2005-03-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Appending VobSubs with more than one track in a .idx file and video files at the same time was broken resulting in parts of some of the VobSub tracks not ending up in the resulting Matroska file. Fixes Anthill bug 114.

2005-03-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Extracting the FPS from some AVC MP4 files did not work.
* mkvmerge: bug fix: Appending + splitting was segfaulting if used together and at least one split occured after a track has been appended.

2005-03-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Added more descriptive error messages if two tracks cannot be concatenated because "their parameters do not match".

2005-02-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: A failing call to posix_fadvise will only turn its usage off for that one file and not abort mkvmerge completely.
* mmg: bug fix: When "appending" a file all tracks where added to the end of the track list making it unnecessarily difficult to concatenate similar structured files. Now the tracks from the "appended" files are inserted into the track list after their counterparts from the file this new one is appended to.

2005-02-27 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: An "appended" file could not be removed if there were two tracks that we not separated by a track from another file in the track list box.
* mmg: bug fix: The check whether or not a file might be overwritten while splitting is active has been fixed.
* mmg: bug fix: Improved the word wrapping of the tooltips on Windows.
* mmg: bug fix: It was possible to select a file for appending even though no file was added first.
* mkvmerge: bug fix: mkvmerge was wrongly outputting large numbers of warnings when Remuxing AVC/h.264 video from a Matroska file.
* mmg: bug fix: The job queue was not loaded on startup on Windows Unicode builds (another wxWidgets 2.5.3 problem).

2005-02-26 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The job status in the job runner dialog was broken on Unicode builds on all systems.
* mmg: bug fix: "Splitting by time" was not selectable on Windows Unicode builds (problem with wxWidgets 2.5.3).
* mmg: bug fix: mkvmerge's output during muxing was not converted from UTF-8.
* mmg: bug fix: The default extension added when the user doesn't give one is different in wxWidgets 2.4.x and 2.5.x. It should always be .mkv and not .mka.
* Released v1.4.0.

2005-02-19 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: The "default track" checkboxes are set properly when a Matroska file is added.
* mmg: new feature: Added a warning right before the muxing starts if the chapter editor contains entries but no chapter file has been selected (can be turned off).

2005-02-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Track names could not be set to be empty.

2005-02-06 Moritz Bunkus <moritz@bunkus.org>
* Released v1.0.2.

2005-02-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Use the posix_fadvise function on *nix systems. This results in a considerable speed up for the whole muxing process. As the function call seems to be buggy on at least Linux kernels 2.4.x it can be disabled completely during configure. It will only be used on Linux with a kernel from the 2.6.x series or newer.

2005-01-30 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: It was possible to create chapter entries with invalid or even empty language entries. Not only are those invalid, such XML files can also not be loaded by mmg.
* mmg: bug fix: Overwriting a chapter file did not erase the previous file. So if the previous file was bigger than the current chapters then garbage remained at the end of the file.

2004-12-15 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: One was able to crash mmg by pressing 'ok' in the muxing dialog right after muxing finished, especially if the 'abort' button was hit before. This mostly happened on Linux.
* mkvmerge: bug fix: Fixed negative audio displacement for a couple of formats.

2004-12-10 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: The window position is saved and restored when mmg is started the next time.

2004-12-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Fixed a crash/memory corruption showing weird characters in the input boxes. This happened when the user removed a file from mmg while mmg was updating the command line.
* mmg: bug fix: mmg now has an icon associated with it while it is running instead of the generic Windows application icon (Windows only).
* mmg: bug fix: The main window is now minimized during muxing. This allows to hide both of the windows while muxing is running and restoring them later, even if they were iconized when muxing finished (Windows only).

2004-11-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The first packet of an AAC track read from Real containers might not start at the timecode 0. This offset was ignored by mkvmerge.

2004-11-22 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Made the muxing dialog ("mkvmerge is running") modal all the time. This prevents the user from hitting the main window's minimize button. On Windows this makes mmg stuck in iconized mode if it was iconized when muxing finished.

2004-11-17 Moritz Bunkus <moritz@bunkus.org>
* Released v1.0.
* mkvmerge: new feature: Concatenating/appending files is now possible. A lot of things aren't tested, and others simply don't work yet (chapter merging, duplicate tag elimination, proper progress report, support in mmg just to name a few), but the basic functionality seems to work.
* mkvmerge: bug fix: The Matroska reader doesn't insist on having a default duration ( = FPS) for video tracks in the "AVI compatibility mode" ( = with the CodecID "V_MS/VFW/FOURCC"). This enables re-muxing of Matroska files created from MP4 files.

2004-11-05 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: File names with non-ASCII characters were not working if mmg was compiled against a Unicode enabled wxWidgets.

2004-11-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added reading DTS from AVIs and from Matroska files.
* mkvmerge: bug fix: A variable initialization was missing which very recent gcc versions (3.4.2) did not like very much. Also fixed a small compilation bug.

2004-10-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The handling of external timecode files was still not correct but should be OK now.

2004-10-17 Moritz Bunkus <moritz@bunkus.org>
* mmg: Added an error message if the user selects 'mmg' as the 'mkvmerge executable' because that would lead to an infinite number of 'mmg's being spawned.

2004-10-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If LFE is on for DTS then the number of channels is one more than what the DTS frame header says.
* mkvmerge: bug fix: Timecodes for Vorbis were wrong on rare occasions (when reading laced Vorbis from a Matroska file and changing the lacing, e.g. when splitting for the second and all following files).

2004-10-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge/mkvinfo/mkvextract: bug fix: The chapter and tag element tables were not always intialized correctly depending on the compiler and the optimization flags used.
* mkvmerge: bug fix: The OGM reader was broken if at least one track was not to be copied from the file (happened between 0.9.5 and 0.9.6).
* mmg: bug fix: After loading saved mmg settings the track input box listed the tracks always coming from the last input file and not from the one they really came from.

2004-10-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: enhancement: Made mmg's main window properly resizable.
* mkvmerge: Rewrote the code for the external timecode files. This also fixes bug 99: The durations for the individual tracks were not correct for those tracks for which --timecodes was used.

2004-10-08 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: Crash when saving chapters from the chapter editor. Same as the mkvinfo issue below but on all OS.
* mkvinfo: bug fix: The chapter and tag element tables were not initialized on Windows resulting in a crash when one of those elements was encountered.

2004-10-07 Moritz Bunkus <moritz@bunkus.org>
* Released v0.9.6.
* mkvextract: bug fix: The track extraction was creating the output file twice if the Matroska file contained a copy of the track headers. This resulted in the first extracted file being overwritten at the end of extraction.
* mmg: bug fix: If the file title is read from an input file, not modified by the user and that input file is removed again then the file title will be unset.

2004-10-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: enhancement: Converted the raw FLAC reader to use another interface to the FLAC libraries. This results in a speedup of up to 50%. Thanks to Josh Coalson for telling me about its existence.

2004-10-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added two warnings. One about invalid track IDs that were used on the command line but that don't correspond to an available track in a file and one if no track will be copied from a source file. Both warnings hint at bad command line arguments.

2004-10-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Only write the segment duration as a 64bit float if there is no video track present. This way users won't have to update their DirectShow filter/apps for most files. Only audio-only files need this precision anyway.
* mkvmerge: Changed the Ogg/OGM reader to use the stream number and not its serial number as the track ID (meaning the track IDs will be 0, 1, 2... etc. instead of the random numbers oggenc uses as the serial numbers).

2004-09-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: The CUE sheet parser now accepts INDEX lines with indices from 00 up to 99 and implements the Red Book specification for audio CDs that way. Patch by Vegard Pettersen <vegard_p at broadpark adot no>.

2004-09-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: bug fix: ASS was handled like SSA which is not correct in each case, especially when extracting it.
* mkvextract: bug fix: The WAV writer was not endian safe.

2004-09-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Some Matroska files that e.g. have had their timecodes offset with the Matroska Stream Editor or other means may contain timecodes that caused mkvmerge to print a warning about "timecode < last_timecode". A new fix implements a workaround and a warning message with a proper explanation for this case.

2004-09-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge was only copying the last tag of a list of tags applying to a track from a Matroska file.

2004-09-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: mkvmerge will show a nice warning if the entries in a SRT have non-continuous timestamps. It'll also sort the entries by their start timestamp instead of throwing the generic "timecode < previous timecode" warning.
* mmg: bug fix: The 'Matroska file analysis' window that occurs when reading chapters from a Matroska file did not disappear if it was minimized when the process finished.

2004-09-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added a new parameter --aspect-ratio-factor.
* mkvinfo: bug fix: Strings from chapters and tags were shown in UTF-8 instead of the local charset. This bug was introduced around 2004-08-28.
* mkvmerge: bug fix: Not all chapter elements were copied correctly from a source Matroska file.

2004-09-07 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: Sped up the extraction of attachments, chapters, cuesheets and tags by using the seek head information and not parsing the full file each time.

2004-09-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The Matroska reader was not handling very big cluster timecodes correctly. Those can occur when the timecode scale factor is very small.
* mkvmerge: bug fix: Empty clusters in Matroska files no longer make mkvmerge think that file has been read completely.

2004-08-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: The chapter and tag parsers accept XML element attributes instead of sub-elements for those sub-elements that only contain data. Example for a "simple tag": <Simple Name="ARTIST" String="Tori Amos"/>
* mkvmerge: bug fix: The automatic MIME type detection based on the file name extension was using the file name extension as the MIME type.

2004-08-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvinfo: new feature: Added the four new PixelCrop elements.
* mkvmerge, mkvextract, mkvinfo: new feature: Added 'TargetTypeValue' as a supported tagging element.
* mkvmerge, mkvextract, mkvinfo: Complete rewrite of the chapter and tag parsing and output functions. Additions will be much easier now.
* mkvmerge, mkvextract, mkvinfo: feature removed: Dropped support for the very old and deprecated tagging system. No one used it anyway.

2004-08-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Allow the use of two-letter ISO639-1 country codes in for the '--language' parameter. Those will be converted to the corresponding ISO639-2 language code automatically.

2004-08-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvinfo, mkvextract: new feature: Added support for the 'TargetType' tag element (which I meant to add before the 0.9.5 release...).
* mkvmerge: bug fix: The MP3 handling was broken on weird and rare occasions when reading MP3 from a Matroska file.
* mkvmerge: bug fix: Removed a bogus warning about an attachment's MIME type having been given more than once.

2004-08-21 Moritz Bunkus <moritz@bunkus.org>
* Released v0.9.5.
* mkvmerge: bug fix: WAV files which contained a 'PAD ' chunk before the 'data' chunk were not processed at all.
* mkvmerge: bug fix: Use 'setjmp' and 'longjmp' Instead of throwing a C++ exception during the chapter parsing stage. Otherwise libexpat will abort with a non-descriptive error message on Windows.

2004-08-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: SSA/ASS subs with the old codec ID 'S_SSA' and 'S_ASS' were accepted, but their codec ID was kept. It is now correctly changed to 'S_TEXT/SSA' and 'S_TEXT/ASS'.

2004-08-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvinfo, mkvextract: new feature: Added support for the new 'EditionFlagHidden', 'EditionFlagDefault' and 'EditionManaged' elements.
* mkvmerge: Added 'EditionUID' to valid elements below '<Targets>' in XML tags. Fixed the creation of the 'Targets' with --global-tags and --tags.

2004-08-16 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvinfo, mkvextract: Added support for the new tag elements ('tag language' and 'default/original language').
* mkvmerge: new feature: If there was no MIME type given for an attachment then mkvmerge will try to guess it based on the file's extension just like mmg.

2004-08-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Try to guess whether tags read from OGM files (for automatic language tag setting and for copying chapter information) are already in UTF-8 or not. If not try to convert them from the current system's charset.

2004-08-04 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: use the same UID for the EditionUID in the chapters and in the tag targets when parsing a CUE sheet.

2004-08-02 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge/mkvextract: new feature: Use the new EditionUID entries when convert CUE sheets to chapters and tracks. This is in preparation for 'multiple CDs to single Matroska file' conversions.
* mkvmerge: new feature: Abort muxing if the output file name is the same as the name of one of the input files.

2004-07-26 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Limited support for extracting chapters as CUE sheets that haven't been created by using a CUE sheet with mkvmerge's "--chapters" option.
* mkvmerge: bug fix: Block durations with 0s length (e.g. entries in a SSA file) were not written.
* mkvmerge: bug fix: The FLAC packetizer gets the duration from the FLAC packet itself.
* mkvmerge: bug fix: The word 'TAG' occuring in e.g. SRT subs caused the ID3/MP3 frame detection to be stuck n an endless loop.

2004-07-25 Moritz Bunkus <moritz@bunkus.org>
* Released v0.9.4.

2004-07-24 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Added support for extracting TTA tracks to TTA files.
* mkvmerge: bug fix: SRT file recognition failed if the file contained spaces at the end of the first line.

2004-07-21 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Implemented the extraction of chapter information and tags as a CUE sheet which is the reverse operation to using a CUE sheet with mkvmerge's '--chapters' parameter.

2004-07-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The Matroska reader contained a nice little illegal memory access (introduced in 0.9.3 with the fixes to the 'default track' handling).
* mkvmerge: bug fix: The SSA reader was segfaulting if a line contained an empty text field.
* mmg: new feature: Added support for the two flags 'hidden' and 'enabled' in the chapter editor.
* mkvmerge: new feature: The pregap from a CUE sheet is converted into two sub-chapters (one for "INDEX 00", one for "INDEX 01"). These sub-chapters have their 'hidden' flag set.
* mkvinfo: bug fix: Fixed compilation for MATROSKA_VERSION = 2.
* mkvinfo: bug fix: Fixed compilation with gcc 3.2.

2004-07-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: If the user does not specify a --language for a track 'und' ('undefined') will now be used instead of 'eng'. The user can use the new option '--default-language' to change that.

2004-07-07 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: When using a CUE sheet as a chapter file mkvmerge will automatically convert some of the entries to tags.

2004-07-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The default track feature did not work correctly with the new --track-order.
* mkvmerge: new feature: Added support for TTA lossless audio files.

2004-06-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added 'minimize' buttons to the two 'mkvmerge is running' dialogs.
* mmg: new feature: Added an option for automatically calling 'File -> new' after a job has been added to the job queue.

2004-06-20 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mmg: new feature: --track-order now controls the track creation order globally, meaning that it isn't used for each file but only once. This allows the tracks to be created in ANY order (before it was first ordered by file, then by track). For mmg this means that the track list contains all available tracks and that there are no 'up' and 'down' buttons in the file list anymore.
* mmg: new feature: Line wrap the tooltips on Windows.
* mmg: new feature: Suggest a name for a new job based on the output file name.
* mmg: new feature: Temporarily disaable 'always on top' if the muxing or the job dialog are visible.
* mmg: new feature: Ask for confirmation before adding a job if there's already an old job with the same description.
* mkvmerge: new feature: You can specifiy the time after which to split with ms precision.

2004-06-19 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The functions 'move up', 'move down' and 'delete' in the 'job' dialog were not working correctly on Windows.

2004-06-15 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed more of that 'garbage at the beginning of MP3 streams' issue.

2004-06-13 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The 'always on top' option was ignored when starting mmg.
* mkvmerge: bug fix: Reading of broken / unfinished AVI files was broken on Windows.
* Released v0.9.1.
* mkvmerge: Dropped supoprt for 'aviclasses' (one of the two libraries for accessing AVI files). This mostly affects the Windows users as I've used aviclasses and not avilib on Windows so far. The 0.9.0-pre-builds so far haven't shown any problems, though, so I hope this doesn't break anything.
* mmg: bug fix: The job manager did not handle the conversion of non-ASCII characters correctly.
* mmg: new feature: The action 'delete job' in the job manager will also delete the file in the 'jobs' subdirectory.

2004-06-12 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added an option to make mmg stay always on top (only on Windows).
* mkvmerge: new feature: mmg will set the 'display dimensions' automatically for AVI files whose video track is MPEG4 and has the pixel aspect ratio stored in the bitstream.
* mkvmerge: bug fix: The improved MP3 garbage detection was broken resulting in an error message from mkvmerge in some weird situations.

2004-06-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Matroska tracks can use lacing (several frames inside one Matroska block with only one timecode for the whole block). mkvmerge did not recreate the timecodes for the frames 1..n in the lacing correctly.

2004-06-06 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: feature removed: Dropped support for 'time slices'. They were not used, didn't offer the player any additional value and caused massive increase in overhead.
* mmg: new feature: Added a dialog for adding arbitrary command line options which includes a list of advanced options to chose from.

2004-06-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added support for the audio/video synchronization method used by NanDub (garbage at the beginning of audio tracks inside an AVI) for AC3 and MPEG audio tracks. In other words: If an AVI is read and an audio track contains garbage right at the beginning then the corresponding audio delay is calculated and used instead of simply discarding the garbage.

2004-05-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Some MP3 streams are padded in the front with trash (mostly those in AVI files). This trash might contain valid MP3 headers which do not match the remaining headers for the actual track. Both the MP3 reader and the MP3 packetizer can now skip up to one of those bogus headers in the trash.

2004-05-25 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: On some occasions the chapter editor thought there was no language associated with a chapter name and complained about that.
* mmg: Removed the 'advanced' tab. Those options shouldn't be used anyway.
* mkvmerge: bug fix: The OGM reader was not endian safe.

2004-05-06 Moritz Bunkus <moritz@bunkus.org>
* mmg: Fix for compilation with wxWindows < 2.4.2.
* Released v0.8.9.
* mmg: new feature: mmg will ask for confirmation before overwriting a file. This can be turned off on the settings tab.

2004-05-04 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Implement drag'n'drop of files onto the input, attachment and chapter tabs. For the input and attachment tabs it works like pressing the 'add' button. On the chapters tab it works like calling 'Chapter Editor -> Open'.

2004-03-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: If using MPEG4 video and no aspect ratio or display dimensions are given mkvmerge will extract the aspect ratio information from the stream and automatically set the display dimensions accordingly.

2004-03-16 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added a 'job queue'. The current settings can be added as a new job, and all pending jobs can be started for batch processing without user interaction.

2004-03-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge/mmg: bug fix: The LANGUAGE and TITLE comments from OGM files were not set in the GUI when adding such files.

2004-03-09 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: If the FourCC was set for one track it had been used for each track you selected as well.
* mkvmerge: new feature: Tags are being kept when reading Matroska files.
* mkvmerge: bug fix: Large values for --sync (over 2100) would cause an integer overflow resulting in no sync being done at all.
* mkvmerge: bug fix: The VobSub handling was broken if the .idx file contains an entry for a track ("id: en") but no "timestamp:" entries for such a track.
* mkvmerge: bug fix: The segment UID was not generated if splitting was off.
* mmg: new feature: Automatically set the output file name when the first file is added to the same name but with a '.mkv' extension if it hasn't been set yet. Can be disabled on the 'settings' page.
* mkvmerge: bug fix: More of the non-ASCII character fixes (in --tags and --chapters this time).
* mkvmerge/mmg: new feature: Made the process priority selectable on the 'settings' page and default to 'normal' again (was 'lower' before).

2004-02-27 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Some RealMedia files contain several tracks for multirate stuff which are now ignored. Only tracks with known MIME types (audio/x-pn-realaudio and video/x-pn-realvideo) are used.

2004-02-23 Moritz Bunkus <moritz@bunkus.org>
* mmg: Added a list of 'popular' languages on top of all language drop down boxes.

2004-02-22 Moritz Bunkus <moritz@bunkus.org>
* Released v0.8.5.

2004-02-21 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: segfault in the RealMedia reader.
* mmg: bug fix: When adding a Matroska file that contains a track name or a title with non-ASCII characters those would be displayed as UTF-8 in the appropriate input boxes. This has been changed, but obviously it won't work if you add files with Japanese characters on a system with a different locale. For full Unicode support you'll have to wait quite a bit longer.
* mmg: bug fix: For some 'browse file' buttons the default directory was not set to the last directory a file was selected from.

2004-02-16 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added a function for adjusting the chapter timecodes by a fixed amount.

2004-02-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: The LANGUAGE, TITLE tags and chapters are being kept when reading OGM files.
* mkvmerge: Changed the meaning of '--global-tags'. They now apply to the complete file.

2004-01-31 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Made "do not link files when splitting" the default, just like in mmg.
* mkvmerge: new feature: Enabled reading of AAC from OGMs.
* mkvmerge: The VobSub reader will not discard packets that exceed a certain size (64KB) anymore.
* mkvmerge: Improved some internal memory freeing decisions. This should help with files/sections in which are only few keyframes.

2004-01-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Changed the two-pass splitting into a one-pass splitting. The resulting files will always be a little bit larger than the desired size/length, but this shouldn't matter.

2004-01-24 Moritz Bunkus <moritz@bunkus.org>
* mmg: Rewrote the chapter editor. It now makes a lot more sense: You can have multiple names for one chapter entry, and for each name there's only one language/country association.

2004-01-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The PCM handling was broken resulting in packets that did not end on sample boundaries.

2004-01-17 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: AVIs with uncompressed sound were leading to buffer overflows.
* mkvmerge/mmg: allow the track names to be empty so that you can remove them when muxing Matroska files. Same for the file title.
* mkvmerge: new feature: The track headers will be rendered completely including the elements that are set to their default values. Causes less confusion and allows the setting of e.g. the track language without having to remux the file completely.
* mkvmerge: bug fix: If remuxing a file that contains frames with a reference to the same timecode those references were lost turning such P frames into I frames. This was the case for some RealAudio stuff.

2004-01-15 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Automatically pre-set the attachment's MIME type if the file has a known extension (e.g. 'text/plain' for '.txt').
* mkvmerge: new feature: Unknown/unsupported track types can be copied 1:1 from Matroska input files.
* mkvmerge: new feature: Added proper support for AAC-inside-RealMedia files.

2004-01-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Write cues for audio-only files as well (not more than one cue entry during a two seconds period).

2004-01-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The default track flags could not be overriden on the command line when reading Matroska files.
* Windows binaries after v0.8.1 require a new runtime DLL archive. Please download it from http://www.bunkus.org/videotools/mkvtoolnix/ Thanks.

2004-01-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Added the two new chapter flags 'hidden' and 'enabled'.
* mkvmerge: new feature: Added a new format for the external timecode files.

2004-01-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The VobSub handling was on occasion putting SPU packets for the wrong MPEG stream into the current stream resulting in that particular entity not being displayed.

2004-01-03 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: For some special atom sizes in Quicktime and MP4 files the size was not read correctly. This affected e.g. files created by Nero Digital.

2003-12-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The timescodes for Vorbis were calculated one packet too early (meaning that the first packet did not start at 0).
* mmg: Made "don't link" ON by default because some players might have problems with the second and all following files if they don't expect them not to start at 0.
* mkvmerge, mkvextract, mkvinfo: Added support for the new tagging system.
* mmg: bug fix: The default values for the chapter language and chapter country are now applied when loading simple (OGM) style chapter files as well.
* mkvmerge: bug fix: The VobSub packetizer will assume MPEG2 if no MPEG version identifier was found ("Unsupported MPEG version: 0x00...").

2003-12-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: There are MP4 files that actually contain HE-AAC but don't have the 5 byte identifier. mkvmerge will also assume SBR if there's only the 2 byte identifier with a sampling frequency < 44100Hz.

2003-12-17 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: If one added a Matroska file and the track name or language of a track consisted of only blanks then mmg would segfault.

2003-12-15 Moritz Bunkus <moritz@bunkus.org>
* mmg: The input box will automatically select the first track when a file is selected. Upon track selection the input focus is set to the track name input box.
* mmg: The chapter editor automatically focuses the chapter name input box whenever a chapter entry is selected.
* mmg: bug fix: The chapter editor did not properly escape the chapter names resulting in invalid XML files if the special characters &, < or > were used.

2003-12-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: If splitting was active then a wrong CodecID was written to the second and all following files for MP2 tracks.

2003-12-11 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.9.

2003-12-05 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Set the thread priority to BELOW_NORMAL on Windows (mkvmerge was already nice(2)'d on Unix systems).
* mmg: bug fix: Removed the Ctrl-v and Ctrl-c accelerators that I used for mmg functions which overrode the usual 'paste' and 'copy' functionality.
* mmg: Command line arguments are put into an option file which is then handed over to mkvmerge. This allows really long command lines, even on Windows.
* mkvmerge: bug fix: Negative track IDs in Ogg files were reported incorrectly for mkvmerge -i (which affected the GUI).
* mkvmerge: bug fix: Internal changes had messed up the --language and --track-name functionality.

2003-12-04 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added "up" and "down" buttons for the tracks, too.
* mmg: new feature: Added a menu option, 'set output file', that can be used as an alternative to the "browse" button at the bottom (for those poor users with nothing more than 800x600 ;)).
* mkvmerge: new feature: The user can alter the order in which the tracks for an input file are put into the output file with the new "--track-order" option.
* mmg: bug fix: The "AAC is SBR" check box was grayed out for AAC inside MP4 files.

2003-12-03 Moritz Bunkus <moritz@bunkus.org>
* mmg: bug fix: The "load settings" function did not load all settings, and some strings were not allocated at all resulting in a crash when a track was removed after loading these settings.
* mkvmerge: bug fix: The AAC packetizer was not working if packets were being read from a raw AAC file (it worked fine from MP4 and Matroska files).
* mkvmerge: bug fix: Avoid deadlocks when parsing broken SPU packets from VobSubs.
* mmg: new feature: Added buttons for moving input files up and down in the input file box.

2003-12-02 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.8.
* mmg: new feature: You can set the values for the language and/or country codes for a chapter and all its children with the push of one button (the new "Set values" button).
* mmg: new feature: You can set default values for the language and the country codes in the chapter editor (Chapter menu -> Set default values).

2003-12-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Display dimensions were sometimes off by one, e.g. 640x479 instead of 640x480. This should not happen anymore for sane pixel dimensions.
* mkvmerge: Changed the options '--fourcc' and '--aspect-ratio'. They now take a track ID just like all the other track specific options.
* mkvmerge: new feature: Added an option '--display-dimensions' which allows the direct setting of the display dimensions. It is mutually exclusive with '--aspect-ratio', of course.

2003-11-16 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.7.
* mkvextract: Added extraction of FLAC to raw FLAC or OggFLAC files.
* mkvmerge: Added full support for FLAC (both raw FLAC and OggFLAC are supported, even though raw FLAC is very slow).

2003-11-15 Moritz Bunkus <moritz@bunkus.org>
* mmg: Added an input field for the 'CUE sheet to chapter name' conversion format.
* mkvmerge: bug fix: Reworked the audio sychronization which did not work correctly for Matroska source files.

2003-11-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Increased the size of the space reserved for the first meta seek element (see mkvmerge.1 for an explanation). In some situations (with tags, chapters, attachements and very big file) it might not have been enough in order to contain all elements.

2003-11-12 Moritz Bunkus <moritz@bunkus.org>
* mmg: Added an input field for the 'timecodes' file to the track options.
* mkvmerge: bug fix: When reading MP3 audio tracks from a Matroska file with the A_MS/ACM CodecID (MS compatibility mode) the layer was not identified correctly.
* mkvmerge: Improved the file type detection for AC3 and AAC files a bit.
* mkvmerge: Implemented a lot of fixes for big endian systems and processors that don't allow non-aligned memory access for word or bigger sized objects.
* mmg: Made mmg accept return codes of 1 when 'mkvmerge -i' is run when an input file is added. This way mmg won't reject mkvmerge's output if mkvmerge only printed some warnings which will result in a return code of 1 instead of 0.
* mkvmerge: bug fix: If running in identification mode (-i, used by mmg a lot) then don't output any warnings or mmg will not accept this file.

2003-11-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: CUE sheets can be used for chapters.

2003-11-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Added support for --sync for VobSub tracks.
* mkvtoolnix: Re-worked the configure script. Removed all the lib specific --with-...-include and --with-...-lib options. The --with-extra-includes and --with-extra-libs options can be used instead.

2003-11-08 Moritz Bunkus <moritz@bunkus.org>
* mmg: When a file is being added then some information from it (languages, track names, file title) are kept, and the appropriate input boxes are pre-set with these values. Works only for formats that support such information (Matroska, VobSub).
* mkvmerge: Sped up the reading of VobSub .idx files.

2003-11-05 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.5.
* mkvmerge: bug fix: The VobSub .idx parser was dividing by 0 if a track only contained one entry.
* mkvmerge: Fixed the timecode reader code and made it a bit more flexible. Added more documentation for this feature along with an example file (examples/example-timecodes.txt).
* mmg: bug fix: When 'default track' is selected then all other tracks of the same type will have their 'default track' flag cleared.
* mkvmerge: SPU packets belonging to the same timecode are grouped together, and the duration is extracted directly from the SPU stream.

2003-10-29 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: The VobSubs are now stripped of the MPEG program stream, and only the SPU packets are kept.

2003-10-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge, mkvextract: The Matroska reader and the OGM reader (mkvmerge) as well as mkvextract will discard empty or 'cleaning only' subtitle packets as they are appear in OGMs in order to mark the end of an entry.

2003-10-26 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Add all the mandatory elements when extracting chapters so that the resulting XML can always be used directly with mkvmerge again without having to manually add e.g. ChapterLanguage.
* mkvmerge: bug fix; Handle audio tracks from Matroska files with the CodecID A_MS/ACM correctly.

2003-10-22 Moritz Bunkus <moritz@bunkus.org>
* mmg: new feature: Added a new menu entry "File -> new" which will clear all the current muxing settings.
* mmg: Added support for VobSub subtitles including their compression options. Added the .m4a extension to the 'add file' dialog.
* mmg: bug fix: Made the input boxes for file names (tags and chapters) editable so that their contents can be deleted.
* mkvmerge: Adjusted the compression handling to the final content encoding specs.

2003-10-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: new feature: Implemented generic support for frame compression (mostly useful for VobSub subtitles but could also be used for others) and the complete framework for handling content encodings in the Matroska reader.

2003-10-14 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.2.
* mkvmerge: bug fix: If 'no linking' and splitting was active mkvmerge would abort on the start of the second output file due to timecodes that were calculated incorrectly.
* mkvmerge: Implemented some speedups for a couple of container formats and track types (mainly AVI reader, MP3/AC3/AAC packetizers). Especially noticeable when splitting is active as well.

2003-10-12 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: bug fix: Support for extracting SBR AAC (previous 'fix' did not actually fix this).
* mkvextract: bug fix: All extracted subtitles where written to the first output file given, not to the one they were supposed to be written to.

2003-10-03 Moritz Bunkus <moritz@bunkus.org>
* Released v0.7.1.
* Added a guide for mmg including some pictures.

2003-10-01 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Changed the lacing strategy again. New defaults are NOT to write duration elements for all blocks, NOT to use time slices and to USE lacing for most audio tracks. This will save some space. The downside is that the laced frames 'lose' their precise timecode information. Current demuxers don't care and will work nevertheless. More sophisticated applications that make use of these advanced information (duration elements, time slices) are not available at the moment. All these options can be toggled by the user with the new/modified options --disable-lacing, --enable-durations and --enable-timeslices.

2003-09-19 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bugfix: If attachments were given with path components then the path component wasn't discarded for the attachment's description on Windows (normally only the file name should be used as the attachment's name).
* mmg: Fixed wrong order of the options --chapters, --chapter-language and --chapter-charset.

2003-09-17 Moritz Bunkus <moritz@bunkus.org>
* mmg: Added a lot of checks on the data given by the user so that invalid data is reported by mmg and not by mkvmerge.
* mmg: Made the app a GUI app which gets rid of the "DOS box" on Windows.

2003-09-16 Moritz Bunkus <moritz@bunkus.org>
* mmg: bugfix: Moved the aspect ratio and FourCC input fields from the global tab to the input tab where they belong to.
* mkvmerge: new feature: RealAudio can be read from Matroska files.
* mkvmerge: bugfix: RealVideo was not read correctly from Matroska files.
* mkvmerge: bugfix: The SRT reader would abort if there was more than one empty line between subtitle entries line.
* mkvextract: bugfix: Proper BOMs are written according to the desired charset when extracting text subtitles.
* Released v0.7.0.
* mkvextract: Add an UTF-8 BOM to extracted SSA/ASS and SRT subtitle files. Print warnings for missing durations for text subtitle tracks.

2003-09-14 Moritz Bunkus <moritz@bunkus.org>
* Added a complete GUI for mkvmerge, mkvmergeGUI (mmg) based on the work of Florian Wagner.

2003-09-12 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Support for setting the track names.
* mkvmerge: For Matroska source files: If the source contains chapters then these are kept unless the user specified chapters with --chapters.

2003-09-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Implemented an experimental VobSub reader and packetizer. No specs exist for these yet, though.
* mkvmerge: Improved the support for Matroska files with tracks with big gaps between entries, e.g. subtitle tracks whose entries are a minute or more apart.
* mkvmerge: When splitting is active and the source is a Matroska file then splitpoints were borked, and the first pass was slow as your average mole.
* mkvmerge: The track UIDs are kept when reading Matroska files even when splitting is active.

2003-09-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: DisplayWidth and DisplayHeight are kept intact when reading from a Matroska file but can be overridden with --aspect-ratio.

2003-08-30 Moritz Bunkus <moritz@bunkus.org>
* Wrote documentation, XML examples and the DTD for the XML chapter files.
* mkvinfo: Rewrote mkvinfo to use libebml's Read() function instead of manually reading each and every element.
* mkvmerge: Added support for XML based chapter files.

2003-08-29 Moritz Bunkus <moritz@bunkus.org>
* Released v0.6.5.

2003-08-28 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: On Windows the 'isspace()' function used to trim leading and trailing white spaces from tags considered some parts of valid UTF-8 character sequences to be white spaces as well. Fixed by replacing 'isspace()' with 'isblank()'. Reported by Liisachan.
* mkvmerge: Support for chosing the charset and language used in simple chapter files. Suggestion by Liisachan.
* Rewrote the UTF-8 conversion routines. They should now handle U+8000 characters correctly. Reported by Liisachan.
* mkvmerge: Real reader: For RV40 the actual dimensions were also used for the aspect ratio/display dimensions. This has been fixed: the actual dimensions are used for PixelWidth/PixelHeight, the dimensions stored in the RM container are used for the aspect ratio/DisplayWidth & DisplayHeight. Reported by Karl Lillevold.

2003-08-27 Moritz Bunkus <moritz@bunkus.org>
* Released v0.6.4.
* mkvextract: Support for re-creating dropped frames when extracting video to an AVI. Works only well if the frame durations in the source file are multiples of the frame rate, of course.
* mkvmerge: The MP3 packetizer did not start at 0 with its timecodes. It does now. Reported by alexnoe.
* mkvmerge: Proper support for dropped frames when reading AVI files. Reported by alley_cat, HorvĂˇth IstvĂˇn.
* mkvmerge: Fixed some missing default values in the Matroska reader (e.g. mono audio files). Reported by Liisachan.

2003-08-25 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Improved all command line parsing error messages.
* mkvmerge: Improved the error message for the XML tag file parser if an invalid &-sequence is found.
* mkvextract: Strings are postprocessed so that the special characters &, <, >, " are replaced by their HTML equivalents &, <, > and ".

2003-08-24 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Disabled lacing by default and renamed --no-lacing to --enable-lacing. With all the proper info about the laced frames lacing is actually producing larger files than without lacing.
* mkvmerge: Meta seek element is split into two elements. The first's located at the start of the file containing only a small number of level 1 elements. The clusters are referenced in a second meta seek element located at the end of the file. Removed the options "--meta-seek-size" and "--no-meta-seek". Added the option to disable that second meta seek entry, "--no-clusters-in-meta-seek".

2003-08-22 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: Backwards compatibility: Accepts S_SSA and S_ASS as valid CodecIDs (new CodecIDs are S_TEXT/SSA and S_TEXT/ASS).
* mkvmerge: Bugfix: If a subtitle packet was the last packet in a cluster then its duration was not written resulting in a broken file.

2003-08-18 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Implemented a switch that has to be used for SBR AAC / AAC+ / HE-AAC if the source file is an AAC file and the AAC file contains SBR AAC data (no automatic detection possible in this case!).

2003-08-14 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Low bitrate AC3 tracks from Real's DNET are identified as A_AC3/BSID9 or A_AC3/BSID10.
* mkvmerge: The RealMedia reader takes the number of packets into account when reading which results in better end-of-file detection.

2003-08-12 Moritz Bunkus <moritz@bunkus.org>
* Windows versions: Fixed a bug with files bigger than 2GB not being recognized. The accompanying error message was "File NAME has unknown type. Please have a look at the supported file types..."
* all tools: Fixed a bug which would only allow Matroska files up to 4GB to be read. The accompanying error message was "No segment found" or something similar.
* mkvinfo: Unknown elements are properly skipped now.

2003-08-11 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: For RV40 (RealVideo 9) the actual video dimensions are decoded from the first video frame.
* Released v0.6.2.
* mkvmerge: Video aspect ratio was set wrong if the user did not specify any.
* Released v0.6.1.
* mkvmerge: RealVideo: Support for all kinds of frames including "short" and "merged" frames (results are identical to Gabest's output).

2003-08-10 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: The aspect ratio setting will only cause upscaling of the current video dimensions which are then put into KaxVideoDisplayWidth and KaxVideoDisplayHeight.
* mkvextract: Changed how the global elements are handled by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod.
* mkvmerge: Changed how the Matroska reader handles global elements by taking the parent's size into account. This re-enables processing of files produced with the latest VirtualDubMod.
* mkvinfo: Changed how mkvinfo handles global elements by taking the parent's size into account. Hopefully this is now correct.
* mkvextract: Support for MultiComment tags.
* mkvmerge: Fixed support for reading MultiComment tags from XML tag files.
* mkvmerge: Allow some slightly broken Matroska files to be processed correctly if the reference blocks are off by at most 1ms.

2003-08-09 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: MP3: Better support for other MPEG versions and layers (number of samples per packet).
* mkvinfo: Added Adler32 calculation and display for frame contents with the -c option.
* mkvmerge: RealAudio: "dnet" is actually byte-swapped AC3 and is being treated as such (re-swapped and output as AC3).
* mkvmerge: Fixed a bug with chapters and splitting which would crash mkvmerge if no chapter belonged into the output file.

2003-07-26 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Added support tags based on XML files.
* mkvextract: Rewrote the command line syntax. Added extracting attachments and tags as new options.
* mkvmerge: Fixed a bug in the SRT reader which would not always handle Unix/DOS style new line cases correctly.

2003-07-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Added support for the "SegmentTitle" (general title of the file written).

2003-07-13 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Changed the RealVideo packaging method: Subpackets are assembled into complete packets so the demuxer does not have to do that anymore.
* mkvmerge: DisplayWidth and DisplayHeight, which form the display aspect ratio, are now always written to ease changing them later without having to completely remux the file.

2003-07-08 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: Fixed some infinite-reading-from-a-file bug that occured on Windows when reading SSA/ASS files.
* mkvmerge: Fixed a bug which would mostly appear with subtitles that have very long ( > 60s) gaps between entries. Here the cluster would not been rendered properly leaving mkvmerge either comatose ( = endless loop) or just plain dead ( = crashing).

2003-07-07 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo: Added support for the rest of the tags: KaxTagMultiComment, KaxTagMultiCommentName, KaxTagMultiCommentComments and KaxTagMultiCommentLanguage. Almost all tags have been successfully tested.

2003-06-22 Moritz Bunkus <moritz@bunkus.org>
* Released v0.5.0.
* Added 'ReferencePriority' element to the known elements for mkvinfo.
* Removed "(mkvinfo) " from mkvinfo's output in order to improve readability and save space.
* --sub-charset now also needs a track ID.
* Modified the verbosity levels for mkvinfo: The seek head subentries and cue subentries will only be shown at level 2 to make the output easier to read.
* The language and default track settings are now kept again if not overridden when reading from Matroska files.

2003-06-21 Moritz Bunkus <moritz@bunkus.org>
* Added mkvextract which can extract tracks from a Matroska file into other files.

2003-06-20 Moritz Bunkus <moritz@bunkus.org>
* Switched from cygwin to MinGW32 for the Windows binaries.
* Fixed a double free() on cleanup (after writing the cues) which resulted in a segfault sometimes.
* Added a SSA/ASS reader.

2003-06-15 Moritz Bunkus <moritz@bunkus.org>
* Released v0.4.4.
* Several options now need an explicity track ID to specify which tracks of an input file the option should be applied to. These options include --atracks, --vtracks, --stracks, --sync, --default-track, --cues and --language.
* The Matroska reader now handles track selection correctly.

2003-06-11 Moritz Bunkus <moritz@bunkus.org>
* Support for proper linking of segments via the segment UIDs. The first and last files created can be manually linked to given UIDs.

2003-06-08 Moritz Bunkus <moritz@bunkus.org>
* Added support for splitting output files by size or by time and limiting the number of output files.
* Added support for the segment UID/next segment UID/previous segment UID.

2003-06-03 Moritz Bunkus <moritz@bunkus.org>
* Implemented stricter content based file type identification for MP3 and AC3 files so that those won't be mis-identified.

2003-05-31 Moritz Bunkus <moritz@bunkus.org>
* Some improvements to the mkvinfo GUI (thanks to jcsston for the patch/the ideas).

2003-05-29 Moritz Bunkus <moritz@bunkus.org>
* Released v0.4.2.
* Support for some more tags in both mkvmerge and mkvinfo.
* Fixed a segfault in the Matroska reader.
* Removed the '--sub-type' switch as all text subtitles will be stored in UTF-8 format. Made iconv mandatory in the configure checks for this very reason.
* Added a GUI to mkvinfo.

2003-05-23 Moritz Bunkus <moritz@bunkus.org>
* Released v0.4.1.
* A lot of changes regarding file I/O. Files bigger than 2GB should now be handled correctly on both Linux and Windows.

2003-05-15 Moritz Bunkus <moritz@bunkus.org>
* Released v0.3.3.
* If an error occurs while writing to the destination file the error is reported and mkvmerge aborts with a non-zero exit code.
* The OGM reader reported I frames as P frames and vice versa round making seeking not really nice ;)

2003-05-11 Moritz Bunkus <moritz@bunkus.org>
* Fixed a bug with the AC3 timecode calculation (patch by Peter Niemayer <niemayer AT isg.de>).
* Support for reading DTS files & putting them into Matroska (main patch by Peter Niemayer <niemayer AT isg.de>, a few things by me).
* Released v0.3.2.
* Fixed the huge memory need if reading from AVI files (introduced on 2003-05-06 with the internal changes).
* Proper handling of the 'default track' flag and the language for the Matroska reader.
* Proper handling of the 'default track' flag for all the packetizers.

2003-05-06 Moritz Bunkus <moritz@bunkus.org>
* Added support for aspect ratio.
* Subtitle charsets can be specified with --sub-charset and do not rely on the current locale anymore.
* For the last packet of each track its duration is now stored.
* A lot of internal changes - I hope nothing has broken... (See ChangeLog.cvs for details.)
* The matroska reader calculated wrong header lengths for Vorbis tracks.

2003-05-04 Moritz Bunkus <moritz@bunkus.org>
* mkvinfo reports the FourCC for video tracks with a CodecID of V_MS/VFW/FOURCC and the format tag for audio tracks with a CodecID of A_MS/ACM.

2003-05-03 Moritz Bunkus <moritz@bunkus.org>
* Released v0.3.1.
* Tracks read from a Matroska file will keep their UID if it hasn't been used yet.
* Support for reading text subtitle streams from OGM files.
* Added support for EbmlVoid everywhere to mkvinfo.

I have enjoyed using this for years. Until i recently downloaded the more recent versions and found the tool i used the most, mmg.exe is no longer included! The developer seems to have dropped the most used tool from this package, with, i suppose, a view to forcing us onto the less intuitive gui .
No thanks. I decided to uninstall and go back to version 8.20 which works very well and had the old, intuitive and great interface and features.
Shame.

@Ally68
Mediainfo supports since v0.7.80 the statistic tags of Mkvmerge, it uses them for more precise bitrate calculation per track and now the tags aren't showed in the general section anymore (I didn't like those capital letter tags too). So you don't need to add a commandline option to remove them. The statistic tags are important for Mediainfo to calculate the bitrate of each track, if all tracks in the file have variable bitrate. Without the statistic tags Mediainfo doesn't show the bitrate per track, it shows just the overall bitrate. Also Mediainfo didn't show bitrate per track in a MKV file with combination of AVC and AAC at cbr, but now due to statistic tags it does.

@ndjamena
And in this 'permanent comment section' I wrote all my votes about this software... 10-10-10-10
Then, I'm not interested between the new or the old GUI; thanks to the developer for any improvements and if he wants change GUI I'll simply get use to it.
Only asked about a setting that maybe I didn't find. However, I referred to these little windows that appear when mouse passes over an item: http://postimg.org/image/han6cu55d/

You can disable the generation by passing mkvmerge the option --disable-track-statistics-tags. In mmg you can add that option via the Muxing &#8594; Add command line options dialog.

Note that if you re-mux a file containing these tags then you have to disable reading tags fromt the source file in addition to disabling the generation of new statistics tags with --disable-track-statistics-tags

Sorry to disagree ndjamena, but when "something that's new and not even remotely finished yet"
shouldn't be forcefully implemented. I'm still using 7.90, because my muxing needs are very simple
and the new Gui design, at least for me, extremely complicated.

Explanation:NEW SOFTWARE= New tool since your last visitNEW VERSION= New version since your last visitNEW COMMENT= New comment since your last visitNEW VERSION= New version

Type and downloadNO MORE UPDATES? = The software hasn't been updated in over 2 years.NO LONGER DEVELOPED = The software hasn't been updated in over 3 years.RECENTLY UPDATED = The software has been updated the last 31 days.Freeware = Free software.Free software = Free software and also open source code.Freeware/Ads = Free software but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.Free software/Ads = Free software and open source code but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.Trialware = Also called shareware or demo. Trial version available for download and testing with usually a time limit or limited functions.Payware = No demo or trial available.Portable version = A portable/standalone version is available. No installation is required.
v1.0.1 = Latest version available.
Download beta = It could be a BETA, RC(Release Candidate) and even a ALPHA version of the software.
Download [15MB] = A direct link to the software download.[Win] = Windows download version. It works on 32-bit and 64-bit Windows.[Win64] = Windows 64-bit download version. It works only on 64-bit Windows.[Mac] = Mac download version. It works on 32-bit and 64-bit Mac OS.[Mac64] = Mac OS download version. It works only on 64-bit Mac OS.[Linux] = Linux download version. [Portable] = Portable version. No installation is required.
Visit developers site = A link to the software developer site.
Download (mirror link) = A mirror link to the software download. It may not contain the latest versions.
Download old versions = Free downloads of previous versions of the program.
Download 64-bit version = If you have a 64bit operating system you can download this version.
Download portable version = Portable/Standalone version meaning that no installation is required, just extract the files to a folder and run directly. = Windows version available. = Mac OS version available. = Linux version available.
Our hosted tools are virus and malware scanned with several antivirus programs using www.virustotal.com.