API diff

mscorlib.dll
System.dll
System.Core.dll
System.Data.dll
System.IO.Compression.FileSystem.dll
Xamarin.WatchOS.dll
MonoTouch.NUnitLite.dll


mscorlib.dll

Hide non-breaking changes

Namespace System

Type Changed: System.Object

Modified methods:

protected override virtual void ~Object ()

Type Changed: System.Tuple`1

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`2

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`3

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`4

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`5

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`6

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`7

Added interface:

	Runtime.CompilerServices.ITuple

Type Changed: System.Tuple`8

Added interface:

	Runtime.CompilerServices.ITuple

New Type System.TupleExtensions

public static class TupleExtensions {
	// methods
	public static void Deconstruct<T1> (System.Tuple<T1> value, T1 item1);
	public static void Deconstruct<T1, T2> (System.Tuple<T1,T2> value, T1 item1, T2 item2);
	public static void Deconstruct<T1, T2, T3> (System.Tuple<T1,T2,T3> value, T1 item1, T2 item2, T3 item3);
	public static void Deconstruct<T1, T2, T3, T4> (System.Tuple<T1,T2,T3,T4> value, T1 item1, T2 item2, T3 item3, T4 item4);
	public static void Deconstruct<T1, T2, T3, T4, T5> (System.Tuple<T1,T2,T3,T4,T5> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6> (System.Tuple<T1,T2,T3,T4,T5,T6> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7> (System.Tuple<T1,T2,T3,T4,T5,T6,T7> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16, T17 item17);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16, T17 item17, T18 item18);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16, T17 item17, T18 item18, T19 item19);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16, T17 item17, T18 item18, T19 item19, T20 item20);
	public static void Deconstruct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20,T21>>> value, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8, T9 item9, T10 item10, T11 item11, T12 item12, T13 item13, T14 item14, T15 item15, T16 item16, T17 item17, T18 item18, T19 item19, T20 item20, T21 item21);
	public static System.Tuple<T1> ToTuple<T1> (System.ValueTuple<T1> value);
	public static System.Tuple<T1,T2> ToTuple<T1, T2> (System.ValueTuple<T1,T2> value);
	public static System.Tuple<T1,T2,T3> ToTuple<T1, T2, T3> (System.ValueTuple<T1,T2,T3> value);
	public static System.Tuple<T1,T2,T3,T4> ToTuple<T1, T2, T3, T4> (System.ValueTuple<T1,T2,T3,T4> value);
	public static System.Tuple<T1,T2,T3,T4,T5> ToTuple<T1, T2, T3, T4, T5> (System.ValueTuple<T1,T2,T3,T4,T5> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6> ToTuple<T1, T2, T3, T4, T5, T6> (System.ValueTuple<T1,T2,T3,T4,T5,T6> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7> ToTuple<T1, T2, T3, T4, T5, T6, T7> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19,T20>>> value);
	public static System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20,T21>>> ToTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19,T20,T21>>> value);
	public static System.ValueTuple<T1> ToValueTuple<T1> (System.Tuple<T1> value);
	public static System.ValueTuple<T1,T2> ToValueTuple<T1, T2> (System.Tuple<T1,T2> value);
	public static System.ValueTuple<T1,T2,T3> ToValueTuple<T1, T2, T3> (System.Tuple<T1,T2,T3> value);
	public static System.ValueTuple<T1,T2,T3,T4> ToValueTuple<T1, T2, T3, T4> (System.Tuple<T1,T2,T3,T4> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5> ToValueTuple<T1, T2, T3, T4, T5> (System.Tuple<T1,T2,T3,T4,T5> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6> ToValueTuple<T1, T2, T3, T4, T5, T6> (System.Tuple<T1,T2,T3,T4,T5,T6> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7> ToValueTuple<T1, T2, T3, T4, T5, T6, T7> (System.Tuple<T1,T2,T3,T4,T5,T6,T7> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19,T20>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20>>> value);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8,T9,T10,T11,T12,T13,T14,System.ValueTuple<T15,T16,T17,T18,T19,T20,T21>>> ToValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> (System.Tuple<T1,T2,T3,T4,T5,T6,T7,System.Tuple<T8,T9,T10,T11,T12,T13,T14,System.Tuple<T15,T16,T17,T18,T19,T20,T21>>> value);
}

New Type System.ValueTuple

public struct ValueTuple, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<ValueTuple>, System.IEquatable<ValueTuple>, Runtime.CompilerServices.ITuple {
	// methods
	public virtual int CompareTo (ValueTuple other);
	public static ValueTuple Create ();
	public static System.ValueTuple<T1> Create<T1> (T1 item1);
	public static System.ValueTuple<T1,T2> Create<T1, T2> (T1 item1, T2 item2);
	public static System.ValueTuple<T1,T2,T3> Create<T1, T2, T3> (T1 item1, T2 item2, T3 item3);
	public static System.ValueTuple<T1,T2,T3,T4> Create<T1, T2, T3, T4> (T1 item1, T2 item2, T3 item3, T4 item4);
	public static System.ValueTuple<T1,T2,T3,T4,T5> Create<T1, T2, T3, T4, T5> (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6> Create<T1, T2, T3, T4, T5, T6> (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7> Create<T1, T2, T3, T4, T5, T6, T7> (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7);
	public static System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,System.ValueTuple<T8>> Create<T1, T2, T3, T4, T5, T6, T7, T8> (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8);
	public override bool Equals (object obj);
	public virtual bool Equals (ValueTuple other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`1

public struct ValueTuple`1, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1>>, System.IEquatable<System.ValueTuple<T1>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`1 (T1 item1);
	// fields
	public T1 Item1;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`2

public struct ValueTuple`2, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2>>, System.IEquatable<System.ValueTuple<T1,T2>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`2 (T1 item1, T2 item2);
	// fields
	public T1 Item1;
	public T2 Item2;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`3

public struct ValueTuple`3, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3>>, System.IEquatable<System.ValueTuple<T1,T2,T3>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`3 (T1 item1, T2 item2, T3 item3);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`4

public struct ValueTuple`4, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3,T4>>, System.IEquatable<System.ValueTuple<T1,T2,T3,T4>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`4 (T1 item1, T2 item2, T3 item3, T4 item4);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	public T4 Item4;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3,T4> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3,T4> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`5

public struct ValueTuple`5, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3,T4,T5>>, System.IEquatable<System.ValueTuple<T1,T2,T3,T4,T5>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`5 (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	public T4 Item4;
	public T5 Item5;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3,T4,T5> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3,T4,T5> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`6

public struct ValueTuple`6, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3,T4,T5,T6>>, System.IEquatable<System.ValueTuple<T1,T2,T3,T4,T5,T6>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`6 (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	public T4 Item4;
	public T5 Item5;
	public T6 Item6;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3,T4,T5,T6> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3,T4,T5,T6> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`7

public struct ValueTuple`7, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3,T4,T5,T6,T7>>, System.IEquatable<System.ValueTuple<T1,T2,T3,T4,T5,T6,T7>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`7 (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	public T4 Item4;
	public T5 Item5;
	public T6 Item6;
	public T7 Item7;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7> other);
	public override int GetHashCode ();
	public override string ToString ();
}

New Type System.ValueTuple`8

public struct ValueTuple`8, Collections.IStructuralComparable, Collections.IStructuralEquatable, IComparable, System.IComparable<System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>>, System.IEquatable<System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>>, Runtime.CompilerServices.ITuple {
	// constructors
	public ValueTuple`8 (T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
	// fields
	public T1 Item1;
	public T2 Item2;
	public T3 Item3;
	public T4 Item4;
	public T5 Item5;
	public T6 Item6;
	public T7 Item7;
	public TRest Rest;
	// methods
	public virtual int CompareTo (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> other);
	public override bool Equals (object obj);
	public virtual bool Equals (System.ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> other);
	public override int GetHashCode ();
	public override string ToString ();
}

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeHelpers

Added method:

	public static bool TryEnsureSufficientExecutionStack ();

New Type System.Runtime.CompilerServices.ITuple

public interface ITuple {
	// properties
	public virtual object Item { get; }
	public virtual int Length { get; }
}

New Type System.Runtime.CompilerServices.TupleElementNamesAttribute

public sealed class TupleElementNamesAttribute : System.Attribute {
	// constructors
	public TupleElementNamesAttribute (string[] transformNames);
	// properties
	public System.Collections.Generic.IList<string> TransformNames { get; }
}

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.Marshal

Added methods:

	public static string PtrToStringUTF8 (IntPtr ptr);
	public static string PtrToStringUTF8 (IntPtr ptr, int byteLen);
	public static IntPtr StringToAllocatedMemoryUTF8 (string s);
	public static void ZeroFreeCoTaskMemUTF8 (IntPtr s);

Type Changed: System.Runtime.InteropServices.UnmanagedType

Added value:

	LPUTF8Str = 48,

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.DSACryptoServiceProvider

Added methods:

	protected override byte[] HashData (System.IO.Stream data, HashAlgorithmName hashAlgorithm);
	protected override byte[] HashData (byte[] data, int offset, int count, HashAlgorithmName hashAlgorithm);

Removed Type System.Security.Cryptography.IncrementalHash



System.dll

Hide non-breaking changes

Namespace System.IO

Type Changed: System.IO.FileSystemWatcher

Removed method:

	public virtual void Dispose ();

Namespace System.IO.Compression

Type Changed: System.IO.Compression.GZipStream

Modified methods:

public override System.IAsyncResult BeginRead (byte[] buffer array, int offset, int count, System.AsyncCallback cback asyncCallback, object state asyncState)
public override System.IAsyncResult BeginWrite (byte[] buffer array, int offset, int count, System.AsyncCallback cback asyncCallback, object state asyncState)
public override int EndRead (System.IAsyncResult async_result asyncResult)
public override void EndWrite (System.IAsyncResult async_result asyncResult)

Added methods:

	public override System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task<int> ReadAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);
	public override int ReadByte ();
	public override System.Threading.Tasks.Task WriteAsync (byte[] array, int offset, int count, System.Threading.CancellationToken cancellationToken);

Namespace System.Net.Sockets

Type Changed: System.Net.Sockets.Socket

Modified methods:

public System.IAsyncResult BeginConnect (System.Net.IPAddress address, int port, System.AsyncCallback callback requestCallback, object state)
public System.IAsyncResult BeginReceive (byte[] buffer, int offset, int size, SocketFlags socket_flags socketFlags, System.AsyncCallback callback, object state)
public System.IAsyncResult BeginReceive (byte[] buffer, int offset, int size, SocketFlags flags socketFlags, out SocketError error errorCode, System.AsyncCallback callback, object state)
public System.IAsyncResult BeginSend (byte[] buffer, int offset, int size, SocketFlags socket_flags socketFlags, System.AsyncCallback callback, object state)
public int EndReceive (System.IAsyncResult result asyncResult)
public int EndSend (System.IAsyncResult result asyncResult)

New Type System.Net.Sockets.SocketClientAccessPolicyProtocol

[Serializable]
public enum SocketClientAccessPolicyProtocol {
	Http = 1,
	Tcp = 0,
}


System.Core.dll

Hide non-breaking changes

Namespace System.Linq

Type Changed: System.Linq.Enumerable

Added methods:

	public static System.Collections.Generic.IEnumerable<TSource> SkipLast<TSource> (System.Collections.Generic.IEnumerable<TSource> source, int count);
	public static System.Collections.Generic.IEnumerable<TSource> TakeLast<TSource> (System.Collections.Generic.IEnumerable<TSource> source, int count);
	public static System.Collections.Generic.HashSet<TSource> ToHashSet<TSource> (System.Collections.Generic.IEnumerable<TSource> source);
	public static System.Collections.Generic.HashSet<TSource> ToHashSet<TSource> (System.Collections.Generic.IEnumerable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource> comparer);

Type Changed: System.Linq.Queryable

Added methods:

	public static System.Linq.IQueryable<TSource> SkipLast<TSource> (System.Linq.IQueryable<TSource> source, int count);
	public static System.Linq.IQueryable<TSource> TakeLast<TSource> (System.Linq.IQueryable<TSource> source, int count);

Namespace System.Linq.Expressions

Type Changed: System.Linq.Expressions.DynamicExpression

Added property:

	public override bool CanReduce { get; }

Added method:

	public override Expression Reduce ();

Type Changed: System.Linq.Expressions.DynamicExpressionVisitor

Modified constructors:

protected public DynamicExpressionVisitor ()

Type Changed: System.Linq.Expressions.ElementInit

Added property:

	public virtual int ArgumentCount { get; }

Added method:

	public virtual Expression GetArgument (int index);

Type Changed: System.Linq.Expressions.IndexExpression

Added property:

	public virtual int ArgumentCount { get; }

Added method:

	public virtual Expression GetArgument (int index);

Type Changed: System.Linq.Expressions.InvocationExpression

Added property:

	public virtual int ArgumentCount { get; }

Added method:

	public virtual Expression GetArgument (int index);

Type Changed: System.Linq.Expressions.MethodCallExpression

Added property:

	public virtual int ArgumentCount { get; }

Added method:

	public virtual Expression GetArgument (int index);

Type Changed: System.Linq.Expressions.NewExpression

Added property:

	public virtual int ArgumentCount { get; }

Added method:

	public virtual Expression GetArgument (int index);

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeOps

Added methods:

	[Obsolete ("do not use this method")]
	public static IRuntimeVariables CreateRuntimeVariables ();

	[Obsolete ("do not use this method")]
	public static IRuntimeVariables CreateRuntimeVariables (object[] data, long[] indexes);

	[Obsolete ("do not use this method")]
	public static IRuntimeVariables MergeRuntimeVariables (IRuntimeVariables first, IRuntimeVariables second, int[] indexes);

	[Obsolete ("do not use this method")]
	public static System.Linq.Expressions.Expression Quote (System.Linq.Expressions.Expression expression, object hoistedLocals, object[] locals);

New Type System.Runtime.CompilerServices.Closure

public sealed class Closure {
	// constructors
	public Closure (object[] constants, object[] locals);
	// fields
	public object[] Constants;
	public object[] Locals;
}

Namespace System.Security.Cryptography

New Type System.Security.Cryptography.SHA256CryptoServiceProvider

public sealed class SHA256CryptoServiceProvider : System.Security.Cryptography.SHA256, System.IDisposable, ICryptoTransform {
	// constructors
	public SHA256CryptoServiceProvider ();
	// methods
	protected override void Dispose (bool disposing);
	protected override void HashCore (byte[] array, int ibStart, int cbSize);
	protected override byte[] HashFinal ();
	public override void Initialize ();
}

New Type System.Security.Cryptography.SHA384CryptoServiceProvider

public sealed class SHA384CryptoServiceProvider : System.Security.Cryptography.SHA384, System.IDisposable, ICryptoTransform {
	// constructors
	public SHA384CryptoServiceProvider ();
	// methods
	protected override void Dispose (bool disposing);
	protected override void HashCore (byte[] array, int ibStart, int cbSize);
	protected override byte[] HashFinal ();
	public override void Initialize ();
}

New Type System.Security.Cryptography.SHA512CryptoServiceProvider

public sealed class SHA512CryptoServiceProvider : System.Security.Cryptography.SHA512, System.IDisposable, ICryptoTransform {
	// constructors
	public SHA512CryptoServiceProvider ();
	// methods
	protected override void Dispose (bool disposing);
	protected override void HashCore (byte[] array, int ibStart, int cbSize);
	protected override byte[] HashFinal ();
	public override void Initialize ();
}


System.Data.dll

Hide non-breaking changes

Namespace System.Data.Common

New Type System.Data.Common.DbColumn

public abstract class DbColumn {
	// constructors
	protected DbColumn ();
	// properties
	protected bool? AllowDBNull { get; set; }
	protected string BaseCatalogName { get; set; }
	protected string BaseColumnName { get; set; }
	protected string BaseSchemaName { get; set; }
	protected string BaseServerName { get; set; }
	protected string BaseTableName { get; set; }
	protected string ColumnName { get; set; }
	protected int? ColumnOrdinal { get; set; }
	protected int? ColumnSize { get; set; }
	protected System.Type DataType { get; set; }
	protected string DataTypeName { get; set; }
	protected bool? IsAliased { get; set; }
	protected bool? IsAutoIncrement { get; set; }
	protected bool? IsExpression { get; set; }
	protected bool? IsHidden { get; set; }
	protected bool? IsIdentity { get; set; }
	protected bool? IsKey { get; set; }
	protected bool? IsLong { get; set; }
	protected bool? IsReadOnly { get; set; }
	protected bool? IsUnique { get; set; }
	public virtual object Item { get; }
	protected int? NumericPrecision { get; set; }
	protected int? NumericScale { get; set; }
	protected string UdtAssemblyQualifiedName { get; set; }
}

New Type System.Data.Common.IDbColumnSchemaGenerator

public interface IDbColumnSchemaGenerator {
	// methods
	public virtual System.Collections.ObjectModel.ReadOnlyCollection<DbColumn> GetColumnSchema ();
}


System.IO.Compression.FileSystem.dll

Hide non-breaking changes

Namespace System.IO.Compression

Type Changed: System.IO.Compression.ZipFile

Added methods:

	public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwrite);
	public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwrite);

Type Changed: System.IO.Compression.ZipFileExtensions

Added method:

	public static void ExtractToDirectory (ZipArchive source, string destinationDirectoryName, bool overwrite);


Xamarin.WatchOS.dll

Hide non-breaking changes

Namespace AVFoundation

Type Changed: AVFoundation.AVAudioPlayer

Removed property:

	public virtual AVAudioFormat Format { get; }

Type Changed: AVFoundation.AVAudioPlayerNode

Added methods:

	public virtual System.Threading.Tasks.Task ScheduleBufferAsync (AVAudioPcmBuffer buffer);
	public virtual System.Threading.Tasks.Task ScheduleBufferAsync (AVAudioPcmBuffer buffer, AVAudioTime when, AVAudioPlayerNodeBufferOptions options);
	public virtual System.Threading.Tasks.Task ScheduleFileAsync (AVAudioFile file, AVAudioTime when);
	public virtual System.Threading.Tasks.Task ScheduleSegmentAsync (AVAudioFile file, long startFrame, uint numberFrames, AVAudioTime when);

Type Changed: AVFoundation.AVAudioSessionInterruptionEventArgs

Added property:

	public bool? WasSuspended { get; }

Namespace Contacts

Type Changed: Contacts.CNContainer

Added methods:

	public static Foundation.NSPredicate CreatePredicateForContainerOfContact (string contactIdentifier);
	public static Foundation.NSPredicate CreatePredicateForContainerOfGroup (string groupIdentifier);
	public static Foundation.NSPredicate CreatePredicateForContainers (string[] identifiers);

Type Changed: Contacts.CNContainer_PredicatesExtension

Obsoleted methods:

[Obsolete ("Use CNContainer.CreatePredicateForContainerOfContact instead")] public static Foundation.NSPredicate GetPredicateForContainerOfContact (CNContainer This, string contactIdentifier);
[Obsolete ("Use CNContainer.CreatePredicateForContainerOfGroup instead")] public static Foundation.NSPredicate GetPredicateForContainerOfGroup (CNContainer This, string groupIdentifier);
[Obsolete ("Use CNContainer.CreatePredicateForContainers instead")] public static Foundation.NSPredicate GetPredicateForContainers (CNContainer This, string[] identifiers);

Type Changed: Contacts.CNGroup

Added methods:

	public static Foundation.NSPredicate CreatePredicateForGroups (string[] identifiers);
	public static Foundation.NSPredicate CreatePredicateForGroupsInContainer (string containerIdentifier);

Type Changed: Contacts.CNGroup_PredicatesExtension

Obsoleted methods:

[Obsolete ("Use CNGroup.CreatePredicateForGroups instead")] public static Foundation.NSPredicate GetPredicateForGroups (CNGroup This, string[] identifiers);
[Obsolete ("Use CNGroup.CreatePredicateForGroupsInContainer instead")] public static Foundation.NSPredicate GetPredicateForGroupsInContainer (CNGroup This, string containerIdentifier);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGRect

Added properties:

	public static CGRect Infinite { get; }
	public static CGRect Null { get; }

Namespace Foundation

Type Changed: Foundation.NSExtensionContext

Added method:

	public virtual System.Threading.Tasks.Task<bool> CompleteRequestAsync (NSExtensionItem[] returningItems);

Type Changed: Foundation.NSFileVersion

Added method:

	public static System.Threading.Tasks.Task<NSFileVersion[]> GetNonlocalVersionsAsync (NSUrl url);

Type Changed: Foundation.NSHttpCookieStorage

Added method:

	public virtual System.Threading.Tasks.Task<NSHttpCookie[]> GetCookiesForTaskAsync (NSUrlSessionTask task);

Type Changed: Foundation.NSItemProvider

Added methods:

	public virtual System.Threading.Tasks.Task<NSObject> LoadItemAsync (string typeIdentifier, NSDictionary options);
	public virtual System.Threading.Tasks.Task<NSObject> LoadPreviewImageAsync (NSDictionary options);

Type Changed: Foundation.NSString

Added methods:

	public virtual void GetParagraphPositions (uint paragraphStartPosition, uint paragraphEndPosition, uint contentsEndPosition, NSRange range);
	public virtual NSRange GetParagraphRange (NSRange range);

Type Changed: Foundation.NSUrlCredentialStorage

Added methods:

	public virtual System.Threading.Tasks.Task<NSDictionary> GetCredentialsAsync (NSUrlProtectionSpace protectionSpace, NSUrlSessionTask task);
	public virtual System.Threading.Tasks.Task<NSUrlCredential> GetDefaultCredentialAsync (NSUrlProtectionSpace space, NSUrlSessionTask task);

Namespace GameKit

Type Changed: GameKit.GKLocalPlayer

Added method:

	public virtual System.Threading.Tasks.Task<GKIdentityVerificationSignatureResult> GenerateIdentityVerificationSignatureAsync ();

New Type GameKit.GKIdentityVerificationSignatureResult

public class GKIdentityVerificationSignatureResult {
	// constructors
	public GKIdentityVerificationSignatureResult (Foundation.NSUrl publicKeyUrl, Foundation.NSData signature, Foundation.NSData salt, ulong timestamp);
	// properties
	public Foundation.NSUrl PublicKeyUrl { get; set; }
	public Foundation.NSData Salt { get; set; }
	public Foundation.NSData Signature { get; set; }
	public ulong Timestamp { get; set; }
}

Namespace Intents

Type Changed: Intents.INPreferences

Added constructor:

	public INPreferences ();

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

public const string Version = "10.8.0" "10.10.0";

Type Changed: ObjCRuntime.Dlfcn

Added method:

	public static CoreGraphics.CGRect GetCGRect (IntPtr handle, string symbol);

Type Changed: ObjCRuntime.MonoPInvokeCallbackAttribute

Added property:

	public System.Type DelegateType { get; set; }

Namespace PassKit

Type Changed: PassKit.PKPassLibrary

Added method:

	public virtual System.Threading.Tasks.Task<PKPassLibraryAddPassesStatus> AddPassesAsync (PKPass[] passes);

Namespace SceneKit

Type Changed: SceneKit.SCNSceneRenderer

Obsoleted methods:

[Obsolete ("Use 'SCNSceneRenderer_Extensions.PrepareAsync' instead")] public virtual System.Threading.Tasks.Task<bool> PrepareAsync (Foundation.NSObject[] objects);

Modified methods:

public virtual System.Threading.Tasks.Task<bool> PrepareAsync (Foundation.NSObject[] objects)

Added method:

	[Obsolete ("Use 'SCNSceneRenderer_Extensions.PresentSceneAsync' instead")]
	public virtual System.Threading.Tasks.Task PresentSceneAsync (SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView);

Type Changed: SceneKit.SCNSceneRenderer_Extensions

Added methods:

	public static System.Threading.Tasks.Task<bool> PrepareAsync (ISCNSceneRenderer This, Foundation.NSObject[] objects);
	public static System.Threading.Tasks.Task PresentSceneAsync (ISCNSceneRenderer This, SCNScene scene, SpriteKit.SKTransition transition, SCNNode pointOfView);

Namespace SpriteKit

Type Changed: SpriteKit.SKEffectNode

Removed property:

	public virtual Foundation.NSDictionary<Foundation.NSString,SpriteKit.SKAttributeValue> AttributeValues { get; set; }

Removed methods:

	public virtual SKAttributeValue GetValue (string key);
	public virtual void SetValue (SKAttributeValue value, string key);

Type Changed: SpriteKit.SKEmitterNode

Removed property:

	public virtual Foundation.NSDictionary<Foundation.NSString,SpriteKit.SKAttributeValue> AttributeValues { get; set; }

Removed methods:

	public virtual SKAttributeValue GetValue (string key);
	public virtual void SetValue (SKAttributeValue value, string key);

Type Changed: SpriteKit.SKNode

Added method:

	public virtual System.Threading.Tasks.Task RunActionAsync (SKAction action);

Type Changed: SpriteKit.SKSpriteNode

Removed property:

	public virtual Foundation.NSDictionary<Foundation.NSString,SpriteKit.SKAttributeValue> AttributeValues { get; set; }

Removed methods:

	public virtual SKAttributeValue GetValue (string key);
	public virtual void SetValue (SKAttributeValue value, string key);

Removed Type SpriteKit.SKVideoNode

Namespace UIKit

Type Changed: UIKit.UIEdgeInsets

Added methods:

	public static bool op_Equality (UIEdgeInsets insets1, UIEdgeInsets insets2);
	public static bool op_Inequality (UIEdgeInsets insets1, UIEdgeInsets insets2);

Namespace WatchKit

Type Changed: WatchKit.WKInterfaceController

Added methods:

	public virtual System.Threading.Tasks.Task PresentAddPassesControllerAsync (PassKit.PKPass[] passes);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PresentAudioRecorderControllerAsync (Foundation.NSUrl outputUrl, WKAudioRecorderPreset preset, Foundation.NSDictionary options);
	public virtual System.Threading.Tasks.Task<WKPresentMediaPlayerResult> PresentMediaPlayerControllerAsync (Foundation.NSUrl url, Foundation.NSDictionary options);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray> PresentTextInputControllerAsync (System.Func<Foundation.NSString,Foundation.NSArray> suggestionsHandler, WKTextInputMode inputMode);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray> PresentTextInputControllerAsync (string[] suggestions, WKTextInputMode inputMode);

Type Changed: WatchKit.WKInterfaceSCNScene

Added method:

	public virtual System.Threading.Tasks.Task PresentSceneAsync (SceneKit.SCNScene scene, SpriteKit.SKTransition transition, SceneKit.SCNNode pointOfView);

New Type WatchKit.WKPresentMediaPlayerResult

public class WKPresentMediaPlayerResult {
	// constructors
	public WKPresentMediaPlayerResult (bool didPlayToEnd, double endTime);
	// properties
	public bool DidPlayToEnd { get; set; }
	public double EndTime { get; set; }
}


MonoTouch.NUnitLite.dll

Hide non-breaking changes

Namespace NUnitLite.Runner

Type Changed: NUnitLite.Runner.TextUI

Removed method:

	public void TopLevelHandler (object sender, System.UnhandledExceptionEventArgs e);


Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.