API changes from Xamarin.Mac 1.8.0 to Xamarin.Mac 1.8.1

This document describes the API changes from Xamarin.Mac 1.8.0 to Xamarin.Mac 1.8.1

XamMac.dll

Namespace MonoMac

Type Changed: MonoMac.Constants

Added fields:

	public static const string ApplicationServicesCoreGraphicsLibrary = "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/CoreGraphics";

Namespace MonoMac.AppKit

Type Changed: MonoMac.AppKit.NSButton

Added methods:

	public virtual void SetShowsBorderOnlyWhileMouseInside (bool showsBorder);

Type Changed: MonoMac.AppKit.NSNib

Added methods:

	public virtual bool InstantiateNibWithOwner (MonoMac.Foundation.NSObject owner, MonoMac.Foundation.NSArray& topLevelObjects);

Type Changed: MonoMac.AppKit.NSScrollView

Added interfaces:

	INSTextFinderBarContainer

New Type MonoMac.AppKit.INSTextFinderBarContainer

public interface INSTextFinderBarContainer : MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSView FindBarView { get; set; }
	public virtual bool FindBarVisible { get; set; }
	// methods
	public virtual void FindBarViewDidChangeHeight ();
}

New Type MonoMac.AppKit.NSTextFinder

public class NSTextFinder : MonoMac.Foundation.NSObject, MonoMac.Foundation.INSCoding, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSTextFinder ();
	public NSTextFinder (MonoMac.Foundation.NSCoder coder);
	public NSTextFinder (MonoMac.Foundation.NSObjectFlag t);
	public NSTextFinder (System.IntPtr handle);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual NSTextFinderClient Client { set; }
	public virtual NSTextFinderBarContainer FindBarContainer { set; }
	public virtual bool FindIndicatorNeedsUpdate { get; set; }
	public virtual MonoMac.Foundation.NSArray IncrementalMatchRanges { get; }
	public virtual bool IncrementalSearchingEnabled { get; set; }
	// methods
	public virtual void CancelFindIndicator ();
	protected override void Dispose (bool disposing);
	public static void DrawIncrementalMatchHighlightInRect (System.Drawing.RectangleF rect);
	public virtual void NoteClientStringWillChange ();
	public virtual void PerformAction (NSTextFinderAction op);
	public virtual bool ValidateAction (NSTextFinderAction op);
}

New Type MonoMac.AppKit.NSTextFinderBarContainer

public abstract class NSTextFinderBarContainer : MonoMac.Foundation.NSObject, INSTextFinderBarContainer, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSTextFinderBarContainer ();
	public NSTextFinderBarContainer (MonoMac.Foundation.NSCoder coder);
	public NSTextFinderBarContainer (MonoMac.Foundation.NSObjectFlag t);
	public NSTextFinderBarContainer (System.IntPtr handle);
	// properties
	public virtual NSView FindBarView { get; set; }
	public virtual bool FindBarVisible { get; set; }
	// methods
	public virtual void FindBarViewDidChangeHeight ();
}

New Type MonoMac.AppKit.NSTextFinderBarContainer_Extensions

public static class NSTextFinderBarContainer_Extensions {
}

New Type MonoMac.AppKit.NSTextFinderClient

public abstract class NSTextFinderClient : MonoMac.Foundation.NSObject, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSTextFinderClient ();
	public NSTextFinderClient (MonoMac.Foundation.NSCoder coder);
	public NSTextFinderClient (MonoMac.Foundation.NSObjectFlag t);
	public NSTextFinderClient (System.IntPtr handle);
	// properties
	public virtual bool AllowsMultipleSelection { get; }
	public virtual bool Editable { get; }
	public virtual MonoMac.Foundation.NSRange FirstSelectedRange { get; }
	public virtual bool Selectable { get; }
	public virtual MonoMac.Foundation.NSArray SelectedRanges { get; set; }
	public virtual string String { get; }
	public virtual MonoMac.Foundation.NSArray VisibleCharacterRanges { get; }
	// methods
	public virtual NSView ContentViewAtIndexeffectiveCharacterRange (uint index, MonoMac.Foundation.NSRange& outRange);
	public virtual void DidReplaceCharacters ();
	public virtual void DrawCharactersInRangeforContentView (MonoMac.Foundation.NSRange range, NSView view);
	public virtual MonoMac.Foundation.NSArray RectsForCharacterRange (MonoMac.Foundation.NSRange range);
	public virtual void ReplaceCharactersInRangewithString (MonoMac.Foundation.NSRange range, string str);
	public virtual void ScrollRangeToVisible (MonoMac.Foundation.NSRange range);
	public virtual bool ShouldReplaceCharactersInRangeswithStrings (MonoMac.Foundation.NSArray ranges, MonoMac.Foundation.NSArray strings);
	public virtual string StringAtIndexeffectiveRangeendsWithSearchBoundary (uint characterIndex, MonoMac.Foundation.NSRange& outRange, bool outFlag);
	public virtual uint StringLength ();
}

Namespace MonoMac.CoreBluetooth

Type Changed: MonoMac.CoreBluetooth.CBAdvertisement

Added properties:

	public static MonoMac.Foundation.NSString DataOverflowServiceUUIDsKey { get; }
	public static MonoMac.Foundation.NSString DataSolicitedServiceUUIDsKey { get; }
	public static MonoMac.Foundation.NSString IsConnectable { get; }

Type Changed: MonoMac.CoreBluetooth.CBCentralManager

Added constructors:

	public CBCentralManager (CBCentralManagerDelegate centralDelegate, MonoMac.CoreFoundation.DispatchQueue queue, MonoMac.Foundation.NSDictionary options);

Added properties:

	public static MonoMac.Foundation.NSString OptionShowPowerAlertKey { get; }
	public static MonoMac.Foundation.NSString ScanOptionSolicitedServiceUUIDsKey { get; }

Added methods:

	public virtual CBPeripheral[] RetrieveConnectedPeripherals (CBUUID[] serviceUUIDs);
	public virtual CBPeripheral[] RetrievePeripheralsWithIdentifiers (MonoMac.Foundation.NSUuid[] identifiers);

Type Changed: MonoMac.CoreBluetooth.CBCharacteristic

Removed properties:

	public virtual CBUUID UUID { get; }

Added properties:

	public virtual CBCentral[] SubscribedCentrals { get; }
	public virtual CBUUID UUID { get; set; }

Type Changed: MonoMac.CoreBluetooth.CBService

Added properties:

	public virtual bool Primary { get; }

Type Changed: MonoMac.CoreBluetooth.PeripheralConnectionOptions

Removed properties:

	public bool NotifyOnDisconnectionKey { set; }

Added properties:

	public System.Boolean? NotifyOnDisconnection { get; set; }
	[Obsolete ("Use NotifyOnDisconnection property instead")]
	public bool NotifyOnDisconnectionKey { set; }

