Skip to content

Releases: Dynamus-Technologies/roadsave-ios-sdk

RoadSaveKit 4.0.0-rc.1

27 Apr 11:06

Choose a tag to compare

[4.0.0-rc.1] — 2026-04-27

First public pre-release of RoadSaveKit 4.0.0.

Added

  • Swift Package Manager support via https://github.com/Dynamus-Technologies/roadsave-ios-sdk (binary distribution; no source compilation required).
  • Direct XCFramework download from the GitHub Releases page with SHA-256 checksum verification.
  • DEBUG-only RoadSaveSDK.mockBridge for injecting scripted GPS and accelerometer data during integration testing. Excluded from release builds.
  • RoadSaveSDK.setAutoTripDetection(_:) runtime toggle to pause and resume automatic trip detection without dismantling the SDK.

Changed

  • Minimum iOS version: 17.0.
  • RoadSaveConfiguration.shouldAutoDetectTrips now correctly controls whether automatic trip detection starts; previously the flag was a no-op at init time.

Removed

  • BREAKING: Manual trip control (startTrip() / stopTrip()) is no longer in the public API. Trips are managed exclusively through auto-detection — set shouldAutoDetectTrips: true on RoadSaveConfiguration to enable.

Migrating from 3.x

See the full migration guide at docs.roadsave.co.za/ios/4.0.0-rc.1/integration-guide/.

4.0 is a complete rewrite in Swift. Update your import statement first:

// Before (3.x)
import CrashDetechKit

// After (4.0)
import RoadSaveKit

Quick-reference type rename table:

3.x 4.0
CrashDetechSDK RoadSaveSDK
CrashDetechConfiguration RoadSaveConfiguration
CrashDetechDelegate RoadSaveDelegate
CrashDetechError RoadSaveError

CrashInfo, TripInfo, TripStartInfo, CrashConfidence, CrashDetectionMode, and FalsePositiveReason are unchanged.

Key breaking changes:

  • configure(withApplicationID:clientUserID:) is replaced by configure(with:), which is async throws. Call it from a Task at app startup.
  • Delegate callbacks now receive typed Swift structs instead of NSDictionary.
  • crashDetected(_:) fires after the server evaluation round-trip completes. Check crashInfo.confidence for the outcome. If the server returns "None", no callback fires.
  • CocoaPods is no longer supported. Add the package via Swift Package Manager from https://github.com/Dynamus-Technologies/roadsave-ios-sdk.