Release Notes

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[5.0.0] - 2024-05-24

Please be aware of the breaking changes listed below.

Added

  • Scan process can now be set up via a JSON configuration

    • For instructions, check the platform specific scan process pages for Android and iOS

  • Scan result can now easily be converted to a JSON for further processing on integrator side

    • Simple use the toJson() extension function in the TreadDepthResult object

Changed

  • Configuring the TireTreadScanViewConfig is more intuitive now

Removed

  • Replaced some functions of TireTreadScanViewConfig with a single function withScanConfig() to make the setup process more streamlined

Breaking changes

  • Removed the Builder from the TireTreadScanViewConfig. The configuration can be now done directly using the fields of a TireTreadScanViewConfig object.

    • Builder.withScanSpeed is now tireTreadScanViewConfig.scanSpeed

    • Builder.withAdditionalContext is now tireTreadScanViewConfig.additionalContext

    • Builder.withMeasurementSystem is now tireTreadScanViewConfig.measurementSystem

    • Builder.withCustomDefaultUiConfig is now tireTreadScanViewConfig.defaultUiConfig

    • Builder.disableDefaultHaptic is now tireTreadScanViewConfig.useDefaultHaptic

    • Builder.disableDefaultUi is now tireTreadScanViewConfig.useDefaultUi

[4.2.1] - 2024-04-23

Changed

  • Improved communications with our backend to offer a more stable and reliable scan experience

[4.2.0] - 2024-04-05

This release introduces several enhancements to the Default UI, resulting in a more accurate and intuitive scanning process. Additionally, the Default UI now supports localization and customization.

Check the Default UI specific documentation for more details.

Added

  • A new DefaultUiConfig class now allows fine-grained customization of the Default UI’s components.

    • In the component configuration classes, visible properties enable you to selectively hide specific elements while keeping others visible.

    • text properties can be used to define custom texts for the components.

    • Check the Default UI’s Customizing and Elements page for customization options, a detailed list of components, and their respective configuration classes.

Changed

  • Default UI

    • Introduced timer and moving phone icon to guide the pace and direction of the scan

    • Improved upload screen

    • Moving tire overlay adapts automatically to the orientation of the device

Make sure to always scan from outside to inside, when scanning a tire mounted on a car

[4.1.0] - 2024-03-08

This release introduces several improvements to the Default UI’s user experience and scan guidance. Additionally, it includes a new feature that allows for providing and retrieving more context for measurements. A small bug fix has also been implemented for Android.

Added

Android & iOS

  • [Default UI] Introduced a tire-shaped grid overlay to the Default UI, making it simpler to align the camera correctly with the tire’s shoulder.

    • The speed and direction to where the phone should be moved during the scan process are now guided by the tire-shaped overlay’s movement.

    • The scanning process should always be performed from the outer side to the inner side of the tire.

    • When the phone is rotated, both the overlay and the scan direction are automatically adapted.

  • [Default UI] Added a tooltip informing the user how to position the tire overlay to be in line with the shoulder of the tire.

  • [Additional Context] A new class AdditionalContext was added to enable holding more context about a specific measurement.

    • This information can be provided when initializing the TireTreadScanView.

    • If provided, its information will be returned in the measurement’s result.

    • Check the platform-specific 'scan process' documentation pages for more information.

  • [Scan View] The TireTreadScanViewConfig builder has a new .addAdditionalContext(AdditionalContext) function, enabling you to provide more context to a measurement.

  • [Result] Added a new property called measurementInfo (of type MeasurementInfo) to the TreadDepthResult class.

    • This class can be used to retrieve more information about the measurement such as UUID, status and additionalContext (if previously provided).

iOS

  • [Default UI] Added a small in-between screen to guide the user on how to focus the camera.

  • [Default Haptic] Added haptic feedback to signalise that the tire is now in focus.

Removed

  • [Default UI] As part of the user guidance improvements, the tooltip messages on the top of the UI were removed.

Fixed

[Android]

  • Fixed an issue where the distance feedback would continue to be played after leaving the Scan View.

    • In some specific scenarios, the TireTreadScanView's distance feedback would continue to be played even after ending the scan process.

    • With this release, users will not experience this issue anymore, regardless of how the TireTreadScanView is implemented.

[4.0.1] - 2024-02-26

Fixed

[iOS]

  • [Default UI] Fixed a crash that happened when some resource files were not available.

    • When using the Default UI without the image resources available in the Application’s bundle, the SDK would crash.

    • The SDK now includes those resources, preventing any such crashes.

[4.0.0] - 2024-01-25

Please be aware of the breaking changes listed below.

Changed

  • Default UI redesign

    • We reorganized the UI to offer a better user experience with the help of tool tips.

    • The Default UI now intercepts user touches to start and stop the scan process instead of using buttons.

    • We also updated the distance indicator to tell the user whether they have to move closer or farther away from the tire.

  • The DistanceStatus enum has a new status (UNKNOWN on Android - unknown on iOS), returned when no distance information is available.

    • This is the case when the device’s camera was not yet able to focus on the scan target.

