2016-05-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v9.2.0 "Photograph".

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

        * mkvmerge: bug fix: fixed detection of (E-)AC-3 in MPEG TS files
        with unusual stream types (e.g. 0x87) but with (E-)AC-3 PMT
        descriptors. Fixes #1684.

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

        * mkvmerge: MPEG TS/teletext enhancement: mkvmerge will now ignore
        obviously bogus PTS values for teletext tracks and use PTS from
        earlier audio or video packets instead. See #1662.

2016-04-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: MPEG TS/teletext bug fix: the language code signaled
        in the MPEG TS PMT is taken into account when selecting the
        character encoding to use during decoding of the teletext
        subtitles, not just the "national character set" stored in the
        teletext page headers. For example, a German teletext page may
        signal "national character set" 0 (English) whereas it's actually
        4 (German). See #1662.

        * mkvmerge: teletext decoding bug fix: fixed dropping of certain
        non-ASCII characters in rare circumstances due to wrong filtering
        of already UTF-8 encoded strings.

        * mkvmerge: MPEG TS reader enhancement: teletext tracks of type 5
        (hearing impaired) are recognized as subtitles, too. Implements
        #1662.

2016-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool enhancement: characters that aren't
        valid in path names are automatically removed from the output file
        name. Implements #1647.

        * MKVToolNix GUI: bug fix (Windows only): the GUI didn't start
        if the USERNAME environment variable contained characters that
        aren't allowed in file names (e.g. : or ?).

2016-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: AVI reader bug fix: fixed reading files where the file
        ends in the middle of an audio chunk. Fixes #1657.

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

        * mkvmerge: enhancement: added the muxing date in both local time
        zone and UTC to verbose/JSON identification outputs (keys
        "date_local" and "date_utc", formatted after ISO 8601) when
        identifying Matroska files.

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

        * mkvmerge: bug fix: AVC/h.264: fixed handling of interlaced
        frames with bottom field first.

        * MKVToolNix GUI: bug fix: fixed huge memory consumption
        (e.g. allocation of 2 GB for a JSON file of 650 KB) in the JSON
        library by updating said JSON library. Fixes #1631.

2016-03-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v9.0.1 "Obstacles".

        * mkvmerge: bug fix: regression in v9.0.0: the text subtitle
        packetizer was wrongfully assuming an encoding of UTF-8 if none
        was given instead of assuming the system's encoding. Fixes #1639.

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

        * Released v9.0.0 "Power to progress".

2016-03-25  Mike <kona8lend@gmail.com>

        * build system: implemented support for explicit pre-compiled
        headers for Linux and Mac OS.

2016-03-25  Moritz Bunkus  <moritz@bunkus.org>

        * Installer: fixed support for silent installation and
        uninstallation.

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

        * MKVToolNix GUI: merge tool (playlist selection dialog)
        enhancement: the playlist items are sorted by their position
        within the playlist by default.

        * MKVToolNix GUI: merge tool (playlist selection dialog)
        enhancement: double-clicking on a playlist will select and add
        that playlist.

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-24  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new chapter editor feature: added an option to
        multiply all chapter timecodes by a factor to the "additional
        modifications" dialog. Implements #1609.

2016-02-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v8.9.0 "Father Daughter".

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

        * MKVToolNix GUI: job queue enhancement: added keyboard shortcuts
        for removing all completed jobs and for removing successfully
        completed jobs. Implements #1599.

        * MKVToolNix GUI: merge tool enhancement: added icons to the
        context menu actions in the "attachments" sub-tab. Implements
        #1596.

        * MKVToolNix GUI: merge tool enhancement: made the context menu
        entries in the "attachments" sub-tab clearer. Implements #1597.

2016-02-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed the handling of AVIs with a negative
        video height (which signals that the rows are arranged
        top-to-bottom).

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-16  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: enhancement: the "escape for Windows' cmd.exe"
        mechanism will only escape arguments that actually need escaping
        in order to produce easier to read command lines.

2016-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: QuickTime/MP4 reader: fix a division by zero in the
        index generation for certain old audio codecs that have certain
        header fields (bytes_per_frame, samples_per_packet) set to 0.

2016-01-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: global elements (EBML void and CRC-32
        elements) are now handled correctly if they're located inside the
        segment info or the chapter translate parents.

2016-01-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v8.8.0 "Wind at my back".

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

        * mkvpropedit: enhancement: mkvpropedit will accept terminology
        variants of ISO 639-2 language codes and convert them to the
        bibliographic variants automatically. Implements #1565.

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 "All of the above".

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

        * mkvmerge: bug fix: MP4 edit lists of certain types (two entries,
        first entry's media_time is -1, second entry's segment_duration is
        != 0) weren't handled properly resulting in key frame flags being
        assigned to the wrong frames. Fixes #1547.

        * mkvmerge: bug fix: the h.265/HEVC code was writing SEI NALUs
        twice. This had already been mentioned in #1076 but never
        fixed. Patch by Vladimír Pilný.

        * mkvmerge: bug fix: the h.265/HEVC code wasn't converting slice
        NALUs to RBSP form before parsing it resulting in wrongly
        timestamped frames under certain conditions. This is a similar fix
        to the issues reported in #918 and #1548.

        * mkvmerge: bug fix: the h.264/AVC code wasn't converting slice
        NALUs to RBSP form before parsing it resulting in wrongly
        timestamped frames under certain conditions. Fixes #918 and #1548.

        * mkvmerge: bug fix: the MP4 reader can now understand the 'random
        access point' sample grouping information for marking open GOP
        random access points as key frames. Fixes #1543.

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

        * mkvmerge: bug fix: chapters were output as both "chapters" and
        "track_tags" in JSON identification mode. Fixes #1538.

        * mkvmerge: enhancement: added the container's internal track ID
        as the "number" attribute in verbose & JSON identification modes
        for several container types (QuickTime/MP4: the track ID from the
        'tkhd' atom; MPEG program stream: the sub-stream ID in the upper
        32 bits and the stream ID in the lower 32 bits; MPEG transport
        stream: the program ID; Ogg/OGM: the stream's serial number field;
        RealMedia: the track ID). Implements #1541.

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

        * mkvmerge: bug fix: fixed the key frame detection for VP9 video
        tracks.

        * MKVToolNix GUI: bug fix: relative file names given on the
        command line were interpreted as being relative to the user's home
        directory. Fixes #1534.

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 "Flying".

        * 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 "A Place In Your World".

        * 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.

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

        * MKVToolNix GUI: header editor bug fix: the "status" description
        wasn't adjusting its height properly resulting in its text being
        cut off. Fixes #1517.

        * 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.

        * ebml_validator: bug fix: elements with an unknown size weren't
        handled correctly.

        * build system: fixed building and linking against libEBML and
        libMatroska if they're installed in a non-standard location.

        * mkvpropedit, MKVToolNix GUI's chapter and header editors: the
        tools were unable to update elements in files without a seek head
        present. Fixes #1516.

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

        * mkvmerge: bug fix: fixed two issues causing mkvmerge to write
        invalid data when updating track headers caused by the fix for
        "Re-rendering track headers: data_size != 0 not implemented
        yet". Fixes #1498.

        * all: MKVToolNix now requires gcc 4.8.0 or later or clang 3.4 or
        later for compilation.

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

        * MKVToolNix GUI: bug fix: the options for linking to the
        next/previous segment UID were wrong. Fixes #1511.

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

        * mkvmerge: enhancement: added JSON as an output format for file
        type identification. It can be activated with
        "--identification-format json --identify yourfile.ext" (or their
        short counterparts "-F json -i yourfile.ext").

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

        * mkvmerge: bug fix: the VC-1 handlig code was duplicating the
        first sequence headers with each mux. Fixes #1503.

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

        * build system: bug fix: configure was checking for and using
        libintl if --without-gettext was used. Fixes #1501.

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

        * Released v8.5.2 "Crosses".

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

        * MKVToolNix GUI: bug fix: the file/track columns aren't resized
        to fit their content when expanding/collapsing tree nodes
        anymore. Such expansion also happened when moving entries with the
        "move up/down" buttons. Fixes #1492.

        * mkvmerge: bug fix: fixed the values of the "previous/next
        segment UID" elements when splitting by parts with segment linking
        enabled. Fixes #1497.

        * mkvmerge: bug fix: mkvmerge no longer creates a "next segment
        UID" field in the last file when splitting and segment linking is
        active.

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

        * mkvpropedit, MKVToolNix GUI header editor: enhancement: added
        the "codec delay" track header field as an editable property.

        * mkvmerge: bug fix: fixed an endless loop when updating track
        headers caused by the fix for "Re-rendering track headers:
        data_size != 0 not implemented yet". Fixes #1485.

2015-10-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v8.5.1 "Where you lead I will follow".

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

        * MKVToolNix GUI: bug fix: fixed a crash when loading corrupted
        job settings.

        * MKVToolNix GUI: header editor bug fix: the tree items weren't
        re-translated when the GUI language was changed.

        * mkvmerge: bug fix: updating the track headers wasn't working in
        some rare cases (corresponding error message "Re-rendering track
        headers: data_size != 0 not implemented yet").

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.

        * Released v8.5.0 "Vanishing Act".

2015-10-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: the cropping parameters contained the
        "cropping:" prefix twice in the verbose identification output.

        * MKVToolNix GUI: merge tool enhancement: when dropping files onto
        the GUI the last file's directory is remembered as the last
        directory a file was opened from causing the next open file dialog
        to start in that directory. Implements #1477.

        * all: new feature: added a Catalan translation of
        the man pages by Antoni Bella Pérez (see AUTHORS).

2015-10-15  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: chapter editor enhancement: the start and end
        timestamps in the tree are displayed with nanosecond
        precision. Implements #1474.

        * MKVToolNix GUI: merge tool enhancement: added a column to the
        track list containing the state of the "forced track"
        flag. Implements #1472.

2015-10-14  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool enhancement: pressing the delete key
        in the attachments list removes the selected entries. Implements
        #1473.

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

        * MKVToolNix GUI: bug fix (Windows): changed some options for Qt's
        file dialogs in order to speed up access to network shares in
        certain situations. Fixes #1459.

2015-10-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: improved identification output for DTS
        96/24. Implements #1431.

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

        * MKVToolNix GUI: new merge tool feature: implemented an optional
        vertical layout mode for the "input" tab in which the track
        properties are shown below the track list. Implements #1304.

2015-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool bug fix: the "default track flag in
        output" column wasn't updated properly directly after loading
        settings.

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

        * MKVToolNix GUI: new merge tool feature: added context menu
        entries for opening the selected files/the source files of
        selected tracks in MediaInfo. Implements #1423.

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 "A better way to fly".

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

        * all: bug fix: parsing of strings containing negative values or
        timecodes was broken on 32bit architectures. Fixes #1425.

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 AC-3 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-29  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: added a new translation to Serbian (Cyrillic)
        by Jay Alexander Fleming (see AUTHORS).

        * MKVToolNix GUI: enhancement: the header editor will convert ISO
        639-2 terminology codes used in language elements to their
        corresponding bibliographic variants. Implements #1418.

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

        * MKVToolNix GUI: bug fix: fixed the total job queue progress with
        respect to removing completed jobs (either automatically or
        manually). Fixes #1405.

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.

        * Released v8.3.0 "Over the Horizon".

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

        * MKVToolNix GUI: new merge tool feature: dragging & dropping
        files onto line edit controls that expect file names (e.g. the
        "chapter file" control) will set that line edit's text to the
        dropped file name. Implements #1344.

        * mkvmerge: bug fix: track statistics tags can be kept with the
        option "--engage keep_track_statistics_tags". This allows
        outputting them in verbose identification mode for easier
        parsing. Fixes #1351.

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 AppData\Local directory tree.

        * MKVToolNix GUI: enhancement: the number of times the queue files
        are saved has been reduced. The queue files are also loaded only
        once on startup, not twice.

        * MKVToolNix GUI: bug fix: fixed various crashes when dragging &
        dropping in all of the tree views (merge tool: files view, tracks
        view, attachments view; chapter editor: edition/chapter tree,
        chapter name list; job queue). Fixes #1365.

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-22  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: chapter editor bug fix: it was possible to drop
        chapter entries on the top-level reserved for editions. Fixes
        #1369.

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:\Users\mbunkus\AppData\Local\bunkus.org\mkvtoolnix-gui).

2015-07-20  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool enhancement: added "Simple OGM-style
        chapter files (*.txt)" to the file selection dialog when selecting
        a chapter file. Implements #1269.

2015-07-18  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: bug fix: fixed compilation when building without
        curl support. Fixes #1359.

        * Released v8.2.0 "World of Adventure".

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

        * MKVToolNix GUI: new feature: added an option for hiding the tool
        selector.

        * MKVToolNix GUI: new job queue feature: added menu options for
        stopping the queue either immediately or after the current job has
        finished. Implements #1303.

        * MKVToolNix GUI: new job queue feature: added a context menu
        option for setting jobs to status "pending manual start".

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

        * MKVToolNix GUI: new merge tool feature: dragging files from
        external applications now allows you to create new mux settings
        and add the dropped files to those if the "always add dropped
        files" option is off. Implements #1297.

        * MKVToolNix GUI: new feature: added support for displaying the
        queue progress on the task bar button. Implements #1335.

        * mkvmerge: bug fix: fixed handling of MPEG transport streams
        where all PATs and PMTs have CRC errors. Fixes #1336.

        * MKVToolNix GUI: new merge tool feature: implemented support for
        re-ordering new attachments via drag & drop. Implements #1276.

2015-07-03  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: bug fix: fixed the command line option used when
        the "fix bitstream timing info" check box is checked. Fixes #1337.

2015-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * docs: added a Spanish translation of the man pages by Israel
        Lucas Torrijos (see AUTHORS).

        * MKVToolNix GUI: enhancement: several drop down boxes have had
        their options renamed slightly to be more consistent overall and
        easier to select via the keyboard. Implements #1309.

        * MKVToolNix GUI: fix compilation with the upcoming Qt
        5.5.0. Fixes #1328.

