v0.2.0
What's New in v0.2.0
This release significantly expands format support and adds critical features for professional audio workflows.
🎵 ID3v2.2 Legacy Support
- Full ID3v2.2 (3-character frame ID) parsing support
- Complete v2.2 → v2.3/v2.4 frame ID mapping (66 mappings)
- Proper 3-byte big-endian size handling for v2.2 frames
🔄 ID3v2 Unsynchronization
- Global unsynchronization support (tag-level, v2.3/v2.4)
- Per-frame unsynchronization support (v2.4 frame flag)
- Proper 0xFF 0x00 byte sequence removal during parsing
🏷️ ID3v2 Frame Flags Processing
- Compression support with zlib decompression (v2.3 and v2.4)
- Grouping identity flag handling
- Data length indicator parsing (v2.4 syncsafe 4-byte prefix)
- Encryption flag detection
🔐 FLAC MD5 Audio Signature
FlacFile.AudioMd5Signatureproperty for 128-bit MD5 hash of unencoded audioFlacFile.AudioMd5SignatureHexfor hex string representation- Essential for bit-perfect archive verification
🖼️ Picture Support for WAV and AIFF
WavFile.PicturesandAiffFile.Picturesvia embedded ID3v2 tagCoverArtconvenience property for primary album art- Full PictureType support (FrontCover, BackCover, etc.)
💾 SaveToFile Convenience Overloads
SaveToFile(path)on Mp3File, FlacFile, OggVorbisFile, WavFile, AiffFile- All with async variants accepting CancellationToken
✍️ AIFF Write Support
AiffFile.Renderfor serializing AIFF files to binary dataAiffFile.SaveToFileandSaveToFileAsyncfor atomic file saves- Settable
Tagproperty for modifying ID3v2 metadata
📦 Metadata Preservation
- FLAC: Preserve SEEKTABLE and APPLICATION blocks during render
- WAV: Preserve all unknown chunks (fact, cue, smpl, etc.) during render
🎚️ AIFC Compression Support
AiffAudioProperties.CompressionTypefor AIFC compression typeAiffAudioProperties.CompressionNamefor human-readable description
📻 BWF (Broadcast Wave Format) Support
BextTagclass for parsing and writing bext chunks- Description, Originator, OriginatorReference fields
- TimeReference for sample-accurate synchronization
- UMID for Version 1+ and CodingHistory tracking
🔊 WAVEFORMATEXTENSIBLE Support
- Extended fmt chunk parsing for professional audio
- ValidBitsPerSample, ChannelMask, SubFormat properties
- 5.1, 7.1 surround sound speaker position support
✅ Ogg CRC Validation
- Optional
validateCrcparameter on OggVorbisFile read methods - Useful for detecting file corruption in critical applications
🛡️ Security
- Integer overflow protection for malformed chunk sizes
- Defense-in-depth checks in AIFF, RIFF, and WAV parsers
📊 Quality
- Test count increased from 1528 to 1658 (+130 tests)
Full Changelog: v0.1.0...v0.2.0