Mac Build Host
Reason for release: Additional bug fixes for the "Cycle 5" Stable Release on April 29 and the previous Cycle 5 Service Releases. (See the release blog for a short description of "Cycles" and "Service Releases.")
Date published: See https://releases.xamarin.com/.
You can downgrade back to the previous Stable version by manually reinstalling each old package. See the KB article on downgrading. If you have a Trial or Starter subscription, feel free to contact [email protected] to request the older versions.
Older Mono package versions are not currently listed on https://store.xamarin.com/account/my/subscription/downloads. The Mono package for the previous Stable version ("Service Release 2") is available here:
If needed, you can downgrade back to older versions (from before April 29) by manually reinstalling each old package. See the "Previous versions, downgrading" section on the April 29 Stable release thread for the older downgrade links.
This first post will be updated regularly.
Hopefully this thread will help answer "what might break if I update to this release?"
If you find a new problem that is specific to this version, please file a bug report.
Please discuss older bugs that are unchanged in this release compared to the previous Stable version in Bugzilla instead.
Of course for questions and discussions about topics other than bugs, feel free start new forum threads.
Bug 31527 - [Android] "The following assembly referenced from ... could not be loaded: Assembly: System.Runtime ... Version: 126.96.36.199" when using the "Shared Runtime" with the linker enabled. Workaround: set "Project Options -> Android Build -> Linker [tab] -> Linker behavior" to "Don't link" in Xamarin Studio or "Project Properties -> Android Options -> Linker [tab] -> Linking") to "None" in Visual Studio. Enabling linking when the "Shared Runtime" is enabled is an intentionally untested scenario (partly because the on-device "shared runtime" assemblies will necessarily never be linked).
Bug 31597 - [Android] For some projects the generated
.mdb files are incorrect, causing breakpoints to be skipped or incorrect line numbers to appear in the call stacks. Possible workaround: add
Condition="'$(AndroidLinkMode)' != 'None' AND '$(AndroidUseSharedRuntime)' != 'true'" to the
StripEmbeddedLibraries task in
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets on Windows or
/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xbuild/Xamarin/Android/Xamarin.Android.Common.targets on Mac.
Bug 30958 - [iOS] "Invalid UIDeviceFamily - The Info.plist of Apple Watch application 'MyApp.app/PlugIns/com.myapp.watchkitextension.appex/MyAppWatchKitApp.app' contains an invalid UIDeviceFamily value of '1'" when submitting WatchKit application. This appeared recently due to a change in the ckecks Apple performs during app submission. See https://releases.xamarin.com/ios-hotfix-for-watch-app-submission-technical-bulletin/ for additional details.
Bug 30513 - [Android] The logged stack traces from exceptions thrown within async methods do not include the actual location where the exception was thrown. Partial workaround: switch back to the old Xamarin.Android 4.x exception propagation style by setting the
XA_BROKEN_EXCEPTION_TRANSITIONS environment variable to
true (see also Bug 30513, Comment 11).
Non-public Bug 30481, Bug 29557 - [Mono] [Android] [iOS]
SqlConnection.GetSchema() fails with "SourceTable is required to be a non-empty string". Now fixed on the Beta channel.
Bug 30548 - [Android] Under certain conditions new threads take several seconds to start. This problem seems to be triggered by Xamarin.Insights 1.10. Partial workarounds: upgrade Xamarin.Insights to version 1.10.3, downgrade to version 1.9, or remove it entirely.
Bug 29745 - [iOS] Error due to duplicate symbols during native compilation for device: "duplicate symbol _monoeg_g_array_new" (and many similar messages). Workarounds: disable profiling under "Project Properties -> iOS Build", or if your app uses the
-all_load linker flag (via either
LinkerFlags) try removing it.
Bug 29731 - [Android]
Android.Bluetooth.BluetoothAdapter.Enable is incorrectly marked as
[Obsolete("deprecated")] for API level 20 and higher.
Bug 31379, Bug 31560 - [iOS] Enabling the linker when the app references PCL projects that include "duplicate" System.Threading.Tasks references (for example when using the "Microsoft.Net.Http" NuGet in a .NET 4.0 PCL) causes "Could not load file or assembly 'System.Threading.Tasks'" on the simulator. This bug has in fact existed since the original April 29 release of Cycle 5, but until Service Release 2 it had been obscured by the closely related Bug 29211. The bug only affects simulator builds and has fairly easy workarounds, so it is minor in severity. Workarounds: disable the linker in the iPhoneSimulator configurations or add
-linkskip=System.Threading.Tasks under "project options -> iOS Build -> Additional mtouch arguments".
.dllfiles: "Could not copy "... PortableClassLibrary1.dll" to "bin\Debug\PortableClassLibrary1.dll". Exceeded retry count of 10. Failed." This is a different problem than Bug 26841 because it affects
.dllfiles rather than
.dll.mdbfiles. It appears to be less common than Bug 26841. The results to date suggest that it is a bug in Visual Studio itself rather than in the Xamarin extensions. For example, it appears to be possible to hit the problem using a Windows Phone project, with no Xamarin involvement at all. The recent changes to the Xamarin "Clean project" process to properly remove stale files might have caused this to become easier to hit with Xamarin projects. In any case, it is still under investigation.
(For issues that might behave differently for some customers after updating to this new release, or that might be difficult to find via Bugzilla.)
Bug 28027 - [XamarinVS] [iOS] The debugger sometimes fails to connect properly after the app launches. This means breakpoints will not be hit during that launch of the app and the "Output -> Debug" window will be blank. Repeating the steps of (a) stopping the debugger and (b) relaunching the app will eventually lead to a successful connection. This problem has existed since at least XamarinVS 3.9.483, but some recent reports suggest that it has become more common for certain users recently. The problem might be caused by a race condition. Based on that guess, the recent releases might have changed some timings and increased the probability of hitting the issue on a wider range of system configurations. The bug is under active investigation.
EDIT Aug 20: Update version numbers for Android SDK Tools 24.3.4 hotfix.
EDIT Aug 21: Correct the section on downgrading.
EDIT Aug 25: Update for Service Release 4 Beta versions. (Bug 30481)