Skip to content

Releases: orchetect/OSCKit

1.0.1

30 Oct 05:54
Compare
Choose a tag to compare

Fixes

  • OSCServer / OSCSocket / OSCClient: Fixed regression where newly immutable properties were not added as initializer parameters

Deprecations

  • OSCServer / OSCSocket: Removed isPortReuseEnabled 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

29 Oct 07:02
Compare
Choose a tag to compare

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; use any OSCValue instead
  • OSCSocket: Properties isIPv4BroadcastEnabled and isPortReuseEnabled 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

28 Oct 00:55
Compare
Choose a tag to compare

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

30 Sep 02:19
Compare
Choose a tag to compare

Changes

  • OSCAddressSpace: Removed async from dispatch method to reduce call-site friction
  • OSCServer and OSCSocket: Replaced dispatch queue injection with dedicated internal queue
    • Now that the OSC receive handler block is Sendable and async, the internal queue is only present as it's required for CocoaAsyncSocket to receive

Maintenance

  • Minor internal cleanup and documentation updates

0.6.0

29 Sep 00:13
Compare
Choose a tag to compare

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

0.5.4

26 Sep 01:33
Compare
Choose a tag to compare

Maintenance Release

  • Minor documentation updates

0.5.3

23 Sep 19:10
Compare
Choose a tag to compare

Maintenance Update

  • Conditional internal import for internal dependencies for better compatibility with Xcode 16 / Swift 6

0.5.2

21 Sep 20:50
Compare
Choose a tag to compare

Maintenance Update

  • Updated for better compatibility with Xcode 16 / Swift 6
  • Add compatibility for compiling for watchOS

0.5.1

08 May 05:33
Compare
Choose a tag to compare

Maintenance Update

  • Mitigation for Swift 5.10 @_implementationOnly compiler warnings
  • Minor docs updates

0.5.0

10 Apr 07:03
Compare
Choose a tag to compare

New

  • Added new OSCSocket class that combines server and client using a single local UDP port
  • Added OSCKitSocketExample project to demonstrate OSCSocket
  • OSCClient
    • Added ability to specify local port with init(localPort:)
    • Added isPortReuseEnabled property
    • Added isIPv4BroadcastEnabled property
  • OSCServer
    • Added isPortReuseEnabled property
    • Added isIPv4BroadcastEnabled property
    • Now defaults to main queue using default QoS if not specified
  • Added native support for CGFloat as an OSC message value type

Improvements

  • Full DocC documentation available online, and buildable within Xcode
  • Thinned external dependencies from 4 to 2
  • Minor cleanup, unit test updates, and API clarification