"10 years anniversary edition"
Did you know it's been 10 years since version 1.0 has been released?
Let's celebrate with a new release!
Get it fresh from PyPI: https://pypi.org/project/mido/1.3.0/
-- Raphaël Doursenaud rdoursenaud
Acknowledgments
Special thanks to the contributors to this release:
- Aarni Koskela akx
- Andrii Oriekhov andriyor
- Drew Edwards almostimplemented
- Frnot
- gulaki
- kyleclaassen
- Maciej Sokołowski matemaciek
- Morgan Kenyon morgankenyon
- M. Vondano m-vo
- nomadbyte
- Ole Martin Bjørndalen olemb
- Radovan Bast bast
- Raphaël Doursenaud rdoursenaud
- Sebastian Böck superbock
- Simon Waloschek sonovice
- Yinan Lang langyinan
A few stats: 16 contributors, 149 files changed, 107 commits.
Changes
Important
* Removed support for Python 2.7. * Mido now requires Python 3.7 or
higher. (Ole Martin Bjørndalen, pull request 408, with additional cleanup
from rdoursenaud)
Bugfixes
* Backends: The ``rtmidi`` and ``python-rtmidi`` 1.2.10 sometimes
returned duplicate port names. (Bug introduced in 1.2.10. Fix by Maciej
Sokołowski, pull request 321)
* Backends/rtmidi: Prevent virtual port name mangling (rdoursenaud,
thanks to digitalsignalperson for reporting)
* Backends/rtmidi: Remove callback before closing the port to avoid a
race condition (rdoursenaud)
* Backends/Portmidi (akx, pull request 483)
* Backends/Socket: Disable buffering (m-vo, pull request 342)
* Backends/Socket: In Python 3, PortServer used to crashe when a socket
client disconnects. (issue 290) (kyleclaassen, pull request 291)
* MidiFile: Properly decode/encode SMPTE hours in the SMPTE offset Meta
(Thanks to laori93 for reporting and heilei for investigating. Issue 156)
* MidiFile: BPM <-> MIDI tempo conversions (superbock, pull request 114)
Features & Enhancements
* MidiFile: Move merging track out of ``__iter__()`` to prevent hanging on
first call (Frnot, pull request 470)
* MidiFile: ``play()`` can now use an optional custom clock source
(almostimplemented, pull request 153)
* MidiFile: Make ``UnknownMetaMessage`` robust to faulty MIDI files (sonovice,
pull request 286)
* MidiFile: Added ``from_bytes()`` to ``MetaMessage`` (gulaki, pull request
149)
Project
* Installation: support the "extras" syntax to install optional dependencies
(rdoursenaud)
* Documentation: updated, overhauled and proofread (rdoursenaud, nomadbyte,
superbock)
* The project is now REUSE compliant. See https://reuse.software/ for details
(rdoursenaud)
* Packaging is now PEP-518 compliant (rdoursenaud)
* New project co-maintainers: bast & rdoursenaud