2015-06-30  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: job queue bug fix: when re-starting a job the
        "date finished" field wasn't reset. Fixes #1323.

        * MKVToolNix GUI: merge tool bug fix: the option "set output file
        name relative to first input file" caused the relative path to be
        applied each time a file was added resulting in the wrong
        directory. Fixes #1321.

        * MKVToolNix GUI: merge tool bug fix: when adding a Blu-ray
        playlist and aborting the "select playlist to add" dialog the
        originally opened playlist was added even so.

        * mkvmerge: bug fix: the MPEG-1/2 video code was causing an
        illegal memory access under certain conditions. Fixes #1217 and
        #1278.

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 "Psychedelic Postcard".

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

        * MKVToolNix GUI: new chapter editor feature: added a function for
        generating a certain number of evenly spaced
        sub-chapter. Implements #1291.

        * MKVToolNix GUI: merge tool bug fix: fixed various menu entries
        not working correctly after closing a tab or switching to another
        one. Fixes #1301.

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

        * MKVToolNix GUI: new chapter editor feature: implemented loading
        chapter entries from Blu-ray playlists.

        * MKVToolNix GUI: job queue enhancement: added menu entries for
        acknowledging both warnings and errors at the same time.

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

        * mkvmerge: bug fix: fixed recognition of (E)AC-3 audio tracks
        using a FourCC of "ec-3". Fixes #1272.

        * MKVToolNix GUI: merge tool bug fix: fixed attachments not being
        merged into the file in certain situations. Fixes #1260.

        * MKVToolNix GUI: merge tool bug fix: fixed showing existing
        attachments present in source files in the "tracks, chapters, tags
        and attachments" list. Fixes #1256.

        * MKVToolNix GUI: merge tool bug fix: the jobs created when
        appending files were incorrect resulting in an error message from
        mkvmerge. Fixes #1271.

        * mkvpropedit: bug fix: fixed a warning about "edit specifications
        resolving to the same track" when changing the track properties
        and setting tags for the same track simultaneously. Fixes #1247.

        * MKVToolNix GUI: merge tool bug fix: the output/destination file
        name is cleared when all files are removed. Fixes #1265.

        * MKVToolNix GUI: merge tool bug fix: fixed command line escaping
        for empty arguments. Fixes #1270.

        * MKVToolNix GUI: merge tool bug fix: fixed creating files without
        a title if one of the input files contains a file title. Fixes
        #1264.

        * MKVToolNix GUI: bug fix: if the job removal policy is set to
        "remove even if there were warnings" then jobs that were muxed
        without warnings weren't removed. Fixes #1262.

2015-06-20  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: fixed inclusion of desktop files for the two GUIs
        for Debian/Ubuntu packages. Fixes #1255.

2015-06-19  Moritz Bunkus  <moritz@bunkus.org>

        * Released v8.0.0 "Til The Day That I Die".

        * MKVToolNix GUI: improved locating the mkvmerge executable on
        non-Windows systems. Fixes #1246.

2015-06-18  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: chapter editor bug fix: dragging & dropping a
        file onto the chapter editor that cannot be parsed as chapters was
        causing a confusing warning about changed chapters not being
        saved.

2015-06-16  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool bug fix: fixed several controls not
        changing their language correctly when the interface language is
        changed.

2015-06-10  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool enhancement: drag & drop of files
        works even if no mux settings are currently open. Implements
        #1245.

        * mkvmerge: bug fix: fixed codec identification for MP2 audio read
        from MPEG program/transport streams. Fixes #1242.

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

        * MKVToolNix GUI: bug fix: fixed progress parsing for interface
        languages other than English.

        * mkvmerge: enhancement: if running in GUI mode (parameter
        "--gui-mode") then the progress will be output as the untranslated
        "#GUI#progress …%" in order to facilitate parsing of progress by
        GUIs.

        * mkvmerge: bug fix: fixed key frame designation for video tracks
        in MP4 DASH files.

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

        * all: bug fix: removed some unused code thereby fixing
        compilation on OpenBSD (#1215).

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

        * MKVToolNix GUI: job output bug fix: fixed superfluous empty
        lines in job output/warning/error output.

        * MKVToolNix GUI: merge tool bug fix: when adding a VOB from a DVD
        the tree items for the additional parts (the other VOBs processed
        automatically) weren't shown.

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 "Birds".

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

        * MKVToolNix GUI: new feature: added context menu entries for
        tracks: "select all", "enable all" and "disable all".

2015-05-02  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new feature: implemented aborting the currently
        running job.

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

        * all: fix compilation on Mac OS in common/command_line.cpp due to
        boost::range::filtered requiring a copyable functor. Fixes #1175.

        * all: fix compilation on Mac OS in common/version.cpp due to
        wrong usage of std::stringstream and ostream operators. Fixes
        #1176.

2015-04-27  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new feature: implemented the "additional command
        line options" dialog.

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

        * MKVToolNix GUI: new feature in the chapter editor: added
        features "set the language/country of the selected chapter and its
        sub-chapters".

2015-04-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: fixed compilation with Boost 1.58.0. Fixes #1172.

        * mkvmerge: bug fix: Fixed a segmentation fault during cleanup
        after Ctrl+C was pressed. Fixes #1173.

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-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed aborting file identification with an
        error message about "aac_error_protection_specific_config" that
        happened for some files. Fixes #1166.

2015-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new feature: implemented changing the interface
        language.

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 AC-3 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-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG-1/2 parser: fixed a long-standing issue
        that prevented mkvmerge from recognizing certain MPEG-1/2 video
        tracks and files if the frame's sequence numbers didn't follow a
        certain expected pattern. Fixes #1162 and probably others like
        #1145 or #1099.

        * MKVToolNix GUI: merge tool enhancement: Implemented adding and
        append files and adding files as additional parts via drag & drop
        from external applications.

        * MKVToolNix GUI: merge tool bug fix: fixed the column headers on
        the "attachments" tab.

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

        * MKVToolNix GUI: chapter editor enhancement: implemented
        re-ordering chapters and editions with drag & drop.

2015-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new feature: implemented the chapter editor.

2015-04-04  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: merge tool enhancement: implemented adding
        attachments via drag & drop from external applications.

        * MKVToolNix GUI: new feature: implemented the header editor.

2015-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Implemented proper type output during
        identification for DTS-ES (extended surround) tracks. Implements
        #1157.

2015-03-31  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: new feature: implemented the online update
        check.

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-AC-3 tracks in M2TS
        files if the AC-3 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 "River Man".

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

        * mkvmerge: enhancement: File type identification will output a
        more detailed description of the DTS type for DTS audio tracks
        (DTS-HD Master Audio, DTS-HD High Resolution, DTS Express or just
        plain DTS). Implements #1109.

        * mkvmerge: new feature: Implemented support for DTS Express.

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-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: added a Swedish translation of the programs by
        Kristoffer Grundström (see AUTHORS).

2015-03-24  Mats Peterson  <matsp888@yahoo.com>

        * mkvmerge: bug fix: Fixed handling of the BITIMAPINFOHEADER extra
        data size handling during merging and extraction for codecs like
        HuffYUV.

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

        * mkvmerge: bug fix: enabled the use of tags in WebM
        files. Tagging elements not supported by the WebM specs are
        removed. Fixes #1143.

2015-03-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed detection of audio tracks in QuickTime
        files whose FourCC code is unknown to mkvmerge.

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

        * mkvmerge: bug fix: fixed detection of video tracks in QuickTime
        files whose FourCC code is unknown to mkvmerge.

2015-03-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Fixed VobSub file naming when mkvextract is
        built against Boost::Filesystem older than 1.50.0. Fixes #1140.

2015-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed detection of Cinepak video tracks in
        QuickTime files.

        * mkvmerge: bug fix: fixed detection of PCM audio tracks in
        QuickTime files using the "raw " FourCC.

        * mkvmerge: bug fix: fixed detection of tracks in Flash Video
        files for which the headers do not signal a track.

        * mkvmerge: bug fix: fixed a segfault in the Flash Video file
        format reader.

2015-03-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: The change making the window wider by default has been
        reverted.

        * mkvmerge: bug fix: Fixed file type detection for MP3 files with
        big ID3 tags at the start of the file (e.g. if they contain cover
        images).

        * mkvinfo (Qt interface): enhancement: implemented support for
        opening files via drag & drop.

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

        * Released v7.7.0 "Six Voices".

2015-02-28  Lionel Fourquaux  <lionel.fourquaux@normalesup.org>

        * source code: Fixed the compilation on cygwin.

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-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo (Qt interface): bug fix: added WebM extensions to the
        known types in the "Open file" dialog.

2015-02-23  Mats Peterson  <matsp888@yahoo.com>

        * mkvextract: bug fix: Fixed writing AVIs with the wrong bit depth
        for video codecs that don't use 24 bits/pixel. Fixes #1123.

2015-02-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed recognition of E-AC-3 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, AC-3, 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 AC-3 core as
        consisting of two tracks. Instead of always dropping the AC-3 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+AC-3
        files as consisting of two tracks. Instead of always dropping the
        AC-3 part the user can simply select which tracks to
        keep. Part of the implementation of #1107.

2015-02-08  Moritz Bunkus  <moritz@bunkus.org>

        * Released v7.6.0 "Garden of Dreams".

2015-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * all programs: bug fix: Since release 7.0.0 the wrong exit code
        was used when warnings were finished (0 instead of 1). Fixes
        #1101.

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

        * all: new feature: added a Serbian (Latin) translation of the
        programs by Danko (see AUTHORS).

2015-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: If splitting was active and AC-3 tracks read
        from Matroska files were shorter than a split point then the
        following output file would contain an AC-3 packet with the
        timecode of 00:00:00 somewhere in the middle. Fixes #1104.

2015-01-14  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If a chapter track from a Matroska file is
        selected then the "language" drop-down box is disabled. Fixes
        #1105.

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 "Glass Culture".

        * 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.

2015-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed handling of HE-AACv2 with object type
        "parametric stereo".

        * mkvmerge: new feature: implemented support for MP4 DASH
        files. Implements #1038.

2014-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: implemented reading MPEG-H p2/HEVC video
        tracks from MP4 files. Implements #996.

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-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading h.265/HEVC
        video tracks from MPEG transport streams. Implements #995.

        * mkvinfo: bug fix: Timecodes output with ms resolution are now
        rounded to ms instead of simply cut off. Fixes #1093.

2014-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v7.4.0 "Circles".

2014-12-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge was sometimes dropping lines from
        teletext subtitles read from MPEG transport streams. See #773.

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

        * mkvmerge: bug fix: Fixed muxing open GOPs after I frames in
        MPEG-1/2 video (patch by Stefan Pöschel). Fixes #1084.

2014-11-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: VP9 video tracks are accepted in WebM mode.

2014-11-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Cherry-picked several commits from DivX'
        mkvmerge fork for improved HEVC handling. Fixes #1076.

        * all: new feature: added a Catalan translation of
        the programs by Antoni Bella Pérez (see AUTHORS).

2014-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the handling of Big Endian PCM tracks
        read from MP4 files. Fixes #1078.

2014-10-22  Moritz Bunkus  <moritz@bunkus.org>

        * Released v7.3.0 "Nouages".

2014-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: implemented support for reading teletext
        subtitles from MPEG transport streams. They're converted to
        SRT-style subtitles (CodecID S_TEXT/UTF8). Implements #773.

2014-10-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: probing MPEG transport streams with certain
        types of broken MPEG-2 inside caused mkvmerge to exit with an
        error message. Such tracks are now ignored instead.

2014-09-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg's chapter editor: fixed the default value for the
        "language" element if it isn't present in a chapter XML file.

2014-09-28  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: implemented drag & drop in the files pane.

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

        * MKVToolNix GUI: implemented drag & drop in the track pane.

2014-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: added support for PCM in MPEG program
        streams (.vob – DVDs) and transport streams (.ts, .m2ts –
        Blu-rays). Implements #763.

2014-09-16  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: fixed missing command line switch for audio
        sync/stretch.

2014-09-15  Moritz Bunkus  <moritz@bunkus.org>

        * MKVToolNix GUI: implemented drag & drop in the job queue.

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 "On Every Street".

        * MKVToolNix GUI: included a first preview version in the Windows
        installer and portable releases.

2014-09-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed calculating AC-3 delay from garbage data
        when reading AC-3 from AVIs. This stopped working in release 5.4.0
        due to commit 97cc2121.

2014-09-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: SSA/ASS files with sections after
        "[Events]" in their CodecPrivate are now handled correctly. Fixes
        #1057.

2014-09-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed handling certain edit list types in MP4
        files that are used for positive track delays. Fixes #1059.

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

        * Released v7.1.0 "Good Love".

        * all: bug fix: Fixed file seeking code for "seek relative to end
        of file" case. Fixes #1035.

        * mmg: bug fix: Selecting the root of the chapter editor tree will
        disable the language/country inputs properly as changing those
        fields doesn't make sense for the root.

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

        * mkvmerge: bug fix: track statistics tags are not written for
        WebM files anymore as the WebM specification doesn't allow tags.

2014-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed wrong default duration for PCM audio
        tracks if the source file provides timecodes for that track. Fixes
        #1001 and #1033.

2014-06-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: SSA/ASS: in addition to semicolons
        comments can now start with exclamation marks, too.

2014-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Fixed a crash when opening damaged/invalid
        Matroska files in all extraction modes. Fixes #1027.

2014-06-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v7.0.0 "Where We Going".

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-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: fixed wrong progress percentage shown during
        saving the information to text files. Fixes #1016.

        * mkvmerge: new feature: Added a global option for disabling
        writing the tags with statistics for each track:
        --disable-track-specific-tags.

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

        * Released v6.9.1 "Blue Panther".

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

        * Released v6.9.0 "On Duende".

        * all: new feature: added a Brazilian Portuguese translation of
        the programs by Thiago Kühn (see AUTHORS).

        * mkvpropedit, mmg's header editor: bug fix: fixed a failed
        assertion in libEBML when writing the same changes twice to
        certain files (those for which a seek head with a single entry
        pointing to the elements modified by mkvpropedit/mmg's header
        editor; e.g. x264 creates such files). Fixes #1007.

2014-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: reading fonts embedded in SSA/ASS files was
        sometimes truncating the attachments created from them. Fixes
        #1003.

        * mkvmerge: bug fix: fixed display of very large IDs during
        attachment extraction.

        * mkvmerge: enhancement: improved file type detection speed for
        text subtitle formats.

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

        * mkvmerge: bug fix: MPEG TS: timestamp outliers are ignored if
        they differ at least five minutes from the last valid
        timestamp. Fixes #998.

        * mkvmerge: enhancements: trailing zero bytes will be removed from
        AVC/h.264 NALUs. Implements #997.

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 "Theme for Great Cities".

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-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The deprecated ISO 639-1 code "iw" is now
        recognized for Hebrew.

2014-02-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The AC-3 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-02-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancements: AVI reader: audio chunks with obvious
        wrong size information (bigger than 10 MB) will be skipped.

2014-02-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: When reading M2TS files belonging to an MPLS
        playlist mkvmerge will now only copy packets whose timestamps lie
        between the "in time" and "out time" restrictions from the
        playlist's entry corresponding to that M2TS file. Fixes #985.

2014-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * all: Windows 64bit: fixed return value checks for opening
        files. Fixes #972.

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

        * extract: bug fix: using names of non-existing files in
        "attachments", "chapters", "cuesheet" or "tags" mode caused
        mkvextract to crash instead of emitting a proper error
        message. Fixes #964.

2014-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed the check for WebM-compatible track types
        for Opus.

2014-01-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixed muxing Sorenson v3 (SVQ3) video from
        QuickTime files.

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.

2014-01-09  Moritz Bunkus  <moritz@bunkus.org>

        * installer: enhancement: the architecture (32bit vs 64bit) is
        mentioned in the interface.

        * installer: bug fix: the installation directory for 64bit builds
        will default to the proper directory ("C:\Program Files" instead
        of "C:\Program Files (x86)"). Fixes #956.

2014-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.7.0 "Back to the Ground".

        * build system: Ruby 1.9.x is now required.

2014-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * all: enhancement: The architecture (32bit/64bit) is mentioned in
        the version information of all programs.

2014-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * build system: bug fix for 64bit builds on Windows
        (x86_64-w64-mingw32): use the correct processor architecture via
        separate Windows manifest files. Fixes mmg and mkvinfo not
        starting due to "error 0x0000007b".

        * mkvmerge: bug fix: Fixed a potential endless loop due to an
        integer overflow in the code removing AVC/h.264 filler NALUs.

2014-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading uncompressed PCM audio tracks
        from QuickTime/MP4 files in certain situations. Fixes #950.

        * mmg: enhancement: Made the "scanned files" list box sortable by
        all columns. Fixes #954.

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

        * mkvmerge: bug fix: Improved the AAC, AC-3 and MP3 header decoding
        error handling so that the corresponding parsing routines won't
        get stuck in endless loops when encountering certain garbage data
        patterns.

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

        * mmg: bug fix: fixed the tooltip for the subtitle character set
        drop-down box to match mkvmerge's actual behavior. Fixes #948.

2013-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: implemented reading DTS audio tracks from
        MP4 files (with ESDS object type ID == 0xA9 (decimal 169) or
        FourCC == 'DTS ' or 'dtsc').

2013-12-18  Ralph Giles  <giles@mozilla.com>

        * mkvmerge: enhancement: allowed muxing Opus to WebM files.

        * mkvmerge: bug fix: Fixed the mapping of the Opus element "seek
        pre-roll" and "pre-skip" to the Matroska elements "track seek
        pre-roll" and "codec delay". Remuxing Matroska files with Opus
        created with earlier versions of MKVToolNix is enough to fix such
        a file.

2013-12-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: fixing the bitstream timing information of
        h.264/AVC writes clean values for 25000/1001 frames per second
        video (e.g. de-telecined PAL @ 29.97).

2013-12-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed a crash in during drag & drop operations in
        mmg's chapter editor.

2013-12-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.6.0 "Edge Of The In Between".

        * mmg: new feature: implemented drag & drop in the chapter
        editor. Implements #929.

2013-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: fixed an assertion in wxLogMessage() due to wrong
        format string/argument data types caused by changes in wxWidgets
        3.0.0. See Debian bug #730273.

        * mkvmerge: bug fix: improved resilience against MP4 files with
        obviously wrong entries in the 'sample size table' (STSZ) atom.

        * mkvmerge: bug fix: improved VC-1 frame type detection so that it
        works even for streams without entry points.

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

        * mkvmerge: bug fix: fixed accessing invalid memory in the memory
        handling core routines. May be triggered by the code to remove
        filler NALUs introduced in v6.5.0. Fixes #931.

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 "Isn't she lovely".

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

        * mkvmerge: bug fix: fixed a crash when reading empty global tag
        files. Fixes #921.

2013-10-17  Moritz Bunkus  <moritz@bunkus.org>

        * build system: bug fix: fix autodetection of Boost's library path
        if it is installed in the multiarch directories
        (e.g. /usr/lib/i386-linux-gnu or /usr/lib/x86_64-linux-gnu).

2013-10-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: saved window widths were growing by 1 pixel each
        time mmg was exited.

2013-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a German translation of the man pages by
        Chris Leick (see AUTHORS).

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

        * Released v6.4.1 "Omega Point".

        * mkvmerge: bug fix: fixed packet ordering regression introduced
        in 6.4.0 if --default-duration is used for a track.

2013-09-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.4.0 "Pale Blue Dot".

        * mkvextract: new feature: Implemented extraction of Opus tracks
        into OggOpus files.

2013-09-14  Monty Montgomery  <xiphmont@gmail.com>

        * mkvinfo: bug fix: The track information summary enabled with
        -t/--track-info counted bytes in SimpleBlocks twice.

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

        * mkvmerge: new feature: Implemented final Opus muxing.

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%\mkvtoolnix\jobs).

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

        * mmg: bug fix: Fixed overly long startup time with wxWidgets
        2.9.x (especially on Windows) by using alternative methods for
        initializing certain controls. Makes startup time on par with
        wxWidgets 2.8. See #893.

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.