New Type MonoMac.CoreBluetooth.CBATTRequest

public class CBATTRequest : MonoMac.Foundation.NSObject, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBATTRequest (MonoMac.Foundation.NSCoder coder);
	public CBATTRequest (MonoMac.Foundation.NSObjectFlag t);
	public CBATTRequest (System.IntPtr handle);
	// properties
	public virtual CBCentral Central { get; }
	public virtual CBCharacteristic Characteristic { get; }
	public override System.IntPtr ClassHandle { get; }
	public virtual int Offset { get; }
	public virtual MonoMac.Foundation.NSData Value { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type MonoMac.CoreBluetooth.CBATTRequestEventArgs

public class CBATTRequestEventArgs : System.EventArgs {
	// constructors
	public CBATTRequestEventArgs (CBATTRequest request);
	// properties
	public CBATTRequest Request { get; set; }
}

New Type MonoMac.CoreBluetooth.CBATTRequestsEventArgs

public class CBATTRequestsEventArgs : System.EventArgs {
	// constructors
	public CBATTRequestsEventArgs (CBATTRequest[] requests);
	// properties
	public CBATTRequest[] Requests { get; set; }
}

New Type MonoMac.CoreBluetooth.CBCentral

public class CBCentral : MonoMac.Foundation.NSObject, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBCentral (MonoMac.Foundation.NSCoder coder);
	public CBCentral (MonoMac.Foundation.NSObjectFlag t);
	public CBCentral (System.IntPtr handle);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual MonoMac.Foundation.NSUuid Identifier { get; }
	public virtual uint MaximumUpdateValueLength { get; }
	[Obsolete ("Deprecated in iOS7")]
	public virtual System.IntPtr UUID { get; }

	// methods
	public virtual MonoMac.Foundation.NSObject Copy (MonoMac.Foundation.NSZone zone);
	protected override void Dispose (bool disposing);
}

New Type MonoMac.CoreBluetooth.CBMutableCharacteristic

public class CBMutableCharacteristic : MonoMac.CoreBluetooth.CBCharacteristic, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBMutableCharacteristic (MonoMac.Foundation.NSCoder coder);
	public CBMutableCharacteristic (MonoMac.Foundation.NSObjectFlag t);
	public CBMutableCharacteristic (System.IntPtr handle);
	public CBMutableCharacteristic (CBUUID uuid, CBCharacteristicProperties properties, MonoMac.Foundation.NSData value, CBAttributePermissions permissions);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual CBDescriptor[] Descriptors { get; set; }
	public virtual CBAttributePermissions Permissions { get; set; }
	public virtual CBCharacteristicProperties Properties { get; set; }
	public override CBUUID UUID { get; set; }
	public virtual MonoMac.Foundation.NSData Value { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type MonoMac.CoreBluetooth.CBMutableDescriptor

public class CBMutableDescriptor : MonoMac.CoreBluetooth.CBDescriptor, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBMutableDescriptor (MonoMac.Foundation.NSCoder coder);
	public CBMutableDescriptor (MonoMac.Foundation.NSObjectFlag t);
	public CBMutableDescriptor (System.IntPtr handle);
	public CBMutableDescriptor (CBUUID uuid, MonoMac.Foundation.NSObject descriptorValue);
	// properties
	public override System.IntPtr ClassHandle { get; }
}

New Type MonoMac.CoreBluetooth.CBMutableService

public class CBMutableService : MonoMac.CoreBluetooth.CBService, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBMutableService (MonoMac.Foundation.NSCoder coder);
	public CBMutableService (MonoMac.Foundation.NSObjectFlag t);
	public CBMutableService (System.IntPtr handle);
	public CBMutableService (CBUUID uuid, bool primary);
	// properties
	public virtual CBCharacteristic[] Characteristics { get; set; }
	public override System.IntPtr ClassHandle { get; }
	public virtual CBService[] IncludedServices { get; set; }
	public virtual bool Primary { get; set; }
	public virtual CBUUID UUID { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type MonoMac.CoreBluetooth.CBPeripheralManager

public class CBPeripheralManager : MonoMac.Foundation.NSObject, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBPeripheralManager (MonoMac.Foundation.NSCoder coder);
	public CBPeripheralManager (MonoMac.Foundation.NSObjectFlag t);
	public CBPeripheralManager (System.IntPtr handle);
	public CBPeripheralManager (CBPeripheralManagerDelegate peripheralDelegate, MonoMac.CoreFoundation.DispatchQueue queue);
	public CBPeripheralManager (CBPeripheralManagerDelegate peripheralDelegate, MonoMac.CoreFoundation.DispatchQueue queue, MonoMac.Foundation.NSDictionary options);
	// properties
	public virtual bool Advertising { get; }
	public static CBPeripheralManagerAuthorizationStatus AuthorizationStatus { get; }
	public override System.IntPtr ClassHandle { get; }
	public CBPeripheralManagerDelegate Delegate { get; set; }
	public static MonoMac.Foundation.NSString OptionRestoreIdentifierKey { get; }
	public static MonoMac.Foundation.NSString OptionShowPowerAlertKey { get; }
	public static MonoMac.Foundation.NSString RestoredStateAdvertisementDataKey { get; }
	public static MonoMac.Foundation.NSString RestoredStateServicesKey { get; }
	public virtual CBPeripheralManagerState State { get; }
	public virtual MonoMac.Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<NSErrorEventArgs> AdvertisingStarted;
	public event System.EventHandler<CBPeripheralManagerSubscriptionEventArgs> CharacteristicSubscribed;
	public event System.EventHandler<CBPeripheralManagerSubscriptionEventArgs> CharacteristicUnsubscribed;
	public event System.EventHandler<CBATTRequestEventArgs> ReadRequestReceived;
	public event System.EventHandler ReadyToUpdateSubscribers;
	public event System.EventHandler<CBPeripheralManagerServiceEventArgs> ServiceAdded;
	public event System.EventHandler StateUpdated;
	public event System.EventHandler<CBWillRestoreEventArgs> WillRestoreState;
	public event System.EventHandler<CBATTRequestsEventArgs> WriteRequestsReceived;
	// methods
	public virtual void AddService (CBMutableService service);
	protected override void Dispose (bool disposing);
	public virtual void RemoveAllServices ();
	public virtual void RemoveService (CBMutableService service);
	public virtual void RespondToRequest (CBATTRequest request, CBATTError result);
	public virtual void SetDesiredConnectionLatency (CBPeripheralManagerConnectionLatency latency, CBCentral connectedCentral);
	public void StartAdvertising (StartAdvertisingOptions options);
	public virtual void StartAdvertising (MonoMac.Foundation.NSDictionary options);
	public virtual void StopAdvertising ();
	public virtual bool UpdateValue (MonoMac.Foundation.NSData value, CBMutableCharacteristic characteristic, CBCentral[] subscribedCentrals);
}

