-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
292 lines (258 loc) · 11.2 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
1.21
* Fix Python 2.3 compatibility (broken in 1.19).
* Fix many warnings triggered by -3. (#27)
* mid3v2:
* Add --TXXX support. (#62, Tim Phipps)
* Add --POPM support. (#71)
* Allow setting multiple COMM or TXXX frames with one command line.
* FLAC: Try to handle corrupt Vorbis comment block sizes. (#52)
* ID3:
* MakeID3v1: Do not generate bad tags when given short dates. (#69)
* ParseID3v1: Parse short (< 128 byte) tags generated by old Mutagen
implementations of MakeID3v1, and tags with garbage on the front.
* pprint: Sort frames by name.
* MP3: Fix error when loading extremely small MP3s. (#72)
* Use 'open' rather than 'file' everywhere. (#74, Dan Callahan)
* mid3iconv:
* Accurately copy QL-style frame encoding behavior. (#75)
* Skip unopenable files. (#79)
* ID3FileType:
* Remember which tag type load() was called with even if the file
doesn't yet have any ID3 tags. (#89)
1.20 - 2010.08.04
* ASF: Don't store blocks over 64K in the MetadataObject block;
use the MetadataLibraryBlock instead. (#60, Lukáš Lalinský)
* ID3: Faster parsing of files with lots of padding. (#65, Christoph Reiter)
* FLAC: Correct check for audio data start. (#67)
1.19 - 2010.02.18
* ID3:
* POPM: 'count' is optional; the attribute may not exist. (#33)
* TimeStampTextFrame: Fix a TypeError in unicode comparisons. (#43)
* MakeID3v1: Translate TYER into ID3v1 year if TDRC is not present. (#42)
* mid3v2:
* Allow --delete followed by --frame, and --genre 1 --genre 2. (#37)
* Add --quiet and --verbose flags. (#40)
* moggsplit: --m3u option to write an M3U playlist of the new files. (#39)
* mid3iconv: Fix crash when processing TCML or TIPL frames. (#41)
* VCommentDict: Correctly normalize key names for .keys() iterator. (#45)
* MP3: Correct length calculation for MPEG-2 files. (#46)
* oggflac: Fix typo in docstring. (#53)
* EasyID3: Force UTF-8 encoding. (#54)
* EasyMP4: Fix 'genre' translation. (#56)
1.18 - 2009.10.22
* ASF:
* Distinguish between empty and absent tag values in
ContentDescriptionObjects. (#29)
* mid3iconv:
* Fix a crash when processing empty (invalid) text frames.
* MAJOR API INCOMPATIBILITY!!!!
* EasyID3FileType is now in mutagen.easyid3, not mutagen.id3. This
change was necessary to restore API compatibility with 1.16, as
1.17 accidentally contained a circular import preventing
mutagen.easyid3 from importing by itself. (#32)
1.17 - 2009.10.07
* ID3:
* Support for the iTunes non-standard TSO2 and TSOC frames.
* Attempt to recover from bad SYLT frames. (#2)
* Attempt to recover from faulty extended header flags. (#4, #21)
* Fix a bug in ID3v2.4 footer flag detection, (#5)
* MP4:
* Don't fail or double-encode UTF-8 strings when given a str.
* Don't corrupt 64 bit atom sizes when resizing atoms. (#17)
* EasyID3:
* Extension API for defining new "easy" tags at runtime.
* Support for many, many more tags.
* OggVorbis, OggSpeex: Handle bitrates below 0 as per the spec. (#30)
* EasyMP4: Like EasyID3, but for iTunes MPEG-4 files.
* mutagen.File: New 'easy=True' argument to create new EasyMP3, EasyMP4,
EasyTrueAudio, and EasyID3FileType instances.
1.16 - 2009.06.15
* Website / code repository move.
* Bug Fixes:
* EasyID3: Invalid keys now raise KeyError (and ValueError).
* mutagen.File: .flac files with an ID3 tag will be opened as FLAC.
* MAJOR API INCOMPATIBILITY!!!!
* Python 2.6 has required us to rename the .format attribute of M4A/MP4
cover atoms, because it conflicts with the new str.format method.
It has been renamed .imageformat.
1.15 - 2008.12.01
* Bug Fixes:
* mutagen.File: Import order no longer affects what type is returned.
* mutagen.id3: Compression of frames is now disabled.
* mutagen.flac.StreamInfo: Fix channel mask (support channels > 2). [35]
* mutagen.mp3: Ignore Xing headers if they are obviously wrong.
1.14 - 2008.05.31
* Bug Fixes:
* MP4/M4A: Fixed saving of atoms with 64-bit size on 64-bit platforms.
* MP4: Conversion of 'gnre' atoms to '\xa9gen' text atoms now correctly
produces a list of string values, not just a single value.
* ID3: Broken RVA2 frames are now discarded. (Vladislav Naumov)
* ID3: Use long integers when appropriate.
* VCommentDict: Raise UnicodeEncodeErrors when trying to use a Unicode
key that is not valid ASCII; keys are also normalized to ASCII
str objects. (Forest Bond)
* Tests:
* FLAC: Use 2**64 instead of 2**32 to test overflow behavior.
1.13 - 2007.12.03
* Bug Fixes:
* FLAC: Raise IOError, instead of UnboundLocalError, when trying
to open a non-existant file. (Lukáš Lalinský, Debian #448734)
* Throw out invalid frames when upgrading from 2.3 to 2.4.
* Fixed reading of Unicode strings from ASF files on big-endian
platforms.
* TCP/TCMP support. (Debian #452231)
* Faster implementation of file-writing when mmap fails, and
exclusive advisory locking when available.
* Test cases to ensure Mutagen is not vulnerable to CVE-2007-4619.
It is not now, nor was it ever.
* Use VBRI header to calculate length of VBR MP3 files if the Xing
header is not found.
1.12 - 2007.08.04
* Write important ID3v2 frames near the start. (Lukáš Lalinský)
* Clean up distutils functions.
1.11 - 2007.04.26
* New Features:
* mid3v2 can now set URL frames. (Vladislav Naumov)
* Musepack: Skip ID3v2 tags. (Lukáš Lalinský)
* Bug Fixes:
* mid3iconv: Skip all timestamp frames. (Lukáš Lalinský)
* WavPack: More accurate length calculation. ('ak')
* PairedTextFrame: Fix typo in documentation. (Lukáš Lalinský)
* ID3: Fixed incorrect TDAT conversion. The format is DDMM, not
MMDD. (Lukáš Lalinský)
* API:
* Metadata no longer inherits from dict.
* Relatedly, the MRO has changed on several types.
* More documentation for MP4 atoms. (Lukáš Lalinský)
* Prefer MP3 for files with unknown extensions and ID3 tags.
1.10.1 - 2007.01.23
* Bug Fixes:
* Documentation mentions ASF support.
* APEv2 flags and valid keys are fixed.
* Tests pass on Python 2.3 again.
1.10 - 2007.01.21
* New Features:
* FLAC: Skip ID3 tags. Added option to delete them on save.
* EncodedTextSpec: Make private members more private.
* Corrupted Oggs generated by GStreamer (e.g. Sound Juicer) can be read.
* FileTypes have a .mime attribute which is a list of likely MIME types
for the file.
* ASF (WMA/WMV) support.
* Bug Fixes:
* ID3: Fixed reading of v2.3 tags with unsynchronized data.
* ID3: The data length indicator for compressed tags is written
as a synch-safe integer.
1.9 - 2006.12.09
* New Features:
* OptimFROG support.
* New mutagen.mp4 module with support for multiple data fields per atom
and more compatible tag saving implementation.
* Support for embedded pictures in FLAC files (new in FLAC 1.1.3).
* mutagen.m4a is deprecated in favor of mutagen.mp4.
1.8 - 2006.10.02
* New Features:
* MonkeysAudio support. (#851, Lukáš Lalinský)
* APEv2 support on Python 2.5; see API-NOTES. (#852)
1.7.1 - 2006.09.24
* Bug Fixes:
* Expose full ID3 tag size as .size. (#848)
* New Features:
* Musepack Replay Gain data is available in SV7 files.
1.7 - 2006.09.15
* Bug Fixes:
* Trying to save an empty tag deletes it. (#813)
* The semi-public API removal mentioned in 1.6's API-NOTES happened.
* Stricter frame ID validation. (#830, Lukáš Lalinský)
* Use os.path.devnull on Win32/Mac OS X. (#831, Lukáš Lalinský)
* New Features:
* FLAC cuesheet and seektable support. (#791, Nuutti Kotivuori)
* Kwargs can be passed to ID3 constructors. (#824, Lukáš Lalinský)
* mutagen.musepack: Read/tag Musepack files. (#825, Lukáš Lalinský)
* Tools:
* mutagen-inspect responds immediately to keyboard interrupts.
1.6 - 2006.08.09
* Bug Fixes:
* IOError rather than NameError is raised when File succeeds in
typefinding but fails in stream parsing.
* errors= kwarg is correctly interpreted for FLAC tags now.
* Handle struct.pack API change in Python 2.5b2. (SF #1530559)
* Metadata 'load' methods always reset in-memory tags.
* Metadata 'delete' methods always clear in-memory tags.
* New Features:
* Vorbis comment vendor strings include the Mutagen version.
* mutagen.id3: Read ASPI, ETCO, SYTC, MLLT, EQU2, and LINK frames.
* mutagen.m4a: Read/tag MPEG-4 AAC audio files with iTunes tags. (#681)
* mutagen.oggspeex: Read/tag Ogg Speex files.
* mutagen.trueaudio: Read/tag True Audio files.
* mutagen.wavpack: Read/tag WavPack files.
* Tools:
* mid3v2: --delete-frames. (#635)
1.5.1 - 2006.06.26
* Bug Fixes:
* Handle ENODEV from mmap (e.g. on fuse+sshfs).
* Reduce test rerun time.
1.5 - 2006.06.20
* Bug Fixes:
* APEv2
* Invalid Lyrics3v2 tags are ignored/overwritten.
* Binary values are autodetected as documented.
* OggVorbis, OggFLAC:
* Write when the setup packet spans multiple pages.
* Zero granule position for header packets.
* New Features:
* mutagen.oggtheora: Read/tag Ogg Theora files.
* Test Ogg formats with ogginfo, if present.
1.4 - 2006.06.03
* Bug Fixes:
* EasyID3: Fix tag["key"] = "string" handler. (#693)
* APEv2:
* Skip Lyrics3v2 tags. (Miguel Angel Alvarez)
* Avoid infinite loop on malformed tags at the start of the file.
* Proper ANSI semantics for file positioning. (#707)
* New Features:
* VComment: Handle malformed Vorbis comments when errors='ignore' or
errors='replace' is passed to VComment#load.
(Bastian Kleineidam, #696)
* Test running is now controlled through setup.py (./setup.py test).
* Test coverage data can be generated (./setup.py coverage).
* Considerably more test coverage.
1.3 - 2006.05.29
* New Features:
* mutagen.File: Automatic file type detection.
* mutagen.ogg: Generic Ogg stream parsing. (#612)
* mutagen.oggflac: Read/tag Ogg FLAC files.
* mutagen.oggvorbis no longer depends on pyvorbis.
* ID3: SYLT support. (#672)
1.2 - 2006.04.23
* Bug Fixes:
* MP3: Load files with zeroed Xing headers. (#626)
* ID3: Upgrade ID3v2.2 PIC tags to ID3v2.4 APIC tags properly.
* Tests exit with non-zero status if any have failed.
* Full dict protocol support for VCommentDict, FileType, and APEv2 objects.
* New features:
* mutagen.oggvorbis gives pyvorbis a Mutagen-like API.
* mutagen.easyid3 makes simple ID3 tag changes easier.
* A brief TUTORIAL was added.
* Tools:
* mid3iconv, a clone of id3iconv, was added by Emfox Zhou. (#605)
1.1 - 2006.04.04
* ID3:
* Frame and Spec objects are not hashable.
* COMM, USER: Accept non-ASCII (completely invalid) language codes.
* Enable redundant data length bit for compressed frames.
1.0 - 2006.03.13
* mutagen.FileType, an abstract container for tags and stream information.
* MP3: A new FileType subclass for MPEG audio files.
* FLAC:
* Add FLAC#delete.
* Raise correct exception when saving to a non-FLAC file.
* FLAC#vc is deprecated in favor of FLAC#tags.
* VComment (used by FLAC):
* VComment#clear to clear all tags.
* VComment#as_dict to return a dict of the tags.
* ID3:
* Fix typos in PRIV#_pprint, OWNE#_pprint, UFID#_pprint.
* mutagen-pony: Try finding lengths as well as tags.
* mutagen-inspect: Output stream information with tags.
0.9 - 2006.02.21
* Initial release.