Skip to content

Releases: orchetect/OSCKit

2.0.1

27 Nov 23:45

Choose a tag to compare

Maintenance

  • Migrated SwiftASCII dependency to swift-ascii

2.0.0

05 Oct 10:25

Choose a tag to compare

Note

This release contains various minor API changes, as well as bug fixes and other refinements. As such, it has gained a major version number bump to version 2.

A summary of the main changes can be found below.

  • OSCKitCore
    • OSCObject protocol has been removed since the only two concrete types that can possibly conform are OSCBundle or OSCMessage.
      • The protocol has been replaced a new OSCPacket enum that contains two strongly-typed cases containing either an OSCBundle or OSCMessage.
    • OSCPacket and OSCBundle: Both have a new messages property that returns an array of OSCMessages contained within the packet or bundle.
    • OSCAddressSpace: Converted class into an actor
    • OSCAddressSpace: Added new unregister(methodID:) method
    • OSCEncodeError and OSCDecodeError: Now have more idiomatic error cases
    • Throwing methods that throw a strongly-typed error are now marked as such in the method signature
  • OSCKit
    • OSCUDPServer: init: Passing nil or 0 for port parameter will now cause a random available port number to be used
      • This also fixes a bug where the localPort property was not updated if a random port was assigned
    • OSCUDPClient: init: Passing nil or 0 for localPort parameter will now cause a random available port number to be used
    • OSCTCPServer: init: Passing nil or 0 for port parameter will now cause a random available port number to be used

1.4.1

05 Oct 03:00
9476d5d

Choose a tag to compare

Fixes

  • Fixed bug where TCP SLIP decoding might fail when parsing certain byte sequences

1.4.0

10 Sep 06:01
7b5ede4

Choose a tag to compare

New

  • The OSCKitCore target now has Linux support (thanks @lhoward for the PR)

Maintenance

  • Added Linux platform to CI pipeline

1.3.0

26 Jul 21:20
67dbb97

Choose a tag to compare

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 renamed OSCUDPClient to disambiguate from the new TCP classes
  • OSCServer class has been renamed OSCUDPServer to disambiguate from the new TCP classes
  • OSCSocket class has been renamed OSCUDPSocket to disambiguate from the new TCP classes
  • Some class properties have been renamed for better clarity or consistency.

1.2.2

08 Jun 02:33

Choose a tag to compare

Changes

  • OSCMessage: addressPattern and values properties are now mutable
  • OSCBundle: timeTag and elements properties are now mutable

1.2.1

09 Apr 00:17

Choose a tag to compare

New

  • AnyOSCNumberValue: Added Bool as a boxable type (#47)
  • AnyOSCNumberValue: Added boolValue computed property (#47)
  • OSCValueToken: Added numberOrBool and numberOrBoolOptional cases (#47)

Maintenance

  • Updated SPI to remove watchOS from README platform badges (#46)
  • Updated documentation to reflect changes
  • Updated unit tests

1.2.0

17 Feb 05:10
ddc8f84

Choose a tag to compare

New

  • OSCServer and OSCSocket now include remote host & port parameters in receive handler (#43)
  • OSCAddressSpace: method blocks now include remote host & port parameters in receive handler (#43)

1.1.0

23 Jan 03:58
9b838f0

Choose a tag to compare

Fixes

  • An issue was resolved where received OSC messages may have been dispatched out-of-order (#40, #41)

Improvements

  • Swift Concurrency implementation has been stripped down to reduce friction
  • OSCServer/OSCSocket: Added receiveQueue parameter to init to allow custom queue

1.0.1

30 Oct 05:54

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