New Type MonoMac.CoreBluetooth.CBPeripheralManagerDelegate

public abstract class CBPeripheralManagerDelegate : MonoMac.Foundation.NSObject, ICBPeripheralManagerDelegate, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CBPeripheralManagerDelegate ();
	public CBPeripheralManagerDelegate (MonoMac.Foundation.NSCoder coder);
	public CBPeripheralManagerDelegate (MonoMac.Foundation.NSObjectFlag t);
	public CBPeripheralManagerDelegate (System.IntPtr handle);
	// methods
	public virtual void AdvertisingStarted (CBPeripheralManager peripheral, MonoMac.Foundation.NSError error);
	public virtual void CharacteristicSubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
	public virtual void CharacteristicUnsubscribed (CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
	public virtual void ReadRequestReceived (CBPeripheralManager peripheral, CBATTRequest request);
	public virtual void ReadyToUpdateSubscribers (CBPeripheralManager peripheral);
	public virtual void ServiceAdded (CBPeripheralManager peripheral, CBService service, MonoMac.Foundation.NSError error);
	public virtual void StateUpdated (CBPeripheralManager peripheral);
	public virtual void WillRestoreState (CBPeripheralManager peripheral, MonoMac.Foundation.NSDictionary dict);
	public virtual void WriteRequestsReceived (CBPeripheralManager peripheral, CBATTRequest[] requests);
}

New Type MonoMac.CoreBluetooth.CBPeripheralManagerDelegate_Extensions

public static class CBPeripheralManagerDelegate_Extensions {
	// methods
	public static void AdvertisingStarted (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, MonoMac.Foundation.NSError error);
	public static void CharacteristicSubscribed (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
	public static void CharacteristicUnsubscribed (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, CBCentral central, CBCharacteristic characteristic);
	public static void ReadRequestReceived (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, CBATTRequest request);
	public static void ReadyToUpdateSubscribers (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral);
	public static void ServiceAdded (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, CBService service, MonoMac.Foundation.NSError error);
	public static void WillRestoreState (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, MonoMac.Foundation.NSDictionary dict);
	public static void WriteRequestsReceived (ICBPeripheralManagerDelegate This, CBPeripheralManager peripheral, CBATTRequest[] requests);
}

New Type MonoMac.CoreBluetooth.CBPeripheralManagerServiceEventArgs

public class CBPeripheralManagerServiceEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralManagerServiceEventArgs (CBService service, MonoMac.Foundation.NSError error);
	// properties
	public MonoMac.Foundation.NSError Error { get; set; }
	public CBService Service { get; set; }
}

New Type MonoMac.CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs

public class CBPeripheralManagerSubscriptionEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralManagerSubscriptionEventArgs (CBCentral central, CBCharacteristic characteristic);
	// properties
	public CBCentral Central { get; set; }
	public CBCharacteristic Characteristic { get; set; }
}

New Type MonoMac.CoreBluetooth.ICBPeripheralManagerDelegate

public interface ICBPeripheralManagerDelegate : MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void StateUpdated (CBPeripheralManager peripheral);
}

Namespace MonoMac.CoreData

Type Changed: MonoMac.CoreData.NSMergeConflict

Removed interfaces:

	MonoMac.Foundation.INSCoding
	MonoMac.Foundation.INSSecureCoding

Namespace MonoMac.CoreFoundation

Type Changed: MonoMac.CoreFoundation.CFReadStream

Removed methods:

	protected override bool DoSetClient (CFStream.CFStreamCallback callback, CFIndex eventTypes, System.IntPtr context);

Added methods:

	protected override bool DoSetClient (CFStream.CFStreamCallback callback, int eventTypes, System.IntPtr context);

Type Changed: MonoMac.CoreFoundation.CFRunLoop

Removed fields:

	public static const string ModeCommon = "kCFRunLoopCommonModes";
	public static const string ModeDefault = "kCFRunLoopDefaultMode";

Added properties:

	public static MonoMac.Foundation.NSString ModeCommon { get; }
	public static MonoMac.Foundation.NSString ModeDefault { get; }

Type Changed: MonoMac.CoreFoundation.CFStream

Removed methods:

	protected virtual bool DoSetClient (CFStream.CFStreamCallback callback, CFIndex eventTypes, System.IntPtr context);

Added methods:

	protected virtual bool DoSetClient (CFStream.CFStreamCallback callback, int eventTypes, System.IntPtr context);

Type Changed: MonoMac.CoreFoundation.CFWriteStream

Removed methods:

	protected override bool DoSetClient (CFStream.CFStreamCallback callback, CFIndex eventTypes, System.IntPtr context);

Added methods:

	protected override bool DoSetClient (CFStream.CFStreamCallback callback, int eventTypes, System.IntPtr context);

New Type MonoMac.CoreFoundation.CFMachPort

public class CFMachPort : MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CFMachPort (System.IntPtr handle);
	public CFMachPort (System.IntPtr handle, bool ownsHandle);
	// properties
	public virtual System.IntPtr Handle { get; }
	public bool IsValid { get; }
	public System.IntPtr MachPort { get; }
	// methods
	protected override void ~CFMachPort ();
	public CFRunLoopSource CreateRunLoopSource ();
	public virtual void Dispose ();
	public virtual void Dispose (bool disposing);
	public void Invalidate ();
}

Namespace MonoMac.CoreGraphics

New Type MonoMac.CoreGraphics.CGEvent

public sealed class CGEvent : System.IDisposable, MonoMac.ObjCRuntime.INativeObject {
	// constructors
	public CGEvent (MonoMac.Foundation.NSData source);
	// properties
	public CGEventFlags Flags { get; }
	public virtual System.IntPtr Handle { get; }
	public System.Drawing.PointF Location { get; }
	public long MouseEventButtonNumber { get; }
	public long MouseEventClickState { get; }
	public long MouseEventDeltaX { get; }
	public long MouseEventDeltaY { get; }
	public bool MouseEventInstantMouser { get; }
	public long MouseEventNumber { get; }
	public double MouseEventPressure { get; }
	public long MouseEventSubtype { get; }
	// methods
	protected override void ~CGEvent ();
	public static System.IntPtr CGEventTapCreate (CGEventTapLocation location, CGEventTapPlacement place, CGEventTapOptions options, CGEventMask mask, CGEvent.CGEventTapCallback cback, System.IntPtr data);
	public CGEvent Copy ();
	public static MonoMac.CoreFoundation.CFMachPort CreateTap (CGEventTapLocation location, CGEventTapPlacement place, CGEventTapOptions options, CGEventMask mask, CGEvent.CGEventTapCallback cback, System.IntPtr data);
	public void Dispose (bool disposing);
	public virtual void Dispose ();
	public static CGEventFlags GetFlags (System.IntPtr eventHandle);
	public MonoMac.Foundation.NSData ToData ();

