Skip to content

API Changes v4 to v5

axunonb edited this page Jun 14, 2025 · 13 revisions

API diff: Ical.Net.dll

Report created with Mono.ApiTools.NuGetDiff

Ical.Net.dll - Breaking Changes

Assembly Version Changed: 5.0.0.0 vs 4.3.1.0

Nullable Reference Types (NRT) Support

iCal.NET v5.0.0 now enables Nullable Reference Types (NRT) throughout the library. This means:

  • Reference type nullability is now explicitly annotated in all public APIs.
  • The compiler will provide warnings for possible null reference issues, helping you write safer and more robust code.
  • Consumers targeting .NET Core 3.0+, .NET Standard 2.1+, or .NET 5+ will benefit from improved static analysis and null-safety.

Namespace Ical.Net

Type Changed: Ical.Net.Calendar

Removed interface:

IServiceProvider

Removed properties:

public RecurrenceEvaluationModeType RecurrenceEvaluationMode { get; set; }
public RecurrenceRestrictionType RecurrenceRestriction { get; set; }

Removed methods:

public virtual void ClearEvaluation ();
public void Dispose ();
protected bool Equals (Calendar);
public void Evaluate<T> (DataTypes.IDateTime, DataTypes.IDateTime);
public void Evaluate (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee>, DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime, System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime, System.DateTime);

Type Changed: Ical.Net.CalendarCollection

Removed methods:

public void ClearEvaluation ();
protected bool Equals (CalendarCollection);
public CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime, DataTypes.IDateTime);
public CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee>, DataTypes.IDateTime, DataTypes.IDateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime, DataTypes.IDateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime, DataTypes.IDateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime, System.DateTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime, System.DateTime);

Type Changed: Ical.Net.CalendarExtensions

Removed method:

public static int GetIso8601WeekOfYear (this System.Globalization.Calendar, System.DateTime, System.Globalization.CalendarWeekRule, System.DayOfWeek);

Type Changed: Ical.Net.CalendarObject

Removed interface:

IServiceProvider

Removed methods:

public virtual T GetService<T> ();
public virtual T GetService<T> (string);
public virtual object GetService (string);
public virtual object GetService (System.Type);
public virtual void RemoveService (string);
public virtual void RemoveService (System.Type);
public virtual void SetService (object);
public virtual void SetService (string, object);

Type Changed: Ical.Net.CalendarObjectBase

Modified constructors:

-public CalendarObjectBase ()
+protected CalendarObjectBase ()

Type Changed: Ical.Net.CalendarObjectList

Removed constructor:

public CalendarObjectList (ICalendarObject);

Type Changed: Ical.Net.CalendarParameter

Removed interface:

IServiceProvider

Removed methods:

public virtual void AddValue (string);
public virtual void RemoveValue (string);

Type Changed: Ical.Net.CalendarProperty

Removed interface:

IServiceProvider

Removed methods:

public virtual void AddValue (object);
public virtual void RemoveValue (object);

Type Changed: Ical.Net.FrequencyOccurrence

Removed value:

None = -2147483648,

Type Changed: Ical.Net.FrequencyType

Removed value:

None = 0,

Modified fields:

-Daily = 4
+Daily = 3
-Hourly = 3
+Hourly = 2
-Minutely = 2
+Minutely = 1
-Monthly = 6
+Monthly = 5
-Secondly = 1
+Secondly = 0
-Weekly = 5
+Weekly = 4
-Yearly = 7
+Yearly = 6

Type Changed: Ical.Net.ICalendarObject

Removed interface:

IServiceProvider

Type Changed: Ical.Net.ICalendarProperty

Removed interface:

IServiceProvider

Type Changed: Ical.Net.ICalendarPropertyListContainer

Removed interface:

IServiceProvider

Type Changed: Ical.Net.IGetFreeBusy

Removed methods:

public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee>, DataTypes.IDateTime, DataTypes.IDateTime);

Type Changed: Ical.Net.IGetOccurrences

Removed methods:

public virtual void ClearEvaluation ();
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime, System.DateTime);

Type Changed: Ical.Net.IGetOccurrencesTyped

Removed methods:

public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime, System.DateTime);

Type Changed: Ical.Net.LibraryMetadata

Removed field:

public static string ProdId;

Type Changed: Ical.Net.RegexDefaults

Modified fields:

-public const int TimeoutMilliseconds = 200;
+public const int TimeoutMilliseconds = 2000;

Type Changed: Ical.Net.VTimeZoneInfo

Removed interface:

IServiceProvider

Removed properties:

public DataTypes.UtcOffset TZOffsetFrom { get; set; }
public DataTypes.UtcOffset TZOffsetTo { get; set; }

Modified properties:

-public virtual DataTypes.IDateTime DtStart { get; set; }
+public virtual DataTypes.CalDateTime DtStart { get; set; }
-public virtual System.Collections.Generic.IList<DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public virtual DataTypes.ExceptionDates ExceptionDates { get; set; }
-public virtual System.Collections.Generic.IList<DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public virtual DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public virtual DataTypes.IDateTime RecurrenceId { get; set; }
+public virtual DataTypes.CalDateTime RecurrenceId { get; set; }
-public virtual DataTypes.IDateTime Start { get; set; }
+public virtual DataTypes.CalDateTime Start { get; set; }

Removed methods:

public virtual void ClearEvaluation ();
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime, DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime, System.DateTime);

Removed Type Ical.Net.IServiceProvider

Removed Type Ical.Net.RecurrenceEvaluationModeType

Removed Type Ical.Net.RecurrenceRestrictionType

Namespace Ical.Net.CalendarComponents

Type Changed: Ical.Net.CalendarComponents.Alarm

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> Occurrences { get; set; }

Modified properties:

-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }

Removed methods:

