summaryrefslogtreecommitdiffstats
path: root/modules/getid3/docs/changelog.txt
diff options
context:
space:
mode:
Diffstat (limited to 'modules/getid3/docs/changelog.txt')
-rw-r--r--modules/getid3/docs/changelog.txt491
1 files changed, 491 insertions, 0 deletions
diff --git a/modules/getid3/docs/changelog.txt b/modules/getid3/docs/changelog.txt
new file mode 100644
index 00000000..0a1fb11f
--- /dev/null
+++ b/modules/getid3/docs/changelog.txt
@@ -0,0 +1,491 @@
+// +----------------------------------------------------------------------+
+// | PHP version 5 |
+// +----------------------------------------------------------------------+
+// | Copyright (c) 2002-2006 James Heinrich, Allan Hansen |
+// +----------------------------------------------------------------------+
+// | This source file is subject to version 2 of the GPL license, |
+// | that is bundled with this package in the file license.txt and is |
+// | available through the world-wide-web at the following url: |
+// | http://www.gnu.org/copyleft/gpl.html |
+// +----------------------------------------------------------------------+
+// | getID3() - http://getid3.sourceforge.net or http://www.getid3.org |
+// +----------------------------------------------------------------------+
+// | Authors: James Heinrich <infoØgetid3*org> |
+// | Allan Hansen <ahØartemis*dk> |
+// +----------------------------------------------------------------------+
+// | Changelog |
+// +----------------------------------------------------------------------+
+//
+// $Id: changelog.txt,v 1.47 2007/02/12 10:00:15 ah Exp $
+
+
+
+ » 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
+
+
+getID3() 2.x Version History
+============================
+
+
+2.0.0b4: [2007-01-12] Allan Hansen
+
+ GENERAL
+ » Major update to readme.txt
+ » Added new section sample apps
+ » Added well-written sample application "morg".
+ See sample_apps/morg/screen_shots for more
+ € option_tags_process now generates root key 'comments' with merged
+ values from 'tags'.
+ € Removed option_tags_html. HTML entities is a thing of the past.
+ Use UTF-8 encoded pages instead. Saves bandwidth and is much easier.
+ * Bugfix: PHP_NOTICE issue in BigEndian2Float().
+ » Tag writing support: ID3v1
+ » Tag writing support: APEtag
+ » Tag writing support: FLAC
+ » Tag writing support: Ogg Vorbis
+ » Tag writing support: Lyrics3
+ » SVG file detection (no parsing)
+ » PAR2 file detection (no parsing)
+ » Got rid of windowed and option_helperapps_dir. Helper apps must be
+ somewhere in the path, e.g. c:\windows\system32 or /usr/bin
+
+ ASF MODULE:
+ * Bugfix: Wrong mime type (video/x-ms-wma instead of video/x-ms-wmv)
+ for certain FourCCs.
+ * Bugfix: Padding offset bug.
+
+ DATA_HASH MODULE:
+ € copy md5_data_source to md5_data if option set to true
+
+ DTS MODULE:
+ » New module (module.audio.dts.php)
+
+ FLV MODULE:
+ * Bugfix: DivByZero on zero length FLV files.
+ * Bugfix: PHP_NOTICE one some files.
+
+ ID3v1 MODULE:
+ € Removed: Padding check.
+
+ ID3v2 MODULE:
+ * Bugfix: PHP_NOTICE issues with broken ID3v2 tag/garbage.
+ * Bugfix: UTF-8/16 encoded frames terminated by \x00.
+ * Bugfix: ID3v2 LINK frames iconv error.
+ * Bugfix: Padding length calculated incorrectly.
+ * Bugfix: ID3v2.3 extended headers non-conformance.
+
+ LYRICS3 MODULE
+ * Bugfix: Minor issues with lyrics3 (avoid PHP_NOTICE).
+
+ PNG MODULE:
+ * Bugfix: Module broken in regards to gIFg and gIFx chunks.
+
+ MIDI MODULE
+ * Bugfix: Minor issues with midi module (avoid PHP_NOTICE).
+
+ MP3 MODULE:
+ * Bugfix: Removed whitespace after ?>
+ * Bugfix: Some CBR MP3 files detected as VBR with plenty of warnings.
+ * Bugfix: PHP_NOTICE issues.
+
+ MPC MODULE:
+ € Mime type returned: audio/x-musepack
+
+ QUICKTIME MODULE:
+ * Bugfix: TYPO in variable, resulting in unknown errors.
+ * Bugfix: Incorrect frame rate returned.
+
+ REAL MODULE:
+ * Bugfix: fread() zero bytes issue.
+
+ RIFF MODULE:
+ * Bugfix: Wave files being detected as MP3.
+ € Zero sized chunk invokes warning instead of error.
+
+ SHORTEN MODULE:
+ * Bugfix: Not working for wav files with fmt chunks <> 16 bytes.
+
+ XIPH MODULE:
+ » replaygain_reference_loudness from FLAC 1.1.3 moved from comments
+ to ['replay_gain']['reference_volume'].
+ » Supporting FLAC 1.1.3 PICTURE block.
+ € FLAC: Removed some ['raw'] keys.
+
+
+2.0.0b3: [2006-06-25] Allan Hansen
+
+ AAC_ADTS MODULE
+ * Bugfix: Static bitrate cache wrong result when parsing several files
+
+ ASF MODULE
+ * Bugfix: Do not return NULL video bitrate for ASF v3.
+ * Bugfix: ['codec'] key warning in module.audio-video.asf.php from 1.7.6,
+ * Bugfix: audio & video bitrates sometimes wrong in ASF files from 1.7.6,
+ € ASF lyrics now returned under [comments][lyrics] from 1.7.5,
+
+ BMP MODULE
+ * Bugfix: Undocumented bugfix between 1.7.3 and 1.7.6,
+
+ DATA_HASH MODULE
+ * Bugfix: Filenames not escaped with escapeshellarg() under UNIX.
+ * Bugfix: UNIX: head and tail called with -cNNN instead of "-c NNN".
+
+ FLV MODULE
+ » No longer reads entire file into memory.
+
+ ID3v1 MODULE
+ € Put back id3v1 padding check, since it exists in 1.7.6.
+
+ ID3v2 MODULE
+ * Bugfix: PHP notices on bad ID3v2 frames from 1.7.6.
+ * Bugfix: 'url_source' typo in module.tag.id3v2.php from 1.7.3.
+ € ID3v2 "TDRC" frame now used as "year" in comments if TYER
+ unavailable (TYER is deprecated in ID3v2.4)
+ € Bugfix: gmmktime() instead of mktime().
+
+ ISO MODULE
+ € Using gmmktime() instead of mktime().
+
+ GZIP MODULE
+ ! Module is a memory hog. Reads entire file into memory. It also
+ gzdeflates() it to memory. Will use lots of memory on huge files.
+ Please someone rewrite it to work with filepointers and seeking.
+ » info['gzip']['files'] removed. Contains redundant information only.
+ » Replaced ['tar'] key with ['parsed_content']. Module can now parse
+ anything that getID3() can parse - not just tar files.
+
+ JPEG MODULE
+ * Bugfix: Error when php exif support enabled.
+
+ LYRICS MODULE
+ € Comments are no longer trimmed.
+
+ QUICKTIME MODULE
+ * Bugfix: incorrect dimensions from disabled Quicktime tracks from 1.7.6,
+ € Added ['quicktime']['hinting'] key (boolean) from 1.7.4,
+ * Bugfix: Quicktime 'mvhd' matrix values were wrong from 1.7.3,
+
+ MIDI MODULE
+ * Bugfix: Fixed bug that reported wrong playing time on some files.
+
+ MP3 MODULE
+ » Module fully working.
+ » Memory caches are reset when scanning new file. Might make analyse
+ slightly slower, but will save lots of memory.
+ » Removed unrecommended bruteforce code.
+ * Bugfix: Encoder options should now return proper "--alt-preset n" /
+ "--alt-preset cbr n" when scanning more files.
+ * Bugfix: added LAME preset guessing for presets 410,420,440,490
+ (thanks adminØlogbud*com)
+
+ RIFF MODULE
+ € No longer returns zero bits_per_sample for multiple formats.
+ * Bugfix: Missing 'lossless' key in RIFF-WAV from 1.7.4.
+ € Using gmmktime() instead of mktime().
+
+ SHORTEN MODULE
+ * Bugfix: Filenames not escaped with escapeshellarg() under UNIX.
+
+ TAR MODULE
+ » Module rewritten to work with filepointer only. Makes parsing a lot
+ faster (will fseek() past data). Also saves a lot of memory, expecially
+ with large files.
+ » Added warning for non ASCII filenames, which breaks specification.
+ » info['tar']['files'] removed. Contains redundant information only. Also
+ causes problems for non ASCII tar files, as filenames are used as keys
+ in PHP arrays.
+
+ XIPH MODULE
+ * Bugfix: Error message when padding in FLAC files were used up.
+
+ ZIP MODULE
+ € Using gmmktime() instead of mktime().
+
+ ICONV_REPLACEMENT MODULE
+ * Bugfix: Major UTF-8 to UTF-16/ISO-8859-1 conversion bug (empty string
+ returned) when iconv() not available - from 1.7.4.
+ * Bugfix: Other major bugfixes that broke the module.
+
+ demo.joinmp3.php
+ Demo removed - out of getID3()'s scope.
+
+ PDF files can now be detected, but not parsed/analyzed.
+ MSOffice files can now be detected, but not parsed/analyzed.
+
+
+2.0.0b2: [2004-11-01] Allan Hansen
+
+ GENERAL
+ * Bugfixes: Analyzed 3,000 files and compared result with 1.7.2 - several
+ minor bugs were fixed. Output of 2.0.0 should match 1.7.2 reasonable well.
+ * Bugfix: fail_id3 and fail_ape code never executed.
+ Wavpack4 support
+ Quicktime/MP3-in-MP4, Apple Lossless support
+ » New encoding_id3v2 option/hack for broken ID3v2 tags
+ € Tags are no longer trim()ed.
+ € Some ['bits_per_sample'] == 0 removed
+ » New option_analyze - disable to detect format only.
+ » New option_accurate_results - disable to greatly speed up parsing of
+ AAC/ADTS, headerless MP3/MP2 VBR, midi (later), possible more in future.
+ Warnings issued when disabled and accuracy affected!
+
+ AAC/ADTS
+ » Memory caches destroyed after analyze() to free up memory.
+
+ LA MODULE
+ * Bugfix: RIFF tags now parsed properly
+
+ OPTIMFROG MODULE
+ * Bugfix: RIFF tags now parsed properly
+
+ WAVPACK MODULE
+ * Bugfix: RIFF trailer now parsed properly
+
+ QUICKTIME MODULE
+ € option_extra_info determines whether atom_data is returned
+ € Removed $ParseAllPossibleAtoms option. We should only return useful data.
+ zlib support in PHP optional reqirement
+ * Bugfix: New iTunes crashes PHP - temp fix - no tags on those files.
+
+ RIFF MODULE
+ * Bugfix: Wavpack3 extra fields now parsed properly.
+ € RIFF tags in Litewave files now parsed properly
+
+ BONK MODULE
+ * Bugfix: ['bonk']['ID3']['valid'] now returns bool instead of object
+
+ NSV MODULE
+ * Bugfix: PCM part ignored
+
+ APETAG MODULE
+ * Bugfix: APEtag 1.0 broken
+
+ ASF MODULE
+ € Embedded ID3v2 tags processes again - supported by Windows Media Player.
+
+ DEMOS
+ » demo.browse.php scans directories faster with inaccurate results.
+ » demo.browse.php now uses javascript alert to show longer warnings etc
+ instead of tool tips.
+ » demo.browse.php now shows embedded covers just like the 1.7.x demo.
+ » demo.browse.dhtml.php - DHTML version of the browser. Has progressive
+ display in MSIE - but quite slow when scanning LOTS of files.
+ » New demo.mime_only.php for returning mime type only.
+ » Search example in demo.mysql.php
+
+
+2.0.0b1: [2004-08-23] Allan Hansen
+
+ » Major memory savings. 1.7.1 use 25% more memory under PHP 5.0.0 than
+ PHP 4.3.7. 2.0.0b1 memory usage is comparable to 1.7.1 under PHP 4.3.7.
+ See Memory.xls for details (will not be included in 2.0.0 final).
+ Loading all modules requires 4,277 kb of memory (4,171 with iconv()
+ support in PHP. Some of the modules require more memory while scanning,
+ as they cache the results - MP3 and AAC/ADTS in particular.
+
+ » New internal testing method. Output of 2.0.0 matches that of 1.7.1
+ exactly - except those places where we deliberately changed something.
+ If something is changed it is because we did not have a test file
+ to show it.
+
+ » New extras directory.
+ This contains multiple usefull code snips that really does not
+ belong to the main getID3() codebase - i.e. stuff that the user most
+ likely can/will do differently.
+
+ » Deleted getid3_lib.php
+ - Some common functions moved to getid3.php - getid3_lib declared
+ there.
+ - Replaygain function moved to getid3.php - new class
+ geti3_replaygain.
+ - iconv() replacement function moved to new lib module.
+ - md5/sha1 data hash function moved to new lib module.
+ - Some function moved to the files that use them.
+ - CopyTagsToComments() moved to extras dir.
+ - EmbeddedLookup() gone - PHP5 use way more memory that way.
+
+ » magic_quotes_runtime must be disabled before running getID3().
+ If you use them, use set_magic_quotes_runtime(0) and
+ set_magic_quotes_runtime(1) around your getID3() block.
+ Older versions turned them on and off automatically. This would
+ require a lot extra code, since they needed being restored before
+ every first level throw.
+
+ * Bugfix: Fixed multiple bugs in the caching extentions .
+
+ Optimized most modules using new getid3_ReadSequence()
+
+ Checked all(most) code using error_reporting (E_STRICT | E_ALL)
+
+ € Removed all dead modules: EXE, RAR, Bink, Matroska, MOD*.
+ € Kept magic bytes - getid3 will detect them and do nothing and return
+ warning instead of error.
+
+ € Disabled quicktime and mpeg modules as they depend on mp3-
+
+ Reformatted and updated dependencies.txt
+
+
+ GETID3 MAIN
+ € getid3 option_tags_html now defaults to false.
+ € getid3 option_max_2gb_check now defaults to false.
+ € New getid3 option_tags_images defaults to false. Scan tags for binary
+ image data - ID3v2 and vorbiscomments only. Possible apetag later.
+
+
+ JPEG MODULE
+ € Renamed module from jpg to jpeg.
+ € Changed mime type to correct image/jpeg.
+ € Added optional exif depency to depencies.txt for jpeg files.
+
+
+ PNG MODULE
+ € Made png zlib dependecy optional.
+
+
+ BMP MODULE
+ » Removed unused and unneeded PlotBMP() in bmp module.
+ Removed extract_palette and extract_data code
+ - This does not belong in getid3. We should analyze files, not process
+ them. If the user wants to display bmp files to the browser she can
+ convert them with ImageMagick or something similar. She will
+ probably have it installed already to resize user uploaded images.
+
+
+ PCD MODULE
+ » Removed $ExtractData from pcd module - same reason as BMP.
+
+
+ SWF MODULE
+ € Added zlib dependecy REQUIRED for swf.
+
+
+ ID3v1 MODULE
+ € Removed id3v1 padding check - who cares?
+ - also removed in lyrics3 - if needed - it needs to be done differently
+ - no access to warnings and no sorting!
+
+
+ ID3v2 MODULE
+ € Made id3v2 zlib dependecy optional.
+ € id3v2 - images - changed 'image_mime' to actual mime type.
+
+
+ AAC MODULE(s)
+ » Split aac module in two - aac_adif and aac_adts.
+ This saves memory if user only have files of one type (very likely).
+ Replaced getid3_lib::Bin2Dec() with bindec() in aac modules - speed.
+
+
+ AC3 MODULE
+ Added ac3 optional dependency to dependencies.txt.
+ € Changed riff module dependency on mp3 to optional.
+ Changed wawpack references in riff module to wavpack3.
+ * Bugfix: RIFFparseWavPackHeader() needs 28 bytes, not 22.
+
+
+ ASF MODULE
+ » Removed id3v1 dependency
+ » Removed id3v2 dependency
+ € ASF genres are no longer case adjustet to match standard ID3v1 ones.
+ € Embedded ID3v2 tags no longer processes. Not part of the ASF spec.
+ € Changed warning at line 71 to error.
+ » Removed a lot of unneeded conversions between Bytestring and GUID
+ » Changed the constants from bytestring to GUID
+ * Bugfix: Fixed incorrect warning messages on
+ {4B1ACBE3-100B-11D0-A39B-00A0C90348F6}
+ {4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}
+ € Removed objectid, fileid, reserved_1_id and reserved where 'same'_guid
+ exists.
+
+
+ MP3 MODULE
+ € MARKED MP3 MODULE BROKEN
+ Removed echoerrors debugcode in mp3 module.
+ Removed bruteforce code in mp3 module - never executed in 1.7.
+ Removed $scan_as_cbr - not used.
+
+
+ MPC MODULE(s)
+ » Split mpc module in two - SV7 in "mpc" and SV4-6 in mpc_old.
+ This saves memory if user only have files of one type (very likely).
+
+
+ OGG, FLAC MODULES
+ » Merged interdependant modules ogg and flac into new module xiph.
+ € Updated FLACapplicationIDLookup() with 2 new entries.
+
+
+ REAL MODULE
+ € Removed 'unknown' keys.
+
+
+ SHORTEN MODULE
+ » Improved UNIX shorten binary detection. Scanning `which shorten`,
+ /usr/bin, /usr/local/bin and checking is_executable()
+
+
+ ISO MODULE
+ € Removed unused_ indexes in iso modules - they are afterall not used.
+
+
+ DEMOS
+ » Created new index.php in demos/ explaining what the different demos
+ does.
+
+ » Rewrote demo.browse.php completely.
+ - Using public domain HTML abstraction library by Allan Hansen.
+ - Removed security breach - able to browse any parent directory .
+ - A $root_path must be set before browsing.
+ - Screen width option.
+ - Compressed filename column using title=.
+ - Removed filesize column - not really that interesting.
+ - Removed md5data column.
+ - Removed total at the bottom - the user can probably figure out
+ how to implement this himself.
+ - Added Audio column: sample_rate/bits_per_sample/channels columns.
+ - Added scan_time columns - how long it took getid3 to process the
+ file.
+ - Compressed artist, title and warning column using tool_tips.
+ - Removed delete feature - possible security risk.
+ - Repeating file header every 20 rows.
+ - Added audio format/video format to format column.
+ - Listing supported php modules in footer.
+ - New colour scheme.
+
+ » Rewrote demo.mysql.php completely.
+ - Using multiple tables instead of just one. No string is stored
+ twice. Searching tags should be a lot faster for large databases.
+ - Multiple artists, titles, genres, etc per file supported.
+ - Using public domain HTML abstraction library by Allan Hansen.
+ - Using public domain MySQL abstraction library by Allan Hansen.
+ - Scanning limited to $audio_path - security.
+ - Included sample data that can be imported and browsed.
+
+ » Rewrote demo.basic.php
+ » Removed demo.simple.php - basic should be enough
+
+ » Removed demo.joinmp3.php - this advanced demo should go in the extras
+ module IF/WHEN the mp3 module is running again.
+
+ € Updated demo.audioinfo.class - minor changes.
+
+
+ MISC CODING SPECIFIC
+ Partial new coding style - some is easily changed with Replace In Files
+ - New file header - PEAR compatible
+ - Indentation with four spaces instead of tab - PEAR compatible
+ - array() changed to as array () - as suggested by PEAR standard
+ - All(most) function names in MixedCase
+ - Variables in $my_variable lowercase/underscores
+ - (bool) $var changed to (bool)$var
+ - A few "} else {" changed to "else {" to make room for easier
+ readable comments
+
+ Removed all DivByZero checks. The plan was to catch them, but php
+ errors and warnings are not exceptions... Something needs to be
+ done here.
+