2013-06-27  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.3.0 "You can't stop me!".

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

        * mkvmerge: bug fix: AVC/h.264 output module: fixed writing the
        wrong values if --fix-bitstream-timing-information is used. Fixes
        #888.

2013-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: FLV reader: Implemented deriving the video
        dimensions for FLV1 type tracks from the frame content if they're
        not given within a script tag. Fixes #880.

        * mkvmerge: bug fix: Fixed handling MPEG transport streams with
        broken PES packet streams. Fixes #879 and #887.

        * mkvextract: bug fix: mkvextract writes the correct value for the
        "block alignment" value in the header of WAV files (mostly affects
        mono PCM audio tracks). Fixes #883.

2013-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: added a Portuguese translation of the programs
        by Ricardo Perdigão (see AUTHORS).

2013-04-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v6.2.0 "Promised Land".

2013-04-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The option "--engage
        remove_bitstream_ar_info" will now work on AVC/h.264 tracks read
        from Matroska/MP4 files as well. Fixes #868.

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

        * mmg: bug fix: Loading chapters from Matroska files will open the
        file in read-only mode allowing to read from write-protected
        files.

2013-04-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: All entries in chapters imported from MPLS
        playlists were named "Chapter 0". The numbering has been
        fixed. Fixes #870.

2013-04-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Selecting the lowest process priority
        with "--priority lowest" will cause mkvmerge to also select an
        idle/background I/O priority. Implements #863.

2013-03-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVI files with audio chunks of
        size 0. Fixes #843.

2013-03-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Add control for new option
        "--fix-bitstream-timing-information".

2013-03-20  Giuseppe De Robertis <giuseppe.derobertis@ba.infn.it>

        * mkvmerge: new feature: Add option for fixing the timing
        information in video track bitstreams
        (--fix-bitstream-timing-information).

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

        * mkvmerge: bug fix: MPEG program stream reader: tracks with
        invalid video properties (e.g. width or height = 0) are ignored
        properly.

        * mkvmerge: bug fix: The progress percentage was sometimes using
        the wrong input file as the reference if multiple files are read
        with the "additional parts" mechanism (on the command line: the
        syntax "( VTS_01_1.VOB VTS_1_2.VOB VTS_1_3.VOB )".

        * mkvmerge: bug fix: Fixed one situation that could lead to
        mkvmerge aborting with the error message "Re-rendering track
        headers: data_size != 0 not implemented yet".

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 "Old Devil".

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

        * mkvinfo, mkvpropedit, mmg's header editor: bug fix: Fixed the
        description for the DisplayUnit element to include value 3
        ("aspect ratio").

2013-02-16  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Dutch translation of mmg's guide by
        René Maassen (see AUTHORS).

        * mkvmerge: bug fix: Fixed handling chapters when splitting by
        parts (both parts/timecodes and parts/frames). Fixes #831.

        * mkvmerge: bug fix: Fixed reading certain MP4 atoms with invalid
        length fields.

2013-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix in common AAC code: Fixed wrong calculation of
        AAC packet size for malformed packets resulting in "safemalloc()"
        failing to allocate memory. Part of a fix for #832.

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

        * mkvmerge: bug fix: Fixed reading VP6 video from FlashVideo
        files. Fixes #836.

2013-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed validating the argument for splitting parts
        by frame/field numbers. Fixes #835.

        * Released v6.0.0 "Coming Up For Air".

2013-01-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented splitting by parts based on
        frame/field numbers ("--split parts-frames:" in
        mkvmerge). Implements #819.

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

        * mkvmerge: new feature: Implemented reading VobSubs from MP4
        files if they're stored in the Nero Digital way (track sub-type
        'mp4s', ESDS object type identifier 0xe0). Implements #821 and the
        second half of #815.

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: AC-3, 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-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: "text"-type tracks in MP4 files are only
        treated as chapters if their track ID is listed on a "chap" atom
        inside a "tref" track reference atom. Fixes #815.

2012-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Implemented splitting by chapter
        numbers. Implements #504 and #814.

2012-12-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Removed several warnings from the MPEG-2
        video parser code about open GOPs, missing references. Those were
        too confusing for most users, even after being given additional
        information via email and FAQs.

        * mkvextract: new feature: Implemented extraction of ALAC into
        Core Audio Format files (CAF). Implements #786.

2012-12-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Implemented splitting by frame/field
        numbers. Implements #771.

        * mmg: bug fix: Fixed consistency checks when appending files and
        at least one track is disabled.

        * mkvmerge: new feature: Implemented a reader for the
        Flash Video format (.flv). Implements #735.

2012-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Boost's "variant" library is now required.

2012-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: ISO 639-2 language handling: The deprecated
        language codes "scr", "scc" and "mol" are replaced by their
        respective successors "hrv", "srp" and "rum". Fixes #803.

        * mkvmerge: bug fix: Matroska reader: Fixed finding the "segment
        info" element if it is located behind the clusters.

2012-12-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MP3 parser code: Fixed skipping ID3 tags so
        that the header directly behind the ID3 tag is recognized
        properly. Fixes #747.

        * mkvmerge: bug fix: MP4 reader: Fixed handling of edit lists if
        the edit list is used to adjust the track's timecodes by a fixed
        amount (either positive or negative). Fixes #780.

2012-12-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvpropedit: bug fix: Giving a non-existent file name in tags
        mode will result in a proper error message. Fixes #806.

2012-12-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.9.0 "On The Loose".

        * mkvmerge: bug fix: Fixed reading seek position values bigger
        than 2 GB. Fixes #805.

2012-12-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed appending non-empty tracks to empty
        tracks. Fixes #793.

        * mkvmerge: bug fix: mkvmerge will now keep timecodes of PCM
        tracks from source files if they're available. Fixes #804.

2012-12-05  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: EBML void elements will be skipped when reading
        structures from XML (e.g. chapters). Fixes #802.

2012-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: EBML void elements will be skipped when saving
        structures to XML (e.g. chapters). Fixes #801.

        * mkvmerge: bug fix: Fixed reading linked seek heads in Matroska
        files.

2012-11-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed reading file names containing a '%' from a
        .mmg settings file (both normally saved files and the job queue
        files). Fixes #795.

2012-10-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Dirac video code: Added four more
        pre-defined video types from Dirac spec v2.2.2 and two from Dirac
        Pro.

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 and CueRelativePosition.

        * mkvpropedit, mmg, mkvmerge: removal: removed support for the
        deprecated element TrackTimecodeScale.

2012-09-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.8.0 "No Sleep / Pillow".

        * Build system: dropped support for gcc 4.6.0.

        * mkvpropedit: new feature: Added support for adding, deleting and
        replacing attachments.

2012-09-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: chapter editor: Added support for the edition
        flags "hidden", "default" and "ordered" as well as the chapter
        values "segment UID" and "segment edition UID". Implements ticket
        #736.

2012-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Basque translation of mmg's guide by
        Xabier Aramendi (see AUTHORS).

        * all: bug fix: Fixed a buffer overflow in the Base64 decoder
        routine.

2012-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * source: Various fixes for building with g++ 4.7.x and clang 3.1.

2012-08-08  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Boost's "bind" library is not required
        anymore. The C++11 features from "functional" are used instead.

2012-08-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG transport streams whose timecodes wrap
        around/overflow are handled correctly. Fixes #777.

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

        * mkvmerge: new feature: Added support for reading ALAC (Apple
        Lossless Audio Codec) from CAF (CoreAudio), MP4 and Matroska
        files. Implements #753.

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

        * mkvmerge: bug fix: Fixed audio/video synchronisation when
        reading MPEG program streams with MPEG-1/2 video with respect to B
        frames. Fixes #579.

        * mkvmerge: enhancement: SRT files can have spaces in their
        timecode line's arrow (e.g. "-- >").

2012-07-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: VC-1: mkvmerge will now only mark frames as I
        frames if a sequence header precedes them directly. Fixes #755.

2012-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * all: new feature: Added a Basque translation by Xabier Aramendi
        (see AUTHORS).

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 "The Whirlwind".

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

        * mmg, mkvinfo's GUI, all .exes: enhancement: Added new icons by
        Ben Humpert based on the ones by Eduard Geier (see AUTHORS).

2012-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed handling of tracks in QuickTime/MP4
        files with a constant sample size. This fixes the other reason for
        the "constant sample size and variable duration not supported"
        error. Fixes issue 764.

        * mkvmerge: bug fix: Tracks in QuickTime/MP4 files with empty
        chunk offset tables (STCO and CO64 atoms) are ignored. This fixes
        one of the reasons for the "constant sample size and variable
        duration not supported" error.

2012-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed mmg's excessive CPU usage during muxing.

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

        * Documentation: Updated the cross-compilation guide and fixed the
        "setup_cross_compilation_env.sh" script.

