Releases: orchetect/OSCKit
Releases · orchetect/OSCKit
1.3.0
New
- TCP client and server classes have been added:
OSCTCPClient
&OSCTCPServer
- supporting OSC 1.0 (PLH) and OSC 1.1 (SLIP) framing modes
- connection/disconnection notification handler
- optionally constrain communication to a specific network interface
- A new TCP Client and Server example project has been added
- The existing UDP classes now also gain an
interface
property to optionally constrain communication to a specific network interface
Fixes
- Fixed bug in OSC value parser where a crash could happen in rare cases
Changes
OSCClient
class has been renamedOSCUDPClient
to disambiguate from the new TCP classesOSCServer
class has been renamedOSCUDPServer
to disambiguate from the new TCP classesOSCSocket
class has been renamedOSCUDPSocket
to disambiguate from the new TCP classes- Some class properties have been renamed for better clarity or consistency.
1.2.2
1.2.1
New
AnyOSCNumberValue
: AddedBool
as a boxable type (#47)AnyOSCNumberValue
: AddedboolValue
computed property (#47)OSCValueToken
: AddednumberOrBool
andnumberOrBoolOptional
cases (#47)
Maintenance
- Updated SPI to remove watchOS from README platform badges (#46)
- Updated documentation to reflect changes
- Updated unit tests
1.2.0
1.1.0
1.0.1
Fixes
OSCServer
/OSCSocket
/OSCClient
: Fixed regression where newly immutable properties were not added as initializer parameters
Deprecations
OSCServer
/OSCSocket
: RemovedisPortReuseEnabled
property as it has no effect on Apple platforms
Maintenance
- Rebuilt all example projects as SwiftUI apps
- Example projects now build for all platforms (macOS, iOS, tvOS, visionOS) and can be run in simulators
1.0.0
Version 1.0.0 Release
- Library is now fully refactored to take advantage of Swift Concurrency
- Swift 6 strict concurrency compatibility
Fixes
- Fixed edge case where decoding a malformed OSC blob could cause a crash
Changes
- Removed opaque
AnyOSCValue
typealias; useany OSCValue
instead OSCSocket
: PropertiesisIPv4BroadcastEnabled
andisPortReuseEnabled
are now immutable and only settable via the initializer- Internal refactors to reduce potential type and operator ambiguity
Maintenance
- Removed vestigial
NSObject
inheritance for objects - Better error logging for debug builds
- Error types are now
LocalizedError
with descriptions - Added OSCKitCustomTypeExample example project
- Updated example projects
- Migrated unit tests to Swift Testing
0.6.2
Note
This is the final release before version 1.0.0 which will introduce Swift 6 strict concurrency compatibility.
That will introduce some minor code-breaking changes due to new requirements, so the major version bump is appropriate.
Additionally, OSCKit is now well-tested in production and largely feature-complete, so it is a good time to move to version 1.
Maintenance
- Updated README
- Added
.spi.yml
0.6.1
Changes
OSCAddressSpace
: Removedasync
fromdispatch
method to reduce call-site frictionOSCServer
andOSCSocket
: Replaced dispatch queue injection with dedicated internal queue- Now that the OSC receive handler block is
Sendable
andasync
, the internal queue is only present as it's required for CocoaAsyncSocket to receive
- Now that the OSC receive handler block is
Maintenance
- Minor internal cleanup and documentation updates
0.6.0
New
- Refactored OSCKit to adopt Swift Concurrency where applicable
- Added
Sendable
conformance to types and closures
Maintenance
- Bumped package minimum requirements to macOS 10.15, iOS 13, tvOS 13, watchOS 6 (as a result of Swift Concurrency requirements)
- Example projects have been cleaned up and refactored to use cleaner design patterns
- Updated documentation