01-23-2017 , 03:25 PM
# Version 9.8.0 "Kuglblids" 2017-01-22
## Important notes
* build system: the included version of the "drake" build tool has been
removed. Since Ruby 2.1 rake has supported parallel builds, too. The
MKVToolNix build system has been adjusted to enable parallel builds by
default.
## New features and enhancements
* mkvmerge: VobSub in Matroska: mkvmerge will now create and use a default
index for VobSub tracks read from Matroska files that are missing their
CodecPrivate element (which normally contains said index). Implements #1854.
* GUI: added checks for several common problems with the installation. These
checks will be executed when the GUI starts, and any problems will be
reported to the user.
* mkvmerge: added the ISO 639-2 language codes "qaa" and "qad" (both are
titled "reserved for local use") as both are used often in France. See #1848
for more information.
* mkvmerge: the JSON identification result now includes a track's codec delay
if set (only for Matroska source files). The JSON schema version has been
bumped to 6.
* mkvmerge: MPEG TS: added a workaround for files where the subtitle packets
are multiplexed properly, but where their timestamps are way off from the
audio and video timestamps. Implements #1841.
* mkvmerge: added support for Digital Video Broadcasting (DVB) subtitles
(CodecID `S_DVBSUB`). They can be read from MPEG transport streams and from
Matroska files. Implements #1843.
## Bug fixes
* mkvmerge: MP4 reader: when an MP4 file contained fewer entries for
timestamps than frames (which they never should), mkvmerge would use 0 as
the timestamp for all the other frames. This resulted in effects such as the
last frame of an output file having a timestamp of 0 and in split files
having a much longer duration than they should have. Fixes #1847.
* GUI: the cache cleanup process that's run automatically when the GUI starts
no longer blocks file identification until it is finished. Additionally the
process will only be run once per release of MKVToolNix. Fixes #1860.
* GUI: certain failures during file identification that can be traced to
broken installations (e.g. mkvmerge being too old) won't be stored in the
cache anymore. Without this fix the GUI would still use the cached failed
identification result even though the underlying might have already been
fixed.
* mkvmerge: fixed that the error message "not enough space on disk" was shown
twice on some operating systems. Fixes #1850.
* mkvmerge, Matroska: if a codec delay is set for a track in the input file,
it is kept. Fixes #1849.
* GUI: multiplexer: changing default values in the preferences (e.g. the
default track language to set) did not affect files whose identification
results had already been cached.
* mkvmerge, MP4: fixed detection of MP3 audio when the object type ID in the
ESDS signals MP2 and the track headers have invalid values for number of
channels or sampling frequency. Fixes #1844.
## Build system changes
* nlohman json-cpp: configure now looks for a system-wide installed version of
the nlohmann json-cpp header-only library. If one is found, it is used;
otherwise the included version will be used. Implements #1858.
* If MKVToolNix is built with rake v10.0.0 or newer, its "multitask" feature
will be turned on allowing automatic parallel builds.
* CURL is no longer used by MKVToolNix and is therefore not required
for building anymore.
## Other changes
* GUI: the update check now uses Qt's networking classes instead of CURL.
* The command line option "--check-for-updates" has been removed, even
though the deprecation warning in release 9.7.0 stated that it would
be removed in 2018.
## Important notes
* build system: the included version of the "drake" build tool has been
removed. Since Ruby 2.1 rake has supported parallel builds, too. The
MKVToolNix build system has been adjusted to enable parallel builds by
default.
## New features and enhancements
* mkvmerge: VobSub in Matroska: mkvmerge will now create and use a default
index for VobSub tracks read from Matroska files that are missing their
CodecPrivate element (which normally contains said index). Implements #1854.
* GUI: added checks for several common problems with the installation. These
checks will be executed when the GUI starts, and any problems will be
reported to the user.
* mkvmerge: added the ISO 639-2 language codes "qaa" and "qad" (both are
titled "reserved for local use") as both are used often in France. See #1848
for more information.
* mkvmerge: the JSON identification result now includes a track's codec delay
if set (only for Matroska source files). The JSON schema version has been
bumped to 6.
* mkvmerge: MPEG TS: added a workaround for files where the subtitle packets
are multiplexed properly, but where their timestamps are way off from the
audio and video timestamps. Implements #1841.
* mkvmerge: added support for Digital Video Broadcasting (DVB) subtitles
(CodecID `S_DVBSUB`). They can be read from MPEG transport streams and from
Matroska files. Implements #1843.
## Bug fixes
* mkvmerge: MP4 reader: when an MP4 file contained fewer entries for
timestamps than frames (which they never should), mkvmerge would use 0 as
the timestamp for all the other frames. This resulted in effects such as the
last frame of an output file having a timestamp of 0 and in split files
having a much longer duration than they should have. Fixes #1847.
* GUI: the cache cleanup process that's run automatically when the GUI starts
no longer blocks file identification until it is finished. Additionally the
process will only be run once per release of MKVToolNix. Fixes #1860.
* GUI: certain failures during file identification that can be traced to
broken installations (e.g. mkvmerge being too old) won't be stored in the
cache anymore. Without this fix the GUI would still use the cached failed
identification result even though the underlying might have already been
fixed.
* mkvmerge: fixed that the error message "not enough space on disk" was shown
twice on some operating systems. Fixes #1850.
* mkvmerge, Matroska: if a codec delay is set for a track in the input file,
it is kept. Fixes #1849.
* GUI: multiplexer: changing default values in the preferences (e.g. the
default track language to set) did not affect files whose identification
results had already been cached.
* mkvmerge, MP4: fixed detection of MP3 audio when the object type ID in the
ESDS signals MP2 and the track headers have invalid values for number of
channels or sampling frequency. Fixes #1844.
## Build system changes
* nlohman json-cpp: configure now looks for a system-wide installed version of
the nlohmann json-cpp header-only library. If one is found, it is used;
otherwise the included version will be used. Implements #1858.
* If MKVToolNix is built with rake v10.0.0 or newer, its "multitask" feature
will be turned on allowing automatic parallel builds.
* CURL is no longer used by MKVToolNix and is therefore not required
for building anymore.
## Other changes
* GUI: the update check now uses Qt's networking classes instead of CURL.
* The command line option "--check-for-updates" has been removed, even
though the deprecation warning in release 9.7.0 stated that it would
be removed in 2018.