	// inner types
	public sealed delegate CGEventTapCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public CGEvent (object object, System.IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (System.IntPtr proxy, CGEventType eventType, System.IntPtr eventRef, System.IntPtr userInfo, System.AsyncCallback callback, object object);
		public virtual System.IntPtr EndInvoke (System.IAsyncResult result);
		public virtual System.IntPtr Invoke (System.IntPtr proxy, CGEventType eventType, System.IntPtr eventRef, System.IntPtr userInfo);
	}
}

New Type MonoMac.CoreGraphics.CGEventFilterMask

[Serializable]
[Flags]
public enum CGEventFilterMask {
	PermitLocalKeyboardEvents = 2,
	PermitLocalMouseEvents = 1,
	PermitSystemDefinedEvents = 4,
}

New Type MonoMac.CoreGraphics.CGEventFlags

[Serializable]
[Flags]
public enum CGEventFlags {
	AlphaShift = 65536,
	Alternate = 524288,
	Command = 1048576,
	Control = 262144,
	Help = 4194304,
	NonCoalesced = 256,
	NumericPad = 2097152,
	SecondaryFn = 8388608,
	Shift = 131072,
}

New Type MonoMac.CoreGraphics.CGEventMask

[Serializable]
[Flags]
public enum CGEventMask {
	FlagsChanged = 4096,
	KeyDown = 1024,
	KeyUp = 2048,
	LeftMouseDown = 2,
	LeftMouseDragged = 64,
	LeftMouseUp = 4,
	MouseMoved = 32,
	Null = 1,
	OtherMouseDown = 33554432,
	OtherMouseDragged = 134217728,
	OtherMouseUp = 67108864,
	RightMouseDown = 8,
	RightMouseDragged = 128,
	RightMouseUp = 16,
	ScrollWheel = 4194304,
	TabletPointer = 8388608,
	TabletProximity = 16777216,
}

New Type MonoMac.CoreGraphics.CGEventMouseSubtype

[Serializable]
public enum CGEventMouseSubtype {
	Default = 0,
	TabletPoint = 1,
	TabletProximity = 2,
}

New Type MonoMac.CoreGraphics.CGEventSource

public sealed class CGEventSource : System.IDisposable, MonoMac.ObjCRuntime.INativeObject {
	// constructors
	public CGEventSource (System.IntPtr handle);
	public CGEventSource (System.IntPtr handle, bool ownsHandle);
	public CGEventSource (CGEventSourceStateID stateID);
	// properties
	public virtual System.IntPtr Handle { get; }
	public int KeyboardType { get; set; }
	public double LocalEventsSupressionInterval { get; set; }
	public double PixelsPerLine { get; set; }
	public CGEventSourceStateID StateID { get; }
	public long UserData { get; set; }
	// methods
	protected override void ~CGEventSource ();
	public virtual void Dispose ();
	public void Dispose (bool disposing);
	public static bool GetButtonState (CGEventSourceStateID stateID, CGMouseButton button);
	public static uint GetCounterForEventType (CGEventSourceStateID stateID, CGEventType eventType);
	public static CGEventFlags GetFlagsState (CGEventSourceStateID stateID);
	public static bool GetKeyState (CGEventSourceStateID stateID, ushort keycode);
	public CGEventFilterMask GetLocalEventsFilterDuringSupressionState (CGEventSuppressionState state);
	public static double GetSecondsSinceLastEventType (CGEventSourceStateID stateID, CGEventType eventType);
	public void SetLocalEventsFilterDuringSupressionState (CGEventFilterMask filter, CGEventSuppressionState state);
}

New Type MonoMac.CoreGraphics.CGEventSourceStateID

[Serializable]
public enum CGEventSourceStateID {
	CombinedSession = 0,
	HidSystem = 1,
	Private = -1,
}

New Type MonoMac.CoreGraphics.CGEventSuppressionState

[Serializable]
public enum CGEventSuppressionState {
	RemoteMouseDrag = 1,
	SuppressionInterval = 0,
}

New Type MonoMac.CoreGraphics.CGEventTapLocation

[Serializable]
public enum CGEventTapLocation {
	AnnotatedSession = 2,
	HID = 0,
	Session = 1,
}

New Type MonoMac.CoreGraphics.CGEventTapOptions

[Serializable]
public enum CGEventTapOptions {
	Default = 0,
	ListenOnly = 1,
}

New Type MonoMac.CoreGraphics.CGEventTapPlacement

[Serializable]
public enum CGEventTapPlacement {
	HeadInsert = 0,
	TailAppend = 1,
}

New Type MonoMac.CoreGraphics.CGEventType

[Serializable]
public enum CGEventType {
	FlagsChanged = 12,
	KeyDown = 10,
	KeyUp = 11,
	LeftMouseDown = 1,
	LeftMouseDragged = 6,
	LeftMouseUp = 2,
	MouseMoved = 5,
	Null = 0,
	OtherMouseDown = 25,
	OtherMouseDragged = 27,
	OtherMouseUp = 26,
	RightMouseDown = 3,
	RightMouseDragged = 7,
	RightMouseUp = 4,
	ScrollWheel = 22,
	TabletPointer = 23,
	TabletProximity = 24,
}

New Type MonoMac.CoreGraphics.CGMouseButton

[Serializable]
public enum CGMouseButton {
	Center = 2,
	Left = 0,
	Right = 1,
}

New Type MonoMac.CoreGraphics.CGScrollEventUnit

[Serializable]
public enum CGScrollEventUnit {
	Line = 1,
	Pixel = 0,
}

Namespace MonoMac.ObjCRuntime

Type Changed: MonoMac.ObjCRuntime.AvailabilityAttribute

Added properties:

	public Platform DeprecatedArchitecture { get; }
	public Platform DeprecatedVersion { get; }
	public Platform IntroducedArchitecture { get; }
	public Platform IntroducedVersion { get; }
	public Platform ObsoletedArchitecture { get; }
	public Platform ObsoletedVersion { get; }

Type Changed: MonoMac.ObjCRuntime.LionAttribute

Added constructors:

	public LionAttribute (bool onlyOn64);

Type Changed: MonoMac.ObjCRuntime.MavericksAttribute

Added constructors:

	public MavericksAttribute (bool onlyOn64);

Type Changed: MonoMac.ObjCRuntime.Messaging

