Change Log
All notable changes to this project will be documented in this file. MimiSDK adheres to Semantic Versioning.
11.X Releases
11.0.0Releases - 11.0.0
10.X Releases
10.7.0Releases - 10.7.010.6.0Releases - 10.6.010.5.0Releases - 10.5.010.4.0Releases - 10.4.010.3.0Releases - 10.3.010.2.0Releases - 10.2.010.1.0Releases - 10.1.0 | 10.1.1 | 10.1.2 | 10.1.3 | 10.1.410.0.xReleases - 10.0.0 | 10.0.1
9.X Releases
8.X Releases
7.X Releases
7.4.xReleases - 7.4.07.3.xReleases - 7.3.0 | 7.3.17.2.xReleases - 7.2.07.1.xReleases - 7.1.07.0.xReleases - 7.0.0
6.X Releases
5.X Releases
4.X Releases
4.13.xReleases - 4.13.04.12.xReleases - 4.12.0 | 4.12.1 | 4.12.24.11.xReleases - 4.11.0 | 4.11.14.10.xReleases - 4.10.04.9.xReleases - 4.9.0 | 4.9.14.8.xReleases - 4.8.04.7.xReleases - 4.7.04.6.xReleases - 4.6.0 | 4.6.1 | 4.6.2 | 4.6.34.5.xReleases - 4.5.0 | 4.5.14.4.xReleases - 4.4.04.3.xReleases - 4.3.0 | 4.3.14.2.xReleases - 4.2.04.1.xReleases - 4.1.04.0.xReleases - 4.0.0 | 4.0.1
3.X Releases
2.X Releases
2.2.xReleases - 2.2.0 | 2.2.1 | 2.2.22.1.xReleases - 2.1.02.0.xReleases - 2.0.0 | 2.0.12.0.xPre-Releases - 2.0.0-alpha.1 | 2.0.0-alpha.2 | 2.0.0-alpha.3 | 2.0.0-beta.1 | 2.0.0-beta.2 | 2.0.0-beta.3 | 2.0.0-beta.4 | 2.0.0-beta.5
11.0.0
Released on 2025-XX-XX
Changed
- Default value of
uiControlDebounceIntervalto0.2seconds inMimiPersonalizationConfiguration. MimiPersonalizationConfiguration.initnow validates theuiControlDebounceIntervalparameter and defaults to0.2seconds if a value of 0 or less is provided.- Automated PTT volume adjustment - removed manual slider interaction and made volume setting automatic for better user experience
- Automated volume adjustment bulletin - removed manual slider interaction and made volume setting automatic for better user experience
- Replaced Mimi logo in AuthFlow in
MimiAuthKit.
Removed
MimiProfileLauncherViewinMimiSDK.MimiSnackbarDurationinMimiUXKit.MimiSnackbarPresentableinMimiUXKit.MimiSnackbarinMimiUXKit.MimiSnackbarDefaultContentViewinMimiUXKit.MimiToggleButtoninMimiUXKit.MimiCoreError.ProcessingError.existingHandlerinMimiCoreKit.MimiCoreError.ProcessingError.invalidHandlerinMimiCoreKit.MimiCoreError.ProcessingError.invalidPresetinMimiCoreKit.MimiCoreError.ProcessingError.disabledinMimiCoreKit.MimiCoreError.ProcessingError.timeoutinMimiCoreKit.MimiCoreError.ProcessingError.unknowninMimiCoreKit.MimiTestResultError.PTT.visualizationMissingFrequenciesinMimiCoreKit.MimiTestResultError.PTT.visualizationOutOfCalibratedLimitsinMimiCoreKit.MimiTestResultError.PTT.visualizationMissingAudiograminMimiCoreKit.MimiTestResultError.PTT.visualizationMissingCenterFrequencyinMimiCoreKit.MimiProcessingSessionError.sessionNotInterruptedinMimiCoreKit.MimiProcessingSessionError.sessionInterruptionNotFound inMimiCoreKit`.MimiTestFlowError.unsupportedDeviceinMimiTestKit.MimiPersonalizationConfiguration.UIControlDebounceBehaviorinMimiSDK.
Fixed
- Issue where the onboarding screen is sometimes not displayed.
- Issue where a Profile card instance would not be deallocated upon removal.
10.7.0
Released on 2025-06-11
Added
- Localization support for Portuguese (Brazil).
Changed
MimiTestAudiogram.DataPointconforms toIdentifiableandHashable.- Re-designed Soft-inactivity interruption in
MimiTestFlow. - Update
MimiHTEKitto v3.7.6. - Improved UI of the Set up your phone and headphones Step in the PTT Hearing Test flow.
Deprecated
MimiSnackbarinMimiUXKitwill be removed in SDK v11.MimiSnackbarDurationinMimiUXKitwill be removed in SDK v11.MimiSnackbarPresentableinMimiUXKitwill be removed in SDK v11.MimiSnackbarDefaultContentViewinMimiUXKitwill be removed in SDK v11.
Removed
- Hard-inactivity interruption from
MimiTestFlow - Client-side sorting from the headphones selection screen.
10.6.0
Released on 2025-03-20
Fixed
- Incorrect background color for the Play/Pause button in the MT Noise Familiarity step when selected.
- Incorrect translations of localized Japanese strings.
Deprecated
MimiToggleButtoninMimiUXKitwill be removed in SDK v11.unsupportedDeviceinMimiTestFlowErrorwill be removed in SDK v11.
10.5.0
Released on 2025-02-18
Fixed
- Issue where the domain resolution of the backend base URL would fail in some cases.
Changed
- The Example app distribution from App Center to TestFlight.
- Update MimiHTEKit to v3.7.5.
10.4.0
Released on 2025-02-05
Fixed
- Issue where the Test Flow would freeze when interrupted with the play/pause button on the headphones (Fixed in HTE v3.7.4.).
10.3.0
Released on 2024-11-12
Changed
- Improved UI of the Headphones Selection Step in the PTT Hearing Test flow.
Fixed
- Removed Sendable conformance from
UserDefaults. - Missing NavBar Back button in Practice step in
MimiTestFlow. - Issue with uppercasing of some NavBar titles in
MimiTestFlow.
10.2.0
Released on 2024-10-22
Added
- Async
loadResults(testType:)toMimiTestController. makeViewControllerForPresentationtoMimiTestFlow.makeFlowViewControllertoMimiUserFlow.PTT.audiogramTechnicalLimitstoMimiTestResultErrorPTT.audiogramThresholdsClippedtoMimiTestResultErrorPTT.missingPTA4toMimiTestResultError.reversalInterpolationErrortoMimiTestResultErrorMimiHearingGradeWHO2021toMimiCoreKit.hearingGradeWHO2021toAnyMimiTestResult.hearingGradeWHO2021toMimiTestRunResultData.- dSYM files to the MimiSDK XCFrameworks.
Set up your phone and headphonesscreen as the final step in the PTT test setup.Headphones Connectivity Troubleshootingbutton to the Connected Headphones screen in the test setup.
Changed
- Extended test results plot legend to include values down to -20 dB.
- Improve Loudness Meter UX in the PTT test setup.
- Move the
Select Headphonesstep from the last to the second position in the PTT test setup.
Deprecated
MimiProfileLauncherViewinMimiSDK.MimiProfileLauncherViewwill be removed in SDK v11.PTT.visualizationMissingFrequenciesinMimiTestResultErrorwill be removed in SDK v11.PTT.visualizationOutOfCalibratedLimitsinMimiTestResultErrorwill be removed in SDK v11.PTT.visualizationMissingAudiograminMimiTestResultErrorwill be removed in SDK v11.PTT.visualizationMissingCenterFrequencyinMimiTestResultErrorwill be removed in SDK v11.
10.1.4
Released on 2024-06-24
Fixed
- Issue where a crash would occur when login failed.
- A crash that happened during the hearing test environment setup.
- Issue where a crash would occur on a DNS TXT query timeout.
10.1.3
Released on 2024-06-07
Fixed
- Issue where Processing Parameter Applicators could be invoked in an unsupported order for some Processing Systems.
10.1.2
Released on 2024-06-03
Fixed
- Issue where the onboarding screen is not hidden when
showsOnboardingIntroductionis set to false. - Issue where a change in the screen orientation could cause a crash on the iPad.
- Issue with an incorrect translation of a German localized string.
10.1.1
Released on 2024-05-15
Fixed
- Issue where performance would deteriorate following the presentation of the AuthFlow.
10.1.0
Released on 2024-04-11
Added
submitAudiogram(leftEar:rightEar:metadata:result:)toMimiTestControllerinit(dataPoints:)toMimiTestAudiogramMimiTestAudiogramMetadatatoMimiCoreKitMimiSubmitAudiogramResponsetoMimiCoreKitinit(anonymousId:...)toMimiUserinit()toMimiCoreObservableinit(id: String...)toMimiTestResultinit(ptt:mt:)toMimiTestResultsinit(ear:...)toMimiMTTestRunResultDatainit(ear:...)toMimiPTTTestRunResultData
Fixed
- Issue where presenting test results takes too long.
- Issue where personalization was disabled after resetting the account and submitting another test.
10.0.1
Released on 2024-02-27
Added
AnyMimiProcessingParameterDataSourceinMimiCoreKit
Changed
dataSourcetype toAnyMimiProcessingParameterDataSourceinMimiProcessingParameter
Fixed
- Issue where a missing Swift language feature could result in a crash on iOS 15.
10.0.0
Released on 2024-02-13
Added
uiControlDebounceBehaviorinMimiPersonalizationConfigurationparameterDataSourceUndefinedinMimiProcessingErrorsynchronizeApplicators()inMimiProcessingParameter- Localization support for Ukrainian (Ukraine)
updateStateinMimiProcessingParameterParameterUpdateStateinMimiProcessingParameterbundlePublisherinMimiUpDownPresetParameterDataSourcebundleinMimiUpDownPresetParameterDataSourcesessioninMimiProcessingControllerMimiProcessingConfigurationinMimiCoreKitMimiProcessingParameterDataSourceinMimiCoreKitdataSourceinMimiProcessingParameter
Changed
- Minimum deployment target to
15.0, dropping support for iOS 14. primaryTint,tertiaryTint,primaryForeground,secondaryForeground,primaryText,secondaryTextandhearingTestButtonTexttoMimiHighlightableColorinMimiColorBookMimiDefaultPresetParameterDataSourcetoMimiSinglePresetParameterDataSourcesessiontosessionPublisherinMimiProcessingControllervaluetovaluePublisherinMimiProcessingParameterisInterruptedtoisInterruptedPublisherinMimiProcessingSessionactivate(presetDataSource:)toactivate(configuration:)inMimiProcessingController
Removed
canApplyinMimiProcessingParameterApplicatordeliveryModeinMimiProcessingParameterapplicator(synchronizing value:)fromMimiProcessingParameterMimiRemoteProcessingParametercompactActioninMimiFontBookcompactBodyinMimiFontBookcompactBodyHighlightinMimiFontBookcaptionHighlightinMimiFontBookMimiCompactTextButtoninMimiUXKitMimiCompactActionButtoninMimiUXKitcompactActioninMimiLabelcompactBodyinMimiLabelHighlightStyle,highlightStyle,highlightColor&cgColorinMimiColorinit(red:green:blue:alpha:),init(cgColor:)&init(white:, alpha:)inMimiColorwithHighlightStyle(_:),withHighlightColor(_:)&color(for state:)inMimiColormimiinUIColorColorinMimiColorBookinit(_ colors: Color...)inMimiColorBooksessionInterruptionInProgressinMimiProcessingErrorMimiPresetParameterDataSourceinMimiCoreKitpresetDataSourceinMimiProcessingSessionlaunchAccountPortalinMimiAuthController
9.2.0
Released on 2023-12-11
This release contains an update for our Pure Tone test, reducing the length of the test by around 30 seconds per ear.
Fixed
- Issue where the setting of the volume to 50% wouldn’t work in an edge case scenario.
- Issue where MimiTestFlow would freeze on certain App lifecycle events.
Changed
- PTT test type to PTT 6oct
9.1.0
Released on 2023-11-10
Added
loadUserAccountPortalURLinMimiAuthControllerMimiHighlightableColorinMimiUXKitinit(primaryTint:secondaryTint:...earLeft:earRight:)inMimiColorBook
Deprecated
launchAccountPortalinMimiAuthControllerhighlightStyle,highlightColor&cgColorinMimiColorinit(red:green:blue:alpha:),init(cgColor:)&init(white:, alpha:)inMimiColorwithHighlightStyle(_:),withHighlightColor(_:)&color(for state:)inMimiColormimiinUIColorColorinMimiColorBookinit(_ colors: Color...)inMimiColorBook
9.0.2
Released on 2023-11-08
Fixed
- Issue with an incorrect Chinese (Simplified) localized string.
9.0.1
Released on 2023-10-26
Changed
- Updated documentation on SDK v8 releases
9.0.0
Released on 2023-10-23
This release introduces the support of storing data on Chinese infrastructure due to PIPL requirements. Depending on the geo-location the user’s data (hearing assessment, profile data) will dynamically be stored on Chinese Server Infrastructure or on European Server Infrastructure.
Additionally smaller bugs have been fixed.
Added
- MSDK 9.0.0 introduces automatic support for region-based storage of user Mimi data.
- By default, there is no change for users or where their data is stored.
- When using or upgrading to MSDK 9.0.0, no data migration is automatically performed.
- Only after individual agreement and in co-ordination with a partner, will their users’ Mimi data be stored in the appropriate regulatory region for each user.
- At the time of writing this includes:
- Rest of World (RoW)
- China
Note
Note that the Mimi Account Portal, available to users signed up with Mimi, does not currently support region-based data storage.
- By default, there is no change for users or where their data is stored.
Deprecated
compactBodyinMimiFontBookcompactActioninMimiFontBook
Removed
- Removed the Bluetooth Troubleshooting dialog from the Testflow.
- Both Bluetooth and wired headphones are now shown the same disconnection interruption dialog.
Fixed
- Issue where a user with only a hearing test (without a year of birth) would not get past the onboarding step in the Profile upon login.
8.2.0
Released on 2023-09-28
In this release, we’ve identified an issue where a user with only a hearing test (without a year of birth) would not get past the onboarding step in the Profile upon login. Since there are no breaking public API changes in SDK v9, we strongly recommend updating to SDK v9.x.x where this issue has been resolved.
This release includes major copy improvements, adds more MSDK UI theming options, and some bug fixes.
Added
- Localization support for English (United Kingdom), Korean, Polish & Dutch languages.
8.1.0
Released on 2023-08-16
In this release, we’ve identified an issue where a user with only a hearing test (without a year of birth) would not get past the onboarding step in the Profile upon login. Since there are no breaking public API changes in SDK v9, we strongly recommend updating to SDK v9.x.x where this issue has been resolved.
Added
cancelinMimiAlertAction.Style
8.0.0
Released on 2023-07-17
In this release, we’ve identified an issue where a user with only a hearing test (without a year of birth) would not get past the onboarding step in the Profile upon login. Since there are no breaking public API changes in SDK v9, we strongly recommend updating to SDK v9.x.x where this issue has been resolved.
Added
successinMimiColorBook.earLeftinMimiColorBook.earRightinMimiColorBook.requiresFullWidthinMimiUserFlowStep.accessibilityIdinMimiAlertandMimiAlertAction.MimiHeadphoneIdentifierinMimiCoreKit.MimiConnectedHeadphoneProviderinMimiCoreKit.connectedHeadphoneProviderinMimiTestController.fieldAccessibilityIdentifierinMimiValidatingTextField.messageAccessibilityIdentifierinMimiValidatingTextField.textAccessibilityIdentifierinMimiNavigationStepHeaderView.MimiFooterActionButtoninMimiUXKit.MimiTestTypeConfigurationinMimiCoreKit.loadTestTypeConfiguration(headphoneIdentifier:result:)inMimiTestController..init()inMimiBirthYearPickerView.MimiTestResultsinMimiTestFlow.didSubmitTestNotification.unsupportedTestTypeinMimiTestFlowError.- Localization support for Slovenian, Croatian, Serbian(Latin), Serbian(Cyrillic) & Bosnian languages.
Changed
- Minimum deployment target to
14.0, dropping support for iOS 13. - Updated
MimiAmbientLoudnessRating.quietcolor tosuccess. - Updated
MimiNavigationBarbackground color tosecondaryBackground. - Updated
MimiNavigationBartint color toprimaryTint. MimiTestFlow.build()is now an asynchronous function.- Renamed
MimiTestHeadphoneInfotoMimiTestHeadphoneMetadata. - Renamed
MimiHeadphonestoMimiHeadphone.
Removed
includeDefaultThemesinMimiThemeKit.MimiBrandThemeinMimiUXKit.mimiBrandinMimiFontBook.- Support for Arabic language.
- Setting accessibility identifier for
MimiValidatingTextField. MimiPersonalizationVisualizationViewControllerinMimiTestKit.MimiDisclaimerBulletininMimiTestKit.loadVisualization()inMimiPersonalizationController..init(yearOfBirth:)inMimiBirthYearPickerView..init(frame:)inMimiBirthYearPickerView.MimiPersonalizationBarChartViewinMimiTestKit.MimiResultConditionsBulletinDelegateinMimiTestKit.MimiResultConditionsBulletininMimiTestKit.MimiResultConditioninMimiTestKit.MimiResultConditionsDatainMimiTestKit.preferredTestparameter inMimiTestFlow.build(preferredTest:).MimiRemoteConfigurationinMimiCoreKitMimiConfigurationControllerinMimiCoreKitconnectedinMimiTestHeadphoneInfoConnectionTypeinMimiTestHeadphoneInfo
7.4.0
Released on 2023-05-15
Added
loadVisualization(result:)toMimiPersonalizationController.onDismisstoMimiPersonalizationVisualizationViewController.
Updated
- Deprecated
MimiPersonalizationVisualizationViewControllerinMimiTestKit. - Deprecated
MimiDisclaimerBulletininMimiTestKit. - Deprecated
loadVisualization()inMimiPersonalizationController.
Removed
- Results step from
MimiTestFlow.
7.3.1
Released on 2023-02-09
Fixed
- Issue with theming in
MimiBulletinViewController - Issue with French & Portuguese localizations
7.3.0
Released on 2023-01-27
Added
- Localizations for Portuguese, Chinese (Traditional, Hong Kong S.A.R.), Chinese (Traditional, Taiwan), Italian & Arabic languages.
uppercaseTransformationinMimiStyleBooktextAlignmentinMimiStyleBookhearingTestButtonBackgroundinMimiColorBookhearingTestButtonTextinMimiColorBooksoundPersonalizationIconinMimiColorBookpersonalizationinMimiProfileConfigurationMimiViewControllertoMimiUXKitMimiUserFlowNavigationItemabletoMimiUXKit
Changed
MimiUserFlowSteppable.navigationItemis of typeMimiUserFlowNavigationItemable
7.2.0
Released on 2022-12-16
Changed
- Improved analytics for Mimi Processing.
7.1.0
Released on 2022-12-02
Added
showsOnboardingIntroductioninMimiProfileConfiguration.
Fixed
- Issue where the sample sound on the profile would not stop playing when opening another screen.
7.0.0
Released on 2022-11-03
Added
anonymousIdinMimiUser.allowsAnonymousUserOnlyinMimiProfileConfiguration.logInAnonymously(anonymousId: String)inMimiAuthRoute.
Fixed
- Issue where the Sound Personalization bar chart would not be presented correctly at the end of a hearing test.
- Issue where a string on the Profile was missing translations.
- Issue where the Personalization bar chart wasn’t rendered correctly in certain localizations.
Removed
user(MimiUser)inMimiAuthRoute.defaultfromMimiProfileConfiguration.activate(fitting:)inMimiProcessingController.fittinginMimiProcessingSession.MimiPersonalization.MetadatainMimiCoreKit.metadatainMimiPersonalization.MimiPersonalization.ModeinMimiCoreKit.MimiProcessingIntensitySliderinMimiSDK.MimiProcessingToggleinMimiSDK.MimiResultsViewControllerinMimiTestKit.
6.2.2
Released on 2022-10-14
Fixed
- Issue where sample audio would continue to play after profile view dismissal.
- Issue where the fine tuning & sound personalization cards on profile would display outdated information.
- Issue where the fine tuning & sound personalization cards on profile would be displayed even if personalization was unavailable.
6.2.1
Released on 2022-10-04
Fixed
- Issue which caused duplication of cards on the profile.
- Image on the Sound Personalization card on the profile.
- Issue with an incorrect translation of a French localized string.
- Issue where the sample sound on the profile would not loop indefinitely.
6.2.0
Released on 2022-09-22
Added
MimiPresetParameterDataSourceinMimiCoreKit.MimiDefaultPresetParameterDataSourceinMimiCoreKit.MimiUpDownPresetParameterDataSourceinMimiCoreKit.activate(presetDataSource:)inMimiProcessingController.apply(value:)toMimiRemoteProcessingParameter.presetDataSourcetoMimiProcessingSession.MimiPersonalization.UpDownPresetBundleinMimiCoreKit.
Deprecated
activate(fitting:)inMimiProcessingController.fittinginMimiProcessingSession.MimiPersonalization.MetadatainMimiCoreKit.metadatainMimiPersonalization.MimiPersonalization.ModeinMimiCoreKit.MimiProcessingIntensitySliderinMimiSDK.MimiProcessingToggleinMimiSDK.
6.1.0
Released on 2022-07-14
Added
personalizationtoMimiCore.MimiPersonalizationControllertoMimiCoreKit.MimiPersonalizationVisualizationViewControllertoMimiTestKit.MimiPersonalizationBarChartViewtoMimiTestKit.
Deprecated
MimiResultsViewControllerinMimiTestKit.
6.0.0
Released on 2022-05-05
Updated
SigningErrorhas been removed fromMimiCoreError.signaturehas been removed fromMimiTestResult.MimiTest(runs: [MimiTestRun], metadata: MimiTestMetadata, signature: String?)is nowMimiTest(runs: [MimiTestRun], metadata: MimiTestMetadata).usesMimiBrandedHealthOnboardingandshowsHearingHealthTipshave been removed fromMimiProfileConfiguration.- Removed
showsHearingHealthTipsparameter frominit(allowsRemoteDeviceAuthorization:)inMimiProfileConfiguration. - Removed
optionsparameter frombuild(preferredTest:)inMimiTestFlow. - Removed
showsHearingHealthTipsparameter from initializer inMimiResultsViewController. - Removed
MimiPersonalizationRoute. messageis now optional onMimiCoreErrorDetails.- Removed
export(testResult:with:result)fromMimiTestController. - Removed
tintColorfromMimiTestEar. - Removed
ContextfromMimiHearingGrade. - Removed
description(context:short:)fromMimiHearingGrade. - Removed
detailedDescription(context:short:)fromMimiHearingGrade. - Removed
tintColor(for:)fromMimiHearingGrade. - Removed
MimiHearingGradeSpectrumView. - Removed
MimiEarIndicatorView. - Removed
descriptionfromMimiHearingSymmetry. - Removed
textandtextAlignmentfromMimiSnackbar. - Removed
environmentandEnvironmentfromMimiCore.
Fixed
- Issue where arm64 simulator binaries were missing in the SDK xcframeworks.
- Issue where embedded static libraries could lead to an invalid bundle structure.
5.1.1
Released on 2022-05-17
Fixed
- Issue where arm64 simulator binaries were missing in the SDK xcframeworks.
- Issue where embedded static libraries could lead to an invalid bundle structure.
5.1.0 (Invalid)
Released on 2022-04-14. This release is invalid as it causes integration issues. Please use the hotfix version 5.1.1.
Added
leadingText&trailingTexttoMimiSnackbarDefaultContentView.leadingTextAlignment&trailingTextAlignmenttoMimiSnackbarDefaultContentView.- Support for building for the iPhone Simulator platform on Apple Silicon machines.
usesMimiBrandedHealthOnboardingtoMimiProfileConfiguration.
Updated
- Improved soft inactivity, hard inactivity & pause interruptions in
MimiTestFlow. - Deprecated
text&textAlignmentinMimiSnackbarDefaultContentView.
Fixed
- Issue where an incorrect interruption caused by a system interruption would be displayed in
MimiTestFlow. - Issue where a crash would occur when soft inactivity banner was displayed on iPads.
- Issue where the volume change interruption message would not be displayed consistently.
- Issue where the pause interruption message would be displayed when the app came to the foreground during a test.
5.0.0
Released on 2022-01-27
Added
configuration: MimiProfileConfigurationparameter toMimiProfileViewController().configuration: MimiProfileConfigurationparameter toMimiProfileNavigationController().configuration: MimiProfileConfigurationparameter toMimiProfileLauncherView().- Ability to view information about calibration to PTT test in
MimiTestFlow. history&clearHistorytoMimiLogger.
Updated
- Minimum deployment target to
13.0, dropping support for iOS 12. - Renamed
MimiHTE.xcframeworktoMimiHTEKit.xcframework. - Improved Japanese translations.
MimiTestResultnow conforms toIdentifiable.MimiPersonalizationControllerhas been removed fromMimiCore.MimiUserControllerhas been removed fromMimiCore.MimiPersonalization.FittingInfohas been renamed toMimiPersonalization.Fitting.MimiPersonalization.FittingInfo.for()has been renamed toMimiPersonalization.Fitting.techLevel().MimiAuthFlow.Route.anonymouslyhas been removed.MimiComponent.hasConstructedhas been removed.Mimi.profileContexthas been removed.MimiProfileContexthas been removed.Mimi.configurationhas been removed.Mimi.start(credentials:configuration:delegate)is nowMimi.start(credentials:delegate).MimiConfigurationhas been removed.MimiTabBarhas been removed.MimiTransparentNavigationBarhas been removed.MimiResultDetailsViewControllerhas been removed.MimiMTResultDetailsViewControllerhas been removed.MimiPTTResultDetailsViewControllerhas been removed.MimiTestRunResultData.signaturehas been removed.MimiMTTestRunResultData.signaturehas been removed.MimiPTTTestRunResultData.signaturehas been removed.MimiTestController.testshas been removed.MimiTest.LegacyInsightshas been removed.MimiTestRun.LegacyInsightshas been removed.MimiTestRun.resultshas been removed.MimiTestLegacyInsightsand conforming typeMimiMTTestLegacyInsightshave been removed.MimiTestLegacyInsightsCategoryhas been removed.- Removed
loadAll(result:),load(with:result:),submit(test:result:)&delete(test:result:)fromMimiTestController. - Removed
loadLegacyInsights(type:test:result:)fromMimiTestController. - Removed
provideResultsparameter inMimiTestController.submit(test:provideResults:result:). resulthandler now provides anMimiTestResultsinstance inMimiTestController.submit(test:provideResults:result:).- Removed
testController(controller: didSubmit test:)fromMimiTestControllerObservable. - Removed
testController(controller: didLoad tests:)fromMimiTestControllerObservable. - Removed
testController(controller: didDelete test:)fromMimiTestControllerObservable. - Removed
init(results:noiseData:metadata:)fromMimiTestRun. - Removed
id,signature,runs,metadata,results&testTypeproperties fromMimiTest. - Removed
id,metadata,testType,ear,timestamp,data&noiseDataproperties fromMimiTestRun. MimiTestRun.Metadatahas been removed.MimiHearingGrade.average(from:)has been removed.hearingGradeis now optional onMimiTestRunResultData.hearingGradeis now optional onMimiMTTestRunResultData.hearingGradeis now optional onMimiPTTTestRunResultData.hearingPercentageis now optional onMimiTestRunResultData.hearingPercentageis now optional onMimiPTTTestRunResultData.dbHearingLossis now optional onMimiPTTTestRunResultData.audiogramis now optional onMimiPTTTestRunResultData.MimiTestResultError.PTT.visualizationMissingFrequencyhas been renamed toMimiTestResultError.PTT.visualizationMissingFrequencies.MimiResultsViewController.latestResulthas been removed.MimiTestConditionsBulletinDelegatehas been renamed toMimiResultConditionsBulletinDelegate.MimiTestConditionsBulletinhas been renamed toMimiResultConditionsBulletin.MimiTestConditionsDatahas been renamed toMimiResultConditionsData.MimiTestConditionhas been renamed toMimiResultCondition.MimiColor,MimiColorBook,MimiFont,MimiFontBook&MimiStyleBooknow conform toEquatable.themeis now non-optional onMimiThemeable.apply(theme:)now has a non-optionalMimiThemeDefinitiononMimiThemeable.MimiHearingGrade.tintColorhas been removed.tintColor(for:)now has a non-optionalMimiThemeDefinitiononMimiHearingGrade.becomeThemingResponder(:)&resignThemingResponder(:)have been replaced with theignoresThemeUpdatesproperty inMimiThemable.- Replaced
MimiFont(named:size:lineSpacing:kern:)withMimiFont(name:size:lineSpacing:kern:). - Removed
environmentparameter support fromstart(environment:credentials:delegate:)inMimiCore. - Removed
environmentparameter support fromupdate(environment:credentials:)inMimiCore. MimiEllipsisIndicatorhas been removed.MimiTestAudiogram.DataPoint.frequencyis now anInttype.MimiAuthFlow.for(route:)has been removed.MimiHearingGradeBorderedAvatarView.contentInsethas been removed.UITraitCollection.mimiHorizontalLayoutClasshas been removed.UITraitCollection.mimiVerticalLayoutClasshas been removed.MimiUserFlow.start(at:)has been removed.MimiUserFlow.then(step:)has been removed.MimiUserFlow.then(step:if:)has been removed.MimiUserFlow.then(step:or:decision)has been removed.MimiUserFlowCoordinatorError.invalidCurrentIndehas been removed.MimiTestFlow.TestTypehas been removed.MimiTestFlow.for(test:)has been removed.
Fixed
- Issue where navigation bars would render incorrectly on iOS 15.
- Issue where the Profile header wouldn’t display correctly in case of an
unknownhearing grade. - Issue where loading of a results page could fail in
MimiResultsViewController. - Issue where deletion of a test result could fail in
MimiResultsViewController. - Issue where test condition notification data could re-appear after clearing in
MimiProfileViewController. - Issue where analytics properties could be missing in
MimiTestFlow. - Issue where
MimiTestFlowcould crash when loading headphones list on iOS 15.
4.13.0
Released on 2021-12-17
Updated
MimiFontBook.mimiBranduses new improved fonts.MimiBrandTheme.defaulthas been renamed toMimiBrandTheme.light.- Minor appearance tweaks and improvements.
4.12.2
Released on 2021-11-01.
Fixed
- Issue where
MimiCorewould not allow background access to the active authentication session.
4.12.1
Released on 2021-06-08.
Fixed
- Issue where masker level was incorrect during the MT flow in
MimiTestFlow.
4.12.0
Released on 2021-05-21.
Added
- Step that prompts a user to configure their device before taking the test to
MimiTestFlow. - Support for displaying client information in
MimiResultsViewController. nametoMimiTestMetadata.Client.metadatatoAnyMimiTestResult.hearingSymmetrytoAnyMimiTestResult.
Updated
- Test selection screen in
MimiTestFlownow orders test paradigms based on the remote configuration. - A user will now be able to choose the type of test to take when onboarding (if available).
- Improved layout of calibrated headphones in
MimiTestFlow.
Fixed
- Issue where action buttons could display incorrectly in
MimiResultDetailsViewController. - Issue where action buttons could display incorrectly when viewing results in
MimiTestFlow.
4.11.1
Released on 2021-05-07
Fixed
- Issue where some analytics events could fail to track in
MimiCore.
4.11.0
Released on 2021-05-03
Added
- Support for displaying Personalization results to
MimiTestFlowandMimiProfileViewController. - Ability to view hearing symmetry when viewing results in
MimiResultsViewController. - Support for displaying
unknownhearing grades toMimiResultDetailsViewController. - Support for displaying
unknownhearing grades toMimiProfileViewController. MimiHearingSymmetryenumto depict the symmetry of a user’s hearing ability.hearingSymmetrytoMimiTestResult..visualizationOutOfCalibratedLimitserror toMimiTestResultError.PTT.tintColor(for:)toMimiHearingGrade.signaturetoMimiTestResult.MimiTestResult.Signaturetype containing result signature data..checktoMimiIconBook.
Updated
- Improved plotting of audiogram in
MimiResultDetailsViewController. - Deprecated
tintColorinMimiHearingGrade. - Deprecated
signatureinMimiTestRunResultData. - Deprecated
average(from:)inMimiHearingGrade. - Deprecated
contentInsetinMimiHearingGradeBorderedAvatarView.
Fixed
- Issue where incorrect hearing grade title could be displayed in
MimiProfileViewController. - Issue where incorrect data could be displayed in
MimiProfileLauncherView. - Issue where hearing capacity could fail to update in
MimiProfileViewController. - Inconsistencies with pagination in
MimiResultsViewController. - Issue where status bar style could be incorrect in
MimiProfileViewController. - Issue where status bar style could be incorrect in a
MimiUserFlow.
4.10.0
Released on 2021-04-08
Added
- Ability to disable usage data collection via
Mimi.allowsUsageDataCollection.
Updated
- Improved animations in
MimiResultsViewController.
Fixed
- Issue where remote configuration could potentially be in an incorrect state.
- Issue where
MimiNavigationStepFooterViewcould fail to react correctly to keyboard events.
4.9.1
Released on 2021-03-09.
Fixed
- Issue where binaries embedding the SDK would fail to validate on App Store Connect.
4.9.0
Released on 2021-02-25
Added
- Ability to view all test results that a user has taken via
MimiResultsViewControllerinMimiTestKit. - Ability to load historic test results to
MimiTestControllervialoadResults(type: result:). MimiCorePagedResultwhich represents a paged result of an API call toMimiCoreKit.isShimmeringtoUIViewinMimiUXKit.Mimi.versionto provide currentMimiSDKversion number.MimiCore.versionto provide currentMimiCoreKitversion number.- Added
delete(testResult: result:)toMimiTestController. .crosstoMimiIconBook.MimiResultDetailsViewControllerfor viewing individual test result details toMimiTestKit.
Updated
- Minor appearance tweaks and improvements.
- Protocols now conform to
AnyObjectrather thanclasswhere required. MimiHearingGradeAvatarView.Avatarnow conforms toEquatable.- Deprecated
MimiMTResultDetailsViewControllerinMimiTestKit. - Deprecated
MimiPTTResultDetailsViewControllerinMimiTestKit.
Fixed
- Issue where an audiogram could fail to render correctly.
- Issue where delimiter characters would be visible when consenting to terms / privacy policy within
MimiAuthFlow. - Issue where
MimiActivityIndicatorwould not animate correctly following removal from the view hierarchy.
4.8.0
Released on 2020-11-30
Added
rootViewControllertoMimiUserFlow.step()toMimiUserFlow.step(if:)toMimiUserFlow.step(or: decision:)toMimiUserFlow.MimiDisclaimerBulletintoMimiTestKit.UITraitCollection.mimiLayoutClassto give a unified layout classification for the current screen and device.
Updated
- Minor improvements and appearance tweaks.
- Improved layouts when using devices with Display Zoom enabled.
- Improved card button layout on smaller devices in
MimiProfileViewController. - Improved layout of
MimiProfileLauncherViewwhen running on smaller devices. - Improved UI for Privacy Policy & Terms of Use consent in
MimiAuthFlowSign Up flow. - Improved handling of whitespace characters within email fields in
MimiAuthFlow. start(at:)is now deprecated onMimiUserFlow.then()is now deprecated onMimiUserFlow.then(if:)is now deprecated onMimiUserFlow.then(or: decision:)is now deprecated onMimiUserFlow.MimiUserFlowCoordinatorError.invalidCurrentIndexis now deprecated.MimiLayoutClassnow conforms toRawRepresentablewith anInttype.UITraitCollection.mimiHorizontalLayoutClassis now deprecated.UITraitCollection.mimiVerticalLayoutClassis now deprecated.
Fixed
- Issue where
jump(to: .last)would not always behave expectedly inMimiUserFlow. - Test condition notifications will no longer be shown for unavailable tests in
MimiProfileViewController. - Issue where
MimiFontBook.Collectioncould fail to use correct default fonts. - Issue where
MimiFontBookcould fail to fallback to default fonts for the currentuserInterfaceIdiom.
4.7.0
Released on 2020-10-27
Added
- Ability to export a PTT Test Result to a shareable PDF to
MimiPTTResultDetailsViewController. - Support for integrating
MimiSDKvia CocoaPods. - Support for handling Keychain Sharing to
MimiCore. - Information banner to
MimiMTResultDetailsViewControllerandMimiPTTResultDetailsViewControllerif retaking a test is unavailable. .unsupportedDevicetoMimiTestFlowError.didLayoutSubviews()toMimiBulletinItem.- Ability to export the result of a previously undertaken test via
export(testResult: with name: result:)toMimiTestController. .invalidtoMimiCoreError.DataError.AnyMimiTestResultprotocol toMimiCoreKitto whichMimiTestResultconforms.
Updated
- Minimum deployment target to
12.0, dropping support for iOS 11. - The hearing test is now unavailable from
MimiProfileViewControllerwhen running on an Apple Silicon based Mac. MimiTestFlow.build()will now throw aMimiTestFlowError.unsupportedDevicewhen running on an Apple Silicon based Mac.MimiCoreKitnow supports being linked to application extensions.MimiConfiguration.alwaysShowHearingResultsis now deprecated and no longer functional.
Fixed
- Issue where calling
setTitleColor()onMimiActionButtonwould fail to update the image tint. - Issue where volume adjustment interruption could erroneously appear after ending a phone call in
MimiTestFlow. - Issue with visual artifacts on cards while loading in
MimiProfileViewControlleron certain devices. - Text layout issues using
MimiLabel. - Issue where
finish(to: completion:)could fail to execute the completion closure inMimiActivityIndicator.
4.6.3
Released on 2020-10-16
Fixed
- Issue where interruptions could fail to present in
MimiTestFlow.
4.6.2
Released on 2020-09-22
Updated
- A user can no longer continue navigation within a
MimiTestFlowwhile in an active call.
Fixed
- Issues where a call would leave a test unable to resume in
MimiTestFlow. - Issue where a test interruption could occur after dismissal of a
MimiTestFlow.
4.6.1
Released on 2020-08-15.
Fixed
- Build issues with Xcode 12.0 GM.
4.6.0
Released on 2020-09-11.
Added
MimiProcessingToggletoMimiSDKto enable/disable processing on the active processing handler.MimiProcessingIntensitySlidertoMimiSDKto update the current intensity on the active processing handler.
Updated
- Playback will now require a manual restart if the application leaves the foreground during MT Volume Adjustment in
MimiTestFlow. MimiTextFieldnow utilizes a rounded rectangle style.- Minor styling and layout improvements to flows within
MimiAuthFlow. - Users can no longer change audio outputs during a hearing test in
MimiTestFlow.
Fixed
- Issue where
finish()could fail to execute whileisAnimatingistrueinMimiActivityIndicator. - AutoLayout warnings that sometimes occurred when using
MimiProfileViewController. - Issue where a ‘Session Expired’ alert could present following deletion of a user in the Mimi Account Portal.
- Issue where header artwork in
MimiProfileViewControllercould fail to layout correctly. - Issue where a
MimiProfileViewControllerembedded as a child could fail to inset correctly.
4.5.1
Released on 2020-08-20.
Updated
- Headphones list during PTT test is now be tailored to the host device in
MimiTestFlow.
4.5.0
Released on 2020-08-12.
Added
- Ability to display a warning if the user has indicated severe hearing loss from a PTT test in
MimiProfileViewController. - Ability for a user to recover from a forced log out event due to token expiry.
.missingSignaturetoMimiCoreError.SigningError.user(MimiUser)toMimiAuthRouteto allow for authenticating known anonymous users.autoFill(for:)toMimiAuthFlowto automatically fill fields within an authentication flow with user details.signatureparameter toMimiTest.init.signatureproperty toMimiTestandMimiTestRunResultData.
Updated
- Improved text legibility during test selection in
MimiTestFlow. - User data is now automatically reloaded when
MimiProfileViewControllerandMimiProfileLauncherVieware initialized. - Email text field is now checked for a valid address in
MimiAuthFlowLog In flow.
Fixed
- Improved layout of picker views on iOS 14.
- Layout issues with volume sliders on iOS 14.
- Layout issue with PTT results in
MimiTestFlow. - Issue where
MimiProfileViewControllercards could in an incorrect state when usingMimiProfileLauncherView. - Issue where test conditions notifications could fail to be dismissed in
MimiProfileViewController. - Potential crash when logging out and dismissing
MimiProfileViewControllerwhen launched fromMimiProfileLauncherView. - Issue where user could get incorrectly get interrupted post-submission in
MimiTestFlow. - Issue where cards could layout incorrectly in
MimiProfileViewController. - Issue where rotating a
MimiUserFlowcould cause layout issues on iOS 11 & 12.
4.4.0
Released on 2020-07-13.
Added
- Ability to retake a test when viewing detailed results in
MimiPTTResultDetailsViewControllerandMimiMTResultDetailsViewController. MimiMTResultDetailsViewControllertoMimiTestKitto present detailed MT results.MimiPTTResultDetailsViewControllertoMimiTestKitto present detailed PTT results.- Ability to include test results in the result when submitting a test via
submit(test:provideResults:)inMimiTestController. - Delay to allowing progression from volume adjustment during MT test in
MimiTestFlow. MimiHearingGradeSpectrumViewtoMimiTestKit.MimiEarIndicatorViewtoMimiTestKit.MimiTestConditionsBulletintoMimiTestKit.MimiTestConditionsDatatoMimiTestKit.options: [MimiTestFlowOptions]parameter toMimiTestFlow.build()for configuring test flow options.description(context: short:)toMimiHearingGrade.detailedDescription(context: short:)toMimiHearingGrade.tintColortoMimiHearingGrade.resultstoMimiTest.datatoMimiTestRun..init(data: noiseData: metadata:)toMimiTestRun.unsupportedTesttoMimiTestResultError..crosstoMimiActivityIndicator.ErrorArtwork..exittoMimiIconBook.reloadUser()toMimiAuthController.updateUser()toMimiAuthController.launchAccountPortal()toMimiAuthController.insightComputationFailederror toMimiTestResultError.MT.SigningErrortoMimiCoreError.
Updated
- Test submissions and results are now automatically verified via signatures.
- Minor UI improvements to
MimiProfileViewController. - Deprecated
resultsinMimiTestRun. - Deprecated
.init(results: noiseData: metadata:)inMimiTestRun. - Deprecated
profileContextonMimiwhich is no longer functional. - Deprecated
MimiProfileContextinMimiSDK. - Deprecated
reload()inMimiUserController. - Deprecated
update()inMimiUserController. - Deprecated
launchAccountPortal()inMimiUserController. - Deprecated
MimiUserController.
Fixed
- Issue where
MimiProfileViewControllerwould fail to present view controllers correctly when using.automaticpresentation style on iOS 13. - Reduced CPU usage when taking a PTT test in
MimiTestFlow. - Issue where a test state could overlap when finishing an individual test run in
MimiTestFlow. - Issue where
MimiTextButtonwould fail to tint images correctly. - Issue where animation artefacts could occur when selecting a text field in
MimiAuthFlow. - Issue where
connectionTypeinMimiHeadphonescould have been incorrectlynil. - Issue where
MimiUserFlowwould fail tothrowanErrorwhen jumping to a.nextstep that doesn’t exist.
4.3.1
Released on 2020-04-30.
Fixed
- Issue that caused
MimiSDKto fail to build due to Swift Compiler bug (SR-898)
4.3.0
Released on 2020-04-28.
Added
- Ability for a user to take a PTT Test to
MimiTestFlow. - Ability for a user to select the type of test to take to
MimiTestFlow. - Ability to display warnings and errors that occurred during a test on the profile and detailed results.
- Ability for anonymous users to use remote device authorization features.
- Support for Mimi remote configuration via
configuration: MimiConfigurationControlleronMimiCore. MimiHearingGradeBorderedAvatarViewtoMimiTestKit.MimiHearingGradeAvatarViewtoMimiTestKit.noiseDatatoMimiTestRun.loadHeadphones(connectionType: result:)toMimiTestController.MimiRemoteConfigurationtoMimiCoreKitconfigurationtoMimiProcessingControllerto replaceconfig.MimiProcessingConfigurationtoMimiCoreKit.MimiHeadphonestoMimiCoreKitMimiResourceControllerto allow loading remote resources viaresourceinMimiCore.isRelated(to:)toMimiUser.- Support for
.ptt()errors toMimiTestError mimiStartShimmering()andmimiStopShimmering()toUIViewinMimiUXKit.MimiIconViewtoMimiUXKit.MimiIconBooktoMimiUXKit.MimiPagingScrollHandlertoMimiUXKit.MimiPagingProgressCalculatortoMimiUXKit.hidesBackButtonparameter topush(childFlow:)inMimiUserFlowCoordinator.parenttoMimiUserFlow.contentInsettoMimiBulletinItem.standardContentInsettoMimiBulletinItem.isFullWidthtoMimiBulletinItem.
Updated
- Fatal test interruptions are now followed by a countdown in
MimiTestFlow. - Improved performance with loading latest test results following test submission.
MimiProcessingConfigis now deprecated.configis now deprecated onMimiProcessingController.MimiTestResultErroris nowHashableandEquatable.- Improved error display in
MimiProfileViewControllerwhen a test result is erroneous.
Fixed
- Issue where profile could get stuck in processing loading state during log in.
- Issue where
MimiCheckboxcould have an incorrectisCheckedstate when embedded in aUITableViewCell. - Issue where requests could fail to provide a result in
MimiCoreKit. - Issues where properties in
MimiTestRuncould incorrectly benil. - Issue where
MimiUserFlowcould potentially jump to an incorrect location. - Issue where
MimiTestFlowcomponents would not be released from memory correctly. - Issue where an unsupported calendar could be used in
MimiBirthYearPickerView. - Issue where a
MimiBulletinItemcould not have performed layout beforewillAppear(animated:).
4.2.0
Released on 2020-03-23.
Added
- Ability to authenticate remote devices to
MimiProfileViewController. allowRemoteDeviceAuthorizationtoMimiConfigurationto enable remote authorization features.deviceAuthorizationauthentication flow toMimiAuthFlowto authenticate remote devices.- Ability to request remote device authorization via
requestDeviceAuthorization()toMimiAuthController. - Ability to approve a remote device authorization request via
approveDeviceAuthorization(request:)toMimiAuthController. MimiDeviceAuthRequestto represent an individual remote authorization request.- Ability to request authentication with a
MimiDeviceAuthRequestusing.deviceAuthorization(request:)toMimiAuthRoute. layoutContentToSafeAreatoMimiUserFlowStepto dictate whether to constrain content views to the safe area or superview.MimiInstructionStepViewtoMimiUX.MimiAuthFlow.build(route:)to build authentication flows inMimiAuthFlow.
Updated
authenticate()inMimiAuthControllernow returns an optionalMimiAuthTokenRequestwhich can be cancelled.MimiAuthFlow.for(route:)is now deprecated.
Fixed
- Issue where
warningscould incorrectly benilinMimiPTTTestRunResultData. - Issue where
dismiss()inMimiUserFlowwould ignore theanimatedflag.
4.1.0
Released on 2020-03-09.
Added
- Support for displaying PTT and MT results in
MimiProfileViewController. - Support for displaying detailed PTT results and audiograms to
MimiProfileViewController. - Noise familiarity step before an MT Hearing Test to allow a user to experience the test audio.
- Ability to troubleshoot bluetooth connection during headphone disconnection interruption in a Hearing Test.
- Ability to exit a hearing test when interrupted due to headphone disconnection.
- Ability to load latest test results via
loadLatestResults()toMimiTestController. latestResultscached results object toMimiTestController.MimiTestResultmodel object that depicts an individual test result.MimiTestResultsmodel object that contains both an MT and PTTMimiTestResult.MimiHearingGradeenumto depict the calculated grade of a user’s hearing ability.MimiTestResultErrorenumto handle errors or warnings that occurred when generating aMimiTestResult.MimiTestRunResultDataprotocolthat depicts an object which provides result data for an individual test run.MimiMTTestRunResultDatamodel object that depicts result data for an individual MT test run.MimiPTTTestRunResultDatamodel object that depicts result data for an individual PTT test run.MimiTestAudiogrammodel object which depicts data for a generated PTT result audiogram.invalidateIntrinsicSize()toMimiBulletinController.MimiToggleButtoncontrol toMimiUXKit.MimiPageControlcontrol toMimiUXKit.willAppear(animated:)toMimiUserFlow.didAppear(animated:)toMimiUserFlow.userFlow(_ flow: MimiUserFlow, willAppear animated: Bool)toMimiUserFlowDelegate.userFlow(_ flow: MimiUserFlow, didAppear animated: Bool)toMimiUserFlowDelegate.- Support for new authentication model response formats from Mimi API.
Updated
- Improved loading states in
MimiProfileLauncherView. - Deprecated
loadLegacyInsights()inMimiTestController. - Deprecated
MimiTestLegacyInsights. - Deprecated
MimiTestLegacyInsightsCategory. - Deprecated
MimiMTTestLegacyInsights. MimiAlertBanner(title:)initializer is nowpublic.
Fixed
- Issue where an interruption could fail to present correctly in
MimiTestFlow. - Issue where
EquatableinMimiUserwould only compareidand not all properties.
4.0.1
Released on 2020-01-29.
Fixed
- Issues that could cause the processing state to be incorrect in
MimiCoreKit.
4.0.0
Released on 2020-01-21.
Updated
MimiCore.frameworkhas been renamed toMimiCoreKit.MimiUX.frameworkhas been renamed toMimiUXKit.MimiTestFlow.frameworkhas been renamed toMimiTestKit.MimiAuthFlow.frameworkhas been renamed toMimiAuthKit.MimiSDKclass has been renamed toMimi.MimiSDKDelegateprotocol has been renamed toMimiDelegate.- Updated
warningcolor inMimiBrandTheme.
Fixed
- Issue where Profile header could get stuck on loading state when loading processing information.
- Issue where incorrect cards could display on
MimiProfileViewController. - Issue where test submission requests could fail incorrectly.
- Issue where Mimi Account Portal could fail to present properly.
- Incorrect tint color of volume slider during test interruptions.
- Issue where special characters could not be used in
MimiAuthFlowpassword inputs. - Issue where Hearing Test could become unresponsive when interrupted.
3.2.1
Released on 2019-12-09.
Updated
- Improved loading states in
MimiProfileViewControllerwhen applying sound personalization. - Improved layout handling of large font sizes in
MimiProfileViewController. - Improved artwork layout in
MimiTestFlow.
Fixed
- Localization issues in
MimiProfileViewControllercards. - Issue with text wrap in
MimiProfileLauncherView. - Issue where header could fail to expand correctly in
MimiProfileViewController. - Truncation and text wrap issues in
MimiProfileViewControllercards. - Issue where Terms of Use / Privacy Policy links could be missing in certain localizations in
MimiAuthFlow.
3.2.0
Released on 2019-11-22.
Added
MimiProcessingConfigwhich can be used to configure behaviors and mechanisms in processing..configtoMimiProcessingControllerto apply a newMimiProcessingConfig.- Ability to receive
discrete()orcontinuousprocessing parameter updates viaMimiProcessingConfig.parameterDeliveryStyle. - Ability to set a custom processing parameter delivery timeout via
MimiProcessingConfig.parameterDeliveryTimeout. MimiTestFlow.didSubmitTestNotificationnotification for observing successful test submissions.MimiTestFlow.didFailToSubmitTestNotificationnotification for observing failed test submissions.alwaysShowHearingResultstoMimiConfigurationto allow for always displaying Hearing Grade results in all Profile contexts.
Updated
- Improved artwork in
MimiTestFlow. - Improved haptic feedback in
MimiProfileViewController. - Improved
MimiProfileLauncherViewwhen using the.healthprofile context. - Improved
MimiProfileLauncherViewanimated transitions. - Improved card interaction in
MimiProfileViewController.
Fixed
- Issue where processing could fail to automatically enable in
MimiCore. - Issue where a failed request could prevent future requests to the same API from succeeding in
MimiCore. - Issue where test button interaction could cause inactivity interruptions to fail in
MimiTestFlow. - Issue where Practice Round could fail to show error state correctly in
MimiTestFlow. - Issue where the hearing health banner could fail to disappear in
MimiProfileViewController. - Issue where the
MimiProfileViewControllercould fail to load correctly when offline when using the.healthprofile context. - AutoLayout warnings that could occur when logging out of an account in
MimiProfileViewController. - Issue where Hearing Grade bubbles could size incorrectly in
MimiProfileViewController. - Issue where headers in
MimiProfileViewControllercould fail to respect safe areas correctly.
3.1.0
Released on 2019-11-12.
Added
profileContexttoMimiSDKto allow for selecting the type of Mimi Profile to display.- Support for the
.healthprofile context toMimiProfileViewController; allowing for a hearing health focussed profile. - Ability to load legacy Mimi test insights via
loadLegacyInsights()onMimiTestController. - Support for legacy MT Test insights via
MimiMTTestLegacyInsights. secondaryForegroundColortoMimiColorBookfor secondary foreground elements that contrast against background colors.primaryForegroundColortoMimiColorBookto replaceforegroundColor.
Updated
MimiProfileViewControllernow has a new look and feel on iPad.- Anonymous users will now automatically attempt re-authentication on a failed token refresh.
- Improved font support on iPad.
- Improved
MimiBulletinItemdisplay on iPad. - Deprecated
foregroundColoronMimiColorBook. - Minor appearance updates and improvements.
- Users can no longer skip both ears of a hearing test.
- Improved
MimiProfileViewControllerperformance. - Improved animations and transitions in
MimiProfileViewController.
Fixed
- Issue where
MimiTesttimestamps could be incorrectly parsed. - Issue where
MimiAlertControllerwould layout incorrectly on iPad during split-screen. - Issue where
MimiUserFlowCoordinatorcould crash during interactive dismissal on iOS 13. - Issue where
MimiAlertBanner.show()could fail to return a presentedMimiAlertBanner. - Layout issues with large test artwork on iPad in
MimiTestFlow. - Issue where artwork in
MimiProfileViewControllercould scale incorrectly. - Memory issues in
MimiProfileViewController.
3.0.0
Released on 2019-10-01.
Added
- Support for iOS 13 and Xcode 11.
- Support for Dark Mode in iOS 13.
MimiTestFlow.didStartNotificationnotification for detecting when aMimiTestFlowstarted.MimiTestFlow.didBecomeActiveNotificationnotification for detecting when aMimiTestFlowbecame active with the current audio session.MimiTestFlow.didBecomeInactiveNotificationnotification for detecting when aMimiTestFlowhas finished with the current audio session.MimiTestFlow.didFinishNotificationnotification for detecting when aMimiTestFlowfinished.processingDidUpdate()toMimiProcessingParameterObservablefor observing parameter updates.- Ability to provide theme variants for a
UIUserInterfaceStyleviavariantForUserInterfaceStyle(UIUserInterfaceStyle) -> MimiThemetoMimiThemeDefinition. isModalInPresentationtoMimiUserFlowStep.willDismiss(animated:)toMimiUserFlow.didDismiss(animated:)toMimiUserFlow.
Updated
- MimiSDK no longer supports iOS 10.
- MimiSDK no longer supports Swift 4 and requires Swift 5.
apply(value:completion:)is now replaced bysetParameter(MimiProcessingParameter.Writable, result:)onMimiProcessingHandler.loadValue(for:completion:)is now replaced bygetParameter(MimiProcessingParameter.Readable, result:)onMimiProcessingHandler.set(value:completion:)is nowsetParameter(MimiProcessingParameter.Writable, result:)onMimiProcessingController.get(parameter:completion:)is nowgetParameter(MimiProcessingParameter.Readable, result:)onMimiProcessingController.get(parameters:completion:)is nowgetParameters(MimiProcessingParameters.Readable, result:)onMimiProcessingController.- Invalidation of a
MimiProcessingParameter.Readableparameter will now trigger an automatic get and deliver the results via observables. - Invalidating
presetorfittingwill now trigger new preset generation and force delivery inMimiCore. - A user can no longer progress past volume adjustment when the volume is muted in
MimiTestFlow. - Improved localized strings.
- Improved card layout in
MimiProfileViewController. - Improvements to transitions between states in
MimiProfileViewController. - Minor improvements to UI components in
MimiUX. - Removed
fittingRulefromMimiProcessingHandler. - Removed
observablefromMimiProcessingController. - Removed
MimiProcessingControllerObservable. - Removed
load(route:fittingRule:result:)fromMimiPersonalizationController. - Removed
canProcessingBeEnabledfromMimiProcessingController. - Removed
activate(handler:)fromMimiProcessingController. - Removed
invalidate(cause:)fromMimiProcessingController. - Removed
MimiPersonalization.FittingRule. - Removed
MimiProcessingError. - Removed
processingDidInvalidate()fromMimiProcessingParameterObservable. - Removed
processingDidGet()fromMimiProcessingParameterObservable. - Removed
processingDidSet()fromMimiProcessingParameterObservable. - Removed
MimiLabel.Style.largeTitle. - Removed
MimiFontBook.Font.largeTitle. - Removed
MimiFontBook.largeTitle. - Removed
MimiCheckbox.checkColor. - Removed
start(clientId:clientSecret:)fromMimiSDK.
Fixed
- Issues where getting a
MimiProcessingParametercould potentially return an incorrect value. - Button styling when using
.destructiveStyleinMimiTextButton. - Issue where
MimiActionButtoncould cause AutoLayout errors. - Issue where
MimiLabelcould use an incorrect text color. - Issue where Terms of Use would fail to redirect correctly in
MimiAuthFlow. - Fix issues where test audio would fail to resume when re-entering the foreground in
MimiTestFlow. - Fix issue where the test button could overlap other controls in
MimiTestFlow. - Fix issue where test audio could be outputted through the speaker during an interruption in
MimiTestFlow. - Fix interaction issues with the test button in
MimiTestFlow. - Layout issues where a card could fail to size correctly in
MimiProfileViewController. - Memory leak in
MimiProfileViewController. - Performance issues with header artwork in
MimiProfileViewController.
2.2.2
Released on 2019-08-29.
Fixed
- Issue where Signing up for a Mimi account could fail.
2.2.1
Released on 2019-08-29.
Updated
- Improved efficiency of accessing
fittingparameter on aMimiProcessingHandler. - Corner radius of a
MimiBulletinItemare now reduced on devices with a home button. - Corner radius of a
MimiSnackbarare now reduced on devices with a home button. - Color of a title label created via
makeTitle()onMimiBulletinViewMakeris nowprimaryText. - Spacing between components in a
MimiBulletinItemhas been reduced to16pt. - Minor styling improvements to
MimiAuthFlowpresentation. - Minor styling and appearance improvements to interruptions in
MimiTestFlow.
Fixed
- Layout issues due to localizations in
MimiProfileViewController. - Incorrect status bar style when viewing Mimi Account Portal in
MimiProfileViewController. - Issue where card could become unresponsive during onboarding in
MimiProfileViewController. - Issue where processing could inadvertently be disabled when entering the background in
MimiTestFlow. - Issues that could cause test output through the speaker during interruptions in
MimiTestFlow. - Issues that could cause an interruption to fail to present in
MimiTestFlow. - Issues that could cause an interruption to fail to dismiss in
MimiTestFlow. - Layout issues that could cause interruptions to have a broken layout in
MimiTestFlow. - Issues where a
MimiBulletinItemcould fail to size correctly. - Issue where the title of a
MimiBulletinItemwould truncate incorrectly. - Issue where invalidating the
fittingparameter would not trigger a new preset fetch inMimiCore. - Issues where credential field autofill would be inconsistent in
MimiAuthFlow. - Incorrect status bar style when viewing Privacy Policy / Terms of Use in
MimiAuthFlow.
2.2.0
Released on 2019-08-20.
Added
- Sign Up support to
MimiProfileViewController. - Support for Sign Up via
signUp(data:)onMimiAuthRoute. - Automatic fitting support with
.fittingMimiProcessingParameter. - Legal disclaimer to Hearing ID card on
MimiProfileViewController. MimiPersonalization.FittingInfoto provide information related to automatic fitting.isVerifiedtoMimiUserstating whether the user has a verified Mimi account.MimiSignUpDatamodel for storing Sign Up data.supportedInterfaceOrientationstoMimiUserFlowStep.messagetoMimiValidatingTextFieldfor persistent information message display.messageColortoMimiValidatingTextField.numberOfLinestoMimiValidatingTextFieldto configure the number of lines of a message/validation error to display.synchronizeSecureTextEntry(with:)toMimiCredentialTextFieldto allow for sync ofsecureTextEntrystates with another field.MimiFontBook.headerto replaceMimiFontBook.largeTitle.MimiLabel.Style.headerto replaceMimiLabel.Style.largeTitle.textAlignmenttoMimiNavigationStepHeaderView.isCheckedtoMimiCheckbox.setChecked(animated:)toMimiCheckbox.addAsChild(to:layout:)toMimiUserFlowto allow for a flow to be added as a child view controller.interactionController(for:in:) -> UIViewControllerInteractiveTransitioning?toMimiUserFlow.animationControllerForPush(to:header:content:footer:) -> UIViewControllerAnimatedTransitioning?toMimiUserFlowStep.animationControllerForPop(to:header:content:footer:) -> UIViewControllerAnimatedTransitioning?toMimiUserFlowStep.
Updated
- Stlying improvements in
MimiProfileViewController. - Improved test layout and styling in
MimiTestFlow. - Improved localized strings.
- Rotation is now not supported on iPhone devices.
- Improved layout adaptability on smaller screen devices in
MimiAuthFlow. - Improved layout on iPad in
MimiAuthFlow. MimiUserFlowwill now support portait orientation only by default on iPhone devices.MimiActionButtondefault intrinsic height is now52 pt.MimiActionButtoncorner radius is now8 ptwhen using the.roundedcornerStyle.MimiCompactActionButtoncorner radius is now8 ptwhen using the.roundedcornerStyle.MimiBrandFontBookuses new improved fonts.MimiUserFlowStepnow inherits fromNSObject.- Improved
MimiUserFlowlayout adaptability on compact devices when the keyboard is visible. - Improved styling of
MimiActionButtonwhen usingoutlinedisplayStyle. - Improved styling of
MimiCheckbox. - Deprecated
.fittingRuleonMimiProcessingHandler. - Deprecated
MimiPersonalization.FittingRule. - Deprecated
MimiFontBook.largeTitle. - Deprecated
MimiLabel.Style.largeTitle. - Deprecated
MimiCheckbox.checkColor.
Fixed
- Issue where comparing two
MimiUsercould return incorrect results. - Issue where processing parameters could incorrectly reset to default values in
MimiCore. - Issue where a
MimiProcessingHandlercould fail to enable. - Issue where incorrect hardware device identifier would be used by
MimiTestMetadata. - Issue where
MimiNavigationStepFooterViewcould have incorrect transforms with the keyboard visible. - Issue where
MimiCheckboxwould fail to set state programatically. - Issue where headphones connection interruption could display too early in
MimiTestFlow.
2.1.0
Released on 2019-07-22.
Added
idtoMimiPersonalization.PresetidtoMimiUser.parameterObservabletoMimiProcessingController.handlerObservabletoMimiProcessingController.get(parameters:completion:toMimiProcessingController.isProcessingAvailabletoMimiProcessingController.invalidate(parameters:cause:)toMimiProcessingHandlerallowing for invalidation of individual parametersinvalidateAll(cause:)toMimiProcessingHandler.activate(handler:completion:)toMimiProcessingController.deactivate()toMimiProcessingHandler.canEnabletoMimiProcessingParameterandMimiProcessingParameter.Value.- Timeout of
10stoMimiProcessingParameterdelivery and retrieval. - Add
.processing(error:)and.processingHandler(error:)toMimiCoreError.
Updated
- Improved masker levels during Hearing Test in
MimiTestFlow. - Deprecated
MimiProcessingControllerObservable. - Deprecated
observableonMimiProcessingController. - Deprecated
canProcessingBeEnabledin favor ofisProcessingAvailableonMimiProcessingController. - Deprecated
activate(handler:)in favor ofactivate(handler:completion:)onMimiProcessingController. - Deprecated
invalidate(cause:)onMimiProcessingController. - Deprecated
MimiProcessingError. - MimiCore is now responsible for caching presets rather than the
MimiProcessingHandler. - Improved performance of parameter delivery and retrieval in
MimiCore. - Improved efficiency of preset delivery, ensuring duplicate presets are not delivered in
MimiCore.
#### Fixed
- Issue where a
MimiUsercould fail to have a unique identifier. - Issues where automatic delivery of a preset could be unreliable in
MimiCore. - Issues where automatic enabling of processing could be unreliable in
MimiCore.
2.0.1
Released on 2019-07-11.
Updated
- Improved localized strings.
- Improved text styling.
- Improved animated interaction handling in Onboarding.
- Improved error messages when resetting a password in
MimiAuthFlow. - Enhanced autofill when entering credentials in
MimiAuthFlow. - Improved loading states when logging in in
MimiAuthFlow. - Updated styling of password text field visibility toggle in
MimiCredentialTextField. - Improved accuracy of volume adjustment targets in
MimiTestFlow. - Improved Practice Round interaction feedback in
MimiTestFlow. - Updated Test progress display to be consistent with Practice Round in
MimiTestFlow. - MT Test now runs at 4kHz in
MimiTestFlow. - Improved font styling in
MimiFontBook.mimiBrand.
Fixed
- Issue where cancelling during onboarding would lead to the incorrect destination.
- Issue where Processing toggle would fail to use a custom theme font.
- Issue where system volume could fall out of sync with volume views in
MimiTestFlow. - Issue where Practice Round could get stuck when entering the background in
MimiTestFlow. - Issues where interruptions during a test in
MimiTestFlowcould fail to present correctly. - Issue where
MimiAlertControllerwould be interactive during dismissal. - Issue where
MimiAlertPresentablecould fail to dismiss an alert.
2.0.0
Released on 2019-06-26.
Added
canProcessingBeEnabledtoMimiProcessingControllerallowing for temporary disable of processing.interactionDelegatetoMimiBulletinItem.MimiProfileLauncherViewto allow for fast, flexible launching of the Mimi Profile.MimiProfileNavigationControllerto use a pre-configuredUINavigationControllerwith the Profile embedded.tech3(Tech3)toMimiPersonalization.FittingRule.
Updated
- Resized Exit button that is provided in a modal
MimiUserFlow. - Improved haptics when using a
MimiAlertController. UIView.startLoading()is nowUIView.mimiStartLoading().UIView.stopLoading()is nowUIView.mimiStopLoading().- Removed
insights(type:for:result:)fromMimiTestController. - Removed Insights model objects from
MimiCore. - Removed
.testsfromMimiUser. - Removed
MimiUser.TestId. - Removed deprecated
MimiCheckmark. - Removed deprecated
MimiErrorAvatar. - Removed deprecated
MimiThemeparameters. - Removed deprecated
backgroundColorfromMimiUserFlow. - Improved state transition animations in
MimiProfileViewController. - Improved localized strings.
- Improved layout of
MimiProfileViewControlleron iPad. - Removed legacy fitting rules from
MimiPersonalization.FittingRule.
Fixed
- Issue where user configured processing parameters could be incorrectly overridden by automated systems in
MimiCore. - Issue where automatic activation of processing could fail due in
MimiCore. - Issue that could cause AutoLayout warnings in
MimiLoadingView. - Issue that caused
MimiActivityIndicatorto fail to render correctly on iOS 10. - Issue where custom line spacing would cause layout issues in
MimiAttributedLabel. - Crash when audio session would fail to start due to an active phone call / interruption in
MimiTestFlow. - Issue where Mimi processing could be active during a Hearing Test in
MimiTestFlow. - Issues where Practice Round state would get stuck and not update in
MimiTestFlow. - Issue where audio session would fail to deactivate after completing a test in
MimiTestFlow. - Issue where interruptions would not be correctly handled when adjusting the test volume in
MimiTestFlow. - Issue where test inactivity might not be reset correctly in
MimiTestFlow. - Issue where failing to enable processing would not be represented correctly in
MimiProfileViewController. - Crash on iOS 10 with loading state in
MimiProfileViewController. - Issue where processing state would be inaccurate when disabled in
MimiProfileViewController. - Memory issues with
MimiProfileViewController. - Incorrect encoding of
payloadinMimiPersonalization.Preset. - Issue where Profile processing state could fail to load.
2.0.0-beta.5
Released on 2019-06-12.
Added
- New Mimi Profile with
MimiProfileViewControllertoMimiSDK. - Alert when a user is forcibly logged out due to an error in authentication.
- Year of Birth input step to
MimiTestFlow. preferredIndicatorColortostartLoading()onUIView.mimiAddHighlightsAttribute()toNSMutableAttributedString.MimiBirthYearPickerViewto allow for Year of Birth input toMimiUX.- Behavior which migrates anonymous users to an authenticated account during log in to
MimiCore. launchAccountPortal()toMimiUserControllerwith Mimi Account Portal integration.oldUser:parameter toauthController(didUpdate:)inMimiAuthControllerObservable.- Automatic enable & disable of Processing with user environment conditions in
MimiCore. - Validation to
MimiProcessingControllerto prevent processing being enabled when the environment is invalid.
Updated
- Improved localized strings.
- Removed
MimiProfileHearingComponent. - Removed
MimiProfileAuthComponent. - Removed
MimiProfilePersonalizationComponent. - Removed supporting classes for Profile v1.
- Improved iPad layout support.
MimiTestFlow.for(test:)now throws anErrorif there is no authenticated user inMimiTestFlow.- Removed
MimiAlertPresentablesupport fromMimiSnackbar. - Removed
MimiAlertPresentablesupport fromMimiAlertBanner. - Refactored
MimiThemeDefinitionto includeMimiColorBook,MimiFontBookandMimiStyleBook. - Improved default themes.
- Renamed
MimiProcessing.ParametertoMimiProcessingParameter. - Renamed
MimiProcessing.ParameterValuetoMimiProcessingParameter.Value. - Removed
MimiProcessing. - Improve log out behaviour when logging in - will now only log out following a succesful authentication in
MimiCore. logOut()will now do nothing if no user is currently authenticated inMimiCore.MimiUseris nowEquatable.- Removed
sdkVersionfromMimiTestMetadata.
Fixed
- Issue with Practice Round button layout in
MimiTestFlow. - Interaction issues with multiple touches in the Pause menu in
MimiTestFlow. - Layout issues where
MimiLoadingViewwould fail to compress correctly. - Issue where
MimiLoadingViewwould fail to stop animating. - Race issues with completion states of
MimiActivityIndicator. - Issue where
.testswould not be cleared following a new authentication inMimiTestController. - Threading issues with updating
.testsinMimiTestController.
2.0.0-beta.4
Released on 2019-05-23.
Added
systemFont(ofSize:weight:)toMimiFont.
Updated
- Improved localized strings.
Fixed
- Issue where alert banners would fail to dismiss in
MimiAuthFlow. - Issue where invalid test data could be incorrectly submitted in
MimiTestFlow. - Issues where interruptions could fail to present correctly in
MimiTestFlow.
2.0.0-beta.3
Released on 2019-05-13.
Added
.teststoMimiTestControllerto provide cached test data inMimiCore.- Artwork to Log In & Forgot Password screens in
MimiAuthFlow. - Ability to show latest test date in
MimiProfileHearingComponent.
Updated
- Improved performance of authorization and authentication.
- Improved performance of request execution.
testsis now deprecated onMimiUserinMimiCore.- Improved animations when showing & dismissing the keyboard during a
MimiUserFlowinMimiUX. - Optimised UI components for small screen devices in
MimiUX. - Improved error messages when authentication fails in
MimiAuthFlow. - Improved localized strings.
Fixed
- Issues where
MimiBulletinControllerpresentation could fail during dismissal. - Layout issues with
MimiBulletinControllerduring presentation. - Improved interruptions service reliability in
MimiTestFlow. - Issues with practice round animations in
MimiTestFlow. - State issues in
MimiProfileHearingComponent.
2.0.0-beta.2
Released on 2019-04-29.
Added
- Automatic preset delivery on lifecycle events via
MimiProcessinginMimiCore. MimiSDKDelegatewhich must be set onMimiSDK.start(credentials:delegate).presettoMimiProcessing.Parameter.preset(MimiPersonalization.Preset?)toMimiProcessing.ParameterValue.fittingRuletoMimiProcessingHandler.clear()toMimiThemeto allow for resetting a theme to system defaults.registerForTheming()toMimiThemeablefor registering an object to be themed..themetoMimiThemeableto access the currently active theme.
Updated
- Improved theming engine that responds better to dynamic changes.
- Improved support for overriding themed properties to components in
MimiUX. - Refactored
MimiPersonalizationdata models for new structure. - Refactored
MimiProcessing.ParameterValueto remove required default parameter names. payloadis nowDataonMimiPersonalization.Preset.apply(theme:)now has an optionableMimiThemeDefinitiononMimiThemeable.MimiThemeServiceis nowinternal.register(themeable:)is removed fromMimiThemeService.activeThemeis removed fromMimiThemeService.- Removed
start(clientId: String, clientSecret: String)fromMimiCore. - Improved Hearing Test Engine in
MimiHTE. start(clientId: String, clientSecret: String)is nowunavailableonMimiSDK.
Fixed
- Improved authentication state handling in
MimiCore. - Transition issues in Practice Round in
MimiTestFlow. - Issues with tearing down audio stack when dismissing
MimiTestFlow.
2.0.0-beta.1
Released on 2019-04-15.
Added
- Swift 5 support.
- Xcode 10.2 support.
- Localization support for translations in 8 different languages.
- Improved logging.
start(credentials:)toMimiSDK.idtoMimiTestidtoMimiTest.Insights- Validation to Preset fetching in
MimiCore. - Ability to start with environment and credentials via
start(credentials:)toMimiCore. - Ability to switch environments with credentials via
update(environment:credentials:)toMimiCore. - Ability to load individual test via
load(with identifier:result:)toMimiTestController. processingController(didUpdate currentHandler:)toMimiProcessingControllerObservablewhen handlers are activated / deactivated.
Updated
MimiProfilePersonalizationComponentnow communicates with the Processing interface inMimiCore.- Deprecated
start(clientId: clientSecret:)inMimiSDK. - Removed Hearing ID graph from
MimiProfileHearingComponent. - Minor layout updates to Profile components.
- Practice Round to use latest HTE timing logic in
MimiTestFlow. - Practice Round to use simplified feedback in
MimiTestFlow. - Improved access controls on extensions in
MimiUX. - Tests API to support latest changes from backend in
MimiCore. datais now anInsightsDataobject rather than an array inMimiTestRun.Insights.- Removed
intensityparameter support fromMimiPersonalizationController. md5is nowinternalonMimiPersonalization.Preset.- Removed
MimiPersonalization.Intensity. .environmentis no longer settable onMimiCore.- Deprecated
start(clientId:clientSecret:)onMimiCore. - Deprecated
TestIdonMimiUser.
Fixed
- Issue where test would not start correctly after inputting Year of Birth.
- Missing initializer that could cause crash in
MimiActivityIndicator. - Incorrect user model being passed to result of
authenticate()inMimiAuthController. - Issue where user updates would not correctly trigger observable functions in
MimiAuthController.
2.0.0-alpha.3
Released on 2019-03-27.
Added
- Enhanced loading and success states to Year of Birth entry flow in
MimiProfile. - Enhanced support for iPad.
- Reset Password flow to
MimiAuthFlow. MimiActivityIndicatorwith loading animations and finished states including success & error toMimiUX.MimiLoggerto provide logging framework with level control..logsharedMimiLoggertoMimiCore.MimiPersonalizationControllerfor loading personalized presets and audio data.MimiProcessingControllerthat provides interface for communication between Audio Processing and MimiCore.MimiProcessingHandlerprotocol for Audio Processors to implement for communication with MimiCore.
Updated
- Project is now Universal.
MimiProfileComponentCollectionCellis nowopen.MimiProfileComponentTableCellis nowopen.- Improved loading and completion animations to
MimiAuthFlow. - Improved animations during test submission in
MimiTestFlow. - Removed all logging by default.
- Removed default explicit
heightAnchorconstraint fromMimiActionButton. - Improved
MimiAlertBannerpresentation from transparent views. MimiLoadingViewto useMimiActivityIndicator.- Make
startAnimating()openonMimiLoadingView. - Make
stopAnimating()openonMimiLoadingView. - Add optional completion closure to
stopAnimating()onMimiLoadingView. - Deprecated
MimiCheckmark. - Deprecated
MimiErrorAvatar. - Keyboard updates in
MimiUserFloware now relative to view positioning. - Renamed
MimiMTInsightstoMimiMTTestInsights. - Renamed
MimiMTCurvetoMimiMTTestInsights.Curve. - Renamed
MimiMTExampleCurvetoMimiMTTestInsights.ExampleCurve. - Renamed
MimiInsightsDatatoMimiInsights.
Fixed
- Constraint issue on bulletins which could cause vertical sizing issues in
MimiUX. - Potential alpha issues on
MimiActionButtonwhen updating states. - Missing sizing constraints on
MimiUserFlowStepHeaderView.None. - Missing sizing constraints on
MimiUserFlowStepFooterView.None. - Missing exceptions when attempting to navigate to an invalid
.parentflow location inMimiUserFlow. - Missing exceptions when attempting to navigate to an invalid
.startflow location inMimiUserFlow. - Text layout issues using
MimiLabel. - Incorrect layout margins in
MimiUserFlowon iOS 10.
2.0.0-alpha.2
Released on 2019-03-18.
Added
- User details to authenticated state of
MimiAuthProfileComponent. - Confirmation alert to Log Out action of
MimiAuthProfileComponent. - Ability to dismiss by tapping outside the bounds of Auth screens to
MimiAuthFlow. - Support for HTE error states with UI Alerts to
MimiTestFlow. .styletoMimiTextButton..styletoMimiCompactTextButton..styletoMimiAlertAction.- Support for
MimiAlertAction.StyletoMimiAlertController. - Support for
MimiAlertAction.StyletoUIAlertController. kerntoMimiFont.mimiHorizontalLayoutClasstoUITraitCollection.mimiVerticalLayoutClasstoUITraitCollection.- Refactored
MimiAlertBannerwith improved API and animations. - Haptic feedback to
MimiSnackbar. - Ability to load insights via
insights(type:for:result:)onMimiTestController. - Data models for
MimiMTInsights. testTypetoMimiTestRun.eartoMimiTestRun.timestamptoMimiTestRun.- Ability to reset a user’s password via
resetPassword(email:result:)onMimiAuthController.
Updated
- Removed ‘Manage Account’ button from
MimiAuthProfileComponent. - Skip button is now hidden when Practice Round is completed in
MimiTestFlow. - Improved Volume Adjustment interruption state styling in
MimiTestFlow. - Improved general layout on small screen devices in
MimiTestFlow. - Updated border width of Volume slider target in
MimiTestFlow. - Improve layout of Volume Adjustment interruption in
MimiTestFlow. - Use rounded corners for test progress slider track in
MimiTestFlow. - Use new artwork for Headphone Input step in
MimiTestFlow. - Remove back button from Practice Round in
MimiTestFlow. - Updated text styles on Volume Adjustment screen in
MimiTestFlow. - Shrink iconography on Volume view in
MimiTestFlow. - Updated text styles on Headphone Disconnect interruption in
MimiTestFlow. - Renamed
MimiAlert.ActiontoMimiAlertAction. - Increased
contentInsetaroundMimiBulletinRootViewController. - Use
compactBodyfont inMimiSnackbarDefaultContentView. - Improved layout of
MimiNavigationStepHeaderViewon smaller iPhones. - Renamed
present()toshow()onMimiSnackbar. - Renamed
dismiss()tohide()onMimiSnackbar. MimiBrandFontwith improved line spacing and styling.MimiSnackbarfont style toactionCompact..controlleris now optional onMimiBulletinItem.- Made
MimiBulletinItemanimations faster.
Fixed
- Issue where authentication state would show for anonymous users in
MimiAuthProfileComponent. - Issue where minimising the flow could cause audio distortment issues in
MimiTestFlow. - Animation issues with Practice Round in
MimiTestFlow. - Issues where interruptions could be blocked and fail to appear in
MimiTestFlow. - Issue where haptics would incorrectly be used for volume changes in
MimiTestFlow. - Issue where test would fail to Pause correctly in
MimiTestFlow. - Use
primaryBackgroundColorfor Test button inMimiTestFlow. - Text rendering issues in Test steps on small devices in
MimiTestFlow. - Issue where test could resume when attempting to exit in
MimiTestFlow. - Incorrect background color in Test status screens in
MimiTestFlow. - Use correct font for Volume Adjustment interruption labels in
MimiTestFlow. - Incorrect state on Headphone Disconnect interruption in
MimiTestFlow. - Incorrect Highlighted tint on
MimiCheckbox. - Line cropping issue with
MimiLabel. - Memory issue with
MimiValidationEngine. - Memory issues with custom font registration in
MimiUX. - Potential crash in
MimiBulletinItempresentation.
2.0.0-alpha.1
Released on 2019-03-04.
Initial release of the new MimiSDK.
Changelog Reference