Repository navigation
Releases: Borewit/music-metadata
Releases · Borewit/music-metadata
Release list
v12.3.2
Changes
🚀 Improvements
🐛 Bug Fixes
- fix: map Discogs album artist lists to common.albumartists @Borewit (#2872)
- fix: preserve recording dates and standard Vorbis date precedence @Borewit (#2871)
📦 NPM release
NPM release: music-metadata@12.3.2
v12.3.1
Changes
🚀 Improvements
🐛 Bug Fixes
- fix: correct AIFC IMA4 sample counts and duration @Borewit (#2869)
- fix: validate chapter timescales and clarify timing @Borewit (#2868)
- fix: preserve structured ID3v2.3 user text @Borewit (#2867)
- fix: retain untitled ID3 chapters @Borewit (#2866)
- fix: identify MPEG-4 ALS from decoder configuration @Borewit (#2865)
📚 Documentation
- docs: add contributor architecture overview @CHAPIBUNNY (#2847)
📦 NPM release
NPM release: music-metadata@12.3.1
v12.3.0
Changes
✨ Enhancements
- feat: configure chapter limits across MP4 and ID3v2 @Borewit (#2838)
- fix: map iTunes freeform movement tags @Borewit (#2835)
🚀 Improvements
- feat: expose ASF ReplayGain and track totals @Borewit (#2863)
- feat: expose ID3v2.2 ULT lyrics in common metadata @Borewit (#2860)
- perf: skip unwanted MP4 artwork before buffering @Borewit (#2857)
- perf: advance MP4 chapter sample lookups across queries @Borewit (#2844)
- perf: aggregate MP4 sample sizes to reduce memory use @Borewit (#2834)
🔒 Security
- fix: bound retained MP4 fragment state @Borewit (#2837)
- fix: bound metadata parser resource use @Borewit (#2833)
🐛 Bug Fixes
- fix: map ID3 involved-person credits to common roles @Borewit (#2862)
- fix: map ID3 private peak levels and bound owner warnings @Borewit (#2859)
- fix: guard truncated Ogg metadata headers and empty flushes @Borewit (#2855)
- fix: expose missing ASF attribute decoders in the return type @Borewit (#2858)
- fix: decode BWF v2 loudness with signed versioned fields @Borewit (#2856)
- fix: decode the complete MP4 metadata locale @Borewit (#2840)
- fix: decode signed MP4 metadata integers correctly @Borewit (#2839)
📚 Documentation
🛠️ Under the hood
- refactor: dispatch bounded Ogg FLAC metadata packets @Borewit (#2861)
- refactor: share bounded DSDIFF chunk traversal @Borewit (#2853)
- refactor: share MP4 media and movie timing layouts @Borewit (#2852)
- refactor: centralize ASF record cursor bounds @Borewit (#2851)
- refactor: deduplicate MP4 codec and brand strings with sets @Borewit (#2850)
- refactor: run security regressions as typed callbacks @Borewit (#2849)
- refactor: parse ASF codec lists with borrowed tokenizer views @Borewit (#2843)
- refactor: stop retaining parsed MP4 child atoms @Borewit (#2842)
- refactor: summarize MP4 fragment runs during decoding @Borewit (#2841)
📦 NPM release
NPM release: music-metadata@12.3.0
v12.2.3
Changes
🐛 Bug Fixes
- fix: bound ASF metadata records to their object payloads @Borewit (#2832)
- fix: validate audio sample tables used by MP4 chapters @Borewit (#2831)
- fix: respect ASF content description boundaries @Borewit (#2830)
- fix: ignore inherited native tag mappings @Borewit (#2829)
- fix: prevent orphan MP4 boxes from modifying another track @Borewit (#2828)
- fix: preserve arbitrary ID3v2 credit role names @Borewit (#2826)
- fix: validate ID3v2 chapter frame boundaries @Borewit (#2825)
- fix: derive AIFF bitrate from sound payload after parsing @Borewit (#2822)
- fix: account for WAV chunk padding and remaining payload @Borewit (#2821)
- fix: preserve ASF picture order during MIME detection @Borewit (#2820)
- fix: decode ASF picture fields at their correct offsets @Borewit (#2819)
- fix: recognize trailing ID3v2 padding @Borewit (#2817)
🛠️ Under the hood
📦 NPM release
NPM release: music-metadata@12.2.3
v12.2.2
Changes
🚀 Improvements
🔒 Security
🛠️ Under the hood
- refactor: strengthen the Matroska schema pattern @Borewit (#2814)
- refactor: share Vorbis vendor and comment list decoding @Borewit (#2811)
- refactor: centralize embedded ID3 parser invocation @Borewit (#2813)
- fix: await Matroska index skips during EBML traversal @Borewit (#2812)
- refactor: preserve format key and value types @Borewit (#2810)
- Remove duplicate MP4 tag mapper registration @Borewit (#2809)
📦 NPM release
NPM release: music-metadata@12.2.2
v12.2.1
Changes
🚀 Improvements
- perf(ebml): batch random-access element header reads @Borewit (#2803)
- fix: recognize CAF and DSDIFF with latest file-type @Borewit (#2806)
🐛 Bug Fixes
- fix(mp4): preserve media handler with track metadata @Borewit (#2802)
- fix: reject non-regular files in parseFile @Borewit (#2804)
📦 NPM release
NPM release: music-metadata@12.2.1
v12.2.0
Changes
✨ Enhancements
- Expose video track timing and overall media statistics @Borewit (#2794)
- Support for Apple Core Audio Format (CAF) @NellowTCS (#2781)
📦 NPM release
NPM release: music-metadata@12.2.0
v12.1.1
v12.1.0
Changes
✨ Enhancements
🚀 Improvements
- Fix MP4 chapter parsing for seekable media @Borewit (#2792)
- Improve container-independent track information @Borewit (#2788)
- Support application/ogg during parser selection @Borewit (#2786)
- OGG/FLAC: derive duration from last page granule position @NellowTCS (#2780)
🐛 Bug Fixes
- Fix ASF File Properties flag decoding @Borewit (#2793)
- Fix/av track detection @Borewit (#2785)
- fix: decode unknown Ogg granule positions as -1 @Borewit (#2784)
🛠️ Under the hood
📦 NPM release
NPM release: music-metadata@12.1.0
v12.0.0
⚠️ API Changes
- Update ECMAScript target to ES2023 @Borewit (#2765)
- Update file-type to v22 and require Node.js 22 @Borewit (#2728)
🚀 Improvements
🐛 Bug Fixes
- Fix tag grouping for object prototype property names @Borewit (#2773)
- Fix front cover selection and empty picture lists @Borewit (#2772)
- Fix missing APEv2 metadata when tokenizer options are omitted @Borewit (#2771)
📚 Documentation
📦 Dependencies
- Update content-type to 3.1.1 @Borewit (#2761)
- build(deps): bump uint8array-extras from 1.5.0 to 1.6.0 @dependabot[bot] (#2760)
- Update file-type to v22 and require Node.js 22 @Borewit (#2728)
📦 NPM release
NPM release: music-metadata@12.0.0