Added methods:

	public static System.IntPtr IntPtr_objc_msgSend_UInt32_ref_NSRange (System.IntPtr receiver, System.IntPtr selector, uint arg1, MonoMac.Foundation.NSRange& arg2);
	public static System.IntPtr IntPtr_objc_msgSend_UInt32_ref_NSRange_bool (System.IntPtr receiver, System.IntPtr selector, uint arg1, MonoMac.Foundation.NSRange& arg2, bool arg3);
	public static System.IntPtr IntPtr_objc_msgSendSuper_UInt32_ref_NSRange (System.IntPtr receiver, System.IntPtr selector, uint arg1, MonoMac.Foundation.NSRange& arg2);
	public static System.IntPtr IntPtr_objc_msgSendSuper_UInt32_ref_NSRange_bool (System.IntPtr receiver, System.IntPtr selector, uint arg1, MonoMac.Foundation.NSRange& arg2, bool arg3);
	public static void void_objc_msgSend_int_int_IntPtr_int_int_int_int_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, int arg1, int arg2, System.IntPtr arg3, int arg4, int arg5, int arg6, int arg7, bool arg8, bool arg9, bool arg10, bool arg11);
	public static void void_objc_msgSend_IntPtr_bool_bool_IntPtr_int (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, int arg5);
	public static void void_objc_msgSend_IntPtr_bool_bool_IntPtr_int_int_int_int_int_bool_bool_bool_bool_UInt16_IntPtr (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, int arg5, int arg6, int arg7, int arg8, int arg9, bool arg10, bool arg11, bool arg12, bool arg13, ushort arg14, System.IntPtr arg15);
	public static void void_objc_msgSend_IntPtr_bool_bool_IntPtr_IntPtr_UInt32_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, System.IntPtr arg5, uint arg6, bool arg7, bool arg8, bool arg9, bool arg10);
	public static void void_objc_msgSend_IntPtr_bool_bool_IntPtr_IntPtr_UInt32_bool_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, System.IntPtr arg5, uint arg6, bool arg7, bool arg8, bool arg9, bool arg10, bool arg11);
	public static void void_objc_msgSend_UInt16 (System.IntPtr receiver, System.IntPtr selector, ushort arg1);
	public static void void_objc_msgSend_UInt16_bool_bool (System.IntPtr receiver, System.IntPtr selector, ushort arg1, bool arg2, bool arg3);
	public static void void_objc_msgSendSuper_int_int_IntPtr_int_int_int_int_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, int arg1, int arg2, System.IntPtr arg3, int arg4, int arg5, int arg6, int arg7, bool arg8, bool arg9, bool arg10, bool arg11);
	public static void void_objc_msgSendSuper_IntPtr_bool_bool_IntPtr_int (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, int arg5);
	public static void void_objc_msgSendSuper_IntPtr_bool_bool_IntPtr_int_int_int_int_int_bool_bool_bool_bool_UInt16_IntPtr (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, int arg5, int arg6, int arg7, int arg8, int arg9, bool arg10, bool arg11, bool arg12, bool arg13, ushort arg14, System.IntPtr arg15);
	public static void void_objc_msgSendSuper_IntPtr_bool_bool_IntPtr_IntPtr_UInt32_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, System.IntPtr arg5, uint arg6, bool arg7, bool arg8, bool arg9, bool arg10);
	public static void void_objc_msgSendSuper_IntPtr_bool_bool_IntPtr_IntPtr_UInt32_bool_bool_bool_bool_bool (System.IntPtr receiver, System.IntPtr selector, System.IntPtr arg1, bool arg2, bool arg3, System.IntPtr arg4, System.IntPtr arg5, uint arg6, bool arg7, bool arg8, bool arg9, bool arg10, bool arg11);
	public static void void_objc_msgSendSuper_UInt16 (System.IntPtr receiver, System.IntPtr selector, ushort arg1);
	public static void void_objc_msgSendSuper_UInt16_bool_bool (System.IntPtr receiver, System.IntPtr selector, ushort arg1, bool arg2, bool arg3);

Type Changed: MonoMac.ObjCRuntime.MountainLionAttribute

Added constructors:

	public MountainLionAttribute (bool onlyOn64);

Type Changed: MonoMac.ObjCRuntime.Platform

Removed values:

	iOS = 4294967295,
	Mac = 18446744069414584320,

Added values:

	[Obsolete ("Use iOS_Version")]
	iOS = 4294967295,

	iOS_8_0 = 524288,
	iOS_Arch = 4278190080,
	iOS_Arch32 = 16777216,
	iOS_Arch64 = 33554432,
	iOS_Version = 16777215,
	[Obsolete ("Use Mac_Version")]
	Mac = 18446744069414584320,

	Mac_10_0 = 2814749767106560,
	Mac_10_1 = 2815849278734336,
	Mac_10_2 = 2816948790362112,
	Mac_10_3 = 2818048301989888,
	Mac_10_4 = 2819147813617664,
	Mac_10_5 = 2820247325245440,
	Mac_Arch = 18374686479671623680,
	Mac_Arch32 = 72057594037927936,
	Mac_Arch64 = 144115188075855872,
	Mac_Version = 72057589742960640,

Type Changed: MonoMac.ObjCRuntime.PlatformHelper

Removed methods:

	public static int CompareIos (Platform a, Platform b);
	public static int CompareMac (Platform a, Platform b);
	public static Platform ToIos (Platform platform);
	public static Platform ToMac (Platform platform);

Added methods:

	[Obsolete ("UseCompareIosVersion")]
	public static int CompareIos (Platform a, Platform b);

	public static int CompareIosVersion (Platform a, Platform b);
	[Obsolete ("Use CompareMacVersion")]
	public static int CompareMac (Platform a, Platform b);

	public static int CompareMacVersion (Platform a, Platform b);
	public static Platform ToArch (Platform platform);
	[Obsolete ("Use ToIosVersion")]
	public static Platform ToIos (Platform platform);

	public static Platform ToIosArch (Platform platform);
	public static Platform ToIosVersion (Platform platform);
	[Obsolete ("Use ToMacVersion")]
	public static Platform ToMac (Platform platform);

	public static Platform ToMacArch (Platform platform);
	public static Platform ToMacVersion (Platform platform);
	public static Platform ToVersion (Platform platform);

New Type MonoMac.ObjCRuntime.iOSAttribute

public sealed class iOSAttribute : MonoMac.ObjCRuntime.AvailabilityAttribute, System.Runtime.InteropServices._Attribute {
	// constructors
	public iOSAttribute (byte major, byte minor);
}

New Type MonoMac.ObjCRuntime.MacAttribute

public sealed class MacAttribute : MonoMac.ObjCRuntime.AvailabilityAttribute, System.Runtime.InteropServices._Attribute {
	// constructors
	public MacAttribute (byte major, byte minor, bool onlyOn64);
}

Namespace MonoMac.Security

Type Changed: MonoMac.Security.SecAccessible

Added values:

	Invalid = -1,

Type Changed: MonoMac.Security.SecAuthenticationType

Added values:

	Invalid = -1,

Type Changed: MonoMac.Security.SecKey

