Skip to content

v4.0.0

Compare
Choose a tag to compare
@smatte smatte released this 19 Dec 20:48
· 116 commits to master since this release
8c0e2a7

Breaking Changes

  • iOS/tvOS minimum deployment target is now 12.0
  • [datasources] Moved Trikot.Datasources to Trikot.Datasources.streams
    To migrate:
    • Update com.mirego.trikot:datasources:$trikot_version for com.mirego.trikot:datasources-streams:$trikot_version
    • Add export("com.mirego.trikot:datasources-core:$trikot_version")
  • [datasources-flow] New implementation that supports flows and coroutines
  • [VMD] Removed Modifier.fillMaxWidth in VMDLabeledComponent
    • UI using VMDCheckbox and VMDSwitch should add fillMaxWidth to the modifier
  • [VMD-flow] Removed Modifier.fillMaxWidth in VMDLabeledComponent
    • UI using VMDCheckbox and VMDSwitch should add fillMaxWidth to the modifier
  • [viewmodels] UIView extensions properties are now prefixed with "trikot" on iOS and tvOS
    • UIButton.buttonViewModel is now trikotButtonViewModel
    • UIImage.imageViewModel is now trikotImageViewModel
    • UILabel.labelViewModel is now trikotLabelViewModel
    • UIPicker.pickerViewModel is now trikotPickerViewModel
    • UISlider.sliderViewModel is now trikotSliderViewModel
    • UISwitch.toggleSwitchViewModel is now trikotToggleSwitchViewModel
    • UITextField.inputTextViewModel is now trikotInputTextViewModel
    • UITextView.labelViewModel is now trikotLabelViewModel
    • UIView.viewModel is now trikotViewModel
    • UIView.trikotViewModel() is now getTrikotViewModel()

Updates

  • [VMD/VMD-flow] Add a DSL in order to ease view model creation
  • [VMD/VMD-flow] Snackbar component
  • [VMD/VMD-flow] Add Picker component
  • [VMD/VMD-flow] Add callback to RemoteImage in VMDImage to know when the resource is loaded on Android
  • [VMD-flow] Provide a BasicTextField binding for android
  • [VMD-flow] Add support for use of FlowI18N in VMDComponents factory
  • [VMD-flow] Backport and fix some functionalities
    [VMD-flow] Improved handling of lifecycle on both android and iOS
  • [VMD-compiler] New Gradle plugin to generate declarative Viewmodels boilerplate code
  • [analytics] Add distinctAppId to the AnalyticsService
  • [datasources] Improvement to BaseHotDataSource
  • [datasources] Re-implement with flows and coroutines
  • [datasources-flow] Fix pending state while refreshing
  • [kword] Add support for dynamic framework resource lookup fallback

Fixes

  • [VMD] Fix Jetpack Compose progress views configuration propagation
  • [VMD/VMD-flow] Prevent crashing on too large bitmap in VMDImage on Android
  • [VMD-flow] Fix ButtonViewModel setAction staying subscribed
  • [VMD-flow] willChange and didChange need to be synchronous to work with the VMDAnimationContext.animationStack
  • [viewmodels] Add missing transformation on Android drawable
  • [bluetooth] Update Bluetooth permission requirements for Android depending on OS version
  • [bluetooth] Make toList conversion thread safe by cloning map before converting its values to list
  • [datasources-flow] Change delete/clear cache cancellation behavior