2012-05-27  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.6.0 "Kenya Kane".

        * documentation: Added Spanish translation of mmg's guide by
        Israel Lucas Torrijos (see AUTHORS).

2012-05-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: SRT subtitle entries with colons as the
        decimal separator are accepted. Fix for issue 754.

2012-05-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: XML tag files with <Simple> tags that only
        contained a name and nested <Simple> were wrongfully rejected as
        invalid. Fixes issue 752.

        * mkvmerge: enhancement: mkvmerge was optimized to keep cluster
        time codes strictly increasing in most situations.

2012-04-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation to Polish by Daniel (see AUTHORS).

2012-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Extraction of AVC/h.264 was completely
        broken after 2012-04-09 resulting in files with a length of 0
        bytes.

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 "global" 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 extracting
        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 time codes 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
        time code and the second part's first packet's time code 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-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, build system: Fixed building with wxWidgets 2.9.3.

2012-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.5.0 "Healer".

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

        * mkvmerge: bug fix: Fixed a wrong assertion about minimum MPEG
        1/2 video start code lengths. Fixes ticket 728.

2012-03-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Added support for keeping only
        certain time code 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 successful", "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-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "mts" as yet another file extension for
        MPEG transport streams.

2012-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed a crash due to a missing argument for a
        format string when clicking on the "Browse" button for the
        track-specific tags.

2012-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvinfo's GUI, all .exes: enhancement: Added new icons
        by Eduard Geier. (see AUTHORS).

2012-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: mkvextract sometimes wrote undefined values
        to a single reserved header field when extracting into AVI
        files. Patch by buguser128k. Fix for ticket 727.

        * mkvmerge: bug fix: AVC/h.264 mkvmerge was wrongfully writing a
        default duration of 60 frames/fields even if the source was
        signalling 60000/1001 frames/fields. The frame time codes have been
        correct already.

2012-03-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed time code calculation for (E)AC-3 tracks
        if the source container (e.g. MPEG transport streams) only
        provided time codes for some of the (E)AC-3 packets itself.

2012-03-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.4.0 "Piper".

2012-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed wrong calculation of the maximum number
        of ns per cluster in certain fringe cases if time code scale was
        set to "auto" mode ("--time code-scale -1"). Fix for bug 707.

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 time code file with
        AVC/h.264 video the default duration will be set to the most-often
        used duration in the time code 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: time codes 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-AC-3 files were mistakenly for
        AC-3 after the re-write of the AC-3 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 time code 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-26  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Boost's "rational" library is now required.

        * mkvmerge: bug fix: Complete re-write of the (E)AC-3 parsing and
        handling code. Dependent E-AC-3 frames are now handled
        correctly. Fix for bug 704.

2012-02-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The width and height of h.264 video tracks
        with a pixel format other than 4:2:0 are now calculated
        correctly. Fix for bug 649. Patch by Nicholai Main (see AUTHORS).

        * mkvmerge: bug fix: Fixed file type recognition and frame drops
        for VC-1 elementary streams that do not start with a sequence
        header but with frame or field packets instead.

        * mkvmerge: bug fix: Fixed mis-detection as unsupported DV files
        (happened for e.g. PGS subtitle files).

2012-02-12  Moritz Bunkus  <moritz@bunkus.org>

        * doc: enhancement: Updates for option file usage and supported
        subtitle formats.

2012-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.3.0 "I could have danced".

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)AC-3 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-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed integer underflows in the read caching
        code resulting in invalid memory access. Happened in broken or
        incomplete files only. Fix for bug 709.

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 "time codes_v2" mode: mkvextract will
        write one more time code than there are frames in the file. The
        last time code written will be the the sum of the last frame's
        time code and duration with the "last frame" being the one with the
        highest time code. 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-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Identification output for Matroska files:
        Added several fields to mkvmerge's verbose identification mode for
        tracks: UID, CodecID, length and content (as a hex dump) of the
        codec private data.

        * mkvmerge: bug fix: Fixed a segmentation fault in the DTS
        detection code. Fix for bug 698.

2012-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The track IDs used in the "time codes_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.

2012-01-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added video pixel dimensions to the
        output of "--identify-verbose" for Matroska files.

2012-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.2.1 "A Far Off Place".

2011-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed certain DTS files being mis-detected as
        AC-3. Fix for bug 693.

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

        * mkvmerge: bug fix: Fix compilation if FLAC is not available. Fix
        for issue #13.

2011-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * Released v5.2.0 "I can't explain".

        * mkvmerge, mmg: bug fix: Automatic MIME type recognition for
        TrueType fonts will result in "application/x-truetype-font" again
        instead of "application/x-font-ttf". Fix for bug 682.

2011-12-14  Andriy Bilous'ko  <arestarh@ukr.net>

        * documentation: enhancement: Added a Ukrainian translation for
        mkvextract's man page.

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

        * mkvmerge: bug fix: Turn off input file buffering for badly
        interleaved MP4 files.

2011-12-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed how mkvmerge assigns IDs to tracks in
        source files for Matroska and MP4 files. That way files whose
        headers contain the same ID for multiple tracks will work
        correctly. Fix for bug 681.

2011-12-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The VP8 output module will always
        re-derive frame types (key frame vs. non-key frame).

        * mkvmerge: bug fix: VP8 read from AVI could not be put into WebM
        compatible files.

        * mkvmerge: bug fix: Fixed a rare audio type mis-detection of
        MP2/MP3 audio tracks in MPEG program streams causing mkvmerge to
        abort with an error message.

2011-12-04  Nils Maier  <maierman@web.de>

        * mkvmerge, mkvextract: enhancement: Implemented input file
        buffering in mkvmerge and improved/implemented output file
        buffering in other tools.

2011-12-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvinfo's GUI: enhancement: Added new icons based on the
        work of Alexandr Grigorcea (see AUTHORS).

        * mmg: bug fix: Fixed a memory leak in mmg's header editor that
        caused the "open file" function to stop working after opening a
        few files. Fix for bug 679.

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

        * Released v5.1.0 "And so it goes".

        * mkvmerge: bug fix: Fixed more time code handling issues for video
        tracks in MPEG transport streams whose PES packets sometimes don't
        have a time code.

        * mkvmerge: bug fix: mkvmerge will no longer create folders on
        drives it shouldn't create them on on Windows.

2011-11-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed bogus huge time codes sometimes
        occurring for AVC/h.264 video tracks read from MPEG transport
        streams.

2011-11-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: enhancement: Made all EXEs declare their required access
        level privileges for Windows' User Access Control.

        * mmg: enhancement: Made mmg DPI-aware on Windows (tested up to
        144 DPI).

2011-11-09  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: mmg will append ".xml" to the file name entered
        when saving from the chapter editor if no extension was given.

2011-11-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Improved skipping broken data on all operating
        systems.

        * mkvmerge, mkvextract: bug fix: Skipping broken data in Matroska
        file often caused the program to abort on Windows. This has been
        fixed so that processing continues after the broken part. Fix for
        bug 668.

2011-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * examples: Added XSLT 2.0 stylesheets in the
        "examples/stylesheets" directory for turning Matroska chapters
        into cue sheet and split points for "shntool" (useful for
        situations in which you have e.g. a live recording from a concert
        including chapters and want to create one audio file per song).

        * mkvmerge: bug fix: Fixed reading VC-1 video tracks from Matroska
        files that don't use VC-1 start markers (0x00 0x00 0x01 ...).

2011-10-30  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "ogv" to the list of known file
        extensions for "Ogg/OGM audio/video files". Implements bug 667.

        * mmg: bug fix: A utility function for breaking a line into
        multiple ones was accessing invalid memory in rare situations
        causing mmg to crash. Could happen e.g. when adding a job to the
        job queue.

2011-10-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will use DTS instead of PTS for VC-1
        video tracks read from MPEG transport streams.

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-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading MPEG transport streams on big
        endian systems.

        * mkvmerge: enhancement: Added support for reading AAC tracks from
        MPEG transport streams.

2011-10-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Relaxed the compatibility checks when
        concatenating VP8 video tracks.

2011-10-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed PCM audio in WAV sometimes being
        detected as DTS.

        * mkvmerge: enhancement: The verbose identification mode will add
        the properties "default_duration", "audio_sampling_frequency" and
        "audio_channels" if appropriate and if the corresponding header
        elements are present.

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

        * Released v5.0.1 "Es ist Sommer".

2011-10-08  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Updated the Debian/Ubuntu files to debhelper
        v7/quilt 3.0 format.

        * mkvmerge: enhancement: Implemented support for yet another way
        of storing E-AC-3 and DTS in MPEG transport streams.

2011-10-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Track information was not reset when opening
        more than one file in the GUI.

2011-10-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The PGS subtitle output module was not
        outputting any packet in certain cases due to uninitialized
        variables.

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 "Die Wahre Liebe".

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

        * mkvextract: bug fix: Fixed attachment number displayed during
        extraction. Fix for bug 663.

        * mkvmerge: enhancement: MPEG TS: Added support for HDMV PGS
        subtitles.

        * mkvmerge: enhancement: MPEG TS: Added support for DTS HD Master
        Audio tracks.

2011-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: MPEG TS: Streams that are mentioned in
        the PMT but do not actually contain data are neither reported
        during identification nor muxed.

2011-09-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: MPEG TS: Added support for reading the
        language code.

2011-09-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added MPEG transport streams to the "add file"
        dialog file selector.

        * mkvmerge: new feature: MPEG TS: Added support for normal DTS
        tracks.

        * mkvmerge: Tons of fixes and additions to the MPEG transport
        stream demuxer.

2011-09-10  Moritz Bunkus  <moritz@bunkus.org>

        * build system: configure will accept external versions of libEBML
        and libMatroska again. Minimum required versions are libEBML 1.2.1
        and libMatroska 1.1.0.

2011-09-07  DenB  <denb10@free.fr>

        * All: Updated the French translation with a complete set by DenB
        (see AUTHORS).

2011-09-05  Cosme Domínguez  <cosme.ddiaz@gmail.com>

        * mmg: mmg respects the XDG Base Directory Specification regarding
        its configuration files (environment variable
        $XDG_CONFIG_HOME/mkvtoolnix if set, otherwise
        ~/.config/mkvtoolnix).

2011-08-24  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added an Lithuanian translation by Mindaugas Baranauskas
        (see AUTHORS).

2011-08-14  Massimo Callegari  <massimocallegari@yahoo.it>

        * mkvmerge: new feature: Implemented a MPEG transport stream
        demuxer.

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

        * mkvmerge: enhancement: Sped up file identification by caching
        read operations.

        * mkvmerge: bug fix: Fixed identifying QuickTime/MP4 files that
        start with a 'skip' atom.

2011-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash when reading AVI files with DTS
        audio tracks that do not contain valid headers in the first couple
        of packets. Fix for bug 646.

2011-07-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.9.1 "Ich will".

        * mkvmerge: bug fix: Fixed endless loop when reading AVI files on
        Windows if MKVToolNix was compiled with a gcc mingw cross compiler
        v4.4.x. Fix for bug 642.

        * mkvmerge: bug fix: Fixed long file identification time caused by
        DV detection. Fix for bug 641.

2011-07-10  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.9.0 "Grüner".

2011-07-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: DV files are recognized as an unsupported
        container type. Fix for bug 630.

        * mkvmerge: bug fix: Fixed handling block groups in Matroska
        files with a duration of 0.

2011-07-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Various compatibility fixes for use with wxWidgets 2.9.x.

2011-06-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed building with Sun Studio's C compiler.

2011-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: ISO 639-2 terminology language codes are
        converted to the corresponding bibliography code upon file
        identification (e.g. 'deu' is converted to 'ger').

2011-06-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: The time code scale is retrieved first before
        applying it to the segment duration.

        * all: Added an Italian translation by Roberto Boriotti and
        Matteo Angelino (see AUTHORS).

2011-05-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed populating the 'compression' drop down box
        according to what mkvmerge was compiled with.

2011-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: When a DTS track is read from a source file
        that provides time codes (e.g. Matroska files) then those time codes
        will be preserved.

2011-05-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Fixed remuxing certain VC-1 video tracks from Matroska
        files. Fix for bug 636.

2011-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.8.0 "I Got The...".

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

        * mkvpropedit: new feature: Added support for adding, replacing
        and removing chapters.

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
        VC-1 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-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed detection of AAC files with ADIF
        headers. Fix for bug 626.

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 "Just Like You Imagined".

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

        * mkvextract: bug fix: Fixed extraction of MPEG-1/2 video tracks
        whose sequence headers change mid-stream but whose key frames are
        not all prefixed with a sequence header. Fix for bug 556.

        * mkvmerge: bug fix: Fixed reading AAC tracks from AVI files with
        7 bytes long codec data. Fix for bug 613.

        * mkvmerge: enhancement: Added support for WAV and AVI files that
        use a WAVEFORMATEXTENSIBLE structure (wFormatTag == 0xfffe). Fix
        for bug 614.

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

        * mkvmerge: bug fix: Fixed huge slowdown when splitting by size is
        active with certain kinds of input files. Fix for bug 611.

        * mkvinfo: bug fix: Fixed redirecting the output into a file with
        "--redirect-output"/"-r" and verbosity levels of 2 and higher.

        * mkvpropedit, mmg header/chapter editor: bug fix: Fixed parsing
        Matroska files if mkvtoolnix is compiled with newer versions of
        libebml/libmatroska (SVN revisions after the releases of libebml
        1.2.0/libmatroska 1.1.0).

2011-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: WAV files with unsupported format tags are
        rejected instead of being treated like containing PCM. Fix for bug
        610.

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

        * Released v4.6.0 "Still Crazy After All These Years".

2011-03-08  Moritz Bunkus  <moritz@bunkus.org>

        * build system: Fixed building the Qt version of mkvinfo's
        GUI (again). Fix for bug 576.

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

        * build: Boost 1.36.0 or newer is required (up from 1.34.0). Also
        fixed building with v3 of Boost's filesystem library, e.g. with
        Boost 1.46.0 Beta 1 or newer.

        * mkvpropedit: new feature: Added support for adding, replacing
        and removing tags.