Removed methods:

	public SecStatusCode Decrypt (SecPadding padding, System.Byte[] cipherText, System.Byte[] plainText);
	public SecStatusCode Decrypt (SecPadding padding, System.IntPtr cipherText, int cipherLen, System.IntPtr plainText, int playLen);
	public SecStatusCode Encrypt (SecPadding padding, System.IntPtr plainText, int playLen, System.IntPtr cipherText, int cipherLen);

Added methods:

	[Obsolete ("Use the Decrypt overload which returns (out) the plainText array so you can adjust it if needed")]
	public SecStatusCode Decrypt (SecPadding padding, System.Byte[] cipherText, System.Byte[] plainText);

	[Obsolete ("Use the Decrypt overload which returns (ref) the plainTextLen value so you can adjust it if needed")]
	public SecStatusCode Decrypt (SecPadding padding, System.IntPtr cipherText, int cipherTextLen, System.IntPtr plainText, int plainTextLen);

	public SecStatusCode Decrypt (SecPadding padding, System.Byte[] cipherText, System.Byte[]& plainText);
	public SecStatusCode Decrypt (SecPadding padding, System.IntPtr cipherText, int cipherTextLen, System.IntPtr plainText, System.Int32& plainTextLen);
	public SecStatusCode Encrypt (SecPadding padding, System.IntPtr plainText, int plainTextLen, System.IntPtr cipherText, System.Int32& cipherTextLen);
	[Obsolete ("Use the Encrypt overload which returns (out) the cipherTextLen value so you can adjust it if needed")]
	public SecStatusCode Encrypt (SecPadding padding, System.IntPtr plainText, int plainTextLen, System.IntPtr cipherText, int cipherTextLen);

	public SecStatusCode RawSign (SecPadding padding, System.Byte[] dataToSign, System.Byte[]& result);
	public SecStatusCode RawSign (SecPadding padding, System.IntPtr dataToSign, int dataToSignLen, System.Byte[]& result);

Type Changed: MonoMac.Security.SecKeyClass

Added values:

	Invalid = -1,

Type Changed: MonoMac.Security.SecKeyType

Added values:

	Invalid = -1,

Type Changed: MonoMac.Security.SecProtocol

Added values:

	Invalid = -1,

Type Changed: MonoMac.Security.SecRecord

Added methods:

	public MonoMac.Foundation.NSDictionary ToDictionary ();

Type Changed: MonoMac.Security.SslProtocol

Removed values:

	Ssl3_0 = 2,

Added values:

	Ssl_3_0 = 2,
	[Obsolete ("Use Ssl_3_0")]
	Ssl3_0 = 2,

New Type MonoMac.Security.SslAuthenticate

[Serializable]
public enum SslAuthenticate {
	Always = 1,
	Never = 0,
	Try = 2,
}

New Type MonoMac.Security.SslCipherSuite

[Serializable]
public enum SslCipherSuite {
	SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 = 23,
	SSL_DH_anon_WITH_3DES_EDE_CBC_SHA = 27,
	SSL_DH_anon_WITH_RC4_128_MD5 = 24,
	SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22,
	SSL_NULL_WITH_NULL_NULL = 0,
	SSL_RSA_EXPORT_WITH_RC4_40_MD5 = 3,
	SSL_RSA_WITH_3DES_EDE_CBC_SHA = 10,
	SSL_RSA_WITH_NULL_MD5 = 1,
	SSL_RSA_WITH_NULL_SHA = 2,
	SSL_RSA_WITH_RC4_128_MD5 = 4,
	SSL_RSA_WITH_RC4_128_SHA = 5,
	TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 27,
	TLS_DH_anon_WITH_AES_128_CBC_SHA = 52,
	TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 108,
	TLS_DH_anon_WITH_AES_128_GCM_SHA256 = 166,
	TLS_DH_anon_WITH_AES_256_CBC_SHA = 58,
	TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 109,
	TLS_DH_anon_WITH_AES_256_GCM_SHA384 = 167,
	TLS_DH_anon_WITH_RC4_128_MD5 = 24,
	TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22,
	TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51,
	TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103,
	TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57,
	TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107,
	TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 49155,
	TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 49156,
	TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 49189,
	TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 49157,
	TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 49190,
	TLS_ECDH_ECDSA_WITH_NULL_SHA = 49153,
	TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 49154,
	TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 49165,
	TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 49166,
	TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 49193,
	TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 49167,
	TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 49194,
	TLS_ECDH_RSA_WITH_NULL_SHA = 49163,
	TLS_ECDH_RSA_WITH_RC4_128_SHA = 49164,
	TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 49160,
	TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 49161,
	TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 49187,
	TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 49162,
	TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 49188,
	TLS_ECDHE_ECDSA_WITH_NULL_SHA = 49158,
	TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 49159,
	TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 49170,
	TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 49171,
	TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 49191,
	TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 49172,
	TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 49192,
	TLS_ECDHE_RSA_WITH_NULL_SHA = 49168,
	TLS_ECDHE_RSA_WITH_RC4_128_SHA = 49169,
	TLS_NULL_WITH_NULL_NULL = 0,
	TLS_PSK_WITH_3DES_EDE_CBC_SHA = 139,
	TLS_PSK_WITH_AES_128_CBC_SHA = 140,
	TLS_PSK_WITH_AES_128_CBC_SHA256 = 174,
	TLS_PSK_WITH_AES_256_CBC_SHA = 141,
	TLS_PSK_WITH_AES_256_CBC_SHA384 = 175,
	TLS_PSK_WITH_NULL_SHA = 44,
	TLS_PSK_WITH_NULL_SHA256 = 176,
	TLS_PSK_WITH_NULL_SHA384 = 177,
	TLS_PSK_WITH_RC4_128_SHA = 138,
	TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10,
	TLS_RSA_WITH_AES_128_CBC_SHA = 47,
	TLS_RSA_WITH_AES_128_CBC_SHA256 = 60,
	TLS_RSA_WITH_AES_256_CBC_SHA = 53,
	TLS_RSA_WITH_AES_256_CBC_SHA256 = 61,
	TLS_RSA_WITH_NULL_MD5 = 1,
	TLS_RSA_WITH_NULL_SHA = 2,
	TLS_RSA_WITH_NULL_SHA256 = 59,
	TLS_RSA_WITH_RC4_128_MD5 = 4,
	TLS_RSA_WITH_RC4_128_SHA = 5,
}

New Type MonoMac.Security.SslClientCertificateState

[Serializable]
public enum SslClientCertificateState {
	None = 0,
	Rejected = 3,
	Requested = 1,
	Sent = 2,
}

New Type MonoMac.Security.SslConnection

public abstract class SslConnection : System.IDisposable {
	// constructors
	protected SslConnection ();
	// properties
	public System.IntPtr ConnectionId { get; }
	// methods
	protected override void ~SslConnection ();
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public virtual SslStatus Read (System.IntPtr data, System.Int32& dataLength);
	public virtual SslStatus Write (System.IntPtr data, System.Int32& dataLength);
}