Added

  • Added a new captureDistanceStatus property to the TireTreadScanner instance, of type DistanceStatus.

    • This property can be used to check if the user has the device correctly positioned for the scan process.

  • Added a tooltip icon that signalises that the camera is in optimal position to start the scanning process

Breaking Changes

  • To offer a more streamlined experience, we removed some of the classes:

    • Color

    • ATDSideButton on iOS

    • DistanceFeedbackView

    • ScanGuideView

    • ScanSideButtonsView

[3.0.1] - 2024-01-17

Fixed

[Android]

  • Fixed a crash that happened when aborting a scan that wasn’t started yet.

    • Aborting a scan process before starting it would result in crash due to an unitialized property.

    • The SDK will not crash anymore when aborting scans before their initialization.

[iOS]

  • Fixed a crash that happened when the ProximaNova-Bold font was not available.

    • When using the Default UI without the ProximaNova-Bold font available in the Application, the SDK would crash.

    • The SDK’s Default UI will not crash anymore when this font is not available.

[3.0.0] - 2023-12-28

This major release includes many improvements in the usability and stability of the Tire Tread SDK (both for integration and usage).

Please be aware of the breaking changes below:

Breaking changes

[Android & iOS]

  • ScanTireTreadScanViewConfig

    • defaultUi and defaultHaptic are now enabled by default.

    • The TireTreadScanViewConfig constructor was changed to a Builder pattern, as shown below:

      • TireTreadScanViewConfig.Builder().build() - For more details and examples, check the platform-specific "Scan Process" pages.

  • ResultsgetTreadDepthReportResult:

    • You no longer need to call getTreadDepthReportResult repeatedly until the measurement result becomes available. Just call the function on a background thread, and listen for callbacks on success and on failure.

    • getTreadDepthReportResult function is now void.

    • getTreadDepthReportResult's success callback has been renamed from Succeed to Succeeded.

    • onGetTreadDepthReportResultSucceeded callback now provides the result as a TreadDepthResult object.

    • onGetTreadDepthReportResultFailed callback now provides the failure information as a MeasurementError object.

  • ResultsTreadResultRegion object:

    • The field confidence was removed.

  • Results / PDF ReportgetTreadDepthReportPdf function:

    • This function is now void.

    • The success callback has been renamed from Succeed to Succeeded.

    • The onGetTreadDepthReportSucceeded callback provides the ByteArray of the PDF Report.

    • The onGetTreadDepthReportFailed callback provides now only an Exception.

[iOS]

  • Increase minimum iOS version requirement to 16.4.

[Android]

  • The minimum version requirements have been increased to:

    • JDK 17

    • Gradle 8.1.0

    • compileSdk 34

    • minSdk 26

    • Compose Compiler v1.5.0

  • ScanTireTreadScanView

    • The attributes useDefaultUi and useDefaultHaptic of the TireTreadScanView have been renamed to disableDefaultUi and disableDefaultHaptic respectively, with default values set to false.

      • Default UI and Haptic will be enabled by default, unless explicitly disabled.

Added

[Android & iOS]

  • Audio feedback can now be played by the SDK together with the vibration feedback. For more details and examples, check the platform-specific "Scan Process" pages.

[Android]

  • start, stop, and abort buttons, to SDK’s default UI.

  • capture distance info to SDK’s default UI.

  • capture progress bar, distance feedback, and upload screen to the default UI.

Improved

[Android]

  • Scan is now automatically aborted when the activity containing the TireTreadScanView enters the onPause state.

[iOS]

  • Greatly improve the stability and responsiveness of the SDK.

Fixed

[iOS]

  • Torch sometimes was not activated when starting a scan.

  • Crash when Haptic Engine was not available.

[2.3.0] - 2023-10-25

  • In the TreadDepthResult, a new field valueInch32nds is now available, containing the result in 32 seconds of an inch.

[2.2.0] - 2023-10-09

  • [Android] Added audio feedback in form of a beep when the tire is too far or too close to the camera

  • [Android] Added haptic feedback when the tire is too far or too close to the camera

[2.1.4] - 2023-10-05

Fixed

  • [iOS] useDefaultUi when false is showing black screen

  • [iOS] scan can start even when focus dot has not yet been added

  • [iOS] start/stop button state not updating correctly

[2.1.3] - 2023-08-24

Changed

  • More scan process and image quality improvements

[2.1.2] - 2023-08-24

Changed

  • [Android] Improve scan process and image quality

[2.1.0] - 2023-08-04

Added

  • [Android] Distance info in the default UI

  • [Android] Provide vibration feedback

[2.1.0] - 2023-07-20

This is the first release for iOS

[2.0.0] - 2023-06-27

  • Major rewrite of the SDK (available only for Android)