---
layout: post
title: MvvmCross 4.4
date:   2016-11-02 11:37:35 +0100
categories: mvvmcross
---
Time for a new release of MvvmCross. Many thanks to all the contributors for this release. 

There are a few breaking changes to this release, hence the bump of version to 4.4.0. There was also a minor issue with some nuspecs, which forced us to release 4.4.1 of a few AndroidSupport packages.

Breaking changes are noted at the end of each change log below.

In general **all** Windows Phone 8.0 projects have been removed as we do not support Silverlight anymore, in preparation for switching to .NETStandard.

Here is a change log for all the repositories. 
 

MvvmCross (main repo)
 
266 files changed, 8787 insertions(+), 2963 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross/compare/4.3.0...4.4.0)

- Fixed design time error not being able to get a IoC container [#1151](https://github.com/MvvmCross/MvvmCross/pull/1151) [#1438](https://github.com/MvvmCross/MvvmCross/pull/1438) [@Luca7993](https://github.com/Luca7993) [@martijn00](https://github.com/martijn00)
- Fixed [#1431](https://github.com/MvvmCross/MvvmCross/issues/1431) using GetString on low API-levels apps would crash. [#1439](https://github.com/MvvmCross/MvvmCross/pull/1439) [@martijn00](https://github.com/martijn00)
- Added ability to run bindings synchronously instead of async for UITableView [#1442](https://github.com/MvvmCross/MvvmCross/pull/1442) [@MarcBruins](https://github.com/MarcBruins)
- Promoted experimental ValueCombiners to non-experimental [#1449](https://github.com/MvvmCross/MvvmCross/pull/1449) [@kjeremy](https://github.com/kjeremy)
- Added support for view model instantiation using segue on iOS [#1404](https://github.com/MvvmCross/MvvmCross/pull/1404) [@chrilith](https://github.com/chrilith)
- Added cancel method to MvxAsyncCommand [#1455](https://github.com/MvvmCross/MvvmCross/pull/1455) [@martijn00](https://github.com/martijn00)
- Added better support to bind to interfaces [#1434](https://github.com/MvvmCross/MvvmCross/pull/1434) [@drungrin](https://github.com/drungrin)
- Added ListPreference binding on Android [@kjeremy](https://github.com/kjeremy)
- Updated .mailmap for better visibility of who made commits [@spockfish](https://github.com/spockfish) [@cheesebaron](https://github.com/cheesebaron)
- Added tvOS support [#1448](https://github.com/MvvmCross/MvvmCross/pull/1448) [@martijn00](https://github.com/martijn00)
- Added MvxObservableCollection  [#1462](https://github.com/MvvmCross/MvvmCross/pull/1462) [@martijn00](https://github.com/martijn00)
- Methods in MvxExpandableListAdapter made virtual for easier inheritance [#1463](https://github.com/MvvmCross/MvvmCross/pull/1463) [@kjeremy](https://github.com/kjeremy)
- Enabled usage of multiple MvxAttributs for specifying different layouts for different Android specifications [#1469]((https://github.com/MvvmCross/MvvmCross/pull/1469) [@martijn00](https://github.com/martijn00)
- Fixed a lot of issues with Android bindings and Garbage Collection. Switched to using weak subscription instead of hooking up events directly. [#1446](https://github.com/MvvmCross/MvvmCross/pull/1446) [@kjeremy](https://github.com/kjeremy)
- Added target binding for *Drawable* on Android [#1470](https://github.com/MvvmCross/MvvmCross/pull/1470) [@kjeremy](https://github.com/kjeremy)
- Simplified nuspec dependencies [#1471]((https://github.com/MvvmCross/MvvmCross/pull/1471) [@martijn00](https://github.com/martijn00)
- Allow fragments with different java names via RegisterAttribute [#1473](https://github.com/MvvmCross/MvvmCross/pull/1473) [@kjeremy](https://github.com/kjeremy)
- Fixed missing files for BindingEx after removal of WindowsPhone. Also changes namespaces for BindingEx to .WindowsCommon and .Wpf for those platforms. It was .WindowsPhone for all platforms before. [#1476](https://github.com/MvvmCross/MvvmCross/pull/1476) [@cheesebaron](https://github.com/cheesebaron)
- Added analyzer for when using *MvxViewModel<T>* and passing no arguments in *ShowViewModel* [#1477](https://github.com/MvvmCross/MvvmCross/pull/1477) [@azchohfi](https://github.com/azchohfi)


Breaking changes:
Namespaces in BindingEx have changed. Before they were all *MvvmCross.BindingEx.WindowsPhone*. This has now changed to *MvvmCross.BindingEx.WindowsCommon* in Windows Phone 8.1 and Windows 8.1 projects. It has changed to *MvvmCross.BindingEx.Wpf* in WPF projects.
266 files changed, 8787 insertions(+), 2963 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross/compare/4.3.0...4.4.0)

- Fixed design time error not being able to get a IoC container [#1151](https://github.com/MvvmCross/MvvmCross/pull/1151) [#1438](https://github.com/MvvmCross/MvvmCross/pull/1438) [@Luca7993](https://github.com/Luca7993) [@martijn00](https://github.com/martijn00)
- Fixed [#1431](https://github.com/MvvmCross/MvvmCross/issues/1431) using GetString on low API-levels apps would crash. [#1439](https://github.com/MvvmCross/MvvmCross/pull/1439) [@martijn00](https://github.com/martijn00)
- Added ability to run bindings synchronously instead of async for UITableView [#1442](https://github.com/MvvmCross/MvvmCross/pull/1442) [@MarcBruins](https://github.com/MarcBruins)
- Promoted experimental ValueCombiners to non-experimental [#1449](https://github.com/MvvmCross/MvvmCross/pull/1449) [@kjeremy](https://github.com/kjeremy)
- Added support for view model instantiation using segue on iOS [#1404](https://github.com/MvvmCross/MvvmCross/pull/1404) [@chrilith](https://github.com/chrilith)
- Added cancel method to MvxAsyncCommand [#1455](https://github.com/MvvmCross/MvvmCross/pull/1455) [@martijn00](https://github.com/martijn00)
- Added better support to bind to interfaces [#1434](https://github.com/MvvmCross/MvvmCross/pull/1434) [@drungrin](https://github.com/drungrin)
- Added ListPreference binding on Android [@kjeremy](https://github.com/kjeremy)
- Updated .mailmap for better visibility of who made commits [@spockfish](https://github.com/spockfish) [@cheesebaron](https://github.com/cheesebaron)
- Added tvOS support [#1448](https://github.com/MvvmCross/MvvmCross/pull/1448) [@martijn00](https://github.com/martijn00)
- Added MvxObservableCollection  [#1462](https://github.com/MvvmCross/MvvmCross/pull/1462) [@martijn00](https://github.com/martijn00)
- Methods in MvxExpandableListAdapter made virtual for easier inheritance [#1463](https://github.com/MvvmCross/MvvmCross/pull/1463) [@kjeremy](https://github.com/kjeremy)
- Enabled usage of multiple MvxAttributs for specifying different layouts for different Android specifications [#1469]((https://github.com/MvvmCross/MvvmCross/pull/1469) [@martijn00](https://github.com/martijn00)
- Fixed a lot of issues with Android bindings and Garbage Collection. Switched to using weak subscription instead of hooking up events directly. [#1446](https://github.com/MvvmCross/MvvmCross/pull/1446) [@kjeremy](https://github.com/kjeremy)
- Added target binding for *Drawable* on Android [#1470](https://github.com/MvvmCross/MvvmCross/pull/1470) [@kjeremy](https://github.com/kjeremy)
- Simplified nuspec dependencies [#1471]((https://github.com/MvvmCross/MvvmCross/pull/1471) [@martijn00](https://github.com/martijn00)
- Allow fragments with different java names via RegisterAttribute [#1473](https://github.com/MvvmCross/MvvmCross/pull/1473) [@kjeremy](https://github.com/kjeremy)
- Fixed missing files for BindingEx after removal of WindowsPhone. Also changes namespaces for BindingEx to .WindowsCommon and .Wpf for those platforms. It was .WindowsPhone for all platforms before. [#1476](https://github.com/MvvmCross/MvvmCross/pull/1476) [@cheesebaron](https://github.com/cheesebaron)
- Added analyzer for when using *MvxViewModel<T>* and passing no arguments in *ShowViewModel* [#1477](https://github.com/MvvmCross/MvvmCross/pull/1477) [@azchohfi](https://github.com/azchohfi)


Breaking changes:
Namespaces in BindingEx have changed. Before they were all *MvvmCross.BindingEx.WindowsPhone*. This has now changed to *MvvmCross.BindingEx.WindowsCommon* in Windows Phone 8.1 and Windows 8.1 projects. It has changed to *MvvmCross.BindingEx.Wpf* in WPF projects. 
 

MvvmCross-Plugins
 
446 files changed, 1280 insertions(+), 2890 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-Plugins/compare/4.3.0...4.4.0)

- Added PreserveAttribute on plugins and PluginLoaders [#140](https://github.com/MvvmCross/MvvmCross-Plugins/pull/140) [@willsb](https://github.com/willsb)
- Updated to new Android Support library for DownloadCache [#141](https://github.com/MvvmCross/MvvmCross-Plugins/pull/141) [@martijn00](https://github.com/martijn00)
- Simplify nuspec dependencies [#142](https://github.com/MvvmCross/MvvmCross-Plugins/pull/142) [@martijn00](https://github.com/martijn00)
- Removed Windows Phone 8.0 projects [@cheesebaron](https://github.com/cheesebaron)
- Fixed duplicate PreserveAttribute in Json plugin [@cheesebaron](https://github.com/cheesebaron)
- Removed Bookmarks and SoundEffects plugins as they were only available for Windows Phone 8.0 [@cheesebaron](https://github.com/cheesebaron)
446 files changed, 1280 insertions(+), 2890 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-Plugins/compare/4.3.0...4.4.0)

- Added PreserveAttribute on plugins and PluginLoaders [#140](https://github.com/MvvmCross/MvvmCross-Plugins/pull/140) [@willsb](https://github.com/willsb)
- Updated to new Android Support library for DownloadCache [#141](https://github.com/MvvmCross/MvvmCross-Plugins/pull/141) [@martijn00](https://github.com/martijn00)
- Simplify nuspec dependencies [#142](https://github.com/MvvmCross/MvvmCross-Plugins/pull/142) [@martijn00](https://github.com/martijn00)
- Removed Windows Phone 8.0 projects [@cheesebaron](https://github.com/cheesebaron)
- Fixed duplicate PreserveAttribute in Json plugin [@cheesebaron](https://github.com/cheesebaron)
- Removed Bookmarks and SoundEffects plugins as they were only available for Windows Phone 8.0 [@cheesebaron](https://github.com/cheesebaron) 
 

MvvmCross-AndroidSupport
 
95 files changed, 1573 insertions(+), 759 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-AndroidSupport/compare/4.3.0...4.4.0)

- Use weaksubscription for bindings like in MvvmCross-[#1446](https://github.com/MvvmCross/MvvmCross/pull/1446) [#300](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/300) [@kjeremy](https://github.com/kjeremy)
- Added ListPreference target binding [#302](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/302) [@kjeremy](https://github.com/kjeremy)
- Added AppCompat Splash Screen [#304](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/304) [@IlSocio](https://github.com/IlSocio)
- Split projects into same structure as new Android Support libraries [#308](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/308) [@martijn00](https://github.com/martijn00)
- Fix java names, same as MvvmCross-[#1473](https://github.com/MvvmCross/MvvmCross/pull/1473) [#311](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/311) [@kjeremy](https://github.com/kjeremy)

Possible breaking changes:
No namespace changes. However, classes have been moved around to match the structure of the Android Support packages.
Three new packages have been added, *MvvmCross.Droid.Support.Core.UI*, *MvvmCross.Droid.Support.Core.Utils* and *MvvmCross.Droid.Support.Fragment*. 

Fragment related classes from *MvvmCross.Droid.Support.v4*, have been moved into *MvvmCross.Droid.Support.Fragment*.

*MvxSwipeToRefreshLayout* has been moved from *MvvmCross.Droid.Support.v4* to *MvvmCross.Droid.Support.Core.UI*.

*MvxWakefulBroadcastReceiver* has been moved from *MvvmCross.Droid.Support.v4* to *MvvmCross.Droid.Support.Core.Utils*.
95 files changed, 1573 insertions(+), 759 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-AndroidSupport/compare/4.3.0...4.4.0)

- Use weaksubscription for bindings like in MvvmCross-[#1446](https://github.com/MvvmCross/MvvmCross/pull/1446) [#300](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/300) [@kjeremy](https://github.com/kjeremy)
- Added ListPreference target binding [#302](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/302) [@kjeremy](https://github.com/kjeremy)
- Added AppCompat Splash Screen [#304](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/304) [@IlSocio](https://github.com/IlSocio)
- Split projects into same structure as new Android Support libraries [#308](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/308) [@martijn00](https://github.com/martijn00)
- Fix java names, same as MvvmCross-[#1473](https://github.com/MvvmCross/MvvmCross/pull/1473) [#311](https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/311) [@kjeremy](https://github.com/kjeremy)

Possible breaking changes:
No namespace changes. However, classes have been moved around to match the structure of the Android Support packages.
Three new packages have been added, *MvvmCross.Droid.Support.Core.UI*, *MvvmCross.Droid.Support.Core.Utils* and *MvvmCross.Droid.Support.Fragment*. 

Fragment related classes from *MvvmCross.Droid.Support.v4*, have been moved into *MvvmCross.Droid.Support.Fragment*.

*MvxSwipeToRefreshLayout* has been moved from *MvvmCross.Droid.Support.v4* to *MvvmCross.Droid.Support.Core.UI*.

*MvxWakefulBroadcastReceiver* has been moved from *MvvmCross.Droid.Support.v4* to *MvvmCross.Droid.Support.Core.Utils*. 
 

MvvmCross-iOSSupport
 
179 files changed, 4281 insertions(+), 479 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-iOSSupport/compare/4.3.0...4.4.0)

- Added Tab name and icon to MvxTabPresentationAttribute [#44](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/44) [@nmilcoff](https://github.com/nmilcoff)
- Added Expandable TableView sample [#35](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/35) [@b099l3](https://github.com/b099l3)
- Fix width for screen rotation [#45](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/45) [@MarcBruins](https://github.com/MarcBruins)
- Load sidebar only once [#46](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/46) [@mvanbeusekom](https://github.com/mvanbeusekom)
179 files changed, 4281 insertions(+), 479 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-iOSSupport/compare/4.3.0...4.4.0)

- Added Tab name and icon to MvxTabPresentationAttribute [#44](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/44) [@nmilcoff](https://github.com/nmilcoff)
- Added Expandable TableView sample [#35](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/35) [@b099l3](https://github.com/b099l3)
- Fix width for screen rotation [#45](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/45) [@MarcBruins](https://github.com/MarcBruins)
- Load sidebar only once [#46](https://github.com/MvvmCross/MvvmCross-iOSSupport/pull/46) [@mvanbeusekom](https://github.com/mvanbeusekom) 
 

MvvmCross-Forms
 
136 files changed, 49054 insertions(+), 27063 deletions(-) [compare](https://github.com/MvvmCross/MvvmCross-Forms/compare/4.1.4...4.4.0)

- MvxFormsPagePresenter made abstract [#52](https://github.com/MvvmCross/MvvmCross-Forms/pull/52) [@lothrop](https://github.com/lothrop)
- Fixed publication of app life time events [#53](https://github.com/MvvmCross/MvvmCross-Forms/pull/53) [@zzcgumn](https://github.com/zzcgumn)
- Fixed duplicate ViewModel creation [#59](https://github.com/MvvmCross/MvvmCross-Forms/pull/59) [@aaboyd](https://github.com/aaboyd)
- Removed WindowsPhone 8.0 and changed PCL target [@cheesebaron](https://github.com/cheesebaron)
