/////////////////////////////////////////////////////////////////
/// getID3() by James Heinrich <
[email protected]> //
// available at http://getid3.sourceforge.net //
// or http://www.getid3.org //
// also https://github.com/JamesHeinrich/getID3 //
/////////////////////////////////////////////////////////////////
// //
// changelog.txt - part of getID3() //
// See readme.txt for more details //
// ///
/////////////////////////////////////////////////////////////////
» denotes a major feature addition/change
¤ denotes a change in the returned structure
! denotes a cry for help from developers
* Bugfix: denotes a fixed bug
Version History
===============
1.9.10: [2015-09-14] James Heinrich
* bugfix (G:49): Declaration of getID3_cached_sqlite3
* bugfix (#1892): extension.cache.mysql
* bugfix (#1891): duplicate default clause [Quicktime]
* bugfix (G:41): incorrect MP3 playtime
* bugfix: iconv problems on musl with //TRANSLIT
* Add arguments to analyze() for original filesize (and filename)
* ID3v2 simplify handling of multiple genres
* Corrected merging of multiple genres for ID3v2
* getid3_lib::GetDataImageSize return false on error
1.9.9: [2014-12-18] James Heinrich
» Added basic support for OggOpus
» Add ID3v2 CHAP + CTOC support
* Add composer autoloader
* bugfix: removed non-printable ASCII in comment
* bugfix: possible memory leak in OggFLAC
* bugfix: sys_get_temp_dir undefined before PHP 5.2.1
* bugfix: improved fix for XXE security issue (CVE-2014-2053)
(thanks nacinØwordpress*org)
* bugfix: G:25 ID3v2 LINK utf8_encode not defined
* bugfix: G:22 ID3v2 TXXX description encoding
* bugfix: #1855 - copy image height/width/etc to comments
* bugfix: #1855 - PHP errors in badly written APE/ID3v2 tags
* bugfix: #1845 - Quicktime parsing with no PHP memory_limit
* bugfix: #1828 - ID3v2 writing unknown frame names
1.9.8: [2014-05-11] James Heinrich
» Add support for AMR (Adaptive Multi-Rate audio codec)
new file: module.audio.amr.php
» Added composer.json, registered on packagist.org
* Added workaround for PHP Bug #39923 (undefined constant IMG_JPG)
* Bugfix: (#1813) avoid running out of memory when parsing large
Quicktime files
* Bugfix: (#1812) potential unwanted high-ASCII characters in errors
* Bugfix: close potential XXE security issue (CVE-2014-2053)
* Bugfix: (G:10) Avoid warnings from realpath() if SAFE MODE is enabled
* Bugfix: (G:12) If [tags] data contains an array of strings then html
encoding did not take place.
* Bugfix: (G:12) IPTC character set not specified
* Bugfix: possible divide by zero error in FLV module
* Bugfix: possible undefined key in ID3v2
* Bugfix: possible undefined key in MPEG video files
* Bugfix: demo.browse to use character set consistently
1.9.7: [2013-07-05] James Heinrich
* Bugfix: [module.audio-video.quicktime.php] track languages set
with 15-bit-encoded ISO639-2 language codes not parsed correctly
* Bugfix: (#1717) QuickTime atom hierarchy broken
* Bugfix: (#1716) truncate MIDI file could cause infinite loop
* Bugfix: all source files converted to UTF-8
1.9.6: [2013-06-03] James Heinrich
» getID3() is now licensed under GPL / LGPL / MozillaPL / gCL
See license.txt for more details.
* Bugfix: (#1550) Quicktime video track sample description parsed
incorrectly
* Bugfix: (#1550) Quicktime matrix U/V/W values calculated incorrectly
* [demo.browse] disable edit-tag and delete-file links by default
* Bugfix: option_max_2gb_check should issue warning not error on >2GB
1.9.5: [2013-02-20] James Heinrich, Dmitry Arkhipov
» DTS-in-WAV now properly supported
¤ DSS files return additional data in new keys, and some existing
keys have been renamed
* Bugfix: open_basedir not parsed correctly under Windows
(thanks yannick*jamontØgmail*com)
* Bugfix: [demo/demo.browse] might not display file or directory name
on PHP >=5.4.0 if filename not UTF-8 friendly
* Bugfix: [demo/demo.zip] could read more uncompressed data than
required; fail to read file if local data descriptor not set;
some wrong include files were listed; improved error message display
* Bugfix: [module.audio-video.riff] INFO comment chunks with null name
chunk not parsed correctly
* Bugfix: [module.archive.gz] gzip files with filename stored may have
filename reduplicated in [gzip][files] output
* Bugfix: [module.archive.zip] data_descriptor not parsed correctly
* Bugfix: [module.archive.zip] some newer compression methods unknown
* Bugfix: [module.archive.zip] not all flags parsed
* Bugfix: [module.archive.zip] local file header not parsed correctly
if file has zero values for compressed_size in Local File Header
* Bugfix: (#1493) better support for >2GB filesize on 32-bit Linux
* Bugfix: (#1474) unneccesary call to GetDataImageSize in JPEG module
* Bugfix: (#1470) GIF files falsely detected as TS format
* Bugfix: (#1431) Matroska did not parse PixelCrop* / DisplayUnit
(thanks jgerberØwikimedia*org)
* Bugfix: (#1430) split ID3v2 text values on null separator
* Bugfix: (#1426) MS Office 2007 file format now recognized as zip.msoffice
* Bugfix: (#1423) optimized CreateDeepArray function
* Bugfix: (#1415) add support for DS2 variant of DSS
1.9.4b1: [2012-10-05] James Heinrich, Dmitry Arkhipov, Karl G. Holz
» New module: extension.cache.sqlite3.php (by Karl G. Holz)
» New demo: demos/getid3.demo.dirscan.php (by Karl G. Holz)
» PHP5 standards improvements (thanks phansysØgmail*com)
» more reliable >4GB file size parsing using COM (if available)
Scripting.FileSystemObject rather than parsing `dir` output
* added support for FLAC inside Matroska (audio bitrate cannot
be determined in this case)
* XMP module now returns all tags, not just whitelisted ones
* (#1297) Added detection of MPEG Transport Stream files.
Stub module.audio-video.ts.php incomplete
* (#1383) removed unneeded ?> tags (thanks daveØholyfield*info)
* Bugfix: XMP returns attributes array not just value strings
* Bugfix: (#1369) ID3v2 IPLS contents not parsed
* Bugfix: (#1357) demo.mysql.php mysql_table_exists() failed
* Bugfix: (#1355) copy Foobar2000 QuickTime tags to [comments]
* Bugfix: (#1351) QuickTime files with zero-sized atom boxes
could cause infinite loop
* Bugfix: (#1343) FLAC attached pictures Ogg not handled
* Bugfix: (#1343) ID3v2 inside WAV "id3 " chunk not handled
* Bugfix: (#1315) BMP detection was broken
* Bugfix: (#1309) ID3v2.2 content_group_description (TT2) did
not copy to same place as ID3v2.3/ID3v2.4 (TIT2)
* Bugfix: (#1308) [playtime_string] could show hh:mm:60
* Bugfix: (#1306) extension.cache.mysql.php keyword TYPE->ENGINE
* Bugfix: (#1295) missing video information if QuickTime file has
disabled tracks
* Bugfix: (#1275) MD5/SHA1 data hashes not working properly
under Windows
1.9.3: [2011-12-13] Dmitry Arkhipov, James Heinrich
* Matroska module improved:
1. Added support for A_MS/ACM audio codec
2. Fixed issues in tags, cues, chapters and clusters parsing
3. Fixed almost all errors with track_data_offset, errors
still may occur with Xiph data lacing
4. Optimized audio/video streams population with usage of the
official default values for missing elements
5. Audio/video keys are now populated with data from the
default