New Type MonoMac.Security.SslConnectionType

[Serializable]
public enum SslConnectionType {
	Datagram = 1,
	Stream = 0,
}

New Type MonoMac.Security.SslContext

public class SslContext : MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public SslContext (SslProtocolSide protocolSide, SslConnectionType connectionType);
	// properties
	public int BufferedReadSize { get; }
	public SslClientCertificateState ClientCertificateState { get; }
	public SslConnection Connection { get; set; }
	public int DatagramWriteSize { get; }
	public virtual System.IntPtr Handle { get; }
	public int MaxDatagramRecordSize { get; set; }
	[Obsolete ("Deprecated in 10.8")]
	public SslProtocol MaxProtocol { get; set; }

	[Obsolete ("Deprecated in 10.8")]
	public SslProtocol MinProtocol { get; set; }

	public SslCipherSuite NegotiatedCipher { get; }
	public SslProtocol NegotiatedProtocol { get; }
	public string PeerDomainName { get; set; }
	public System.Byte[] PeerId { get; set; }
	public SecTrust PeerTrust { get; }
	public SslSessionState SessionState { get; }
	// methods
	protected override void ~SslContext ();
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public System.Collections.Generic.IList<SslCipherSuite> GetEnabledCiphers ();
	public SslStatus GetLastStatus ();
	public SslStatus GetSessionOption (SslSessionOption option, System.Boolean& value);
	public System.Collections.Generic.IList<SslCipherSuite> GetSupportedCiphers ();
	public static System.IntPtr GetTypeId ();
	public SslStatus Handshake ();
	public SslStatus Read (System.Byte[] data, System.Int32& processed);
	public SslStatus SetCertificate (SecIdentity identify, System.Collections.Generic.IEnumerable<SecCertificate> certificates);
	public SslStatus SetClientSideAuthenticate (SslAuthenticate auth);
	public SslStatus SetDatagramHelloCookie (System.Byte[] cookie);
	public SslStatus SetEnabledCiphers (System.Collections.Generic.IEnumerable<SslCipherSuite> ciphers);
	public SslStatus SetEncryptionCertificate (SecIdentity identify, System.Collections.Generic.IEnumerable<SecCertificate> certificates);
	public SslStatus SetSessionOption (SslSessionOption option, bool value);
	public SslStatus Write (System.Byte[] data, System.Int32& processed);
}

New Type MonoMac.Security.SslProtocolSide

[Serializable]
public enum SslProtocolSide {
	Client = 1,
	Server = 0,
}

New Type MonoMac.Security.SslSessionOption

[Serializable]
public enum SslSessionOption {
	BreakOnCertRequested = 1,
	BreakOnClientAuth = 2,
	BreakOnServerAuth = 0,
	FalseStart = 3,
	SendOneByteRecord = 4,
}

New Type MonoMac.Security.SslSessionState

[Serializable]
public enum SslSessionState {
	Aborted = 4,
	Closed = 3,
	Connected = 2,
	Handshake = 1,
	Idle = 0,
	Invalid = -1,
}

New Type MonoMac.Security.SslStatus

[Serializable]
public enum SslStatus {
	BadCert = -9808,
	BadCipherSuite = -9818,
	BadConfiguration = -9848,
	BadRecordMac = -9846,
	BufferOverflow = -9817,
	CertExpired = -9814,
	CertNotYetValid = -9815,
	ClosedAbort = -9806,
	ClosedGraceful = -9805,
	ClosedNotNotified = -9816,
	ConnectionRefused = -9844,
	Crypto = -9809,
	DecryptionFail = -9845,
	FatalAlert = -9802,
	HostNameMismatch = -9843,
	IllegalParam = -9830,
	Internal = -9810,
	ModuleAttach = -9811,
	Negotiation = -9801,
	NoRootCert = -9813,
	PeerAccessDenied = -9832,
	PeerAuthCompleted = -9841,
	PeerBadCert = -9825,
	PeerBadRecordMac = -9820,
	PeerCertExpired = -9828,
	PeerCertRevoked = -9827,
	PeerCertUnknown = -9829,
	PeerClientCertRequested = -9842,
	PeerDecodeError = -9833,
	PeerDecompressFail = -9823,
	PeerDecryptError = -9834,
	PeerDecryptionFail = -9821,
	PeerExportRestriction = -9835,
	PeerHandshakeFail = -9824,
	PeerInsufficientSecurity = -9837,
	PeerInternalError = -9838,
	PeerNoRenegotiation = -9840,
	PeerProtocolVersion = -9836,
	PeerRecordOverflow = -9822,
	PeerUnexpectedMsg = -9819,
	PeerUnknownCA = -9831,
	PeerUnsupportedCert = -9826,
	PeerUserCancelled = -9839,
	Protocol = -9800,
	RecordOverflow = -9847,
	SessionNotFound = -9804,
	Success = 0,
	UnexpectedRecord = -9849,
	UnknownRootCert = -9812,
	WouldBlock = -9803,
	XCertChainInvalid = -9807,
}

New Type MonoMac.Security.SslStreamConnection

public class SslStreamConnection : MonoMac.Security.SslConnection, System.IDisposable {
	// constructors
	public SslStreamConnection (System.IO.Stream stream);
	// properties
	public System.IO.Stream InnerStream { get; }
	// methods
	public override SslStatus Read (System.IntPtr data, System.Int32& dataLength);
	public override SslStatus Write (System.IntPtr data, System.Int32& dataLength);
}

Namespace MonoMac.WebKit

Type Changed: MonoMac.WebKit.DomAttr

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomCDataSection

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomCharacterData

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomComment

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomDocument

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomDocumentFragment

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomDocumentType

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomElement

Added interfaces:

	IDomEventTarget

Added properties:

	public virtual string ClassName { get; set; }
	public virtual DomCssStyleDeclaration Style { get; }
	public virtual string TagName { get; }

Added methods:

	public virtual void WebKitRequestFullScreen (ushort flags);

Type Changed: MonoMac.WebKit.DomEntityReference

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomEvent

Removed properties:

	public virtual MonoMac.Foundation.NSObject CurrentTarget { get; }
	public virtual MonoMac.Foundation.NSObject SourceElement { get; }
	public virtual MonoMac.Foundation.NSObject Target { get; }

Added properties:

	public virtual DomEventTarget CurrentTarget { get; }
	public virtual DomEventTarget SourceElement { get; }
	public virtual DomEventTarget Target { get; }

Type Changed: MonoMac.WebKit.DomHtmlDocument

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomHtmlElement

Added interfaces:

	IDomEventTarget

Removed properties:

	public virtual string ClassName { get; set; }

Type Changed: MonoMac.WebKit.DomHtmlFormElement

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomHtmlInputElement

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomHtmlTextAreaElement

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomNode

