0.10.0
Overview
This release represents an overhaul of internals to make MIDIKit Swift 6 strict concurrency compatible.
Efforts have been made to retain as much flexibility and backwards-compatibility as possible while adopting new language features and requirements where appropriate.
Note
Minimum platform requirements are now macOS 10.15, iOS 13, tvOS 13, watchOS 6.
Xcode 16 is required to build.
Improvements
- Refactors for Swift 6 strict concurrency (#222, #228)
- MIDIKitIO:
MIDIManager
: Now conforms toSendable
ObservableMIDIManager
: Refactored to be@Observable
(observabledevices
andendpoints
properties)- The prior
ObservableMIDIManager
class which conforms toObservableObject
has been renamedObservableObjectMIDIManager
for legacy support (observabledevices
andendpoints
properties) MIDIEndpoints
: AddedinputsOwned
andoutputsOwned
properties for convenienceMIDI1Parser
andMIDI2Parser
: Now conform toSendable
- MIDIKitControlSurfaces:
HUIHost
andHUISurface
: Now conform to@Observable
andSendable
- MIDIKitSync:
MTCGenerator
andMTCReceiver
: Now conform toSendable
- MIDIKitIO:
Changes
- All package library products are no longer forced as static
MIDIManager
: RemovedNSObject
superclass inheritance
Deprecations
- Removed
unofficialBusSelect
MIDI event - unsupported by Apple operating systems (c9bade9)