Releases: PADL/SwiftOCA
Releases · PADL/SwiftOCA
SwiftOCA 0.2.0
- indentation is now 2 spaces
- use new
SocketAddress
package for handling socket addresses OcaAudioLevelSensor
OcaPropertyID
and friends now conform toExpressibleByStringLiteral
- new CoreFoundation backend supports both controllers and devices
- represent subscriptions internally as
Set
rather thanNSSet
SwiftOCA 0.1.9
- 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
toOcaActionObjectSearchResultFlags
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
- 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
- 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
- support for
OcaGrouper
andOcaGroup
classes - private API to support ocacli tool
- client-side support for
OcaMediaTransportNetwork
- client-side JSON export support
- add
OcaBlockConfigurability
property toOcaBlock
- 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
andOcaMultiMap
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
0.1.2
- 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
Initial release
Initial release of SwiftOCA.