- macOS 11.2.3
- Xcode 12.4 (12D4e)
- Swift 5.3
- macOS 10.15 and higher
- NOTE: for macOS 10.13 or 10.14 use xLib6000 v1.4.0
- iOS 14 and higher
xLib6000 is a Swift Package
Please send any bugs / comments / questions to support@k3tzr.net
Flex Radios can have one of four different version groups:
- v1.x.x, the v1 API - untested at this time
- v2.0.x thru v2.4.9, the v2 API <<-- CURRENTLY SUPPORTED
- v2.5.1 to less than v3.0.0, the v3 API without MultiFlex <<-- CURRENTLY SUPPORTED
- v3.x.x thru v3.2.14, the v3 API with MultiFlex <<-- CURRENTLY SUPPORTED
- greater than v3.2.14 - untested at this time
CocoaAsyncSocket is a package dependency in the xLib6000 target. It provides TCP and UDP connectivity.
A SmartSDR-like client for the Mac.
Mac versions of DAX, CAT and a Remote CW Keyer.
A Mac-based Voice Keyer and a CW Keyer.
- made IdToken typealias non-optional
- WanServer function name changes
- added libMessage() in LogProxy to distinguish xLib6000 log messages from app log messages
- in Discovery added logging of SmartLink radio removal
- minor edits in Pinger.swift, WanServer.swift & Profile.swift
- corrections in WanServer
- added logging of radio removal in Discovery
- changed format of log messages throughout app
- minor changes to parse routines in WanServer
- corrected parse routines in WanServer
in Radio.swift, correction in parseV3Connection
- in Radio.swift, changed the way guiClient Added / Updated is processed
- in Discovery.swift, changed notSeenInterval default to 10 (from 5)
- in Discovery.swift, changed timer leeway to 250 ms (was 100 ms)
- corrected bug in Radio.swift, parseReply method (line 1003)
- increased iOS deployment from v13 to v14
- changed the name of the Log class to LogProxy
- in WanServer.swift changed sendTestConnection(for packet: DiscoveryPacket) to sendTestConnection(for serialNumber: String)
- removed xLib_iOS and xClient_macOS (created stand-alone packages for them)
- removed dependency on xCGLogger (now in xClient... packages)
- updated CocoaAsyncSocket to require 7.6.5 (fixes iOS 8 issue in xClientIos)
- corrections in xClient_macOS as a result of debugging / changes
- ----->>>>> NOTE: xClient_iOS is not functional at this time
- corrected bug in Discovery line 120
- cleanup comments and formatting (no actual code changes)
- made all stream handling code similar
- replace CocoaAsyncSocket source code with a package reference
- eliminated CocoaAsyncSocket target
- corrected access level for AlertParams initializer
- removed openRadio() and closeRadio from RadioManagerDelegate protocol
- added displayAlert() to RadioManagerDelegate protocol
- modified openRadio() and closeRadio in RadioManager.swift
- removed SwiftyUserDefaults dependencies
- added XCGLogger and SwiftyUserDefaults dependencies
- added xLibClient target
- raised the supported version to 3.2.14
- added "connectionString" computed property to DiscoveryPacket
- updated log messages to use connectionString consistently
- changed discoveredRadios to discoveryPackets throughout
- reworked guiClients
- edited log messages throughout for consistency
- temporary version for testing
- refactor of Discovery code related to GuiClients
- chages throughout to make log message more consistent
- correction to guiClientHasBeenRemoved notification (note.object was nil)
- added findFirstSlice(...) method in RadioExtensions.swift (needed for xMini)
- changes throughout to reduce the number of KVO updates
- changed tcpFirstPingReceived to tcpPingReceived (now sends notification after 2nd ping response)
- delayed Side View opening to tcpPingReceived (corrects crash on startup)
- corrected frequency conversion extentions (uses Double now vs Float earlier) to correct 1 Hz frequency errors
- corrected slice audioGain to deal with v2 vs v3 differences
- refactored apiState (renamed to state)
- eliminate all @Barrier usage
- added removeRemoteTxAudioStream()
- added export() and restore(from:) methods to Interlock & Transmit (future use)
- added Tests for export() and restore(from:)
- removed compression from requestRemoteTxAudioStream()
- corrected issue with GuiClient.clientId being reset to nil by later broadcast packets
- correction to Fdx Button command to radio
- corrections to Meter handling for UI controls (e.g. Power & SWR indicators)
- corrections to Stream removal process (Audio & IQ streams)
- correction for blank GuiClient "station"
- added remoteRxAudioStreamRemove() func
- added updating of known GuiClients
- added defaultFound() func
- many minor corrections / edits
- added WanHasBeenAdded notification
- corrected "isForThisClient" functionality in all streams"