protected virtual void AddRepeatedItems ();
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> GetOccurrences (IRecurringComponent, Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> Poll (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.CalendarComponent

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.CalendarComponents.CalendarEvent

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public Ical.Net.DataTypes.IDateTime DtStart { get; set; }
protected bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtEnd { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtEnd { get; set; }
-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime End { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime End { get; set; }
 public virtual bool IsAllDay { get; ---set;--- }

Removed methods:

public virtual bool OccursAt (Ical.Net.DataTypes.IDateTime);
public virtual bool OccursOn (Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.FreeBusy

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtEnd { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtEnd { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime DtStart { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStart { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime End { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime End { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Start { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Start { get; set; }

Removed methods:

public static FreeBusy Create (Ical.Net.ICalendarObject, FreeBusy);
public static FreeBusy CreateRequest (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.Organizer, System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Attendee>);
public virtual Ical.Net.FreeBusyStatus GetFreeBusyStatus (Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.IAlarmContainer

Removed method:

public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.ICalendarComponent

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.CalendarComponents.IRecurrable

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public abstract Ical.Net.DataTypes.ExceptionDates ExceptionDates { get; set; }
-public abstract System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public abstract Ical.Net.DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime RecurrenceId { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime RecurrenceId { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime Start { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime Start { get; set; }

Type Changed: Ical.Net.CalendarComponents.IRecurringComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract Ical.Net.DataTypes.IDateTime Created { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime Created { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime LastModified { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime LastModified { get; set; }

Type Changed: Ical.Net.CalendarComponents.IUniqueComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract Ical.Net.DataTypes.IDateTime DtStamp { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime DtStamp { get; set; }

Type Changed: Ical.Net.CalendarComponents.Journal

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected bool EvaluationIncludesReferenceDate { get; }

Removed methods:

protected bool Equals (Journal);

Type Changed: Ical.Net.CalendarComponents.RecurringComponent

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime Created { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Created { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime DtStart { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStart { get; set; }
-public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public virtual Ical.Net.DataTypes.ExceptionDates ExceptionDates { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime LastModified { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime LastModified { get; set; }
-public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public virtual Ical.Net.DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime RecurrenceId { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime RecurrenceId { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Start { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Start { get; set; }

Removed methods:

public virtual void ClearEvaluation ();
protected bool Equals (RecurringComponent);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (Ical.Net.DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (System.DateTime);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (System.DateTime, System.DateTime);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.Todo

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public Ical.Net.DataTypes.IDateTime DtStart { get; set; }
protected bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime Completed { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Completed { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Due { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Due { get; set; }
-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }

Removed methods:

public virtual bool IsActive (Ical.Net.DataTypes.IDateTime);
public virtual bool IsCompleted (Ical.Net.DataTypes.IDateTime);

Type Changed: Ical.Net.CalendarComponents.UniqueComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtStamp { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStamp { get; set; }

Type Changed: Ical.Net.CalendarComponents.VTimeZone

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (VTimeZone);

Namespace Ical.Net.Collections

Type Changed: Ical.Net.Collections.MultiLinkedList`1

Removed method:

public virtual void SetNext (Ical.Net.Collections.IMultiLinkedList<TType>);

Removed Type Ical.Net.Collections.GroupedListEnumerator`1

Namespace Ical.Net.Collections.Interfaces

Type Changed: Ical.Net.Collections.Interfaces.IValueObject`1

Removed methods:

public virtual void AddValue (T);
public virtual void RemoveValue (T);

Namespace Ical.Net.DataTypes

Type Changed: Ical.Net.DataTypes.AlarmOccurrence

Removed constructor:

public AlarmOccurrence (Ical.Net.CalendarComponents.Alarm, IDateTime, Ical.Net.CalendarComponents.IRecurringComponent);

Removed interface:

System.IComparable<AlarmOccurrence>

Modified properties:

-public IDateTime DateTime { get; set; }
+public CalDateTime DateTime { get; set; }

Removed methods:

public virtual int CompareTo (AlarmOccurrence);
protected bool Equals (AlarmOccurrence);

Type Changed: Ical.Net.DataTypes.Attachment

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Attachment);

Type Changed: Ical.Net.DataTypes.Attendee

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Attendee);

Type Changed: Ical.Net.DataTypes.CalDateTime

Modified base type:

-Ical.Net.DataTypes.EncodableDataType
+System.Object

Removed constructors:

public CalDateTime ();
public CalDateTime (IDateTime);
public CalDateTime (System.DateTime);
public CalDateTime (string);
public CalDateTime (System.DateTime, string);
public CalDateTime (int, int, int, string);
public CalDateTime (int, int, int, int, int, int);
public CalDateTime (int, int, int, int, int, int, string, Ical.Net.Calendar);

Removed interfaces:

ICalendarDataType
ICalendarParameterCollectionContainer
IDateTime
IEncodableDataType
Ical.Net.ICopyable
Ical.Net.IServiceProvider
System.IComparable<IDateTime>

Removed properties:

public System.DateTimeOffset AsDateTimeOffset { get; }
public System.DateTime AsSystemLocal { get; }
public Ical.Net.ICalendarObject AssociatedObject { get; set; }
public bool HasDate { get; set; }
public int Millisecond { get; }
public long Ticks { get; }
public System.TimeSpan TimeOfDay { get; }

Modified properties:

-public System.DateTime Date { get; }
+public System.DateOnly Date { get; }
 public bool HasTime { get; ---set;--- }
 public string TzId { get; ---set;--- }
 public System.DateTime Value { get; ---set;--- }

Removed methods:

public virtual IDateTime Add (System.TimeSpan);
public virtual IDateTime AddDays (int);
public virtual IDateTime AddHours (int);
public virtual IDateTime AddMilliseconds (int);
public virtual IDateTime AddMinutes (int);
public virtual IDateTime AddMonths (int);
public virtual IDateTime AddSeconds (int);
public virtual IDateTime AddTicks (long);
public virtual IDateTime AddYears (int);
public virtual void AssociateWith (IDateTime);
public virtual int CompareTo (IDateTime);
public virtual bool GreaterThan (IDateTime);
public virtual bool GreaterThanOrEqual (IDateTime);
public virtual bool LessThan (IDateTime);
public virtual bool LessThanOrEqual (IDateTime);
public virtual System.TimeSpan Subtract (IDateTime);
public virtual IDateTime Subtract (System.TimeSpan);
public virtual IDateTime ToTimeZone (string);
public static IDateTime op_Addition (CalDateTime, System.TimeSpan);
public static bool op_Equality (CalDateTime, IDateTime);
public static bool op_GreaterThan (CalDateTime, IDateTime);
public static bool op_GreaterThanOrEqual (CalDateTime, IDateTime);
public static CalDateTime op_Implicit (System.DateTime);
public static bool op_Inequality (CalDateTime, IDateTime);
public static bool op_LessThan (CalDateTime, IDateTime);
public static bool op_LessThanOrEqual (CalDateTime, IDateTime);
public static System.TimeSpan op_Subtraction (CalDateTime, IDateTime);
public static IDateTime op_Subtraction (CalDateTime, System.TimeSpan);

Type Changed: Ical.Net.DataTypes.CalendarDataType

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

public virtual T GetService<T> ();
public virtual T GetService<T> (string);
public virtual object GetService (string);
public virtual object GetService (System.Type);
public virtual void RemoveService (string);
public virtual void RemoveService (System.Type);
public virtual void SetService (object);
public virtual void SetService (string, object);

Type Changed: Ical.Net.DataTypes.EncodableDataType

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.FreeBusyEntry

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.GeographicLocation

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (GeographicLocation);

Type Changed: Ical.Net.DataTypes.ICalendarDataType

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.Organizer

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Organizer);

Modified methods:

-public override virtual void CopyFrom (Ical.Net.ICopyable obj)
+public override final void CopyFrom (Ical.Net.ICopyable obj)

Type Changed: Ical.Net.DataTypes.Period

Removed constructors:

public Period ();
public Period (IDateTime);
public Period (IDateTime, IDateTime);
public Period (IDateTime, System.TimeSpan);

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual System.TimeSpan Duration { get; ---set;--- }
+public virtual Duration? Duration { get; set; }
-public virtual IDateTime EndTime { get; ---set;--- }
+public virtual CalDateTime EndTime { get; set; }
-public virtual IDateTime StartTime { get; ---set;--- }
+public virtual CalDateTime StartTime { get; set; }

Removed method:

public virtual bool Contains (IDateTime);

Type Changed: Ical.Net.DataTypes.RecurrencePattern

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public Ical.Net.RecurrenceEvaluationModeType EvaluationMode { get; set; }
public Ical.Net.RecurrenceRestrictionType RestrictionType { get; set; }

Modified properties:

-public int Count { get; set; }
+public int? Count { get; set; }
-public System.DateTime Until { get; set; }
+public CalDateTime Until { get; set; }

Removed methods:

protected bool Equals (RecurrencePattern);

Type Changed: Ical.Net.DataTypes.RequestStatus

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.StatusCode

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.Trigger

Removed constructor:

public Trigger (System.TimeSpan);

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual IDateTime DateTime { get; set; }
+public virtual CalDateTime DateTime { get; set; }
-public virtual System.TimeSpan? Duration { get; set; }
+public virtual Duration? Duration { get; set; }

Removed methods:

protected bool Equals (Trigger);

Type Changed: Ical.Net.DataTypes.UtcOffset

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.WeekDay

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual int Offset { get; set; }
+public virtual int? Offset { get; set; }

Removed Type Ical.Net.DataTypes.IDateTime

Removed Type Ical.Net.DataTypes.PeriodList

Namespace Ical.Net.Evaluation

Type Changed: Ical.Net.Evaluation.Evaluator

Removed constructors:

protected Evaluator (Ical.Net.DataTypes.ICalendarDataType);
protected Evaluator (Ical.Net.ICalendarObject);

Removed field:

protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> MPeriods;

Removed properties:

protected Ical.Net.ICalendarObject AssociatedObject { get; set; }
public System.Globalization.Calendar Calendar { get; }
public System.DateTime EvaluationEndBounds { get; set; }
public System.DateTime EvaluationStartBounds { get; set; }
public System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Periods { get; }

Removed methods:

public virtual void Clear ();
protected Ical.Net.DataTypes.IDateTime ConvertToIDateTime (System.DateTime, Ical.Net.DataTypes.IDateTime);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime, bool);
protected void IncrementDate (ref System.DateTime, Ical.Net.DataTypes.RecurrencePattern, int);

Type Changed: Ical.Net.Evaluation.EventEvaluator

Modified properties:

 protected Ical.Net.CalendarComponents.CalendarEvent CalendarEvent { get; ---set;--- }

Type Changed: Ical.Net.Evaluation.IEvaluator

Removed properties:

public Ical.Net.ICalendarObject AssociatedObject { get; }
public System.Globalization.Calendar Calendar { get; }
public System.DateTime EvaluationEndBounds { get; }
public System.DateTime EvaluationStartBounds { get; }
public System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Periods { get; }

Removed methods:

public virtual void Clear ();
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime, bool);

Type Changed: Ical.Net.Evaluation.RecurringEvaluator

Removed methods:

protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateExDate (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateExRule (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateRDate (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateRRule (Ical.Net.DataTypes.IDateTime, System.DateTime, System.DateTime, bool);

Type Changed: Ical.Net.Evaluation.TodoEvaluator

Removed methods:

public void DetermineStartingRecurrence (Ical.Net.DataTypes.PeriodList, ref Ical.Net.DataTypes.IDateTime);
public void DetermineStartingRecurrence (Ical.Net.DataTypes.RecurrencePattern, ref Ical.Net.DataTypes.IDateTime);
public void EvaluateToPreviousOccurrence (Ical.Net.DataTypes.IDateTime, Ical.Net.DataTypes.IDateTime);

Removed Type Ical.Net.Evaluation.PeriodListEvaluator

Removed Type Ical.Net.Evaluation.TimeZoneEvaluator

Namespace Ical.Net.Serialization

Type Changed: Ical.Net.Serialization.CalendarSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.ComponentSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataMapSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.EventSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.GenericListSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.ISerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.IStringSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.ParameterSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.PropertySerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.SerializerBase

Removed interface:

Ical.Net.IServiceProvider

Namespace Ical.Net.Serialization.DataTypes

Type Changed: Ical.Net.Serialization.DataTypes.AttachmentSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.AttendeeSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.DataTypeSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.DateTimeSerializer

Modified base type:

-Ical.Net.Serialization.DataTypes.EncodableDataTypeSerializer
+Ical.Net.Serialization.SerializerBase

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.EncodableDataTypeSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.EnumSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.FreeBusyEntrySerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.GeographicLocationSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.IntegerSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.OrganizerSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.PeriodListSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.PeriodSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.RecurrencePatternSerializer

Removed interface:

Ical.Net.IServiceProvider

Removed method:

public virtual void CheckMutuallyExclusive<T, TU> (string, string, T, TU);

Type Changed: Ical.Net.Serialization.DataTypes.RequestStatusSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.StatusCodeSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.StringSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.TriggerSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.UriSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.UtcOffsetSerializer

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.WeekDaySerializer

Removed interface:

Ical.Net.IServiceProvider

Removed Type Ical.Net.Serialization.DataTypes.TimeSpanSerializer

Ical.Net.dll - All Changes

Assembly Version Changed: 5.0.0.0 vs 4.3.1.0

Namespace Ical.Net

Type Changed: Ical.Net.Calendar

Removed interface:

IServiceProvider

Removed properties:

public virtual RecurrenceEvaluationModeType RecurrenceEvaluationMode { get; set; }
public virtual RecurrenceRestrictionType RecurrenceRestriction { get; set; }

Removed methods:

public virtual void ClearEvaluation ();
public void Dispose ();
protected bool Equals (Calendar other);
public override bool Equals (object obj);
public void Evaluate<T> (DataTypes.IDateTime fromDate, DataTypes.IDateTime toDate);
public void Evaluate (DataTypes.IDateTime fromDate, DataTypes.IDateTime toDate);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);
public override int GetHashCode ();
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime startTime, System.DateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime startTime, System.DateTime endTime);

Added methods:

public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.CalDateTime fromInclusive, DataTypes.CalDateTime toExclusive);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.CalDateTime fromInclusive, DataTypes.CalDateTime toExclusive);
public virtual System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);
public virtual System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);

Type Changed: Ical.Net.CalendarCollection

Removed methods:

public void ClearEvaluation ();
protected bool Equals (CalendarCollection obj);
public override bool Equals (object obj);
public CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);
public CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);
public override int GetHashCode ();
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime dt);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime dt);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime dt);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime dt);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime startTime, System.DateTime endTime);
public System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime startTime, System.DateTime endTime);

Added methods:

public CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.CalDateTime fromInclusive, DataTypes.CalDateTime toExclusive);
public System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);
public System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);

Type Changed: Ical.Net.CalendarExtensions

Removed method:

public static int GetIso8601WeekOfYear (this System.Globalization.Calendar calendar, System.DateTime time, System.Globalization.CalendarWeekRule rule, System.DayOfWeek firstDayOfWeek);

Added methods:

public static int GetIso8601WeekOfYear (this System.Globalization.Calendar calendar, DataTypes.CalDateTime time, System.DayOfWeek firstDayOfWeek);
public static int GetIso8601WeeksInYear (this System.Globalization.Calendar calendar, int year, System.DayOfWeek firstDayOfWeek);
public static int GetIso8601YearOfWeek (this System.Globalization.Calendar calendar, DataTypes.CalDateTime time, System.DayOfWeek firstDayOfWeek);

Type Changed: Ical.Net.CalendarObject

Removed interface:

IServiceProvider

Removed methods:

public virtual T GetService<T> ();
public virtual T GetService<T> (string name);
public virtual object GetService (string name);
public virtual object GetService (System.Type serviceType);
public virtual void RemoveService (string name);
public virtual void RemoveService (System.Type type);
public virtual void SetService (object obj);
public virtual void SetService (string name, object obj);

Type Changed: Ical.Net.CalendarObjectBase

Modified constructors:

-public CalendarObjectBase ()
+protected CalendarObjectBase ()

Modified methods:

-public virtual void CopyFrom (ICopyable c)
+public virtual void CopyFrom (ICopyable obj)

Type Changed: Ical.Net.CalendarObjectList

Removed constructor:

public CalendarObjectList (ICalendarObject parent);

Added constructor:

public CalendarObjectList ();

Type Changed: Ical.Net.CalendarParameter

Removed interface:

IServiceProvider

Removed methods:

public virtual void AddValue (string value);
public virtual void RemoveValue (string value);

Added methods:

public virtual bool AddValue (string value);
public virtual bool RemoveValue (string value);

Type Changed: Ical.Net.CalendarProperty

Removed interface:

IServiceProvider

Removed methods:

public virtual void AddValue (object value);
public virtual void RemoveValue (object value);

Added methods:

public virtual bool AddValue (object value);
public virtual bool RemoveValue (object value);

Type Changed: Ical.Net.FrequencyOccurrence

Removed value:

None = -2147483648,

Type Changed: Ical.Net.FrequencyType

Removed value:

None = 0,

Modified fields:

-Daily = 4
+Daily = 3
-Hourly = 3
+Hourly = 2
-Minutely = 2
+Minutely = 1
-Monthly = 6
+Monthly = 5
-Secondly = 1
+Secondly = 0
-Weekly = 5
+Weekly = 4
-Yearly = 7
+Yearly = 6

Type Changed: Ical.Net.ICalendarObject

Removed interface:

IServiceProvider

Type Changed: Ical.Net.ICalendarProperty

Removed interface:

IServiceProvider

Type Changed: Ical.Net.ICalendarPropertyListContainer

Removed interface:

IServiceProvider

Type Changed: Ical.Net.IGetFreeBusy

Removed methods:

public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.IDateTime fromInclusive, DataTypes.IDateTime toExclusive);

Added methods:

public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.CalDateTime fromInclusive, DataTypes.CalDateTime toExclusive);
public virtual CalendarComponents.FreeBusy GetFreeBusy (DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<DataTypes.Attendee> contacts, DataTypes.CalDateTime fromInclusive, DataTypes.CalDateTime toExclusive);

Type Changed: Ical.Net.IGetOccurrences

Removed methods:

public virtual void ClearEvaluation ();
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime startTime, System.DateTime endTime);

Added method:

public virtual System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);

Type Changed: Ical.Net.IGetOccurrencesTyped

Removed methods:

public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences<T> (System.DateTime startTime, System.DateTime endTime);

Added method:

public virtual System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences<T> (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);

Type Changed: Ical.Net.LibraryMetadata

Removed field:

public static string ProdId;

Added property:

public static string ProdId { get; }

Type Changed: Ical.Net.RegexDefaults

Modified fields:

-public const int TimeoutMilliseconds = 200;
+public const int TimeoutMilliseconds = 2000;

Type Changed: Ical.Net.VTimeZoneInfo

Removed interface:

IServiceProvider

Removed properties:

public virtual DataTypes.UtcOffset TZOffsetFrom { get; set; }
public virtual DataTypes.UtcOffset TZOffsetTo { get; set; }

Modified properties:

-public virtual DataTypes.IDateTime DtStart { get; set; }
+public virtual DataTypes.CalDateTime DtStart { get; set; }
-public virtual System.Collections.Generic.IList<DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public virtual DataTypes.ExceptionDates ExceptionDates { get; set; }
-public virtual System.Collections.Generic.IList<DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public virtual DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public virtual DataTypes.IDateTime RecurrenceId { get; set; }
+public virtual DataTypes.CalDateTime RecurrenceId { get; set; }
-public virtual DataTypes.IDateTime Start { get; set; }
+public virtual DataTypes.CalDateTime Start { get; set; }

Added property:

public virtual Evaluation.IEvaluator Evaluator { get; }

Removed methods:

public virtual void ClearEvaluation ();
public override bool Equals (object obj);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (DataTypes.IDateTime startTime, DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<DataTypes.Occurrence> GetOccurrences (System.DateTime startTime, System.DateTime endTime);

Added method:

public virtual System.Collections.Generic.IEnumerable<DataTypes.Occurrence> GetOccurrences (DataTypes.CalDateTime startTime, Evaluation.EvaluationOptions options);

Removed Type Ical.Net.IServiceProvider

Removed Type Ical.Net.RecurrenceEvaluationModeType

Removed Type Ical.Net.RecurrenceRestrictionType

New Type: Ical.Net.CollectionExtensions

public static class CollectionExtensions {
	// methods
	public static System.Collections.Generic.IEnumerable<DataTypes.Occurrence> TakeWhileBefore (this System.Collections.Generic.IEnumerable<DataTypes.Occurrence> sequence, DataTypes.CalDateTime periodEnd);
	public static System.Collections.Generic.IEnumerable<DataTypes.Period> TakeWhileBefore (this System.Collections.Generic.IEnumerable<DataTypes.Period> sequence, DataTypes.CalDateTime periodEnd);
}

New Type: Ical.Net.DefaultTimeZoneResolver

public static class DefaultTimeZoneResolver {
	// methods
	public static NodaTime.DateTimeZone GetZone (string tzId);
}

New Type: Ical.Net.TimeZoneResolvers

public static class TimeZoneResolvers {
	// properties
	public static System.Func<System.String,NodaTime.DateTimeZone> Default { get; }
	public static System.Func<System.String,NodaTime.DateTimeZone> TimeZoneResolver { get; set; }
}

Namespace Ical.Net.CalendarComponents

Type Changed: Ical.Net.CalendarComponents.Alarm

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> Occurrences { get; set; }

Modified properties:

-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }

Removed methods:

protected virtual void AddRepeatedItems ();
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> GetOccurrences (IRecurringComponent rc, Ical.Net.DataTypes.IDateTime fromDate, Ical.Net.DataTypes.IDateTime toDate);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> Poll (Ical.Net.DataTypes.IDateTime start, Ical.Net.DataTypes.IDateTime end);

Added methods:

public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> GetOccurrences (IRecurringComponent rc, Ical.Net.DataTypes.CalDateTime fromDate, Ical.Net.Evaluation.EvaluationOptions options);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> Poll (Ical.Net.DataTypes.CalDateTime start, Ical.Net.Evaluation.EvaluationOptions options);

Type Changed: Ical.Net.CalendarComponents.CalendarComponent

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.CalendarComponents.CalendarEvent

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public override Ical.Net.DataTypes.IDateTime DtStart { get; set; }
protected override bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtEnd { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtEnd { get; set; }
-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime End { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime End { get; set; }
 public ---virtual--- Ical.Net.DataTypes.GeographicLocation GeographicLocation { get; set; }
 public virtual bool IsAllDay { get; ---set;--- }
 public ---virtual--- string Location { get; set; }
 public ---virtual--- string Status { get; set; }
 public ---virtual--- string Transparency { get; set; }

Added properties:

public Ical.Net.DataTypes.Duration EffectiveDuration { get; }
public override Ical.Net.Evaluation.IEvaluator Evaluator { get; }

Removed methods:

public override bool Equals (object obj);
public override int GetHashCode ();
public virtual bool OccursAt (Ical.Net.DataTypes.IDateTime dateTime);
public virtual bool OccursOn (Ical.Net.DataTypes.IDateTime dateTime);
protected override void OnDeserialized (System.Runtime.Serialization.StreamingContext context);

Type Changed: Ical.Net.CalendarComponents.FreeBusy

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtEnd { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtEnd { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime DtStart { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStart { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime End { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime End { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Start { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Start { get; set; }

Removed methods:

public static FreeBusy Create (Ical.Net.ICalendarObject obj, FreeBusy freeBusyRequest);
public static FreeBusy CreateRequest (Ical.Net.DataTypes.IDateTime fromInclusive, Ical.Net.DataTypes.IDateTime toExclusive, Ical.Net.DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Attendee> contacts);
public virtual Ical.Net.FreeBusyStatus GetFreeBusyStatus (Ical.Net.DataTypes.IDateTime dt);

Added methods:

public static FreeBusy Create (Ical.Net.ICalendarObject obj, FreeBusy freeBusyRequest, Ical.Net.Evaluation.EvaluationOptions options);
public static FreeBusy CreateRequest (Ical.Net.DataTypes.CalDateTime fromInclusive, Ical.Net.DataTypes.CalDateTime toExclusive, Ical.Net.DataTypes.Organizer organizer, System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Attendee> contacts);
public virtual Ical.Net.FreeBusyStatus GetFreeBusyStatus (Ical.Net.DataTypes.CalDateTime dt);

Type Changed: Ical.Net.CalendarComponents.IAlarmContainer

Removed method:

public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.IDateTime startTime, Ical.Net.DataTypes.IDateTime endTime);

Added method:

public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.CalDateTime startTime, Ical.Net.DataTypes.CalDateTime endTime);

Type Changed: Ical.Net.CalendarComponents.ICalendarComponent

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.CalendarComponents.IRecurrable

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public abstract Ical.Net.DataTypes.ExceptionDates ExceptionDates { get; set; }
-public abstract System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public abstract Ical.Net.DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime RecurrenceId { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime RecurrenceId { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime Start { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime Start { get; set; }

Added property:

public virtual Ical.Net.Evaluation.IEvaluator Evaluator { get; }

Type Changed: Ical.Net.CalendarComponents.IRecurringComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract Ical.Net.DataTypes.IDateTime Created { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime Created { get; set; }
-public abstract Ical.Net.DataTypes.IDateTime LastModified { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime LastModified { get; set; }

Type Changed: Ical.Net.CalendarComponents.IUniqueComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public abstract Ical.Net.DataTypes.IDateTime DtStamp { get; set; }
+public abstract Ical.Net.DataTypes.CalDateTime DtStamp { get; set; }

Type Changed: Ical.Net.CalendarComponents.Journal

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected override bool EvaluationIncludesReferenceDate { get; }

Added property:

public override Ical.Net.Evaluation.IEvaluator Evaluator { get; }

Removed methods:

protected bool Equals (Journal other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.CalendarComponents.RecurringComponent

Removed interface:

Ical.Net.IServiceProvider

Removed property:

protected virtual bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime Created { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Created { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime DtStart { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStart { get; set; }
-public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> ExceptionDates { get; ---set;--- }
+public virtual Ical.Net.DataTypes.ExceptionDates ExceptionDates { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime LastModified { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime LastModified { get; set; }
-public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.PeriodList> RecurrenceDates { get; ---set;--- }
+public virtual Ical.Net.DataTypes.RecurrenceDates RecurrenceDates { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime RecurrenceId { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime RecurrenceId { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Start { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Start { get; set; }

Added property:

public virtual Ical.Net.Evaluation.IEvaluator Evaluator { get; }

Removed methods:

public virtual void ClearEvaluation ();
protected bool Equals (RecurringComponent other);
public override bool Equals (object obj);
public override int GetHashCode ();
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (Ical.Net.DataTypes.IDateTime dt);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (System.DateTime dt);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (Ical.Net.DataTypes.IDateTime startTime, Ical.Net.DataTypes.IDateTime endTime);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Occurrence> GetOccurrences (System.DateTime startTime, System.DateTime endTime);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.IDateTime startTime, Ical.Net.DataTypes.IDateTime endTime);

Added methods:

public virtual System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Occurrence> GetOccurrences (Ical.Net.DataTypes.CalDateTime startTime, Ical.Net.Evaluation.EvaluationOptions options);
public virtual System.Collections.Generic.IList<Ical.Net.DataTypes.AlarmOccurrence> PollAlarms (Ical.Net.DataTypes.CalDateTime startTime, Ical.Net.DataTypes.CalDateTime endTime);

Type Changed: Ical.Net.CalendarComponents.Todo

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public override Ical.Net.DataTypes.IDateTime DtStart { get; set; }
protected override bool EvaluationIncludesReferenceDate { get; }

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime Completed { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Completed { get; set; }
-public virtual Ical.Net.DataTypes.IDateTime Due { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime Due { get; set; }
-public virtual System.TimeSpan Duration { get; set; }
+public virtual Ical.Net.DataTypes.Duration? Duration { get; set; }

Added property:

public override Ical.Net.Evaluation.IEvaluator Evaluator { get; }

Removed methods:

public virtual bool IsActive (Ical.Net.DataTypes.IDateTime currDt);
public virtual bool IsCompleted (Ical.Net.DataTypes.IDateTime currDt);

Added methods:

public virtual bool IsActive (Ical.Net.DataTypes.CalDateTime currDt);
public virtual bool IsCompleted (Ical.Net.DataTypes.CalDateTime currDt);

Type Changed: Ical.Net.CalendarComponents.UniqueComponent

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual Ical.Net.DataTypes.IDateTime DtStamp { get; set; }
+public virtual Ical.Net.DataTypes.CalDateTime DtStamp { get; set; }

Type Changed: Ical.Net.CalendarComponents.VTimeZone

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (VTimeZone other);
public override bool Equals (object obj);
public override int GetHashCode ();

Modified methods:

-public VTimeZone FromDateTimeZone (string tzId, System.DateTime earlistDateTimeToSupport, bool includeHistoricalData)
+public VTimeZone FromDateTimeZone (string tzId, System.DateTime earliestDateTimeToSupport, bool includeHistoricalData)
-public VTimeZone FromLocalTimeZone (System.DateTime earlistDateTimeToSupport, bool includeHistoricalData)
+public VTimeZone FromLocalTimeZone (System.DateTime earliestDateTimeToSupport, bool includeHistoricalData)
-public VTimeZone FromSystemTimeZone (System.TimeZoneInfo tzinfo, System.DateTime earlistDateTimeToSupport, bool includeHistoricalData)
+public VTimeZone FromSystemTimeZone (System.TimeZoneInfo tzinfo, System.DateTime earliestDateTimeToSupport, bool includeHistoricalData)

Namespace Ical.Net.Collections

Type Changed: Ical.Net.Collections.GroupedList`2

Modified methods:

-public virtual int IndexOf (TItem item)
+public virtual int IndexOf (TItem obj)
-public virtual bool Remove (TItem obj)
+public virtual bool Remove (TItem item)

Type Changed: Ical.Net.Collections.MultiLinkedList`1

Removed method:

public virtual void SetNext (Ical.Net.Collections.IMultiLinkedList<TType> next);

Removed Type Ical.Net.Collections.GroupedListEnumerator`1

Namespace Ical.Net.Collections.Interfaces

Type Changed: Ical.Net.Collections.Interfaces.IValueObject`1

Removed methods:

public virtual void AddValue (T value);
public virtual void RemoveValue (T value);

Added methods:

public virtual bool AddValue (T value);
public virtual bool RemoveValue (T value);

Namespace Ical.Net.DataTypes

Type Changed: Ical.Net.DataTypes.AlarmOccurrence

Removed constructor:

public AlarmOccurrence (Ical.Net.CalendarComponents.Alarm a, IDateTime dt, Ical.Net.CalendarComponents.IRecurringComponent rc);

Added constructor:

public AlarmOccurrence (Ical.Net.CalendarComponents.Alarm a, CalDateTime dt, Ical.Net.CalendarComponents.IRecurringComponent rc);

Removed interface:

System.IComparable<AlarmOccurrence>

Modified properties:

-public IDateTime DateTime { get; set; }
+public CalDateTime DateTime { get; set; }

Removed methods:

public virtual int CompareTo (AlarmOccurrence other);
protected bool Equals (AlarmOccurrence other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.Attachment

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Attachment other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.Attendee

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Attendee other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.CalDateTime

Modified base type:

-Ical.Net.DataTypes.EncodableDataType
+System.Object

Removed constructors:

public CalDateTime ();
public CalDateTime (IDateTime value);
public CalDateTime (System.DateTime value);
public CalDateTime (string value);
public CalDateTime (System.DateTime value, string tzId);
public CalDateTime (int year, int month, int day, string tzId);
public CalDateTime (int year, int month, int day, int hour, int minute, int second);
public CalDateTime (int year, int month, int day, int hour, int minute, int second, string tzId, Ical.Net.Calendar cal);

Modified constructors:

-public CalDateTime (int year, int month, int day, int hour, int minute, int second, string tzId = "NULL")
+public CalDateTime (int year, int month, int day, int hour, int minute, int second, string tzId)

Added constructors:

public CalDateTime (CalDateTime value);
public CalDateTime (System.DateOnly date);
public CalDateTime (System.DateTime value, bool hasTime);
public CalDateTime (string value, string tzId);
public CalDateTime (System.DateOnly date, System.TimeOnly? time, string tzId);
public CalDateTime (System.DateTime value, string tzId, bool hasTime);

Removed interfaces:

ICalendarDataType
ICalendarParameterCollectionContainer
IDateTime
IEncodableDataType
Ical.Net.ICopyable
Ical.Net.IServiceProvider
System.IComparable<IDateTime>

Added interface:

System.IComparable<CalDateTime>

Added field:

public static const string UtcTzId = "UTC";

Removed properties:

public virtual System.DateTimeOffset AsDateTimeOffset { get; }
public virtual System.DateTime AsSystemLocal { get; }
public override Ical.Net.ICalendarObject AssociatedObject { get; set; }
public virtual bool HasDate { get; set; }
public virtual int Millisecond { get; }
public virtual long Ticks { get; }
public System.TimeSpan TimeOfDay { get; }

Modified properties:

-public virtual System.DateTime AsUtc { get; }
+public final System.DateTime AsUtc { get; }
-public virtual System.DateTime---System.DateOnly--- Date { get; }
+public final +++System.DateTime+++System.DateOnly Date { get; }
-public virtual int Day { get; }
+public final int Day { get; }
-public virtual System.DayOfWeek DayOfWeek { get; }
+public final System.DayOfWeek DayOfWeek { get; }
-public virtual bool HasTime { get; ---set;--- }
+public final bool HasTime { get; set; }
-public virtual int Hour { get; }
+public final int Hour { get; }
-public virtual bool IsUtc { get; }
+public final bool IsUtc { get; }
-public virtual int Minute { get; }
+public final int Minute { get; }
-public virtual int Month { get; }
+public final int Month { get; }
-public virtual int Second { get; }
+public final int Second { get; }
-public virtual string TimeZoneName { get; }
+public final string TimeZoneName { get; }
-public virtual string TzId { get; ---set;--- }
+public final string TzId { get; set; }
-public virtual System.DateTime Value { get; ---set;--- }
+public final System.DateTime Value { get; set; }
-public virtual int Year { get; }
+public final int Year { get; }

Added properties:

public bool IsFloating { get; }
public System.TimeOnly? Time { get; }
public static CalDateTime UtcNow { get; }

Removed methods:

public virtual IDateTime Add (System.TimeSpan ts);
public virtual IDateTime AddDays (int days);
public virtual IDateTime AddHours (int hours);
public virtual IDateTime AddMilliseconds (int milliseconds);
public virtual IDateTime AddMinutes (int minutes);
public virtual IDateTime AddMonths (int months);
public virtual IDateTime AddSeconds (int seconds);
public virtual IDateTime AddTicks (long ticks);
public virtual IDateTime AddYears (int years);
public virtual void AssociateWith (IDateTime dt);
public virtual int CompareTo (IDateTime dt);
public override void CopyFrom (Ical.Net.ICopyable obj);
public virtual bool GreaterThan (IDateTime dt);
public virtual bool GreaterThanOrEqual (IDateTime dt);
public virtual bool LessThan (IDateTime dt);
public virtual bool LessThanOrEqual (IDateTime dt);
public virtual System.TimeSpan Subtract (IDateTime dt);
public virtual IDateTime Subtract (System.TimeSpan ts);
public virtual IDateTime ToTimeZone (string tzId);
public static IDateTime op_Addition (CalDateTime left, System.TimeSpan right);
public static bool op_Equality (CalDateTime left, IDateTime right);
public static bool op_GreaterThan (CalDateTime left, IDateTime right);
public static bool op_GreaterThanOrEqual (CalDateTime left, IDateTime right);
public static CalDateTime op_Implicit (System.DateTime left);
public static bool op_Inequality (CalDateTime left, IDateTime right);
public static bool op_LessThan (CalDateTime left, IDateTime right);
public static bool op_LessThanOrEqual (CalDateTime left, IDateTime right);
public static System.TimeSpan op_Subtraction (CalDateTime left, IDateTime right);
public static IDateTime op_Subtraction (CalDateTime left, System.TimeSpan right);

Modified methods:

-public override bool Equals (object other)
+public override bool Equals (object obj)

Added methods:

public CalDateTime Add (Duration d);
public CalDateTime AddDays (int days);
public CalDateTime AddHours (int hours);
public CalDateTime AddMinutes (int minutes);
public CalDateTime AddMonths (int months);
public CalDateTime AddSeconds (int seconds);
public CalDateTime AddYears (int years);
public virtual int CompareTo (CalDateTime dt);
public bool GreaterThan (CalDateTime dt);
public bool GreaterThanOrEqual (CalDateTime dt);
public bool LessThan (CalDateTime dt);
public bool LessThanOrEqual (CalDateTime dt);
public Duration Subtract (CalDateTime dt);
public System.TimeSpan SubtractExact (CalDateTime dt);
public CalDateTime ToTimeZone (string otherTzId);
public static bool op_Equality (CalDateTime left, CalDateTime right);
public static bool op_GreaterThan (CalDateTime left, CalDateTime right);
public static bool op_GreaterThanOrEqual (CalDateTime left, CalDateTime right);
public static bool op_Inequality (CalDateTime left, CalDateTime right);
public static bool op_LessThan (CalDateTime left, CalDateTime right);
public static bool op_LessThanOrEqual (CalDateTime left, CalDateTime right);

Type Changed: Ical.Net.DataTypes.CalendarDataType

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

public virtual T GetService<T> ();
public virtual T GetService<T> (string name);
public virtual object GetService (string name);
public virtual object GetService (System.Type serviceType);
public virtual void RemoveService (string name);
public virtual void RemoveService (System.Type type);
public virtual void SetService (object obj);
public virtual void SetService (string name, object obj);

Type Changed: Ical.Net.DataTypes.EncodableDataType

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.FreeBusyEntry

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.GeographicLocation

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (GeographicLocation other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.ICalendarDataType

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.Organizer

Removed interface:

Ical.Net.IServiceProvider

Removed methods:

protected bool Equals (Organizer other);
public override bool Equals (object obj);
public override int GetHashCode ();

Modified methods:

-public override virtual void CopyFrom (Ical.Net.ICopyable obj)
+public override final void CopyFrom (Ical.Net.ICopyable obj)

Type Changed: Ical.Net.DataTypes.Period

Removed constructors:

public Period ();
public Period (IDateTime occurs);
public Period (IDateTime start, IDateTime end);
public Period (IDateTime start, System.TimeSpan duration);

Added constructors:

public Period (CalDateTime start, CalDateTime end);
public Period (CalDateTime start, Duration duration);

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual System.TimeSpan Duration { get; ---set;--- }
+public virtual Duration? Duration { get; set; }
-public virtual IDateTime EndTime { get; ---set;--- }
+public virtual CalDateTime EndTime { get; set; }
-public virtual IDateTime StartTime { get; ---set;--- }
+public virtual CalDateTime StartTime { get; set; }

Added properties:

public virtual Duration? EffectiveDuration { get; }
public virtual CalDateTime EffectiveEndTime { get; }

Removed method:

public virtual bool Contains (IDateTime dt);

Added method:

public virtual bool Contains (CalDateTime dt);

Type Changed: Ical.Net.DataTypes.RecurrencePattern

Removed interface:

Ical.Net.IServiceProvider

Removed properties:

public Ical.Net.RecurrenceEvaluationModeType EvaluationMode { get; set; }
public Ical.Net.RecurrenceRestrictionType RestrictionType { get; set; }

Modified properties:

-public int Count { get; set; }
+public int? Count { get; set; }
-public System.DateTime Until { get; set; }
+public CalDateTime Until { get; set; }

Removed methods:

protected bool Equals (RecurrencePattern other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.RequestStatus

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.StatusCode

Removed interface:

Ical.Net.IServiceProvider

Type Changed: Ical.Net.DataTypes.Trigger

Removed constructor:

public Trigger (System.TimeSpan ts);

Added constructor:

public Trigger (Duration ts);

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual IDateTime DateTime { get; set; }
+public virtual CalDateTime DateTime { get; set; }
-public virtual System.TimeSpan? Duration { get; set; }
+public virtual Duration? Duration { get; set; }

Removed methods:

protected bool Equals (Trigger other);
public override bool Equals (object obj);
public override int GetHashCode ();

Type Changed: Ical.Net.DataTypes.UtcOffset

Removed interface:

Ical.Net.IServiceProvider

Added method:

public override void CopyFrom (Ical.Net.ICopyable obj);

Type Changed: Ical.Net.DataTypes.WeekDay

Removed interface:

Ical.Net.IServiceProvider

Modified properties:

-public virtual int Offset { get; set; }
+public virtual int? Offset { get; set; }

Removed Type Ical.Net.DataTypes.IDateTime

Removed Type Ical.Net.DataTypes.PeriodList

New Type: Ical.Net.DataTypes.Duration

public struct Duration {
	// constructors
	public Duration (int? weeks, int? days, int? hours, int? minutes, int? seconds);
	// properties
	public int? Days { get; }
	public bool HasDate { get; }
	public bool HasTime { get; }
	public int? Hours { get; }
	public int? Minutes { get; }
	public int? Seconds { get; }
	public int Sign { get; }
	public int? Weeks { get; }
	public static Duration Zero { get; }
	// methods
	public static Duration FromDays (int days);
	public static Duration FromHours (int hours);
	public static Duration FromMinutes (int minutes);
	public static Duration FromSeconds (int seconds);
	public static Duration FromTimeSpanExact (System.TimeSpan t);
	public static Duration FromWeeks (int weeks);
	public static Duration? Parse (string value);
	public override string ToString ();
	public System.TimeSpan ToTimeSpan (CalDateTime start);
	public System.TimeSpan ToTimeSpanUnspecified ();
	public static Duration op_UnaryNegation (Duration d);
}

New Type: Ical.Net.DataTypes.ExceptionDates

public class ExceptionDates : Ical.Net.DataTypes.PeriodListWrapperBase {
	// methods
	public ExceptionDates Add (CalDateTime dt);
	public ExceptionDates AddRange (System.Collections.Generic.IEnumerable<CalDateTime> dates);
}

New Type: Ical.Net.DataTypes.PeriodListWrapperBase

public abstract class PeriodListWrapperBase {
	// methods
	public void Clear ();
	public bool Contains (CalDateTime dt);
	public System.Collections.Generic.IEnumerable<CalDateTime> GetAllDates ();
	public bool Remove (CalDateTime dt);
}

New Type: Ical.Net.DataTypes.RecurrenceDates

public class RecurrenceDates : Ical.Net.DataTypes.PeriodListWrapperBase {
	// methods
	public RecurrenceDates Add (CalDateTime dt);
	public RecurrenceDates Add (Period period);
	public RecurrenceDates AddRange (System.Collections.Generic.IEnumerable<CalDateTime> dates);
	public RecurrenceDates AddRange (System.Collections.Generic.IEnumerable<Period> periods);
	public bool Contains (Period period);
	public System.Collections.Generic.IEnumerable<Period> GetAllPeriods ();
	public bool Remove (Period period);
}

Namespace Ical.Net.Evaluation

Type Changed: Ical.Net.Evaluation.Evaluator

Removed constructors:

protected Evaluator (Ical.Net.DataTypes.ICalendarDataType dataType);
protected Evaluator (Ical.Net.ICalendarObject associatedObject);

Removed field:

protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> MPeriods;

Removed properties:

protected virtual Ical.Net.ICalendarObject AssociatedObject { get; set; }
public virtual System.Globalization.Calendar Calendar { get; }
public virtual System.DateTime EvaluationEndBounds { get; set; }
public virtual System.DateTime EvaluationStartBounds { get; set; }
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Periods { get; }

Removed methods:

public virtual void Clear ();
protected Ical.Net.DataTypes.IDateTime ConvertToIDateTime (System.DateTime dt, Ical.Net.DataTypes.IDateTime referenceDate);
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);
protected void IncrementDate (ref System.DateTime dt, Ical.Net.DataTypes.RecurrencePattern pattern, int interval);

Added methods:

public virtual System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);
protected void IncrementDate (ref Ical.Net.DataTypes.CalDateTime dt, Ical.Net.DataTypes.RecurrencePattern pattern, int interval);

Type Changed: Ical.Net.Evaluation.EventEvaluator

Modified properties:

 protected Ical.Net.CalendarComponents.CalendarEvent CalendarEvent { get; ---set;--- }

Removed method:

public override System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceTime, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);

Added method:

public override System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);

Type Changed: Ical.Net.Evaluation.IEvaluator

Removed properties:

public virtual Ical.Net.ICalendarObject AssociatedObject { get; }
public virtual System.Globalization.Calendar Calendar { get; }
public virtual System.DateTime EvaluationEndBounds { get; }
public virtual System.DateTime EvaluationStartBounds { get; }
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Periods { get; }

Removed methods:

public virtual void Clear ();
public virtual System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);

Added method:

public virtual System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);

Type Changed: Ical.Net.Evaluation.RecurrencePatternEvaluator

Removed method:

public override System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);

Added method:

public override System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);

Type Changed: Ical.Net.Evaluation.RecurringEvaluator

Removed methods:

public override System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateExDate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateExRule (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateRDate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd);
protected System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> EvaluateRRule (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);

Added methods:

public override System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);
protected System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> EvaluateExDate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart);
protected System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> EvaluateExRule (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);
protected System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> EvaluateRDate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart);
protected System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> EvaluateRRule (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);

Type Changed: Ical.Net.Evaluation.TimeZoneInfoEvaluator

Removed method:

public override System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);

Type Changed: Ical.Net.Evaluation.TodoEvaluator

Removed methods:

public void DetermineStartingRecurrence (Ical.Net.DataTypes.PeriodList rdate, ref Ical.Net.DataTypes.IDateTime referenceDateTime);
public void DetermineStartingRecurrence (Ical.Net.DataTypes.RecurrencePattern recur, ref Ical.Net.DataTypes.IDateTime referenceDateTime);
public override System.Collections.Generic.HashSet<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.IDateTime referenceDate, System.DateTime periodStart, System.DateTime periodEnd, bool includeReferenceDateInResults);
public void EvaluateToPreviousOccurrence (Ical.Net.DataTypes.IDateTime completedDate, Ical.Net.DataTypes.IDateTime currDt);

Added method:

public override System.Collections.Generic.IEnumerable<Ical.Net.DataTypes.Period> Evaluate (Ical.Net.DataTypes.CalDateTime referenceDate, Ical.Net.DataTypes.CalDateTime periodStart, EvaluationOptions options);

Removed Type Ical.Net.Evaluation.PeriodListEvaluator

Removed Type Ical.Net.Evaluation.TimeZoneEvaluator

New Type: Ical.Net.Evaluation.EvaluationException

public class EvaluationException : System.Exception, System.Runtime.Serialization.ISerializable {
	// constructors
	public EvaluationException ();
	public EvaluationException (string message);
}

New Type: Ical.Net.Evaluation.EvaluationLimitExceededException

public class EvaluationLimitExceededException : Ical.Net.Evaluation.EvaluationException, System.Runtime.Serialization.ISerializable {
	// constructors
	public EvaluationLimitExceededException ();
}

New Type: Ical.Net.Evaluation.EvaluationOptions

public class EvaluationOptions {
	// constructors
	public EvaluationOptions ();
	// properties
	public int? MaxUnmatchedIncrementsLimit { get; set; }
}

New Type: Ical.Net.Evaluation.EvaluationOutOfRangeException

public class EvaluationOutOfRangeException : Ical.Net.Evaluation.EvaluationException, System.Runtime.Serialization.ISerializable {
	// constructors
	public EvaluationOutOfRangeException (string message);
}

Namespace Ical.Net.Serialization

Type Changed: Ical.Net.Serialization.CalendarSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Removed method:

public override string SerializeToString (object obj);

Type Changed: Ical.Net.Serialization.ComponentSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataMapSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.EventSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.GenericListSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.ISerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.IStringSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.ParameterSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.PropertySerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.SerializerBase

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Modified methods:

-public virtual void RemoveService (string name)
+public final void RemoveService (string name)
-public virtual void RemoveService (System.Type type)
+public final void RemoveService (System.Type type)
-public virtual void SetService (object obj)
+public final void SetService (object obj)
-public virtual void SetService (string name, object obj)
+public final void SetService (string name, object obj)

Namespace Ical.Net.Serialization.DataTypes

Type Changed: Ical.Net.Serialization.DataTypes.AttachmentSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.AttendeeSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.DataTypeSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.DateTimeSerializer

Modified base type:

-Ical.Net.Serialization.DataTypes.EncodableDataTypeSerializer
+Ical.Net.Serialization.SerializerBase

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Added method:

public virtual System.Collections.Generic.IReadOnlyList<Ical.Net.CalendarParameter> GetParameters (object value);

Type Changed: Ical.Net.Serialization.DataTypes.EncodableDataTypeSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.EnumSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Modified methods:

-public override string SerializeToString (object enumValue)
+public override string SerializeToString (object obj)

Type Changed: Ical.Net.Serialization.DataTypes.FreeBusyEntrySerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.GeographicLocationSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.IntegerSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Modified methods:

-public override string SerializeToString (object integer)
+public override string SerializeToString (object obj)

Type Changed: Ical.Net.Serialization.DataTypes.OrganizerSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.PeriodListSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.PeriodSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.RecurrencePatternSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Removed method:

public virtual void CheckMutuallyExclusive<T, TU> (string name1, string name2, T obj1, TU obj2);

Added methods:

public virtual void CheckMutuallyExclusive (string name1, string name2, int? obj1, Ical.Net.DataTypes.CalDateTime obj2);
public virtual void CheckRange (string name, int? value, int min, int max);
public virtual void CheckRange (string name, int? value, int min, int max, bool allowZero);

Type Changed: Ical.Net.Serialization.DataTypes.RequestStatusSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.StatusCodeSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.StringSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.TriggerSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.UriSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.UtcOffsetSerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Type Changed: Ical.Net.Serialization.DataTypes.WeekDaySerializer

Removed interface:

Ical.Net.IServiceProvider

Added interface:

System.IServiceProvider

Removed Type Ical.Net.Serialization.DataTypes.TimeSpanSerializer

New Type: Ical.Net.Serialization.DataTypes.DurationSerializer

public class DurationSerializer : Ical.Net.Serialization.SerializerBase, Ical.Net.Serialization.ISerializer, Ical.Net.Serialization.IStringSerializer, System.IServiceProvider {
	// constructors
	public DurationSerializer ();
	public DurationSerializer (Ical.Net.Serialization.SerializationContext ctx);
	// properties
	public override System.Type TargetType { get; }
	// methods
	public override object Deserialize (System.IO.TextReader tr);
	public override string SerializeToString (object obj);
}
Clone this wiki locally