Change Log
All notable changes to this project will be documented in this file. MimiSDK adheres to Semantic Versioning.
10.X Releases
10.3.0
Releases - 10.3.010.2.0
Releases - 10.2.010.1.0
Releases - 10.1.0 | 10.1.1 | 10.1.2 | 10.1.3 | 10.1.410.0.x
Releases - 10.0.0 | 10.0.1
9.X Releases
8.X Releases
7.X Releases
7.4.x
Releases - 7.4.07.3.x
Releases - 7.3.0 | 7.3.17.2.x
Releases - 7.2.07.1.x
Releases - 7.1.07.0.x
Releases - 7.0.0
6.X Releases
5.X Releases
4.X Releases
4.13.x
Releases - 4.13.04.12.x
Releases - 4.12.0 | 4.12.1 | 4.12.24.11.x
Releases - 4.11.0 | 4.11.14.10.x
Releases - 4.10.04.9.x
Releases - 4.9.0 | 4.9.14.8.x
Releases - 4.8.04.7.x
Releases - 4.7.04.6.x
Releases - 4.6.0 | 4.6.1 | 4.6.2 | 4.6.34.5.x
Releases - 4.5.0 | 4.5.14.4.x
Releases - 4.4.04.3.x
Releases - 4.3.0 | 4.3.14.2.x
Releases - 4.2.04.1.x
Releases - 4.1.04.0.x
Releases - 4.0.0 | 4.0.1
3.X Releases
2.X Releases
2.2.x
Releases - 2.2.0 | 2.2.1 | 2.2.22.1.x
Releases - 2.1.02.0.x
Releases - 2.0.0 | 2.0.12.0.x
Pre-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
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
. makeViewControllerForPresentation
toMimiTestFlow
.makeFlowViewController
toMimiUserFlow
.PTT.audiogramTechnicalLimits
toMimiTestResultError
PTT.audiogramThresholdsClipped
toMimiTestResultError
PTT.missingPTA4
toMimiTestResultError
.reversalInterpolationError
toMimiTestResultError
MimiHearingGradeWHO2021
toMimiCoreKit
.hearingGradeWHO2021
toAnyMimiTestResult
.hearingGradeWHO2021
toMimiTestRunResultData
.- dSYM files to the MimiSDK XCFrameworks.
Set up your phone and headphones
screen as the final step in the PTT test setup.Headphones Connectivity Troubleshooting
button 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 Headphones
step from the last to the second position in the PTT test setup.
Deprecated
MimiProfileLauncherView
inMimiSDK
.MimiProfileLauncherView
will be removed in SDK v11.PTT.visualizationMissingFrequencies
inMimiTestResultError
will be removed in SDK v11.PTT.visualizationOutOfCalibratedLimits
inMimiTestResultError
will be removed in SDK v11.PTT.visualizationMissingAudiogram
inMimiTestResultError
will be removed in SDK v11.PTT.visualizationMissingCenterFrequency
inMimiTestResultError
will 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
showsOnboardingIntroduction
is 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:)
toMimiTestController
init(dataPoints:)
toMimiTestAudiogram
MimiTestAudiogramMetadata
toMimiCoreKit
MimiSubmitAudiogramResponse
toMimiCoreKit
init(anonymousId:...)
toMimiUser
init()
toMimiCoreObservable
init(id: String...)
toMimiTestResult
init(ptt:mt:)
toMimiTestResults
init(ear:...)
toMimiMTTestRunResultData
init(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
AnyMimiProcessingParameterDataSource
inMimiCoreKit
Changed
dataSource
type toAnyMimiProcessingParameterDataSource
inMimiProcessingParameter
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
uiControlDebounceBehavior
inMimiPersonalizationConfiguration
parameterDataSourceUndefined
inMimiProcessingError
synchronizeApplicators()
inMimiProcessingParameter
- Localization support for Ukrainian (Ukraine)
updateState
inMimiProcessingParameter
ParameterUpdateState
inMimiProcessingParameter
bundlePublisher
inMimiUpDownPresetParameterDataSource
bundle
inMimiUpDownPresetParameterDataSource
session
inMimiProcessingController
MimiProcessingConfiguration
inMimiCoreKit
MimiProcessingParameterDataSource
inMimiCoreKit
dataSource
inMimiProcessingParameter
Changed
- Minimum deployment target to
15.0
, dropping support for iOS 14. primaryTint
,tertiaryTint
,primaryForeground
,secondaryForeground
,primaryText
,secondaryText
andhearingTestButtonText
toMimiHighlightableColor
inMimiColorBook
MimiDefaultPresetParameterDataSource
toMimiSinglePresetParameterDataSource
session
tosessionPublisher
inMimiProcessingController
value
tovaluePublisher
inMimiProcessingParameter
isInterrupted
toisInterruptedPublisher
inMimiProcessingSession
activate(presetDataSource:)
toactivate(configuration:)
inMimiProcessingController
Removed
canApply
inMimiProcessingParameterApplicator
deliveryMode
inMimiProcessingParameter
applicator(synchronizing value:)
fromMimiProcessingParameter
MimiRemoteProcessingParameter
compactAction
inMimiFontBook
compactBody
inMimiFontBook
compactBodyHighlight
inMimiFontBook
captionHighlight
inMimiFontBook
MimiCompactTextButton
inMimiUXKit
MimiCompactActionButton
inMimiUXKit
compactAction
inMimiLabel
compactBody
inMimiLabel
HighlightStyle
,highlightStyle
,highlightColor
&cgColor
inMimiColor
init(red:green:blue:alpha:)
,init(cgColor:)
&init(white:, alpha:)
inMimiColor
withHighlightStyle(_:)
,withHighlightColor(_:)
&color(for state:)
inMimiColor
mimi
inUIColor
Color
inMimiColorBook
init(_ colors: Color...)
inMimiColorBook
sessionInterruptionInProgress
inMimiProcessingError
MimiPresetParameterDataSource
inMimiCoreKit
presetDataSource
inMimiProcessingSession
launchAccountPortal
inMimiAuthController
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
loadUserAccountPortalURL
inMimiAuthController
MimiHighlightableColor
inMimiUXKit
init(primaryTint:secondaryTint:...earLeft:earRight:)
inMimiColorBook
Deprecated
launchAccountPortal
inMimiAuthController
highlightStyle
,highlightColor
&cgColor
inMimiColor
init(red:green:blue:alpha:)
,init(cgColor:)
&init(white:, alpha:)
inMimiColor
withHighlightStyle(_:)
,withHighlightColor(_:)
&color(for state:)
inMimiColor
mimi
inUIColor
Color
inMimiColorBook
init(_ 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
compactBody
inMimiFontBook
compactAction
inMimiFontBook
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
cancel
inMimiAlertAction.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
success
inMimiColorBook
.earLeft
inMimiColorBook
.earRight
inMimiColorBook
.requiresFullWidth
inMimiUserFlowStep
.accessibilityId
inMimiAlert
andMimiAlertAction
.MimiHeadphoneIdentifier
inMimiCoreKit
.MimiConnectedHeadphoneProvider
inMimiCoreKit
.connectedHeadphoneProvider
inMimiTestController
.fieldAccessibilityIdentifier
inMimiValidatingTextField
.messageAccessibilityIdentifier
inMimiValidatingTextField
.textAccessibilityIdentifier
inMimiNavigationStepHeaderView
.MimiFooterActionButton
inMimiUXKit
.MimiTestTypeConfiguration
inMimiCoreKit
.loadTestTypeConfiguration(headphoneIdentifier:result:)
inMimiTestController
..init()
inMimiBirthYearPickerView
.MimiTestResults
inMimiTestFlow.didSubmitTestNotification
.unsupportedTestType
inMimiTestFlowError
.- 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.quiet
color tosuccess
. - Updated
MimiNavigationBar
background color tosecondaryBackground
. - Updated
MimiNavigationBar
tint color toprimaryTint
. MimiTestFlow.build()
is now an asynchronous function.- Renamed
MimiTestHeadphoneInfo
toMimiTestHeadphoneMetadata
. - Renamed
MimiHeadphones
toMimiHeadphone
.
Removed
includeDefaultThemes
inMimiThemeKit
.MimiBrandTheme
inMimiUXKit
.mimiBrand
inMimiFontBook
.- Support for Arabic language.
- Setting accessibility identifier for
MimiValidatingTextField
. MimiPersonalizationVisualizationViewController
inMimiTestKit
.MimiDisclaimerBulletin
inMimiTestKit
.loadVisualization()
inMimiPersonalizationController
..init(yearOfBirth:)
inMimiBirthYearPickerView
..init(frame:)
inMimiBirthYearPickerView
.MimiPersonalizationBarChartView
inMimiTestKit
.MimiResultConditionsBulletinDelegate
inMimiTestKit
.MimiResultConditionsBulletin
inMimiTestKit
.MimiResultCondition
inMimiTestKit
.MimiResultConditionsData
inMimiTestKit
.preferredTest
parameter inMimiTestFlow.build(preferredTest:)
.MimiRemoteConfiguration
inMimiCoreKit
MimiConfigurationController
inMimiCoreKit
connected
inMimiTestHeadphoneInfo
ConnectionType
inMimiTestHeadphoneInfo
7.4.0
Released on 2023-05-15
Added
loadVisualization(result:)
toMimiPersonalizationController
.onDismiss
toMimiPersonalizationVisualizationViewController
.
Updated
- Deprecated
MimiPersonalizationVisualizationViewController
inMimiTestKit
. - Deprecated
MimiDisclaimerBulletin
inMimiTestKit
. - 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.
uppercaseTransformation
inMimiStyleBook
textAlignment
inMimiStyleBook
hearingTestButtonBackground
inMimiColorBook
hearingTestButtonText
inMimiColorBook
soundPersonalizationIcon
inMimiColorBook
personalization
inMimiProfileConfiguration
MimiViewController
toMimiUXKit
MimiUserFlowNavigationItemable
toMimiUXKit
Changed
MimiUserFlowSteppable.navigationItem
is 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
showsOnboardingIntroduction
inMimiProfileConfiguration
.
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
anonymousId
inMimiUser
.allowsAnonymousUserOnly
inMimiProfileConfiguration
.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
.default
fromMimiProfileConfiguration
.activate(fitting:)
inMimiProcessingController
.fitting
inMimiProcessingSession
.MimiPersonalization.Metadata
inMimiCoreKit
.metadata
inMimiPersonalization
.MimiPersonalization.Mode
inMimiCoreKit
.MimiProcessingIntensitySlider
inMimiSDK
.MimiProcessingToggle
inMimiSDK
.MimiResultsViewController
inMimiTestKit
.
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
MimiPresetParameterDataSource
inMimiCoreKit
.MimiDefaultPresetParameterDataSource
inMimiCoreKit
.MimiUpDownPresetParameterDataSource
inMimiCoreKit
.activate(presetDataSource:)
inMimiProcessingController
.apply(value:)
toMimiRemoteProcessingParameter
.presetDataSource
toMimiProcessingSession
.MimiPersonalization.UpDownPresetBundle
inMimiCoreKit
.
Deprecated
activate(fitting:)
inMimiProcessingController
.fitting
inMimiProcessingSession
.MimiPersonalization.Metadata
inMimiCoreKit
.metadata
inMimiPersonalization
.MimiPersonalization.Mode
inMimiCoreKit
.MimiProcessingIntensitySlider
inMimiSDK
.MimiProcessingToggle
inMimiSDK
.
6.1.0
Released on 2022-07-14
Added
personalization
toMimiCore
.MimiPersonalizationController
toMimiCoreKit
.MimiPersonalizationVisualizationViewController
toMimiTestKit
.MimiPersonalizationBarChartView
toMimiTestKit
.
Deprecated
MimiResultsViewController
inMimiTestKit
.
6.0.0
Released on 2022-05-05
Updated
SigningError
has been removed fromMimiCoreError
.signature
has been removed fromMimiTestResult
.MimiTest(runs: [MimiTestRun], metadata: MimiTestMetadata, signature: String?)
is nowMimiTest(runs: [MimiTestRun], metadata: MimiTestMetadata)
.usesMimiBrandedHealthOnboarding
andshowsHearingHealthTips
have been removed fromMimiProfileConfiguration
.- Removed
showsHearingHealthTips
parameter frominit(allowsRemoteDeviceAuthorization:)
inMimiProfileConfiguration
. - Removed
options
parameter frombuild(preferredTest:)
inMimiTestFlow
. - Removed
showsHearingHealthTips
parameter from initializer inMimiResultsViewController
. - Removed
MimiPersonalizationRoute
. message
is now optional onMimiCoreErrorDetails
.- Removed
export(testResult:with:result)
fromMimiTestController
. - Removed
tintColor
fromMimiTestEar
. - Removed
Context
fromMimiHearingGrade
. - Removed
description(context:short:)
fromMimiHearingGrade
. - Removed
detailedDescription(context:short:)
fromMimiHearingGrade
. - Removed
tintColor(for:)
fromMimiHearingGrade
. - Removed
MimiHearingGradeSpectrumView
. - Removed
MimiEarIndicatorView
. - Removed
description
fromMimiHearingSymmetry
. - Removed
text
andtextAlignment
fromMimiSnackbar
. - Removed
environment
andEnvironment
fromMimiCore
.
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
&trailingText
toMimiSnackbarDefaultContentView
.leadingTextAlignment
&trailingTextAlignment
toMimiSnackbarDefaultContentView
.- Support for building for the iPhone Simulator platform on Apple Silicon machines.
usesMimiBrandedHealthOnboarding
toMimiProfileConfiguration
.
Updated
- Improved soft inactivity, hard inactivity & pause interruptions in
MimiTestFlow
. - Deprecated
text
&textAlignment
inMimiSnackbarDefaultContentView
.
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: MimiProfileConfiguration
parameter toMimiProfileViewController()
.configuration: MimiProfileConfiguration
parameter toMimiProfileNavigationController()
.configuration: MimiProfileConfiguration
parameter toMimiProfileLauncherView()
.- Ability to view information about calibration to PTT test in
MimiTestFlow
. history
&clearHistory
toMimiLogger
.
Updated
- Minimum deployment target to
13.0
, dropping support for iOS 12. - Renamed
MimiHTE.xcframework
toMimiHTEKit.xcframework
. - Improved Japanese translations.
MimiTestResult
now conforms toIdentifiable
.MimiPersonalizationController
has been removed fromMimiCore
.MimiUserController
has been removed fromMimiCore
.MimiPersonalization.FittingInfo
has been renamed toMimiPersonalization.Fitting
.MimiPersonalization.FittingInfo.for()
has been renamed toMimiPersonalization.Fitting.techLevel()
.MimiAuthFlow.Route.anonymously
has been removed.MimiComponent.hasConstructed
has been removed.Mimi.profileContext
has been removed.MimiProfileContext
has been removed.Mimi.configuration
has been removed.Mimi.start(credentials:configuration:delegate)
is nowMimi.start(credentials:delegate)
.MimiConfiguration
has been removed.MimiTabBar
has been removed.MimiTransparentNavigationBar
has been removed.MimiResultDetailsViewController
has been removed.MimiMTResultDetailsViewController
has been removed.MimiPTTResultDetailsViewController
has been removed.MimiTestRunResultData.signature
has been removed.MimiMTTestRunResultData.signature
has been removed.MimiPTTTestRunResultData.signature
has been removed.MimiTestController.tests
has been removed.MimiTest.LegacyInsights
has been removed.MimiTestRun.LegacyInsights
has been removed.MimiTestRun.results
has been removed.MimiTestLegacyInsights
and conforming typeMimiMTTestLegacyInsights
have been removed.MimiTestLegacyInsightsCategory
has been removed.- Removed
loadAll(result:)
,load(with:result:)
,submit(test:result:)
&delete(test:result:)
fromMimiTestController
. - Removed
loadLegacyInsights(type:test:result:)
fromMimiTestController
. - Removed
provideResults
parameter inMimiTestController.submit(test:provideResults:result:)
. result
handler now provides anMimiTestResults
instance 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
&testType
properties fromMimiTest
. - Removed
id
,metadata
,testType
,ear
,timestamp
,data
&noiseData
properties fromMimiTestRun
. MimiTestRun.Metadata
has been removed.MimiHearingGrade.average(from:)
has been removed.hearingGrade
is now optional onMimiTestRunResultData
.hearingGrade
is now optional onMimiMTTestRunResultData
.hearingGrade
is now optional onMimiPTTTestRunResultData
.hearingPercentage
is now optional onMimiTestRunResultData
.hearingPercentage
is now optional onMimiPTTTestRunResultData
.dbHearingLoss
is now optional onMimiPTTTestRunResultData
.audiogram
is now optional onMimiPTTTestRunResultData
.MimiTestResultError.PTT.visualizationMissingFrequency
has been renamed toMimiTestResultError.PTT.visualizationMissingFrequencies
.MimiResultsViewController.latestResult
has been removed.MimiTestConditionsBulletinDelegate
has been renamed toMimiResultConditionsBulletinDelegate
.MimiTestConditionsBulletin
has been renamed toMimiResultConditionsBulletin
.MimiTestConditionsData
has been renamed toMimiResultConditionsData
.MimiTestCondition
has been renamed toMimiResultCondition
.MimiColor
,MimiColorBook
,MimiFont
,MimiFontBook
&MimiStyleBook
now conform toEquatable
.theme
is now non-optional onMimiThemeable
.apply(theme:)
now has a non-optionalMimiThemeDefinition
onMimiThemeable
.MimiHearingGrade.tintColor
has been removed.tintColor(for:)
now has a non-optionalMimiThemeDefinition
onMimiHearingGrade
.becomeThemingResponder(:)
&resignThemingResponder(:)
have been replaced with theignoresThemeUpdates
property inMimiThemable
.- Replaced
MimiFont(named:size:lineSpacing:kern:)
withMimiFont(name:size:lineSpacing:kern:)
. - Removed
environment
parameter support fromstart(environment:credentials:delegate:)
inMimiCore
. - Removed
environment
parameter support fromupdate(environment:credentials:)
inMimiCore
. MimiEllipsisIndicator
has been removed.MimiTestAudiogram.DataPoint.frequency
is now anInt
type.MimiAuthFlow.for(route:)
has been removed.MimiHearingGradeBorderedAvatarView.contentInset
has been removed.UITraitCollection.mimiHorizontalLayoutClass
has been removed.UITraitCollection.mimiVerticalLayoutClass
has 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.invalidCurrentInde
has been removed.MimiTestFlow.TestType
has 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
unknown
hearing 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
MimiTestFlow
could crash when loading headphones list on iOS 15.
4.13.0
Released on 2021-12-17
Updated
MimiFontBook.mimiBrand
uses new improved fonts.MimiBrandTheme.default
has been renamed toMimiBrandTheme.light
.- Minor appearance tweaks and improvements.
4.12.2
Released on 2021-11-01.
Fixed
- Issue where
MimiCore
would 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
. name
toMimiTestMetadata.Client
.metadata
toAnyMimiTestResult
.hearingSymmetry
toAnyMimiTestResult
.
Updated
- Test selection screen in
MimiTestFlow
now 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
MimiTestFlow
andMimiProfileViewController
. - Ability to view hearing symmetry when viewing results in
MimiResultsViewController
. - Support for displaying
unknown
hearing grades toMimiResultDetailsViewController
. - Support for displaying
unknown
hearing grades toMimiProfileViewController
. MimiHearingSymmetry
enum
to depict the symmetry of a user’s hearing ability.hearingSymmetry
toMimiTestResult
..visualizationOutOfCalibratedLimits
error toMimiTestResultError.PTT
.tintColor(for:)
toMimiHearingGrade
.signature
toMimiTestResult
.MimiTestResult.Signature
type containing result signature data..check
toMimiIconBook
.
Updated
- Improved plotting of audiogram in
MimiResultDetailsViewController
. - Deprecated
tintColor
inMimiHearingGrade
. - Deprecated
signature
inMimiTestRunResultData
. - Deprecated
average(from:)
inMimiHearingGrade
. - Deprecated
contentInset
inMimiHearingGradeBorderedAvatarView
.
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
MimiNavigationStepFooterView
could 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
MimiResultsViewController
inMimiTestKit
. - Ability to load historic test results to
MimiTestController
vialoadResults(type: result:)
. MimiCorePagedResult
which represents a paged result of an API call toMimiCoreKit
.isShimmering
toUIView
inMimiUXKit
.Mimi.version
to provide currentMimiSDK
version number.MimiCore.version
to provide currentMimiCoreKit
version number.- Added
delete(testResult: result:)
toMimiTestController
. .cross
toMimiIconBook
.MimiResultDetailsViewController
for viewing individual test result details toMimiTestKit
.
Updated
- Minor appearance tweaks and improvements.
- Protocols now conform to
AnyObject
rather thanclass
where required. MimiHearingGradeAvatarView.Avatar
now conforms toEquatable
.- Deprecated
MimiMTResultDetailsViewController
inMimiTestKit
. - Deprecated
MimiPTTResultDetailsViewController
inMimiTestKit
.
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
MimiActivityIndicator
would not animate correctly following removal from the view hierarchy.
4.8.0
Released on 2020-11-30
Added
rootViewController
toMimiUserFlow
.step()
toMimiUserFlow
.step(if:)
toMimiUserFlow
.step(or: decision:)
toMimiUserFlow
.MimiDisclaimerBulletin
toMimiTestKit
.UITraitCollection.mimiLayoutClass
to 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
MimiProfileLauncherView
when running on smaller devices. - Improved UI for Privacy Policy & Terms of Use consent in
MimiAuthFlow
Sign 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.invalidCurrentIndex
is now deprecated.MimiLayoutClass
now conforms toRawRepresentable
with anInt
type.UITraitCollection.mimiHorizontalLayoutClass
is now deprecated.UITraitCollection.mimiVerticalLayoutClass
is 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.Collection
could fail to use correct default fonts. - Issue where
MimiFontBook
could 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
MimiSDK
via CocoaPods. - Support for handling Keychain Sharing to
MimiCore
. - Information banner to
MimiMTResultDetailsViewController
andMimiPTTResultDetailsViewController
if retaking a test is unavailable. .unsupportedDevice
toMimiTestFlowError
.didLayoutSubviews()
toMimiBulletinItem
.- Ability to export the result of a previously undertaken test via
export(testResult: with name: result:)
toMimiTestController
. .invalid
toMimiCoreError.DataError
.AnyMimiTestResult
protocol toMimiCoreKit
to whichMimiTestResult
conforms.
Updated
- Minimum deployment target to
12.0
, dropping support for iOS 11. - The hearing test is now unavailable from
MimiProfileViewController
when running on an Apple Silicon based Mac. MimiTestFlow.build()
will now throw aMimiTestFlowError.unsupportedDevice
when running on an Apple Silicon based Mac.MimiCoreKit
now supports being linked to application extensions.MimiConfiguration.alwaysShowHearingResults
is now deprecated and no longer functional.
Fixed
- Issue where calling
setTitleColor()
onMimiActionButton
would 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
MimiProfileViewController
on 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
MimiTestFlow
while 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
MimiProcessingToggle
toMimiSDK
to enable/disable processing on the active processing handler.MimiProcessingIntensitySlider
toMimiSDK
to 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
. MimiTextField
now 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 whileisAnimating
istrue
inMimiActivityIndicator
. - 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
MimiProfileViewController
could fail to layout correctly. - Issue where a
MimiProfileViewController
embedded 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.
.missingSignature
toMimiCoreError.SigningError
.user(MimiUser)
toMimiAuthRoute
to allow for authenticating known anonymous users.autoFill(for:)
toMimiAuthFlow
to automatically fill fields within an authentication flow with user details.signature
parameter toMimiTest.init
.signature
property toMimiTest
andMimiTestRunResultData
.
Updated
- Improved text legibility during test selection in
MimiTestFlow
. - User data is now automatically reloaded when
MimiProfileViewController
andMimiProfileLauncherView
are initialized. - Email text field is now checked for a valid address in
MimiAuthFlow
Log 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
MimiProfileViewController
cards 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
MimiProfileViewController
when 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
MimiUserFlow
could 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
MimiPTTResultDetailsViewController
andMimiMTResultDetailsViewController
. MimiMTResultDetailsViewController
toMimiTestKit
to present detailed MT results.MimiPTTResultDetailsViewController
toMimiTestKit
to 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
. MimiHearingGradeSpectrumView
toMimiTestKit
.MimiEarIndicatorView
toMimiTestKit
.MimiTestConditionsBulletin
toMimiTestKit
.MimiTestConditionsData
toMimiTestKit
.options: [MimiTestFlowOptions]
parameter toMimiTestFlow.build()
for configuring test flow options.description(context: short:)
toMimiHearingGrade
.detailedDescription(context: short:)
toMimiHearingGrade
.tintColor
toMimiHearingGrade
.results
toMimiTest
.data
toMimiTestRun
..init(data: noiseData: metadata:)
toMimiTestRun
.unsupportedTest
toMimiTestResultError
..cross
toMimiActivityIndicator.ErrorArtwork
..exit
toMimiIconBook
.reloadUser()
toMimiAuthController
.updateUser()
toMimiAuthController
.launchAccountPortal()
toMimiAuthController
.insightComputationFailed
error toMimiTestResultError.MT
.SigningError
toMimiCoreError
.
Updated
- Test submissions and results are now automatically verified via signatures.
- Minor UI improvements to
MimiProfileViewController
. - Deprecated
results
inMimiTestRun
. - Deprecated
.init(results: noiseData: metadata:)
inMimiTestRun
. - Deprecated
profileContext
onMimi
which is no longer functional. - Deprecated
MimiProfileContext
inMimiSDK
. - Deprecated
reload()
inMimiUserController
. - Deprecated
update()
inMimiUserController
. - Deprecated
launchAccountPortal()
inMimiUserController
. - Deprecated
MimiUserController
.
Fixed
- Issue where
MimiProfileViewController
would fail to present view controllers correctly when using.automatic
presentation 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
MimiTextButton
would fail to tint images correctly. - Issue where animation artefacts could occur when selecting a text field in
MimiAuthFlow
. - Issue where
connectionType
inMimiHeadphones
could have been incorrectlynil
. - Issue where
MimiUserFlow
would fail tothrow
anError
when jumping to a.next
step that doesn’t exist.
4.3.1
Released on 2020-04-30.
Fixed
- Issue that caused
MimiSDK
to 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: MimiConfigurationController
onMimiCore
. MimiHearingGradeBorderedAvatarView
toMimiTestKit
.MimiHearingGradeAvatarView
toMimiTestKit
.noiseData
toMimiTestRun
.loadHeadphones(connectionType: result:)
toMimiTestController
.MimiRemoteConfiguration
toMimiCoreKit
configuration
toMimiProcessingController
to replaceconfig
.MimiProcessingConfiguration
toMimiCoreKit
.MimiHeadphones
toMimiCoreKit
MimiResourceController
to allow loading remote resources viaresource
inMimiCore
.isRelated(to:)
toMimiUser
.- Support for
.ptt()
errors toMimiTestError
mimiStartShimmering()
andmimiStopShimmering()
toUIView
inMimiUXKit
.MimiIconView
toMimiUXKit
.MimiIconBook
toMimiUXKit
.MimiPagingScrollHandler
toMimiUXKit
.MimiPagingProgressCalculator
toMimiUXKit
.hidesBackButton
parameter topush(childFlow:)
inMimiUserFlowCoordinator
.parent
toMimiUserFlow
.contentInset
toMimiBulletinItem
.standardContentInset
toMimiBulletinItem
.isFullWidth
toMimiBulletinItem
.
Updated
- Fatal test interruptions are now followed by a countdown in
MimiTestFlow
. - Improved performance with loading latest test results following test submission.
MimiProcessingConfig
is now deprecated.config
is now deprecated onMimiProcessingController
.MimiTestResultError
is nowHashable
andEquatable
.- Improved error display in
MimiProfileViewController
when a test result is erroneous.
Fixed
- Issue where profile could get stuck in processing loading state during log in.
- Issue where
MimiCheckbox
could have an incorrectisChecked
state when embedded in aUITableViewCell
. - Issue where requests could fail to provide a result in
MimiCoreKit
. - Issues where properties in
MimiTestRun
could incorrectly benil
. - Issue where
MimiUserFlow
could potentially jump to an incorrect location. - Issue where
MimiTestFlow
components would not be released from memory correctly. - Issue where an unsupported calendar could be used in
MimiBirthYearPickerView
. - Issue where a
MimiBulletinItem
could not have performed layout beforewillAppear(animated:)
.
4.2.0
Released on 2020-03-23.
Added
- Ability to authenticate remote devices to
MimiProfileViewController
. allowRemoteDeviceAuthorization
toMimiConfiguration
to enable remote authorization features.deviceAuthorization
authentication flow toMimiAuthFlow
to authenticate remote devices.- Ability to request remote device authorization via
requestDeviceAuthorization()
toMimiAuthController
. - Ability to approve a remote device authorization request via
approveDeviceAuthorization(request:)
toMimiAuthController
. MimiDeviceAuthRequest
to represent an individual remote authorization request.- Ability to request authentication with a
MimiDeviceAuthRequest
using.deviceAuthorization(request:)
toMimiAuthRoute
. layoutContentToSafeArea
toMimiUserFlowStep
to dictate whether to constrain content views to the safe area or superview.MimiInstructionStepView
toMimiUX
.MimiAuthFlow.build(route:)
to build authentication flows inMimiAuthFlow
.
Updated
authenticate()
inMimiAuthController
now returns an optionalMimiAuthTokenRequest
which can be cancelled.MimiAuthFlow.for(route:)
is now deprecated.
Fixed
- Issue where
warnings
could incorrectly benil
inMimiPTTTestRunResultData
. - Issue where
dismiss()
inMimiUserFlow
would ignore theanimated
flag.
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
. latestResults
cached results object toMimiTestController
.MimiTestResult
model object that depicts an individual test result.MimiTestResults
model object that contains both an MT and PTTMimiTestResult
.MimiHearingGrade
enum
to depict the calculated grade of a user’s hearing ability.MimiTestResultError
enum
to handle errors or warnings that occurred when generating aMimiTestResult
.MimiTestRunResultData
protocol
that depicts an object which provides result data for an individual test run.MimiMTTestRunResultData
model object that depicts result data for an individual MT test run.MimiPTTTestRunResultData
model object that depicts result data for an individual PTT test run.MimiTestAudiogram
model object which depicts data for a generated PTT result audiogram.invalidateIntrinsicSize()
toMimiBulletinController
.MimiToggleButton
control toMimiUXKit
.MimiPageControl
control 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
Equatable
inMimiUser
would only compareid
and 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.framework
has been renamed toMimiCoreKit
.MimiUX.framework
has been renamed toMimiUXKit
.MimiTestFlow.framework
has been renamed toMimiTestKit
.MimiAuthFlow.framework
has been renamed toMimiAuthKit
.MimiSDK
class has been renamed toMimi
.MimiSDKDelegate
protocol has been renamed toMimiDelegate
.- Updated
warning
color 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
MimiAuthFlow
password inputs. - Issue where Hearing Test could become unresponsive when interrupted.
3.2.1
Released on 2019-12-09.
Updated
- Improved loading states in
MimiProfileViewController
when applying sound personalization. - Improved layout handling of large font sizes in
MimiProfileViewController
. - Improved artwork layout in
MimiTestFlow
.
Fixed
- Localization issues in
MimiProfileViewController
cards. - Issue with text wrap in
MimiProfileLauncherView
. - Issue where header could fail to expand correctly in
MimiProfileViewController
. - Truncation and text wrap issues in
MimiProfileViewController
cards. - 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
MimiProcessingConfig
which can be used to configure behaviors and mechanisms in processing..config
toMimiProcessingController
to apply a newMimiProcessingConfig
.- Ability to receive
discrete()
orcontinuous
processing parameter updates viaMimiProcessingConfig.parameterDeliveryStyle
. - Ability to set a custom processing parameter delivery timeout via
MimiProcessingConfig.parameterDeliveryTimeout
. MimiTestFlow.didSubmitTestNotification
notification for observing successful test submissions.MimiTestFlow.didFailToSubmitTestNotification
notification for observing failed test submissions.alwaysShowHearingResults
toMimiConfiguration
to allow for always displaying Hearing Grade results in all Profile contexts.
Updated
- Improved artwork in
MimiTestFlow
. - Improved haptic feedback in
MimiProfileViewController
. - Improved
MimiProfileLauncherView
when using the.health
profile context. - Improved
MimiProfileLauncherView
animated 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
MimiProfileViewController
could fail to load correctly when offline when using the.health
profile 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
MimiProfileViewController
could fail to respect safe areas correctly.
3.1.0
Released on 2019-11-12.
Added
profileContext
toMimiSDK
to allow for selecting the type of Mimi Profile to display.- Support for the
.health
profile 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
. secondaryForegroundColor
toMimiColorBook
for secondary foreground elements that contrast against background colors.primaryForegroundColor
toMimiColorBook
to replaceforegroundColor
.
Updated
MimiProfileViewController
now 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
MimiBulletinItem
display on iPad. - Deprecated
foregroundColor
onMimiColorBook
. - Minor appearance updates and improvements.
- Users can no longer skip both ears of a hearing test.
- Improved
MimiProfileViewController
performance. - Improved animations and transitions in
MimiProfileViewController
.
Fixed
- Issue where
MimiTest
timestamps could be incorrectly parsed. - Issue where
MimiAlertController
would layout incorrectly on iPad during split-screen. - Issue where
MimiUserFlowCoordinator
could 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
MimiProfileViewController
could 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.didStartNotification
notification for detecting when aMimiTestFlow
started.MimiTestFlow.didBecomeActiveNotification
notification for detecting when aMimiTestFlow
became active with the current audio session.MimiTestFlow.didBecomeInactiveNotification
notification for detecting when aMimiTestFlow
has finished with the current audio session.MimiTestFlow.didFinishNotification
notification for detecting when aMimiTestFlow
finished.processingDidUpdate()
toMimiProcessingParameterObservable
for observing parameter updates.- Ability to provide theme variants for a
UIUserInterfaceStyle
viavariantForUserInterfaceStyle(UIUserInterfaceStyle) -> MimiTheme
toMimiThemeDefinition
. isModalInPresentation
toMimiUserFlowStep
.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.Readable
parameter will now trigger an automatic get and deliver the results via observables. - Invalidating
preset
orfitting
will 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
fittingRule
fromMimiProcessingHandler
. - Removed
observable
fromMimiProcessingController
. - Removed
MimiProcessingControllerObservable
. - Removed
load(route:fittingRule:result:)
fromMimiPersonalizationController
. - Removed
canProcessingBeEnabled
fromMimiProcessingController
. - 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
MimiProcessingParameter
could potentially return an incorrect value. - Button styling when using
.destructive
Style
inMimiTextButton
. - Issue where
MimiActionButton
could cause AutoLayout errors. - Issue where
MimiLabel
could 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
fitting
parameter on aMimiProcessingHandler
. - Corner radius of a
MimiBulletinItem
are now reduced on devices with a home button. - Corner radius of a
MimiSnackbar
are now reduced on devices with a home button. - Color of a title label created via
makeTitle()
onMimiBulletinViewMaker
is nowprimaryText
. - Spacing between components in a
MimiBulletinItem
has been reduced to16pt
. - Minor styling improvements to
MimiAuthFlow
presentation. - 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
MimiBulletinItem
could fail to size correctly. - Issue where the title of a
MimiBulletinItem
would truncate incorrectly. - Issue where invalidating the
fitting
parameter 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
.fitting
MimiProcessingParameter
. - Legal disclaimer to Hearing ID card on
MimiProfileViewController
. MimiPersonalization.FittingInfo
to provide information related to automatic fitting.isVerified
toMimiUser
stating whether the user has a verified Mimi account.MimiSignUpData
model for storing Sign Up data.supportedInterfaceOrientations
toMimiUserFlowStep
.message
toMimiValidatingTextField
for persistent information message display.messageColor
toMimiValidatingTextField
.numberOfLines
toMimiValidatingTextField
to configure the number of lines of a message/validation error to display.synchronizeSecureTextEntry(with:)
toMimiCredentialTextField
to allow for sync ofsecureTextEntry
states with another field.MimiFontBook.header
to replaceMimiFontBook.largeTitle
.MimiLabel.Style.header
to replaceMimiLabel.Style.largeTitle
.textAlignment
toMimiNavigationStepHeaderView
.isChecked
toMimiCheckbox
.setChecked(animated:)
toMimiCheckbox
.addAsChild(to:layout:)
toMimiUserFlow
to 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
. MimiUserFlow
will now support portait orientation only by default on iPhone devices.MimiActionButton
default intrinsic height is now52 pt
.MimiActionButton
corner radius is now8 pt
when using the.rounded
cornerStyle
.MimiCompactActionButton
corner radius is now8 pt
when using the.rounded
cornerStyle
.MimiBrandFontBook
uses new improved fonts.MimiUserFlowStep
now inherits fromNSObject
.- Improved
MimiUserFlow
layout adaptability on compact devices when the keyboard is visible. - Improved styling of
MimiActionButton
when usingoutline
displayStyle
. - Improved styling of
MimiCheckbox
. - Deprecated
.fittingRule
onMimiProcessingHandler
. - Deprecated
MimiPersonalization.FittingRule
. - Deprecated
MimiFontBook.largeTitle
. - Deprecated
MimiLabel.Style.largeTitle
. - Deprecated
MimiCheckbox.checkColor
.
Fixed
- Issue where comparing two
MimiUser
could return incorrect results. - Issue where processing parameters could incorrectly reset to default values in
MimiCore
. - Issue where a
MimiProcessingHandler
could fail to enable. - Issue where incorrect hardware device identifier would be used by
MimiTestMetadata
. - Issue where
MimiNavigationStepFooterView
could have incorrect transforms with the keyboard visible. - Issue where
MimiCheckbox
would 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
id
toMimiPersonalization.Preset
id
toMimiUser
.parameterObservable
toMimiProcessingController
.handlerObservable
toMimiProcessingController
.get(parameters:completion:
toMimiProcessingController
.isProcessingAvailable
toMimiProcessingController
.invalidate(parameters:cause:)
toMimiProcessingHandler
allowing for invalidation of individual parametersinvalidateAll(cause:)
toMimiProcessingHandler
.activate(handler:completion:)
toMimiProcessingController
.deactivate()
toMimiProcessingHandler
.canEnable
toMimiProcessingParameter
andMimiProcessingParameter.Value
.- Timeout of
10s
toMimiProcessingParameter
delivery and retrieval. - Add
.processing(error:)
and.processingHandler(error:)
toMimiCoreError
.
Updated
- Improved masker levels during Hearing Test in
MimiTestFlow
. - Deprecated
MimiProcessingControllerObservable
. - Deprecated
observable
onMimiProcessingController
. - Deprecated
canProcessingBeEnabled
in favor ofisProcessingAvailable
onMimiProcessingController
. - 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
MimiUser
could 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
MimiTestFlow
could fail to present correctly. - Issue where
MimiAlertController
would be interactive during dismissal. - Issue where
MimiAlertPresentable
could fail to dismiss an alert.
2.0.0
Released on 2019-06-26.
Added
canProcessingBeEnabled
toMimiProcessingController
allowing for temporary disable of processing.interactionDelegate
toMimiBulletinItem
.MimiProfileLauncherView
to allow for fast, flexible launching of the Mimi Profile.MimiProfileNavigationController
to use a pre-configuredUINavigationController
with 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
.tests
fromMimiUser
. - Removed
MimiUser.TestId
. - Removed deprecated
MimiCheckmark
. - Removed deprecated
MimiErrorAvatar
. - Removed deprecated
MimiTheme
parameters. - Removed deprecated
backgroundColor
fromMimiUserFlow
. - Improved state transition animations in
MimiProfileViewController
. - Improved localized strings.
- Improved layout of
MimiProfileViewController
on 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
MimiActivityIndicator
to 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
payload
inMimiPersonalization.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
MimiProfileViewController
toMimiSDK
. - Alert when a user is forcibly logged out due to an error in authentication.
- Year of Birth input step to
MimiTestFlow
. preferredIndicatorColor
tostartLoading()
onUIView
.mimiAddHighlightsAttribute()
toNSMutableAttributedString
.MimiBirthYearPickerView
to allow for Year of Birth input toMimiUX
.- Behavior which migrates anonymous users to an authenticated account during log in to
MimiCore
. launchAccountPortal()
toMimiUserController
with Mimi Account Portal integration.oldUser:
parameter toauthController(didUpdate:)
inMimiAuthControllerObservable
.- Automatic enable & disable of Processing with user environment conditions in
MimiCore
. - Validation to
MimiProcessingController
to 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 anError
if there is no authenticated user inMimiTestFlow
.- Removed
MimiAlertPresentable
support fromMimiSnackbar
. - Removed
MimiAlertPresentable
support fromMimiAlertBanner
. - Refactored
MimiThemeDefinition
to includeMimiColorBook
,MimiFontBook
andMimiStyleBook
. - Improved default themes.
- Renamed
MimiProcessing.Parameter
toMimiProcessingParameter
. - Renamed
MimiProcessing.ParameterValue
toMimiProcessingParameter.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
.MimiUser
is nowEquatable
.- Removed
sdkVersion
fromMimiTestMetadata
.
Fixed
- Issue with Practice Round button layout in
MimiTestFlow
. - Interaction issues with multiple touches in the Pause menu in
MimiTestFlow
. - Layout issues where
MimiLoadingView
would fail to compress correctly. - Issue where
MimiLoadingView
would fail to stop animating. - Race issues with completion states of
MimiActivityIndicator
. - Issue where
.tests
would not be cleared following a new authentication inMimiTestController
. - Threading issues with updating
.tests
inMimiTestController
.
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
.tests
toMimiTestController
to 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.
tests
is now deprecated onMimiUser
inMimiCore
.- Improved animations when showing & dismissing the keyboard during a
MimiUserFlow
inMimiUX
. - Optimised UI components for small screen devices in
MimiUX
. - Improved error messages when authentication fails in
MimiAuthFlow
. - Improved localized strings.
Fixed
- Issues where
MimiBulletinController
presentation could fail during dismissal. - Layout issues with
MimiBulletinController
during 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
MimiProcessing
inMimiCore
. MimiSDKDelegate
which must be set onMimiSDK.start(credentials:delegate)
.preset
toMimiProcessing.Parameter
.preset(MimiPersonalization.Preset?)
toMimiProcessing.ParameterValue
.fittingRule
toMimiProcessingHandler
.clear()
toMimiTheme
to allow for resetting a theme to system defaults.registerForTheming()
toMimiThemeable
for registering an object to be themed..theme
toMimiThemeable
to 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
MimiPersonalization
data models for new structure. - Refactored
MimiProcessing.ParameterValue
to remove required default parameter names. payload
is nowData
onMimiPersonalization.Preset
.apply(theme:)
now has an optionableMimiThemeDefinition
onMimiThemeable
.MimiThemeService
is nowinternal
.register(themeable:)
is removed fromMimiThemeService
.activeTheme
is removed fromMimiThemeService
.- Removed
start(clientId: String, clientSecret: String)
fromMimiCore
. - Improved Hearing Test Engine in
MimiHTE
. start(clientId: String, clientSecret: String)
is nowunavailable
onMimiSDK
.
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
.id
toMimiTest
id
toMimiTest.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:)
toMimiProcessingControllerObservable
when handlers are activated / deactivated.
Updated
MimiProfilePersonalizationComponent
now 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
. data
is now anInsightsData
object rather than an array inMimiTestRun.Insights
.- Removed
intensity
parameter support fromMimiPersonalizationController
. md5
is nowinternal
onMimiPersonalization.Preset
.- Removed
MimiPersonalization.Intensity
. .environment
is no longer settable onMimiCore
.- Deprecated
start(clientId:clientSecret:)
onMimiCore
. - Deprecated
TestId
onMimiUser
.
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
. MimiActivityIndicator
with loading animations and finished states including success & error toMimiUX
.MimiLogger
to provide logging framework with level control..log
sharedMimiLogger
toMimiCore
.MimiPersonalizationController
for loading personalized presets and audio data.MimiProcessingController
that provides interface for communication between Audio Processing and MimiCore.MimiProcessingHandler
protocol for Audio Processors to implement for communication with MimiCore.
Updated
- Project is now Universal.
MimiProfileComponentCollectionCell
is nowopen
.MimiProfileComponentTableCell
is nowopen
.- Improved loading and completion animations to
MimiAuthFlow
. - Improved animations during test submission in
MimiTestFlow
. - Removed all logging by default.
- Removed default explicit
heightAnchor
constraint fromMimiActionButton
. - Improved
MimiAlertBanner
presentation from transparent views. MimiLoadingView
to useMimiActivityIndicator
.- Make
startAnimating()
open
onMimiLoadingView
. - Make
stopAnimating()
open
onMimiLoadingView
. - Add optional completion closure to
stopAnimating()
onMimiLoadingView
. - Deprecated
MimiCheckmark
. - Deprecated
MimiErrorAvatar
. - Keyboard updates in
MimiUserFlow
are now relative to view positioning. - Renamed
MimiMTInsights
toMimiMTTestInsights
. - Renamed
MimiMTCurve
toMimiMTTestInsights.Curve
. - Renamed
MimiMTExampleCurve
toMimiMTTestInsights.ExampleCurve
. - Renamed
MimiInsightsData
toMimiInsights
.
Fixed
- Constraint issue on bulletins which could cause vertical sizing issues in
MimiUX
. - Potential alpha issues on
MimiActionButton
when updating states. - Missing sizing constraints on
MimiUserFlowStepHeaderView.None
. - Missing sizing constraints on
MimiUserFlowStepFooterView.None
. - Missing exceptions when attempting to navigate to an invalid
.parent
flow location inMimiUserFlow
. - Missing exceptions when attempting to navigate to an invalid
.start
flow location inMimiUserFlow
. - Text layout issues using
MimiLabel
. - Incorrect layout margins in
MimiUserFlow
on 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
. .style
toMimiTextButton
..style
toMimiCompactTextButton
..style
toMimiAlertAction
.- Support for
MimiAlertAction.Style
toMimiAlertController
. - Support for
MimiAlertAction.Style
toUIAlertController
. kern
toMimiFont
.mimiHorizontalLayoutClass
toUITraitCollection
.mimiVerticalLayoutClass
toUITraitCollection
.- Refactored
MimiAlertBanner
with improved API and animations. - Haptic feedback to
MimiSnackbar
. - Ability to load insights via
insights(type:for:result:)
onMimiTestController
. - Data models for
MimiMTInsights
. testType
toMimiTestRun
.ear
toMimiTestRun
.timestamp
toMimiTestRun
.- 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.Action
toMimiAlertAction
. - Increased
contentInset
aroundMimiBulletinRootViewController
. - Use
compactBody
font inMimiSnackbarDefaultContentView
. - Improved layout of
MimiNavigationStepHeaderView
on smaller iPhones. - Renamed
present()
toshow()
onMimiSnackbar
. - Renamed
dismiss()
tohide()
onMimiSnackbar
. MimiBrandFont
with improved line spacing and styling.MimiSnackbar
font style toactionCompact
..controller
is now optional onMimiBulletinItem
.- Made
MimiBulletinItem
animations 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
primaryBackgroundColor
for 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
MimiBulletinItem
presentation.
2.0.0-alpha.1
Released on 2019-03-04.
Initial release of the new MimiSDK.