Added interfaces:

	IDomEventTarget

Added methods:

	public virtual MonoMac.Foundation.NSObject Copy (MonoMac.Foundation.NSZone zone);

Type Changed: MonoMac.WebKit.DomProcessingInstruction

Added interfaces:

	IDomEventTarget

Type Changed: MonoMac.WebKit.DomText

Added interfaces:

	IDomEventTarget

New Type MonoMac.WebKit.DomDelta

[Serializable]
public enum DomDelta {
	Line = 1,
	Page = 2,
	Pixel = 0,
}

New Type MonoMac.WebKit.DomEventTarget

public class DomEventTarget : MonoMac.Foundation.NSObject, IDomEventTarget, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomEventTarget ();
	public DomEventTarget (MonoMac.Foundation.NSCoder coder);
	public DomEventTarget (MonoMac.Foundation.NSObjectFlag t);
	public DomEventTarget (System.IntPtr handle);
	// methods
	public virtual void AddEventListener (string type, DomEventListener listener, bool useCapture);
	public virtual MonoMac.Foundation.NSObject Copy (MonoMac.Foundation.NSZone zone);
	public virtual bool DispatchEvent (DomEvent evt);
	public virtual void RemoveEventListener (string type, DomEventListener listener, bool useCapture);
}

New Type MonoMac.WebKit.DomEventTarget_Extensions

public static class DomEventTarget_Extensions {
	// methods
	public static void AddEventListener (IDomEventTarget This, string type, DomEventListener listener, bool useCapture);
	public static bool DispatchEvent (IDomEventTarget This, DomEvent evt);
	public static void RemoveEventListener (IDomEventTarget This, string type, DomEventListener listener, bool useCapture);
}

New Type MonoMac.WebKit.DomKeyboardEvent

public class DomKeyboardEvent : MonoMac.WebKit.DomUIEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomKeyboardEvent (MonoMac.Foundation.NSCoder coder);
	public DomKeyboardEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomKeyboardEvent (System.IntPtr handle);
	// properties
	public virtual bool AltGraphKey { get; }
	public virtual bool AltKey { get; }
	public virtual int CharCode { get; }
	public override System.IntPtr ClassHandle { get; }
	public virtual bool CtrlKey { get; }
	public virtual int KeyCode { get; }
	public virtual string KeyIdentifier { get; }
	public virtual DomKeyLocation KeyLocation { get; }
	public virtual bool MetaKey { get; }
	public virtual bool ShiftKey { get; }
	// methods
	public virtual bool GetModifierState (string keyIdentifier);
	public virtual void InitEvent (string eventType, bool canBubble, bool cancelable, DomAbstractView view, string keyIdentifier, DomKeyLocation keyLocation, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool altGraphKey);
	public virtual void InitEvent (string eventType, bool canBubble, bool cancelable, DomAbstractView view, string keyIdentifier, DomKeyLocation keyLocation, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
}

New Type MonoMac.WebKit.DomKeyLocation

[Serializable]
public enum DomKeyLocation {
	Left = 1,
	NumberPad = 3,
	Right = 2,
	Standard = 0,
}

New Type MonoMac.WebKit.DomMouseEvent

public class DomMouseEvent : MonoMac.WebKit.DomUIEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomMouseEvent (MonoMac.Foundation.NSCoder coder);
	public DomMouseEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomMouseEvent (System.IntPtr handle);
	// properties
	public virtual bool AltKey { get; }
	public virtual ushort Button { get; }
	public override System.IntPtr ClassHandle { get; }
	public virtual int ClientX { get; }
	public virtual int ClientY { get; }
	public virtual bool CtrlKey { get; }
	public virtual DomNode FromElement { get; }
	public virtual bool MetaKey { get; }
	public virtual int OffsetX { get; }
	public virtual int OffsetY { get; }
	public virtual DomEventTarget RelatedTarget { get; }
	public virtual int ScreenX { get; }
	public virtual int ScreenY { get; }
	public virtual bool ShiftKey { get; }
	public virtual DomNode ToElement { get; }
	public virtual int X { get; }
	public virtual int Y { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void InitEvent (string eventType, bool canBubble, bool cancelable, DomAbstractView view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, ushort button, DomEventTarget relatedTarget);
}

New Type MonoMac.WebKit.DomOverflowEvent

public class DomOverflowEvent : MonoMac.WebKit.DomEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomOverflowEvent (MonoMac.Foundation.NSCoder coder);
	public DomOverflowEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomOverflowEvent (System.IntPtr handle);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual bool HasHorizontalOverflow { get; }
	public virtual bool HasVerticalOverflow { get; }
	public virtual ushort Orient { get; }
	// methods
	public virtual void InitEvent (ushort orient, bool hasHorizontalOverflow, bool hasVerticalOverflow);
}

New Type MonoMac.WebKit.DomProgressEvent

public class DomProgressEvent : MonoMac.WebKit.DomEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomProgressEvent (MonoMac.Foundation.NSCoder coder);
	public DomProgressEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomProgressEvent (System.IntPtr handle);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual bool IsLengthComputable { get; }
	public virtual ulong Loaded { get; }
	public virtual ulong Total { get; }
}

New Type MonoMac.WebKit.DomUIEvent

public class DomUIEvent : MonoMac.WebKit.DomEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomUIEvent (MonoMac.Foundation.NSCoder coder);
	public DomUIEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomUIEvent (System.IntPtr handle);
	// properties
	public virtual int CharCode { get; }
	public override System.IntPtr ClassHandle { get; }
	public virtual int Detail { get; }
	public virtual int KeyCode { get; }
	public virtual int LayerX { get; }
	public virtual int LayerY { get; }
	public virtual int PageX { get; }
	public virtual DomAbstractView View { get; }
	public virtual int Which { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void InitEvent (string eventType, bool canBubble, bool cancelable, DomAbstractView view, int detail);
}

New Type MonoMac.WebKit.DomWheelEvent

public class DomWheelEvent : MonoMac.WebKit.DomMouseEvent, MonoMac.Foundation.INSCopying, MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public DomWheelEvent (MonoMac.Foundation.NSCoder coder);
	public DomWheelEvent (MonoMac.Foundation.NSObjectFlag t);
	public DomWheelEvent (System.IntPtr handle);
	// properties
	public override System.IntPtr ClassHandle { get; }
	public virtual bool IsHorizontal { get; }
	public virtual DomDelta WheelDelta { get; }
	public virtual int WheelDeltaX { get; }
	public virtual int WheelDeltaY { get; }
	// methods
	public virtual void InitEvent (int wheelDeltaX, int wheelDeltaY, DomAbstractView view, int screenX, int screnY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey);
}

New Type MonoMac.WebKit.IDomEventTarget

public interface IDomEventTarget : MonoMac.ObjCRuntime.INativeObject, System.IDisposable {
}

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.