2011-02-07  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation for the programs into Turkish by
        ßouЯock (see AUTHORS).

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 "Speed of Light".

        * 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 "time codes_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 "time codes_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-09  Moritz Bunkus  <moritz@bunkus.org>

        * build system: mmg's guide and its images are installed into the
        location given by configure's "docdir" variable. Patch by Cristian
        Morales Vega (see AUTHORS).

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 "Die Wiederkehr".

        * 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,
        AC-3 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-23  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: 'drake install' did not work if the login
        shell was not POSIX compatible (e.g. fish). Fix for bug 559.

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 "Escape from the Island".

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

        * mkvmerge: bug fix: Video tracks with a width or height of 0 are
        not read from AVI files anymore. Fix for bug 538.

2010-08-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an error with losing packets (error
        message "packet queue not empty") when reading IVF (VP8) files
        using --default-duration on it.

        * mkvmerge: bug fix: Fixed access to uninitialized memory in the
        MPEG-2 ES parser.

2010-08-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'total remaining time' shown by the job
        manager was totally wrong. Fix for bug 529.

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

        * Released v4.2.0 "No Talking".

        * mkvmerge: bug fix: mkvmerge was accessing invalid memory In
        certain cases, e.g. when appending Matroska files that use
        compression while turning compression off.

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

        * mkvmerge: bug fix: The speed with which mkvmerge skips garbage
        in DTS tracks has been greatly improved.

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

        * mmg: enhancement: The taskbar progress is reset as soon as
        mkvmerge finishes/as soon as all jobs are done (Windows 7).

2010-07-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files
        if they're stored without NALUs inside the AVI. Was broken by a
        fix for handling AVC/h.264 in NALUs inside AVI.

        * mkvmerge: bug fix: All readers that only handled file formats
        which do not contain more than one track did not respect the
        "--no-audio / --no-video / --no-subtitles" options. This applied
        to the following readers: AAC, AC-3, AVC/h.264, CorePicture, Dirac,
        DTS, FLAC, IVF, MP3, MPEG ES, PGS/SUP, SRT, SSA, TrueHD, TTA, VC-1,
        WAV and WavPack.

2010-07-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Improved reading text files that use
        mixed end-of-line styles (DOS & Unix mixed).

2010-07-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed invalid memory access in the PCM
        packetizer. Fix for bug 510.

        * mmg: bug fix: When mmg starts it will check the entries in the
        file and chapter menu's list of recently used files and remove
        those entries that no longer exist. Fix for bug 509.

        * mkvmerge: bug fix: Fixed a crash when reading Matroska files
        that were damaged in a certain way.

2010-07-03  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.1.1 "Bouncin' Back".

        * mkvmerge: bug fix: Fixed invalid memory access in the header
        removal compressor. Fix for bug 508.

        * mmg: bug fix: mmg will no longer add .mmg files opened by the
        job runner to the file menu's list of recently opened files. Fix
        for bug 509.

2010-07-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.1.0 "Boiling Point".

2010-06-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed reading AVC/h.264 tracks from AVI files
        if they're stored in NALUs inside the AVI.

2010-06-26  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: enhancement: Improved the error reporting if
        certain Boost libraries are not found.

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

        * mkvmerge: new feature: Added support for reading PGS subtitles
        from PGS/SUP files.

        * mkvmerge: bug fix: Specifying an FPS with "--default-duration"
        for AVC/h264 tracks in AVI files did not work. Fix for bug 492.

2010-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an invalid memory access possibly
        causing a crash in the AC-3 detection code.

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

        * mkvmerge: enhancement: mkvmerge uses header removal compression
        by default for AC-3, DTS, MP3, Dirac and MPEG-4 part 2 tracks.

        * all: Added desktop files for mmg/mkvinfo, a MIME type file for
        .mmg files and icons to the installation procedure on Linux. Most
        files were contributed by Cristian Morales Vega (see AUTHORS).

        * all: Added a translation of the programs into Spanish by Isra
        Lucas (see AUTHORS).

2010-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed access to uninitialized memory when
        reading DTS tracks from AVI and Matroska files.

2010-06-10  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Matroska reader will use the MPEG audio
        packetizer for MP2 tracks instead of the passthrough packetizer.

        * mkvmerge: bug fix: The Matroska reader did not handle compressed
        tracks correctly if the passthrough packetizer was used.

2010-06-08  Moritz Bunkus  <moritz@bunkus.org>

        * docs: Added a Dutch translation for the man pages by René
        Maassen (see AUTHORS).

2010-06-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The handling of Matroska files in which the
        'default track flag' is not present has been fixed.

2010-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * Released v4.0.0 "The Stars were mine".

        * build: Building mkvtoolnix now requires libebml v1.0.0 and
        libmatroska v1.0.0 or later.

2010-06-04  Moritz Bunkus  <moritz@bunkus.org>

        * all command line tools: bug fix: Fixed the output of eastern
        languages like Japanese or Chinese under cmd.exe on Windows.

2010-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added the estimated remaining time to the mux
        and job dialogs.

2010-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation of the programs into Dutch by René
        Maassen (see AUTHORS).

2010-05-28  Moritz 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-27  Moritz 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-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: bug fix: Fixed handling of
        clusters missing a cluster time code element.

        * mkvinfo GUI: bug fix: Frames for simple blocks were shown at the
        wrong place in the element tree.

2010-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvextract: Fixed handling of clusters with an unknown
        size.

2010-05-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Fixed handling clusters with an unknown size.

        * mkvinfo: new feature: Added an option ("-z" / "--size") for
        displaying each element's size property. Elements with an
        unknown/infinite size are shown as "size is unknown".

2010-05-21  Moritz 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-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: change: mkvmerge will not write track header elements
        whose actual value equals their default value anymore.

2010-05-18  Moritz 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-17  Moritz 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 tags 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 time codes due to
        variables not being reinitialized.

2010-05-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: Binary elements shorter than 10 bytes were not
        output correctly.

2010-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: The man page installation process only
        installed the English originals instead of the Japanese and
        Chinese translations.

2010-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.4.0 "Rapunzel".

        * build: Building mkvtoolnix now requires libebml v0.8.0 and
        libmatroska v0.9.0 or later.

        * all: Added a translation into Ukrainian by Serj (see AUTHORS).

2010-05-06  Moritz Bunkus  <moritz@bunkus.org>

        * Windows installer: Added the choice to run the installer in the
        same languages that the GUIs support. Patch by Serj (see AUTHORS)
        with modifications by myself.

2010-04-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the handling of non-spec compliant
        AVC/h.264 elementary streams in Matroska files with the CodecID
        V_ISO/MPEG4/AVC. Fix for bug 486.

2010-04-23  Moritz Bunkus  <moritz@bunkus.org>

        * all: Added a translation into Russian by Serj (see AUTHORS).

2010-04-19  Moritz Bunkus  <moritz@bunkus.org>

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

        * mmg's header editor, mkvpropedit: Fixed crashes with files
        created by Haali's GS Muxer containing "content encoding" header
        elements.

2010-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Extracting SSA/ASS files which miss the
        "Text" column specifier in the "Format:" line are handled
        correctly. Fix for bug 483.

2010-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a segfault when reading Matroska files
        containing level 1 elements other than clusters with a size of 0.

2010-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: The LINGUAS environment variable determines which
        man page and guide translations will be installed.

2010-03-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a tiny memory leak. Fix for bug 481.

        * Released v3.3.0 "Language".

        * Build system: Sped up builds by using pre-compiled
        headers. Patches by Steve Lhomme (see AUTHORS) and myself.

2010-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the default duration for interlaced
        MPEG-1/2 video tracks. Also added the 'interlaced' flag for such
        tracks. Patches by Xavier Duret (see AUTHORS). Fix for bug 479.

2010-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Specifying a FourCC with spaces at the end
        will not result in an error anymore. Fix for bug 480.

2010-03-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Time Codes for MPEG-1/2 tracks are calculated
        properly, especially for B frames. Patch by Xavier Duret (see
        AUTHORS). Fix for bug 475.

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 time code 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-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash when reading Matroska files
        that contain Vorbis audio with in MS compatibility mode (CodecID
        A_MS/ACM). Fix for bug 477.

        * All: enhancement: Added support for old Mac-style line endings
        (only '\r' without '\n') in text files.

2010-03-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added the values "4483M" and "8142M" to the
        "split after this size" drop down box.

2010-03-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed compilation if gettext is not available.

2010-03-03  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: Added project files and fixes for compilation with
        Microsoft Visual Studio 8. Patches by David Player (see AUTHORS).

        * Installer: bug fix: A couple of start menu links to pieces of
        the documentation were broken. Added missing start menu links to
        translations of the documentation.

        * mkvmerge: bug fix: The SRT reader skips empty lines at the
        beginning of the file.

2010-03-02  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Fixed the configure script and compilation
        on OpenSolaris.

2010-02-26  Moritz Bunkus  <moritz@bunkus.org>

        * Installer: bug fix: The "jobs" directory in the application data
        folder is removed during uninstallation if the user requests
        it. Fix for bug 474.

        * mkvextract: bug fix: Fixed granulepos calculation when
        extracting Vorbis tracks into Ogg files. Fix for bug 473.

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

        * mkvmerge: bug fix: Fixed the handling of UTF-16 encoded chapter
        names in MP4/MOV files.

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

        * Released v3.2.0 "Beginnings".

        * Build requirements changed: The GUIs for mkvtoolnix now require
        wxWidgets 2.8.0 or newer.

2010-02-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg, mkvpropedit: Fixed another bug causing a crash writing
        chapters/other elements to existing Matroska files.

2010-02-10  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Improved detection of Boost::Filesystem
        for newer Boost versions.

2010-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * docs: Added a Chinese Simplified translation for the man pages
        by Dean Lee (see AUTHORS).

