Highlights
- Faster ReplayGain analysis: the equal-loudness filter now uses ring buffers instead of shifting its history arrays on every sample, cutting memory traffic in the hot loop that dominates
-r/-awall time — output stays bit-identical (#260) - Faster default apply:
mp3rgain -g Nnow reads and frame-walks each file once instead of twice (headroom check + apply), roughly halving I/O on large batches (#261) - Faster tag-only updates: APE tag rewrites touch only the file tail instead of rewriting the whole file, and album MINMAX writes run in parallel (#259)
Breaking change (library API)
- The 11
analyze_album_*function variants were consolidated into a singleanalyze_album_with_optionsentry point plus a thinanalyze_albumconvenience wrapper (#258, closes #250). CLI/GUI behavior is unchanged.
What's Changed
- ci: bump the github-actions group with 4 updates by @dependabot[bot] in #249
- GUI: scope Find Max Amplitude and Check Stored Tags to row selection by @M-Igashi in #256
- Make -s r a compatibility no-op with a notice by @M-Igashi in #257
- Deduplicate shared helpers across CLI and GUI paths (33d5621)
- Rewrite only the APE tail for tag-only updates; parallelize album MINMAX writes by @M-Igashi in #259
- Consolidate analyze_album* API into a single options-based entry point by @M-Igashi in #258
- Replace per-sample history shifts with ring buffers in EqualLoudnessFilter by @M-Igashi in #260
- Read each file once in the default -g apply path by @M-Igashi in #261
Full Changelog: v2.9.6...v2.10.0