Skip to content

Releases: PADL/SwiftOCA

SwiftOCA 0.2.0

07 Jun 07:42
Compare
Choose a tag to compare
  • indentation is now 2 spaces
  • use new SocketAddress package for handling socket addresses
  • OcaAudioLevelSensor
  • OcaPropertyID and friends now conform to ExpressibleByStringLiteral
  • new CoreFoundation backend supports both controllers and devices
  • represent subscriptions internally as Set rather than NSSet

SwiftOCA 0.1.9

26 Apr 03:05
Compare
Choose a tag to compare
  • test Unix domain socket endpoint in example app
  • update swift-async-algorithms to 1.0.0
  • allow third-party controllers to subclass OCA classes
  • fix some more concurrency warnings
  • rename OcaObjectSearchResultFlags to OcaActionObjectSearchResultFlags per latest AES70 spec
  • new Ocp1ConnectionState type for interrogating controller connection state
  • OcaCounterNotifier stub implementation
  • correct OCP.1 connection prefix for domain sockets

Regression fix

11 Apr 02:04
Compare
Choose a tag to compare
  • fix a regression introduced in previous release where GetActionObjectsRecursive() would not be used when resolving action objects, even for non-datagram connections
  • stubs for OcaCounter types

Sundry fixes

10 Apr 07:20
Compare
Choose a tag to compare
  • add OcaFrequencyActuator, OcaWhenPhysicalRelative, OcaWhenPhysicalAbsolute
  • validate OcaObjectSearchResult so they can be unsafely unwrapped, safely
  • allow searches with nil class ID
  • fix incorrect class ID in OcaWorker
  • fix incorrect method ID in GetPortName(), SetPortClockMapEntry()
  • use serial numbers rather than years in OcaProtocolVersion
  • (tested) support for UDP and domain socket clients
  • implement exponential backoff in reconnection logic
  • do client-side recursion with datagram protocols to avoid exceeding MTU
  • fix some cast issues that could cause block searches to crash

0.1.6

01 Apr 10:12
Compare
Choose a tag to compare
  • support for OcaGrouper and OcaGroup classes
  • private API to support ocacli tool
  • client-side support for OcaMediaTransportNetwork
  • client-side JSON export support
  • add OcaBlockConfigurability property to OcaBlock
  • recursive fallback implementation for devices that do not implement GetActionObjectsRecursive()
  • make all enumerations conform to CaseIterable
  • fix decoding of OcaObjectSearchResult optional members
  • use receive/send for datagrams in IORing client backend, but read/write for connection-oriented transports
  • fix encoding and decoding of OcaMap and OcaMultiMap types
  • allow multiple callbacks to be registered for an event subscription
  • reporting of connection statistics
  • fix removal of expired controllers
  • separate device and controller tests into separate targets

0.1.5

05 Feb 06:27
744bf58
Compare
Choose a tag to compare
  • Event notifications for multivalued properties should contain all values, not just updated value
  • Initial implementation of OcaGrouper

0.1.2

27 Jan 06:30
Compare
Choose a tag to compare
  • Audit and be more explicit in setting OCP.1 parameter count
  • Ensure all commands are subject to response timeout
  • Add some test vectors from AES70-2023-3
  • Ensure controller sends keepAlive packet at start of every session
  • Devices with UDP endpoints must receive a keepAlive packet before opening the controller session

0.1.1

26 Jan 08:47
Compare
Choose a tag to compare
  • General API rename, cleanup
  • Use inbuilt reflection instead of Mirror
  • More AES70-2023 classes

Initial release

16 Jan 20:33
Compare
Choose a tag to compare

Initial release of SwiftOCA.