2010-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Outputting error messages about invalid XML
        files will not cause mkvmerge to crash on Windows anymore.

        * mmg: enhancement: Added an input field for the segment info XML
        file (mkvmerge's "--segmentinfo" option) on the "global" tab.

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:\Users\mbunkus\AppData\mkvtoolnix'. On
        non-Windows systems this is the folder '.mkvtoolnix' in the user's
        home directory.
        mmg's configuration file has also been moved from ~/.mkvmergeGUI
        to ~/.mkvtoolnix/config on non-Windows systems.
        Fix for bug 466.

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

        * mmg: enhancement: Changing the interface language does not
        require a restart anymore.

        * mkvmerge: bug fix: Reading VOB files bigger than 4 GB was broken
        in v3.1.0 on 32bit platforms.

2010-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Tooltips were not word-wrapped on Windows.

        * mkvinfo: enhancement: Added the "EBML maximum size length"
        element to the list of known elements. Fix for bug 464.

2010-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a control for mkvmerge's "--cropping"
        parameter.

        * mmg: enhancement: Added the file extensions ".dtshd", ".dts-hd",
        ".truehd" and ".true-hd" to mmg's"'add/append file" dialogs.

        * mkvextract: bug fix: "mkvextract --version" was only writing an
        empty string. Fix for bug 463.

2010-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.1.0 "Happy Up Here".

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

        * documentation: Added a Chinese Simplified translation for mmg's
        guide by Dean Lee (see AUTHORS).

2010-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * documentation: Added a Japanese translation for the man pages by
        Katsuhiko Nishimra (see AUTHORS).

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 time codes will
        are not rejected anymore. Negative time codes will be adjusted to
        start at 00:00:00.000.

2009-12-25  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for extracting Blu-Ray
        subtitles (CodecID "S_HDMV/PGS").

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

        * mmg: bug fix: On Windows 2000/XP the 'add/append file' dialog
        was not showing files with certain extensions (e.g. ".srt" or
        ".mp4") if the option "all supported media files" was
        selected. Fix for bug 448.

2009-12-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v3.0.0 "Hang Up Your Hang-Ups".

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

        * mkvpropedit, mmg: bug fix: Editing headers of files created by
        HandBrake would cause crashes and/or corrupted files after
        saving. Fix for bug 445.

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

        * Released v2.9.9 "Tutu".

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

        * mkvmerge: bug fix: Fixed the subtitle track selection for AVI
        files.

2009-08-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: A single '+' causes the next file to be
        appended just like putting the '+' in front of the file name.

2009-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The integrated help ('--help') contained
        wrong information about the '--sync' option. Fix for bug 435.

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 "C'est le bon".

        * mmg: bug fix: The inputs for time code 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-31  Moritz Bunkus  <moritz@bunkus.org>

        * mmg/header editor: enhancement: Implemented a considerable
        speedup in the processing of large files.

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

        * mmg: bug fix: Running mkvmerge on Windows from an installation
        directory with two spaces in the path (e.g. "C:\Program
        Files\Video tools\mkvtolnix") crashed mmg when the user started
        muxing. Fix for bug 419.

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

        * mkvinfo: enhancement: Implemented speed-ups of up to 50% for
        middle to larger files.

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 "Tenderness".

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 time codes 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-22  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: The programs do not try to close iconv handles -1
        anymore which resulted in segfault during uninitialization on some
        platforms (e.g. FreeBSD, Mac OS X). Fix for bug 412.

2009-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Complete rewrite of the code for the native
        storage mode for MPEG4 part 2 video tracks. Fix for bug 298.

2009-06-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Made the detection rules for raw MP3, AC-3 and
        AAC audio files more strict. This avoids a mis-detection of
        certain files, e.g. AVC/h.264 ES files being misdetected as MP3
        files. Fix for bug 414.

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 "Tu es le soul".

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 AC-3
        packets with the same time code (e.g. if AC-3 is read from MP4
        files). Fix for bug 403.

2009-05-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an endless loop in the TrueHD code
        occuring when the TrueHD stream is damaged somewhere.

2009-05-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the detection of MPEG transport streams
        with other packet sizes than 188 bytes (e.g. 192 and 204 bytes).

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 "Moanin'".

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 time codes
        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-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling MPEG-1/-2
        video in AVI files. Fix for bug 388.

2009-05-11  Moritz Bunkus  <moritz@bunkus.org>

        * all: bug fix: Global variables are deconstructed in a
        pre-defined way no longer causing segfaults when the programs are
        about to exit.

        * mkvmerge: enhancement: Implemented small speedups for some
        common memory operation (affects e.g. the MPEG program stream
        parser).

        * mkvmerge: bug fix: Fixed potential and actual segmentation
        faults occuring when appending VC-1 video tracks, Dirac video
        tracks and DTS audio tracks.

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 "The Tree".

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 AC-3 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 time codes 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-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added "60000/1001" as a pre-defined option to
        the "FPS" drop-down box.

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: Time Codes 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 time code
        and the current frame's time code if a time code 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-14  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.7.0 "Do It Again".

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

2009-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: mkvmerge will now use SimpleBlock elements instead of
        normal BlockGroup elements by default.

2009-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: Added support for the "forced track"
        flag. Fix for bug 128.

        * mmg: bug fix: The header editor and chapter editor will not
        write zero bytes anymore if there's not enough space to write an
        EbmlVoid element when saving to Matroska files.

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

        * mkvmerge, mkvetract: new feature: Added support for TrueHD audio
        (read from raw streams with or without embedded AC-3 frames, MPEG
        program streams).

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 time codes 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-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The MPEG program stream (VOB/EVO) reader was
        sometimes reading the time codes wrong resulting in bad audio/video
        synchronization. Fix for bug 337.

        * Released v2.6.0 "Kelly watch the Stars".

2009-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a header editor for Matroska files.

2009-03-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The "simple" chapter extraction mode (OGM
        style chapter output) outputs strings converted to the system's
        current charset by default now instead of always converting to
        UTF-8. This can be overridden with the "--output-charset" command
        line option. Fix for bug 359.

2009-03-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: QuickTime audio tracks will be stored with
        the CodecID "A_QUICKTIME". The CodecPrivate element contains the
        full "STSD" element from the QuickTime file (just like
        V_QUICKTIME). This method is used for all audio tracks which don't
        have a well-defined storage spec for Matroska (e.g. AAC, AC-3,
        MP2/3 are still stored as A_AC3, A_AAC etc). Hopefully a fix for
        bugs 354 and 357.

        * mkvmerge: bug fix: The CodecPrivate element for QuickTime video
        tracks like Sorenson Video Codecs contained wrong data. Fix for
        bug 355.

        * all: Added a Japanese translation by Hiroki Taniura (see
        AUTHORS).

2009-03-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed detection of little endian PCM tracks
        in MOV files. Fix for bug 356.

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 "Boogie".

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 "Stranger in your Soul".

        * 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 "He Wasn't There".

        * 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 "Back To The Start".

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

        * mmg: bug fix: It was possible to crash mmg by clicking onto the
        root element in the chapter editor.

2009-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: During time code extraction mkvextract wrote
        large time codes in scientific notation.

2009-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.2 "Oh My God".

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
        time codes of the second and all following subtitle files were
        based on the last time code in the first subtitle file instead of
        the last time code 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-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: enhancement: Implemented MIME type detection for
        attachments with libmagic on Windows.

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

        * mkvmerge: enhancement: Decreased the time mkvmerge needs for
        parsing Quicktime/MP4 header fields.

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

        * mkvmerge: bug fix: Fixed a crash (segfault) with MPEG-4 part 2
        video if "--engage native_mpeg4" is used. Fix for bug 318.

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

        * mkvmerge: new feature: Added support for reading the pixel
        aspect ratio from Theora video tracks.

2008-12-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.1 "Use Me".

        * Build system: bug fix: Configure does not use "uname -m" for the
        detection of the Boost libraries anymore but configure's "$target"
        environment variable. This fixes the Boost detection for cross
        compilation builds. Fix for bug 311. Patch by Dominik Mierzejewski
        (see AUTHORS).

2008-12-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: PCM audio tracks bigger than approximately 8
        GB were cut off after approximately 8 GB.

2008-12-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge recognizes SRT subtitle files with
        time codes that contain spaces between the colons and the digits
        and time codes whose numbers are not exactly two or three digits
        long.

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

        * mmg: bug fix: mmg processes window events much more often during
        muxing.

        * all: Updated the language code list from the offical ISO 639-2
        standard.

2008-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Split time codes with more than three decimals were
        not allowed even though the docs say that they are. They are now,
        as mkvmerge supports such time codes.

2008-11-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed the way mkvmerge calculates the
        time codes 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 time code lines do not have spaces around the arrow between
        the start and end time codes.

2008-10-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Matroska elements with binary data were
        output as garbage in XML files.

2008-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.4.0 "Fumbling Towards Ecstasy".

        * mmg: bug fix: The chapter editor's function "save to Matroska
        file" was corrupting the target file in some cases. Fix for bug
        307.

2008-10-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge was only writing one reference block
        for real B frames. Patch by Daniel Glöckner. Fix for bug 306.

        * all: bug fix: The Windows uninstaller was not removing all start
        menu entries during uninstallation on Windows Vista. The installer
        now creates the start menu entries for all users instead of the
        current user only. Fix for bug 305.

2008-10-05  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "language" drop down box contained some
        entries twice or more. Fix for bug 304.

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

        * mkvmerge: enhancement: mkvmerge will use the time codes provided
        by the MPEG program stream source file for VC-1 video tracks.

2008-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading EVOBs with multiple VC-1 video tracks
        was broken (all packets where put into a single video track).

2008-09-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for handling SimpleBlocks
        for time code extraction.

2008-09-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Reading raw (E)AC-3 files bigger than 2 GB was
        broken.

        * mkvmerge: new feature: Added support for Dirac video tracks.

2008-09-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Improved the detection of MPEG-1/-2 and
        AVC/h.264 video tracks in MPEG program streams (VOBs/EVOBs).

        * mkvmerge: bug fix: Fixed reading DTS audio tracks from MPEG
        program streams (VOBs/EVOBs).

2008-09-19  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added the extensions "evo", "evob" and "vob"
        to mmg's "add file" dialog.

2008-09-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for muxing VC-1 video tracks
        read from MPEG program streams (EVOBs) or raw VC-1 elementary
        streams (e.g. as produced by EVODemux).

2008-09-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for 7.1 channel E-AC-3
        files. Fix for bug 301.

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 AC-3 audio
        tracks in AVI files. The time codes of such tracks are now delayed
        appropriately again. Fix for bug 300.

2008-09-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Unknown stream types in Ogg files
        (e.g. skeleton tracks) don't cause mkvmerge to abort
        anymore. They're simply ignored. Fix for bug 299.

        * mkvextract: new feature: Added support for extracting Theora
        video tracks into Ogg files. Fix for bug 298.

        * mkvmerge: bug fix: Fixed the frame type (key or non-key frame)
        detection for Theora tracks.

2008-09-08  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: all: On Unix/Linux rpath linker flags have been
        removed again (they were actually removed before the release of
        v2.3.0).

2008-09-07  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.3.0 "Freak U".

2008-09-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: improved the time code calculation for MP3
        tracks read from MP4 files. Another part of the fix for bug 165.

2008-09-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge honors the time code offsets of all
        streams in a MPEG program stream (e.g. VOB file) fixing
        audio/video desynchronization. Fix for bug 295.

2008-08-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Switched from the PCRE regular expression library to
        Boost's RegEx library.

2008-08-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: DTS-in-WAV handling (14 to 16 bit expansion)
        was flawed. Fix for bug 288.

        * mkvmerge: new feature: Added support for Vorbis in AVI (format
        tag 0x566f). Fix for bug 271.

        * mkvmerge: new feature: Added support for PCM tracks with
        floating point numbers (CodecID A_PCM/FLOAT/IEEE). Patch by
        Aurelien Jacobs (see AUTHORS).

2008-08-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The fix to the time code 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 time codes 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-08-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: mmg outputs a more informative error
        message for known but unsupported input file types (e.g. ASF, FLV,
        MPEG TS) instead of the cryptic "file identification failed".

        * mkvmerge: bug fix: The VobSub reader would sometimes read too
        many bytes for a single SPU packet. Part of a fix for bug 245.

2008-05-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using BZIP2 compression resulted in broken
        streams. Patch by Aurelien Jacobs (see AUTHORS).

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).

2008-05-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Certain Matroska files with dis-continuous
        streams (e.g. subtitles) caused huge memory consumption. Fix for
        bug 281.

2008-04-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will output a proper error message
        if it is called with ASF/WMV files instead of detecting other
        kinds of streams (e.g. AVC ES streams). Fix for bug 280.

2008-04-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an assertion in the OGM reader occuring
        for OGM files with embedded chapters. Fix for bug 279.

        * mkvmerge: all: On Unix/Linux rpath linker flags are added for
        library paths given in LDFLAGS and configure's "--with-extra-libs"
        options.

2008-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed wrong time codes for MP4 files that
        contain video tracks with B frames and edit lists. Fix for bug
        277. Patch by Damiano Galassi (see AUTHORS).

2008-04-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will not strip leading spaces in
        SRT subtitles anymore.

        * mkvmerge: bug fix: Tuned the file type detection for MPEG ES
        streams. Fix for bug 265.

2008-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed writing to UNC paths on Windows. Fix
        for bug 275.

2008-03-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for skipping ID3 tags in
        AAC and AC-3 files. Fix for bug 204.

        * mkvmerge: new feature: Added support for DTS-HD (both "master
        audio" and "high resolution").

2008-03-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.2.0 "Turn It On Again".

2008-02-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling AC-3 in WAV in
        ACM mode.

2008-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading AC-3 from
        QuickTime/MP4 files. Fix for bug 254.

2008-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for handling AC-3 in WAV in
        IEC 61937 compatible streams (aka SPDIF mode).

        * mkvmerge: new feature: Added support for WAV files with multiple
        data chunks.

        * mkvmerge: bug fix: Fixed a cause for the error message "no data
        chunk found" by fixing the skipping of 'fmt ' chunks.

2008-02-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for AAC-in-AVI with CodecID
        0x706d as created by mencoder. Fix for bug 266.

2008-02-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Rewrote the OGM reader code. Another part of
        a fix for bug 267.

2007-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Rewrote the time code application
        code. Additionally force the "previous cluster time codes" that
        libmatroska uses to the current time code. This seems to get rid of
        libmatroska's assertions about the local time code 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-12-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: OGM files with non-Theora video tracks caused
        mkvmerge to fail since 2.1.0, or the resulting file was
        unplayable. Fix for bug 267.

2007-10-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Accept other Theora header versions than
        3.2.0 as long as the major version is 3 and the minor 2. Fix for
        bug 262.

2007-09-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: MPEG PS reader: Fixed the resyncing mechanism
        during normal reads. Another fix for bug 259.

        * mkvmerge: bug fix: MPEG PS reader: mkvmerge tries to resync to
        the next MPEG start code in case of error during stream
        detection. Fix for bug 259.

2007-08-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: SVQ1 video tracks read from QuickTime files are output
        as V_MS/VFW/FOURCC tracks and not as V_QUICKTIME tracks. Fix for
        bug 257.

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
        time code 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 "Another Place To Fall".

2007-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Added support for reading MP2 audio
        tracks from OGM files. Patch by Mihail Zenkov (see AUTHORS).

2007-08-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: enhancement: Added support for extracting Dolby
        Digital Plus (E-AC-3) tracks.

        * mkvmerge: bug fix: SPS and PPS NALUs are no longer removed from
        AVC/h.264 streams. Hopefully a fix for bug 231.

2007-07-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: Fixed SSA/ASS detection for files
        produced by Aegis Sub which doesn't include a line with '[script
        info]' in the file.

2007-07-07  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added another option how mmg choses the
        directory if automatic output filename creation is on. Implements
        all suggestions as listed in bug 248.

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

        * mkvmerge: bug fixes: Fixed a couple of memory leaks.

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

        * mkvmerge: enhancement: Added support for RealAudio v3 in
        RealMedia files. Patch by Aurelian Jacobs. Fix for bug 246.

2007-06-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Moved the command line to a separate dialog and reduced the
        main window's height.

2007-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Another bug fix for handling various AC-3 and
        E-AC-3 files in MPEG program streams.

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

        * mkvmerge: bug fix: Fixed the VobSub reader so that "delay:"
        lines with negative time codes are accepted. Fix for bug 241.

2007-04-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Improved the file type detection code for
        MPEG transport streams.

2007-03-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a problem reading normal AC-3 tracks
        from MPEG program streams.

2007-03-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed an issue with negative/huge time codes
        after splitting AVC/h.264 video.

2007-03-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: enhancement: The SRT reader allows "." as the decimal
        separator as well as ",".

2007-03-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a problem with concatenating more than
        two subtitle files.

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

        * mkvmerge: new feature: Added support for E-AC-3 tracks in MPEG
        program streams.

        * mkvmerge: new feature: Added support for E-AC-3/DD+ (Dolby Digital
        Plus) files and tracks (raw E-AC-3 files or inside Matroska with
        CodecID A_EAC-3).

2007-02-21  Moritz Bunkus  <moritz@bunkus.org>

        * Released v2.0.2 "You're My Flame".

2007-02-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Reintroduced the "--engage allow_avc_in_vfw_mode"
        hack.

2007-02-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed suppoert for DTS-in-WAV files which
        are encoded with 14 bits per word.

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

        * mkvmerge: bug fix: Fixed the wrong "default duration" if the
        user used "--default-duration ...23.976fps".

2007-01-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The AVC/h.264 ES reader was losing frames if
        the file size was an exact multiple of 1048576 bytes.

        * mkvmerge: bug fix: The AVC/h.264 ES packetizer produced invalid
        CodecPrivate data if the AVCC did not contain the aspect ratio
        information. Fix for Bugzilla bug #225.

        * mkvmerge: bug fix: The Matroska reader passes the correct track
        number down to the AVC/h.264 ES packetizer in the case of "AVC
        in Matroska stored in VfW mode".

        * mkvmerge: bug fix: Fixed a crash (segmentation fault) in the
        AVC/h.264 ES handling code.

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 "After The Rain Has Fallen".

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.

2007-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed wrong NALU size
        length information in the AVCC.

        * mkvmerge: bug fix: AVC/h.264 ES parser: Fixed the decision if a
        NALU belongs to a previous frame or starts a new one.

2007-01-04  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: Added an input for the new "NALU size length"
        parameter.

        * mkvmerge: bug fix: The NALU size length can be overridden for
        AVC/h.264 elementary streams. It defaults to 2 which might not be
        enough for larger frames/slices.

2007-01-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Support for AVC/h.264 elementary streams with
        short markers (0x00 0x00 0x01 instead of 0x00 0x00 0x00 0x01).

        * mkvmerge: Removed the "--engage allow_avc_in_vfw_mode" hack.

        * mkvmerge: enhancement: Added "x264" to the list of recognized
        FourCCs for AVC/h.264 video in AVI and Matroska files.

        * mkvmerge: new feature: Added support for proper muxing of
        AVC/h.264 tracks in Matroska files that were stored in the MS
        compatibility mode (CodecID V_MS/VFW/FOURCC instead of
        V_MPEG4/ISO/AVC).

        * mkvmerge: bug fix: Fixed invalid memory access in the AVC ES
        parser.

2007-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for proper muxing of
        AVC/h.264 tracks in AVI files.

2007-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading AVC/h.264
        elementary streams.

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

        * mkvmerge: bug fix: mkvmerge would not write frame durations if
        "--engage use_simpleblock" was used resulting in unplayable and
        unextractable subtitle tracks.

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 "Little By Little".

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

        * mkvmerge: bug fix: Quicktime/MP4 files with AVC video tracks and
        missing CTTS atoms caused mkvmerge to crash after the recent
        changes to the Quicktime/MP4 time code handling.

        * mkvmerge: bug fix: Fixed a segfault if the file specified with
        "--attach-file" does not exist. Bugfix for Anthill bug 213 and
        Debian bug 393984.

        * mmg: bug fix: Fixed a crash on loading XML chapters after having
        saved XML chapters.

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 "Wise Up".

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

        * mkvmerge: new feature: Added support for the "stereo mode"
        flag 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 time codes 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-10-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for API changes in the upcoming FLAC
        library v1.1.3. Patch by Josh Coalson (see AUTHORS).

2006-09-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed the random number generation on
        Windows. On Windows 9x/ME mkvmerge would simply hang. On newer
        versions the function was accessing invalid memory and was
        generally buggy.

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 time codes 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-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "stretch" input box was not accepting the same
        syntax that mkvmerge's "--sync" parameter accepts.

        * mkvmerge: bug fix: PCM audio data with 4 bits per Sample caused
        mkvmerge to allocate all available memory. Patch by Robert Millan
        (see AUTHORS).

2006-06-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Mixed up two tool tips on the "settings" tab.

2006-06-02  Moritz Bunkus  <moritz@bunkus.org>

        * Build system: bug fix: Moved some @...@ style variables from
        configure.in to Makefile.in where they belong (very recent
        autoconf versions were choking on those).

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

        * mkvmerge: bug fix: mkvmerge will no longer create empty files
        (meaning neither input files nor things like chapters etc have
        been added).

2006-04-28  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.7.0 "What Do You Take Me For".

        * mkvmerge: enhancement: Added support for MIME type detection via
        libmagic (patch by Robert Millan with heavy modifications by
        myself).

2006-04-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Theora headers were not handled correctly.

2006-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The WavPack reader was broken on 64bit
        systems (e.g. AMD64).

2006-03-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Theora time code handling was broken, and
        Ogg/Theora files were not identified correctly (they showed up as
        "unknown" in mmg).

2006-02-27  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: enhancement: The 'adjust time codes' function accepts
        time codes 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-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Muxing wasn't working Windows 9x/ME because
        mkvmerge was trying to use Unicode file access functions when
        determining which directories to create. Fixes Anthill bug #177.

2006-01-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the "Delay:" feature
        and for negative time codes 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 "Watcher of the Skies".

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 time codes the
        time codes were only used for the first track in a chain of
        tracks. This has been changed so that you must specify only one
        time code file in such cases (e.g. "mkvmerge ... --time codes
        0:my_time codes.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-11-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge will now refuse to append AVC/h.264
        video tracks whose codec initialization data blocks do not
        match. Invalidates Anthill bug #163.

2005-11-12  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a crash If the granulepos (the
        time codes) reset in the middle of an Ogg/OGM file. Fixes Anthill
        bug #166.

        * mkvmerge: bug fix: Fixed a division-by-zero error in the
        RealMedia demuxer. Fixes Anthill bug #161.

        * mkvmerge: bug fix: Fixed a couple of potential (and actual)
        segmentation faults by accessing invalid memory addresses. Initial
        patch for the VobSub reader by Issa on Doom9's forum.

2005-11-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mmg: new feature: The names of attached files can be
        set with a new option --attachment-name or on mmg's "Attachments"
        page.

2005-11-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed another bug when appending AVC/h.264
        tracks that would mkvmerge cause to die with "bref_packet ==
        NULL". Fixes Anthill bug #160.

2005-11-01  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: When the user saved the muxing output in a log
        file that file didn't use Windows line endings (CR LF) on
        Windows.

        * mmg: bug fix: Appending tracks was broken because the track
        numbers in the command line were incorrect. Fixes Anthill bug
        #160.

2005-10-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for Ogg/Theora.

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 "Ist das so".

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

        * mkvextract: bug fix: Extra codec data wasn't written to AVI
        files if it was present (e.g. for the HuffYuv codec). Fixes bug
        157.

        * mkvmerge: bug fix: mkvmerge was choking on AVIs with a single
        frame inside. Fixes bug 156.

2005-09-30  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Changed how AVC video frames are
        referenced. This is not ideal yet, but at least references are
        kept intact when reading AVC from Matroska files. Should fix bug
        154.

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

        * mkvmerge: bug fix: Appending files with RealVideo was
        broken.

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 "Breathe Me".

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

        * mkvinfo: bug fix: The GUI couldn't open files with non-ASCII
        chars in the file name.

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

        * mkvextract: bug fix: The extracted time codes were wrong for
        blocks with laced frames.

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:
        time codes 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 "Another White Dash".

        * mkvtoolnix: Disabled storing AVC/h.264 video tracks in VfW mode.

2005-08-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvtoolnix: bug fix: On Windows the command line output was
        terminated with CR CR NL instead of just CR NL.

2005-08-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Quicktime/MP4 reader wasn't skipping
        unknown elements correctly.

2005-08-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added a new extraction mode for
        outputting time codes in a time code v2 format file. It is called
        "time code_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 time code
        files and video tracks with B frames was not working as
        intended. The user had to order the time codes in the time code file
        just like the frames were ordered (meaning the time codes 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-08-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added support for extracting h.264 /
        AVC tracks into proper h.264 ES streams supported by
        e.g. MP4Box. Patch by Matt Rice (see AUTHORS).

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 "It's alright, Baby".

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 time codes" 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 time code is used as the name instead of
        aborting.

2005-06-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added splitting after specific
        time codes.

2005-06-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge, mkvinfo, mkvextract: bug fix: Inifite sized segments
        were not handled correctly.

2005-05-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On Windows mmg could be crashed by adding a file
        and clicking into the empty space in the "track" selection
        box. Fixes Anthill bug 133.

        * mkvextract: new feature: Implemented the extraction of USF
        subtitles.

        * mkvmerge: new feature: Implemented the muxing of USF subtitles.

2005-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The MPEG packets are now padded to 2048
        byte boundaries as some programs require them to be. Patch by
        Mike Matsnev (see AUTHORS).

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 (\r\n 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-05-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for the ChapterSegmentUID
        element.

2005-04-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Support WAV files that use other RIFF chunks
        than the usual "fmt " followed by "data".

2005-04-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Remuxing MPEG1/2 tracks resulted in a failing
        "assert(0)".

2005-04-16  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.4.2 "Jimi Thing".

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

        * all: bug fix: My output functions did not work on AMD64
        systems. Fixes Anthill bug 120.

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 time codes 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 time codes 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-19  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The track numbers were assigned wrongly when
        appending tracks (this is more or less cosmetic).

        * mkvmerge: bug fix: Splitting by time was broken for audio-only
        files. Fixes Anthill bug 112.

        * mkvmerge: bug fix: The --fourcc switch was not working.

2005-03-16  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Tracks that were not selected on saving the
        settings file were selected after loading a settings file.

2005-03-15  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.4.1 "Cherry Lips".

2005-03-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: AC-3 detection was broken in rare cases.

2005-03-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: If the TEMP environment variable contains spaces
        then the calls to mkvmerge when adding files failed.

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 "Cornflake Girl".

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

        * mkvextract: new feature: Added VobSub extraction based on Mike
        Matsnev's code.

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 "Elephant's Foot".

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

        * mkvmerge: bug fix: Empty video frames in AVIs right at the
        beginning were breaking the MPEG-4 aspect ratio extraction and
        caused problems in other parts, too.

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.

2005-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: mkvmerge did not accept XML chapter files
        created with older mkvtoolnix versions due to deprecated chapter
        elements. Such elements are now skipped.

        * mkvmerge: new feature: Added some more possible formats for
        binary data in XML files besides Base64 encoded data: hex encoded
        and ASCII "encoded".

2005-01-20  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The "stretch" input box tooltip was wrong. The
        resulting command line was broken, too.

2005-01-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Hex values accept more formats (like
        optional white space between numbers or the "0x" prefix).

2005-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the AVC/h.264 time code handling to include the
        time code offsets from the CTTS atom.

2005-01-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Reformatted the HTML guide and updated the screenshots. It
        should be more readable for those whose desktop is not 1200 pixels
        wide.

2005-01-08  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Made the mkvmerge GUI guide available by
        pressing F1 or selecting "Help" from the "Help" menu.

2005-01-07  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: ASS/SSA extraction was broken in some rare
        cases.

2005-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added support for mkvmerge's new "appending
        tracks" feature.

2004-12-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for reading the pixel
        aspect ratio from AVC/h264 video data.

        * mkvmerge: new feature: Added AVC/h264 muxing from MP4.

2004-12-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added a MPEG PS demuxer.

        * mkvinfo: new feature: Added a couple new elements (silent
        tracks). Patch by Steve Lhomme (see AUTHORS).

2004-12-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added WAVPACK4 extraction. Patch by
        Steve Lhomme (see AUTHORS).

2004-12-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added WAVPACK4 muxing. Patch by Steve
        Lhomme (see AUTHORS).

        * mmg: bug fix: Again the window handling. Hopefully this is
        better than the other attempts.

2004-12-17  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added VobButton muxing. Patch by Steve
        Lhomme (see AUTHORS).

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

        * Released v1.0.1 "October Road".

2004-12-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Fixed some layout issues with wxWidgets 2.5.3 and newer.

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 time code 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-20  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Fixed a buffer overflow in the UTF-8 file
        reading routines.

2004-11-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Implemented concatenating files with chapters.

        * mkvmerge: Changed the "progress" output. It's now correct for
        file concatenation, too.

2004-11-17  Moritz Bunkus  <moritz@bunkus.org>

        * Released v1.0 "Soul Food To Go".

        * 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 time code 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: Time Codes 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 time code files. This
        also fixes bug 99: The durations for the individual tracks were
        not correct for those tracks for which --time codes 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 "Every Little Kiss".

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

        * mkvmerge: bug fix: The charset was not set correctly on Solaris.

        * mkvmerge: bug fix: mkvmerge crashed when reading Matroska files
        that contain an empty tag list.

2004-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some Matroska files that e.g. have had their
        time codes offset with the Matroska Stream Editor or other means
        may contain time codes that caused mkvmerge to print a warning
        about "time code < last_time code". A new fix implements a
        workaround and a warning message with a proper explanation for
        this case.

2004-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Older Matroska files containing chapters
        caused mkvmerge to abort muxing.

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 "time code < previous time code" 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 time codes correctly. Those can occur when the time code
        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-31  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added support for MP2 (and maybe MP3)
        audio in MP4 containers.

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 "The Na Na Song".

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

        * mkvmerge, mkvextract, mmg: Changes to the chapter
        handling. EditionUIDs are always created. mkvextract outputs
        EditionUIDs and ChapterUIDs normally. mkvmerge tries to keep
        EditionUIDs and ChapterUIDs but replaces them if they aren't
        unique.

2004-08-13  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'down' button on the 'input' tab was not
        working correctly in all cases.

2004-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo, mmg: bug fix: Fixed compilation with Unicode enabled
        versions of wxWidgets.

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

        * mkvmerge: new feature: Implemented sample-precision for
        timestamps and durations on audio only files.

        * mkvextract: bug fix: The CUE extraction wrote UTF-8 characters
        but no UTF-8 BOM (byte order marker) at the beginning.

        * mkvmerge: bug fix: Handle TTA files with ID3 tags correctly ( =
        skip the ID3 tags).

        * mkvmerge: bug fix: There was an illegal free() in the OGM
        reader.

2004-07-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: The subtitle track extraction used the wrong
        duration in 0.9.4.

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

        * mkvmerge: bug fix: Broken VobSub .idx files which contain
        timestamps going backwards no longer crash mkvmerge. A warning
        will be printed for such inconsistencies.

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

        * mkvmerge: bug fix: The CUE sheet parser interpreted a timestamp
        as HH:MM:SS (hours, minutes, seconds). The correct spec is
        HH:MM:FF (hours, minutes, frames with 1 frame = 1/75 second).

        * Released v0.9.3.

        * mmg: bug fix: The 'default track' checkbox was broken.

2004-07-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using '--cues ...:all' was broken for audio
        tracks that use lacing.

2004-07-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The latest OpenDML AVI files generated by
        mencoder were not read correctly. Only the first RIFF chunk was
        processed.

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

        * Released v0.9.2.

        * mmg: Updated the mkvmerge GUI guide to reflect changes and
        additions.

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-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Video extraction was not working correctly
        on big endian systems.

2004-06-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The job manager did not always catch all of
        mkvmerge's output, especially if a job failed.

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 time code for the
        whole block). mkvmerge did not recreate the time codes 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-04  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The OGM fix in 0.9.0 broke handling for
        non-broken OGM files a bit.

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

        * mkvmerge: new feature: Enabled reading MPEG4 video from MP4
        files (nope, they're not stored in Matroska's native mode yet).

2004-05-31  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.9.0.

        * mkvmerge: bug fix: Improved handling for OGM files. Streams that
        are lacking the comment packet are handled better.

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

        * mkvmerge: Rewrite of the VobSub handling code.

2004-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The chapter editor did not honor the values
        selected for 'country' and 'language'.

2004-05-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Audio sync for Vorbis was partially broken
        for positive offsets.

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

        * mkvinfo/mmg: Enabled compilation with wxWidgets 2.5 and Unicode
        enabled builds of wxWidgets.

2004-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * all: Increased the precision for time codes in chapter files to
        nanoseconds (optionally, you can still use fewer digits after the
        '.').

2004-04-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Fixes for compilation with gcc 3.4.

2004-04-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Some strings read from RealMedia files were
        not zero-terminated resulting in broken track recognition for some
        files.

2004-04-23  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.8.

        * mkvtoolnix now depends on libebml 0.7.0 and libmatroska 0.7.0.

2004-04-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: bug fix: mkvinfo was forcing libmatroska not to handle
        unknown elements and crashed on those.

2004-04-15  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: When adding Matroska files the video track's
        display dimensions are displayed as well.

2004-04-13  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Implemented reading AAC from AVIs.

2004-04-11  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The Flac packetizer was accessing
        uninitialized memory resulting in a crash on Windows.

        * avilib: bug fix: Fixed compilation on big endian systems.

        * mkvmerge: bug fix: Fixed the handling of RealMedia files with
        'multirate' tracks (again).

2004-04-09  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: On some rare occasions chapters were not
        written correctly when splitting was active.

2004-04-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: On non-Windows systems some combinations of
        wxWindows and GTK caused continuous 100% CPU usage after a special
        call to wxExecute.

2004-04-05  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.7.

2004-04-03  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: new feature: Added a terse output format via '-s'.

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-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Using audio sync on AC-3 tracks read from
        Matroska files did not work.

2004-03-21  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Added extraction of RealAudio and
        RealVideo tracks to RealMedia files.

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

        * Released v0.8.6.

        * mkvmerge: bug fix: OGMs created by Cyrius OGMuxer are missing
        comment packets for some streams which mkvmerge choked on.

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

        * mmg: new feature: mmg will ask for confirmation before
        overwriting an existing output file.

2004-02-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: No memory was allocated for the
        --attachment-description resulting in weird descriptions or
        mkvmerge aborting with 'invalid UTF-8 characters'.

        * mkvmerge: bug fix: More of the non-ASCII characters fixes.

2004-02-28  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: File names with non-ASCII characters like
        Umlaute are handled correctly.

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
        time codes by a fixed amount.

2004-02-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting by size would sometimes abort
        directly after opening the second file.

2004-02-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Splitting by time was broken.

2004-02-12  Moritz Bunkus  <moritz@bunkus.org>

        * all: A couple of changes that allow compilation on MacOS X.

        * avilib: synchronized with transcode's current CVS version.

2004-02-11  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.4.

        * mkvmerge: bug fix: When reading Matroska files the durations
        attached to blocks were lost (e.g. for subtitle tracks).

2004-02-09  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.3.

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

        * mkvmerge: bug fix: VobSub durations were not converted from ms
        to ns precision resulting in VERY short packets :)

2004-02-01  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The change from ms to ns precision broke
        subtitle handling from OGM.

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

        * mkvmerge: bug fix: Segfault when using external time code v1
        files.

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

        * mkvmerge: bug fix: The AAC-in-Real stuff again.

2004-01-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Changed the complete time code handling from ms
        precision to ns precision. Expect some things to be broken by
        this change.

        * mkvmerge: bug fix: Fixed a couple of memory leaks, especially in
        the QuickTime/MP4 parser.

2004-01-21  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: Added some more extensions for RealMedia files.

        * mkvmerge: bug fix: Proper handling for AAC read from RealMedia
        files (sample rate/output sample rate were not assigned
        correctly).

        * Released v0.8.2.

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 time code 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
        https://mkvtoolnix.download/ 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
        time code 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-06  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.1.

2004-01-05  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The I/O classes were not initialized
        correctly on Windows resulting in spontaneous strange error
        messages, especially when muxing VobSubs.

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.

2004-01-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Segfault when muxing some video formats due
        to unchecked data (includes RealVideo).

2004-01-01  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.8.0.

2003-12-29  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Fixed the "write chapters to Matroska file"
        feature.

        * mmg: bug fix: Made mmg not abort but only display an error
        message when malformed XML chapter files should be loaded.

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-22  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: bug fix: Wrong display output and illegal memory
        access when extracting FLAC files.

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

        * mmg: bug fix: The language combo box was not correctly set on
        Windows.

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

        * mkvmerge: Added an option for dumpig all split points including
        file size and timestamp information after the first splitting
        pass.

2003-11-23  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Quotes were missing if the time code file's name
        contained spaces.

2003-11-18  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Rewrote the SPU packet parsing code. It should not
        abort anymore.

        * everything: Committed a lot of cross-OS compatibility fixes
        (thanks to Haali and thedj).

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 'time codes' 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 AC-3 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 time code reader code and made it a bit more
        flexible. Added more documentation for this feature along with an
        example file (examples/example-time codes.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 time code 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-27  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Added the ability to read time codes from
        text files which override the time codes mkvmerge calculates
        normally.

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

        * mkvmerge: Changes to use libmatroska's new lacing code.

2003-10-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: The VobSub .idx parser was mis-calculating
        the subtitle entry frame sizes.

        * mkvmerge: bug fix: The Vorbis packetizer was miscalculating the
        number of samples to add/remove when using audio sync.

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

        * mkvinfo: new feature: Dump unknown elements recursively.

2003-10-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: Made the SRT reader more tolerant regarding
        empty lines.

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
        time codes that were calculated incorrectly.

        * mkvmerge: Implemented some speedups for a couple of container
        formats and track types (mainly AVI reader, MP3/AC-3/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-11  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: The 'abort' button was doing nothing under
        Windows.

2003-10-06  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: bug fix: Audio, video and subtitle track selection was
        translated into the wrong command line options.

        * mkvmerge: Replaced the avilib based AVI reading functions with
        AVI classes from Cyrius.

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 time code 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-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: new feature: Attachments are kept when reading
        Matroska files.

2003-09-28  Moritz Bunkus  <moritz@bunkus.org>

        * mmg: new feature: Added a (nearly) full-featured chapter editor.

2003-09-26  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix: XML chapters were not parsed correctly.

2003-09-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: bug fix/new feature: Rewrote the complete MP3
        handling. Now files with ID3 tags (both v1 and v2) are handled
        correctly. All MPEG-1 audio files (all layers) should be handled
        correctly now.

2003-09-23  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: new feature: Support for extract HE-AAC tracks to
        .aac files. Bug fix: Missing elements (default values) are handled
        correctly for audio tracks.

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

        * mkvmerge: Added a QuickTime/MP4 reader. Can handle several
        QuickTime video and QuickTime audio formats as well as AAC (both
        'normal' AAC and SBR AAC).

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
        time codes. 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
        &amp;, &lt, &gt; and &quot;.

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

        * mkvinfo: Added support for the following elements:
        KaxPrevFilename, KaxNextFilename, KaxTrackFlagEnabled,
        KaxTrackName, KaxCodecName, KaxCodecSettings, KaxCodecInfoURL,
        KaxCodecDownloadURL, KaxCodecDecodeAll, KaxTrackOverlay,
        KaxAudioPosition, KaxAudioOutputSamplingFreq, KaxVideoDisplayUnit,
        KaxVideoColourSpace, KaxVideoGamma, KaxVideoFlagInterlaced,
        KaxVideoStereoMode, KaxVideoAspectRatio, KaxClusterPosition,
        KaxClusterPrevSize, KaxBlockVirtual, KaxBlockAdditions,
        KaxBlockMore, KaxBlockAddID, KaxBlockAdditional,
        KaxReferenceVirtual, KaxSliceBlockAddID, KaxChapters,
        KaxEditionEntry, KaxChapterAtom, KaxChapterUID,
        KaxChapterTimeStart, KaxChapterTimeEnd, KaxChapterTrack,
        KaxChapterTrackNumber, KaxChapterDisplay, KaxChapterString,
        KaxChapterLanguage, KaxChapterCountry

2003-08-20  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.3.

        * mkvmerge: The Real reader accepts incomplete video packets and
        tries to re-assemble them instead of aborting with 'die: len !=
        total'.

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 AC-3 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 AC-3 and is
        being treated as such (re-swapped and output as AC-3).

        * mkvmerge: Fixed a bug with chapters and splitting which would
        crash mkvmerge if no chapter belonged into the output file.

2003-08-06  Moritz Bunkus  <moritz@bunkus.org>

        * Changes for compilation with gcc 2.95.

2003-08-04  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.6.0.

2003-07-30  Moritz Bunkus  <moritz@bunkus.org>

        * base64tool: Added a tool for Base64 encoding/decoding needed for
        binary elements in the tags.

2003-07-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvextract: Support for extracting chapter information.

        * mkvmerge: Added support for simple chapter files (CHAPTER01=...,
        CHAPTER01NAME=Hello World etc).

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-16  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for UTF-8 and UTF-16 encoded text files
        for the SRT and SSA/ASS readers.

2003-07-15  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: The SSA/ASS reader ignored the --sub-charset option
        and always used the current charset to recode the subtitles.

2003-07-14  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Added support for attaching files to the output
        file(s).

        * mkvinfo: Support for the elements dealing with attachments
        (KaxAttachments, KaxAttached, KaxFileDescription, KaxFileName,
        KaxMimeType, KaxFileData).

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

        * Added a RealMedia demuxer that can handle both RealVideo and
        RealAudio (all codecs).

2003-07-02  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Added support for allmost all tags (totally untested):
        KaxTag KaxTagArchivalLocation KaxTagAudioEncryption
        KaxTagAudioGain KaxTagAudioGenre KaxTagAudioPeak
        KaxTagAudioSpecific KaxTagBibliography KaxTagBPM KaxTagCaptureDPI
        KaxTagCaptureLightness KaxTagCapturePaletteSetting
        KaxTagCaptureSharpness KaxTagChapterUID KaxTagCommercial
        KaxTagCropped KaxTagDate KaxTagDiscTrack KaxTagEncoder
        KaxTagEncodeSettings KaxTagEntity KaxTagEqualisation KaxTagFile
        KaxTagGeneral KaxTagGenres KaxTagIdentifier KaxTagImageSpecific
        KaxTagInitialKey KaxTagKeywords KaxTagLanguage KaxTagLegal
        KaxTagMood KaxTagMultiCommercial KaxTagMultiCommercialAddress
        KaxTagMultiCommercialEmail KaxTagMultiCommercialType
        KaxTagMultiCommercialURL KaxTagMultiDate KaxTagMultiDateDateBegin
        KaxTagMultiDateDateEnd KaxTagMultiDateType KaxTagMultiEntity
        KaxTagMultiEntityAddress KaxTagMultiEntityEmail
        KaxTagMultiEntityName KaxTagMultiEntityType KaxTagMultiEntityURL
        KaxTagMultiIdentifier KaxTagMultiIdentifierBinary
        KaxTagMultiIdentifierString KaxTagMultiIdentifierType
        KaxTagMultiLegal KaxTagMultiLegalAddress KaxTagMultiLegalType
        KaxTagMultiLegalURL KaxTagMultiPrice KaxTagMultiPriceAmount
        KaxTagMultiPriceCurrency KaxTagMultiPricePriceDate
        KaxTagMultiTitle KaxTagMultiTitleAddress KaxTagMultiTitleEdition
        KaxTagMultiTitleEmail KaxTagMultiTitleLanguage
        KaxTagMultiTitleName KaxTagMultiTitleSubTitle KaxTagMultiTitleType
        KaxTagMultiTitleURL KaxTagOfficialAudioFileURL
        KaxTagOfficialAudioSourceURL KaxTagOriginalDimensions
        KaxTagOriginalMediaType KaxTagPlayCounter KaxTagPopularimeter
        KaxTagProduct KaxTagRating KaxTagRecordLocation KaxTags
        KaxTagSetPart KaxTagSource KaxTagSourceForm KaxTagSubGenre
        KaxTagSubject KaxTagTargets KaxTagTitle KaxTagTrackUID
        KaxTagVideoGenre

2003-06-29  Moritz Bunkus  <moritz@bunkus.org>

        * mkvmerge: Support for handling native video tracks (e.g. B
        frames) when reading Matroska files.

        * mkvmerge: Implemented time slice durations , default block
        duration and block durations for slices where necessary.

2003-06-24  Moritz Bunkus  <moritz@bunkus.org>

        * mkvinfo: Support for KaxSegmentFilename, KaxTitle, KaxSlices,
        KaxTimeSlice, KaxSliceLaceNumber, KaxSliceFrameNumber,
        KaxSliceDelay and KaxSliceDuration.

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

        * Support for reading text subtitles from Matroska files.

        * Made the AAC reader automatically recognize if a MPEG4 AAC file
        contains the emphasis header (deprecated) or not (current standard).

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

        * Added an option for identifying input files and their track types.

2003-06-12  Moritz Bunkus  <moritz@bunkus.org>

        * Released v0.4.3.

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

        * A lot of changes to comply with libmatroska/libebml 0.4.4.

2003-06-03  Moritz Bunkus  <moritz@bunkus.org>

        * Implemented stricter content based file type identification for
        MP3 and AC-3 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-22  Moritz Bunkus  <moritz@bunkus.org>

        * Added checks for MP4/Quicktime files which will abort mkvmerge.

        * Support for reading AAC tracks from Matroska files.

        * Released v0.4.0.

2003-05-21  Moritz Bunkus  <moritz@bunkus.org>

        * Some internal changes and enhancements. Code requires libebml
        and libmatroska 0.4.3 now.

2003-05-19  Moritz Bunkus  <moritz@bunkus.org>

        * ADTS headers are stripped from the AAC streams. This is what I'd
        call 'proper AAC support'.

2003-05-18  Moritz Bunkus  <moritz@bunkus.org>

        * Better support for DTS streams in general and for DTS-in-WAV in
        particular (patch by Peter Niemayer <niemayer AT isg.de>).

2003-05-17  Moritz Bunkus  <moritz@bunkus.org>

        * Renamed '--no-utf8-subs' to '--sub-type utf8'. Polished the man
        page regarding subtitle handling.

        * Fixed a bug with mono MP3 files.

        * Added support for AAC files (only those with ADTS headers at the
        moment).

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 AC-3 time code 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-09  Moritz Bunkus  <moritz@bunkus.org>

        * Made mkvtoolnix compile under cygwin.

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.

2003-05-02  Moritz Bunkus  <moritz@bunkus.org>

        * Support for KaxTrackLanguage and ISO639 languages.

2003-04-30  Moritz Bunkus  <moritz@bunkus.org>

        * First public release.
