Fixes

2D: Fixed an assert message "importer.GetNPOTScale() == TextureImporter::kNPOTKeep" showing when creating sprites in Advanced mode. Creating sprites now ignores TextureImporter's non power of two settings if the texture is already a power of two. (800914, 802831)

AI: Fix for regression where a pushed passive NavMeshAgent would sometimes move to its origin after navmesh carving. (830443)

AI: Fixed an issue where NavMeshAgent remaining distance property would be wrong right after setting the agent destination to the same polygon. (822015)

AI: Fixed an issue where NavMeshAgent would sometimes teleport right after NavMeshObstacle carving. (822362)

API Updater: Fixed crashes / issues with paths containing either "exe" or "dll" in any part other than the file extension. (809268)

Asset Management: Assets added using AssetDatabase.AddObjectToAsset will no longer change their name when the project is saved. (811596)

AssetBundles: Fixed thean issue that error sometimes happens when LoadAssetAsync and UnloadUnusedAsset is called before prefab is instantiated. (822393)

AssetBundles: Fixed an issue where calling Resources.UnloadUnusedAssets while loading an AssetBundle with AssetBundleRequest.LoadAssetAsync caused an error &and stopped the asset from being loaded properly (803481, 807275)

GI: Fixed an issue whereby the bake got stuck if the object was positioned far from the origin. (775153)

Graphics: Don't re-upload textures to the graphics device when a quality change is requested and the pixel data is unavailable. This applies to textures loaded from asset bundles unloaded with AssetBundle.Unload (false). (793679)

IL2CPP/XBboxOne: Prevent the C++ compiler from crashing while compiling the IL2CPPCompilerCalculateTypeValues.cpp file for some projects. This file was just too large in these cases, so IL2CPP will notw generate multiple smaller files instead. (805892)

Input: Mouse position is now updated but not clamped on wWindows when outside of game window. (827851)

Input: Work around an issue where cursor would disappear on touch based devices like Surface Pro 4. (817286)

iOS: Added missing iOSTargetOSVersion enum entries. (826595)

iOS: Building from GUI now uses a project relative path if the location is under the project folder (369773)

iOS: Corrected the default setting for bitcode on the XCTest target to fix a linker error. (824979)

Linux: Fallback to NET_WM_ICON for setting custom player icon. (735709)

Mono: Corrected a number of possible hangs with SSL sockets when the Unity Editor entered and exited the play mode. These hangs often showed up in the AuthenticateAsClient method. (759719, 759191, 733920)

Mono: Fixed a crash in compute_class_bitmap when using reflection. (822063, 816232)

Mono: Fixed a crash in find_method_in_metadata which can occur on startup. (763583)

Mono: Use an IPv4 address (if one exists) before an IPv6 address for .NET remoting connections. (826526)

Windows Store: Fixed Xbox Live SDK not being automatically referenced by C# scripts if installed on the machine

Windows Store: Gamepads (with UsagePage/Usage 0x0001/0x0005) will correctly connect to an application now. Usually these are device connected via bluetooth. Previously only joysticks (with UsagePage/Usage 0x0001/0x0004) would connect. You can check UsagePage/Usage of the device by right clicking Properties on the device->Hardware->HID-compliant game controller->Properties->Details->Hardware Ids. For ex., gamepads will contain an item "HID_DEVICE_UP:0001_U:0005) . You might need to delete Package.appxmanifest, because there's a new item for HID device. (816582)

Windows Store: UnityEvent.Remove listener will work correctly when .Net Native is enabled. Previously events were not removed as expected. (827748)

Windows Store: When updating Windows Phone 8 application to Windows Phone 8.1/10.0, player prefs will be auto updated if the following condition is met - UnityPlayer.upp file exist, but playerprefs.dat file doesn't exist in LocalFolder. (810622)