MvvmCross 5.4

Announcing MvvmCross 5.4!

A new MvvmCross version is available on NuGet! You can always find the latest changelog in the root of the repository to see what has changed.

Forms

We have had a couple of fixes for our Xamarin.Forms support

  • navigation between native and Forms views has been improved
  • fixes crashes when navigating between Pages with WrapInNavigationPage set
  • when WrapInNavigationPage was set, title was missing
  • binding markup extensions have been fixed so that you can use Target="mvx:MvxBind Source and Target="mvx:MvxLang LocalizationKey"
  • design time checker added for MvvmCross bindings
  • on Android you can now provide your own Resource Assembly if the one we guess for you is wrong. See the documentation for more information on how to override this behavior

iOS

  • Fixes in Sidebar navigation initialization where hamburger icon sometimes disappeared

Android

  • Added missing constructor in generic version of MvxDialogFragment

New Logging interface

The reason to bump minor semver this time was that we have added a new Logging interface deprecating the old IMvxTrace. Upgrading to MvvmCross 5.4.0 you will start getting warnings in your project that Mvx.Trace and the likes are deprecated.

We now provide IMvxLog and IMvxLogProvider interfaces. You can inject them in your classes where needed and use this for logging.

public class MyViewModel : MvxViewModel
{
    private readonly IMvxLog _log;
    public MyViewModel(IMvxLogProvider logProvider)
    {
        _log = logProvider.GetLogFor<MyViewModel>();
    }
	
	private void SomeMethod()
	{
		_log.ErrorException("Some message", new Exception());
	}
}

We also provide a bunch of custom log providers for common logging libraries, such as:

  • EntLib
  • Log4Net
  • Loupe
  • NLog
  • Serilog

You can provide your log provider by overriding GetDefaultLogProviderType() in Setup.cs.

You can read more about how to use these new interfaces in our documentation.

Change Log

Unreleased

Full Changelog

Merged pull requests:

5.4.0 (2017-10-31)

Full Changelog

Fixed bugs:

  • MvxSidebarPresenter not adding drawer bar button and showing drawer #2247
  • Lack one constructor inside MvxDialogFragment #2294
  • Navigation between native and Forms is not correct #2292
  • iOS - Crashing on navigation #2289
  • Bug with toolbar on android MvvmCross 5.2.1 and Forms 2.4.0.282 #2252
  • Sidebar menu doesn’t get initialised for first root controller in 5.2 #2188
  • mvx:La.ng in Xamarin.Forms not working #2176
  • Null reference error in MvxFormsAppCompatActivity on GetAccentColor #2117
  • Mvxforms droid resources fix #2305 (johnnywebb)

Closed issues:

  • Xamarin.Forms / MasterDetailPage and ModalDialog: Navigation will break, if a page inside a MasterDetail navigation opens a modal dialog #2311
  • Xamarin Sidebar doesn’t opens at first launch #2268
  • Crash MvxTabBarViewController ViewWillDisappear #2267
  • Xamarin.Forms / MasterDetailPage: Android crashes as soon as the master menu page has an icon #2310
  • Xamarin.Forms / MasterDetailPage: The master menu stays open after navigation #2307
  • Xamarin.Forms / MasterDetailPage breaks my app because of the slide to open menu gesture #2306
  • Improve logging and IMvxTrace #1649

Merged pull requests:

5.3.2 (2017-10-23)

Full Changelog

Fixed bugs:

  • MvxIosViewPresenter CloseModalViewController broken in 5.3 #2276

Merged pull requests:

5.3.1 (2017-10-18)

Full Changelog

Fixed bugs:

  • Attempting to install Xamarin.Android.Support.Exif into iOS project #2272

Merged pull requests: