-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
executable file
·518 lines (350 loc) · 14.4 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
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
1.24 - 2014.08.13
-----------------
* Moved to Bitbucket: https://bitbucket.org/lazka/mutagen
* ID3:
* Parse utf-16 text frames with wrong termination :bug:`169`
* Fix parsing of utf-16 SYLT frames :bug:`173`
* WavPack:
* Fix length calculation if sample count is missing in the header :bug:`180`
* setup.py: Don't install leftover files produced by the test suite :bug:`179`
* tests: Fix error with POSIX locale :bug:`181`
1.23 - 2014.05.14
-----------------
* tools: Don't crash in misconfigured envs, fall back to utf-8.
* mp3: Return correct mimetype for MP2 files. :bug:`163`
* id3: deterministic sorting of frames. :bug:`166`
* AIFF support :bug:`146` (Evan Purkhiser)
1.22 - 2013.09.08
-----------------
* Minimum required Python version is now 2.6
* Online API reference at https://mutagen.readthedocs.org/
* EasyID3:
* Fix crash with empty TXXX values. :bug:`135`
* ID3:
* id3v2.3 writing support :bug:`85`
* Add iTunes podcast frames (TGID, TDES, WFED) :bug:`141`
* Updated id3v1 genre list
* MP4:
* add_tags() will not replace existing tags. :bug:`101`
* Don't ignore tags if parsing unknown atoms fails.
* Raise on invalid 64bit atom size :bug:`132` (Sidnei da Silva)
* APEv2:
* Handle invalid tag item count. :bug:`145` (Dawid Zamirski)
* Ogg:
* Faster parsing of files with large packets.
* VComment:
* Preserve text case for field names added through the dict interface
:bug:`152`
* mid3v2:
* New -e,--escape switch to enable interpretation of escape sequences and
makes escaping of the colon separator possible. :bug:`159`
* mid3iconv:
* Convert COMM frames :bug:`128`
1.21 - 2013.01.30
-----------------
* Fix Python 2.3 compatibility (broken in 1.19).
* Fix many warnings triggered by -3. :bug:`27`
* mid3v2:
* Add --TXXX support. :bug:`62` (Tim Phipps)
* Add --POPM support. :bug:`71`
* Allow setting multiple COMM or TXXX frames with one command line.
* FLAC:
* Try to handle corrupt Vorbis comment block sizes. :bug:`52`
* Try to handle corrupt Picture block sizes :bug:`106` (Christoph Reiter)
* Don't leak file handle with PyPy :bug:`111` (Marien Zwart)
* ID3:
* MakeID3v1: Do not generate bad tags when given short dates. :bug:`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.
* Upgrade unknown 2.3 frames :bug:`97` (Christoph Reiter)
* Fix handling of invalid SYLT frames :bug:`105` (Christoph Reiter)
* MP3:
* Fix error when loading extremely small MP3s. :bug:`72`
* Fix rounding error in CBR length calculation :bug:`93` (Christoph Reiter)
* Use 'open' rather than 'file' everywhere. :bug:`74` (Dan Callahan)
* mid3iconv:
* Accurately copy QL-style frame encoding behavior. :bug:`75`
* Skip unopenable files. :bug:`79`
* ID3FileType:
* Remember which tag type load() was called with even if the file
doesn't yet have any ID3 tags. :bug:`89`
* VComment:
* Prevent MemoryError when parsing invalid header :bug:`112`
(Jyrki Pulliainen)
* ASF:
* Don't corrupt files on the second save() call :bug:`81` (Christoph Reiter)
* Always store GUID objects in the MetadataLibraryBlock :bug:`81`
* OggTheora: Fix length/bitrate calculation. :bug:`99` (Christoph Reiter)
* MP4:
* Less strict MP4 covr atom parsing. :bug:`86` (Lukáš Lalinský)
* Support atoms that extend to the end of the file. :bug:`109`
(Sidnei da Silva)
* Preserve freeform format flags :bug:`103` (Christoph Reiter)
* OggOpus support. :bug:`115` (Christoph Reiter)
* Musepack:
* Fix SV7 bitrate calculation :bug:`7` (Christoph Reiter)
* Support SV8 :bug:`7` (Christoph Reiter)
1.20 - 2010.08.04
-----------------
* ASF: Don't store blocks over 64K in the MetadataObject block;
use the MetadataLibraryBlock instead. :bug:`60` (Lukáš Lalinský)
* ID3: Faster parsing of files with lots of padding. :bug:`65`
(Christoph Reiter)
* FLAC: Correct check for audio data start. :bug:`67`
1.19 - 2010.02.18
-----------------
* ID3:
* POPM: 'count' is optional; the attribute may not exist. :bug:`33`
* TimeStampTextFrame: Fix a TypeError in unicode comparisons. :bug:`43`
* MakeID3v1: Translate TYER into ID3v1 year if TDRC is not present. :bug:`42`
* mid3v2:
* Allow --delete followed by --frame, and --genre 1 --genre 2. :bug:`37`
* Add --quiet and --verbose flags. :bug:`40`
* moggsplit: --m3u option to write an M3U playlist of the new files. :bug:`39`
* mid3iconv: Fix crash when processing TCML or TIPL frames. :bug:`41`
* VCommentDict: Correctly normalize key names for .keys() iterator. :bug:`45`
* MP3: Correct length calculation for MPEG-2 files. :bug:`46`
* oggflac: Fix typo in docstring. :bug:`53`
* EasyID3: Force UTF-8 encoding. :bug:`54`
* EasyMP4: Fix 'genre' translation. :bug:`56`
1.18 - 2009.10.22
-----------------
* ASF:
* Distinguish between empty and absent tag values in
ContentDescriptionObjects. :bug:`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. :bug:`32`
1.17 - 2009.10.07
-----------------
* ID3:
* Support for the iTunes non-standard TSO2 and TSOC frames.
* Attempt to recover from bad SYLT frames. :bug:`2`
* Attempt to recover from faulty extended header flags. :bug:`4` :bug:`21`
* Fix a bug in ID3v2.4 footer flag detection, :bug:`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. :bug:`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. :bug:`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). :bug:`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.