- Prevent the `--interactive/-i` mode's input from being obscured by the progress bar when batch processing ([55](https://github.com/arkrow/PyMusicLooper/issues/55)) - Properly handle and auto cleanup output directories in batch processing mode (related to [29](https://github.com/arkrow/PyMusicLooper/issues/29))
3.5.0
Added
- Support exporting and reading `LOOPLENGTH` tag by Splendide-Imaginarius in PR 47. Adds the `--tag-offset/--no-tag-offset` option to `tag` and `play-tagged` to customize the behaviour (default: auto).
Changed
- Migrate dependency management from poetry to uv - Added support for Python 3.13 - Dropped support for Python 3.9
Fixed
- Properly handle and auto cleanup default output directory (Fixes [29](https://github.com/arkrow/PyMusicLooper/issues/29)) - Prevent division by zero in _calculate_subseq_beat_similarity by Chlorobyte-but-real in PR [53](https://github.com/arkrow/PyMusicLooper/pulls/53) - Improve experience when system does not have PortAudio installed yet by matchu in [49](https://github.com/arkrow/PyMusicLooper/pulls/49)
3.4.2
Changed
- Updated dependencies.
Fixed
- The output of `--alt-export-top` wrapping in some edge cases ([43](https://github.com/arkrow/PyMusicLooper/issues/43)) - Active audio streams interrupted in some cases on Windows ([21](https://github.com/arkrow/PyMusicLooper/issues/21))
3.4.1
Changed
- Updated dependencies. - Minor internal changes for deprecated library functionalities/imports.
Fixed
- BPM is now correctly derived from librosa 0.10.2's updated beat_track function.
3.4.0
Added
- Added proper Python 3.12 support.
Changed
- Updated dependencies.
Removed
- Support for Python 3.8 has been removed. The minimum supported Python version for PyMusicLooper is now Python 3.9.
3.3.0
Added
- New option in `export-points`: `--fmt`, to customize the exported loop points format. Options: `samples` (default), `seconds`, or `time` (mm:ss.sss).
Changed
- Minor internal code clean-up and refactoring. - Updated dependencies.