A listing of what each Nuget package version represents.
- 4.0.6 #344. Fix the VERSION property so it's 2.0 as RFC-5545 requires.
- 4.0.4 PR 341. Cache the UTC representation for
CalDateTimes. This results in a 12-16% reduction in unit test runtime. - 4.0.3 #337. Fixed a bug in
SimpleDeserializerwhere tab characters (\t) were excluded from regex match. - 4.0.1 #335. Technically this should be 5.0, but given 4.0.0 only has 24 downloads, I've just done a minor version bump.
- Moved everything from Ical.Net.Collections into the Ical.Net assembly.
- Updated the
PRODIDstamp to say 4.0. - Fixed a bug with a missing nuget dependency
- 4.0.0:
DateTimeKindis preserved during serialization round trips.Zsuffixed (i.e. UTC)DATE-TIMEs produce aDateTimeKind.Utc, and everything else produces aDateTimeKind.Local. Similarly, when creatingCalDateTimes with ambiguous timezones, theDateTimeKindis examined in an attempt to infer whether it's a UTC time or not. In order of importance, the way of determiningDateTimeKindis: time zone id,DateTimeKindon the incomingDateTime, and then a fallback. This should improve interop with other ical libraries like Telerik. #331RRULE'sUNTILproperty is now inclusive, and doesn't rely on UTC time comparisons. #320CalDateTime.ToTimeZoneproduces the correct local time #330VEVENTstatus should be uppercase during serialization. A subtle (but breaking) change, necessitating a major version bump. #318VTIMEZONEs are once again serialized, this time pulling historic time zone data from NodaTime -- thanks beriniwlew! PR 304- Entry points are now consolidated into the right places, and make sense:
CalendarCollection.Load()loads aCalendarCollectionCalendar.Loadloads aCalendar.CalendarComponent.Load()loads whatever type you're looking for.
- The ANTLR-based parser is gone. chescock's
SimpleDeserializeris used everywhere.
- 3.0.15: .NET Standard version (aka v3 aka
net-core) is missing System.Reflection.TypeExtensions dependency. #326 - 3.0.14: .NET Standard version (aka v3 aka
net-core) is missing System.Runtime.Serialization.Primitives dependency. #324 - 3.0.13:
DTSTARTis not required forVTODOcomponents. PR 322 - 3.0.12: Several improvements rolled up:
- 3.0.11-net-core-beta: Targeting netstandard1.3 and net46
- 3.0.10-net-core-beta: Reverts a change made in 3.0.3 which allowed UTC timestamps to specify
TZID=UTCinstead of being suffixed withZ. The spec requiresZsuffixes, and broke many applications, including Outlook. #263 - 3.0.9-net-core-beta: Bugfixes:
PeriodListnow fully implementsIList<Period>. Keep data structures in sync in GroupedList.Remove() #253. Fix for StackOverflow exception #257. UnitTests can now be run in VS test runner! - 3.0.8-net-core-alpha: Bugfix: Better CalDateTime equality and hashing, because time zones matter. #275
- 3.0.7-net-core-alpha: Bugfix: Fixed a small ordering bug when evaluating
EXDATEs andRDATEs #275 - 3.0.6-net-core-alpha: Bugfix:
CalendarEvent'sEquals()andGetHashCode()were buggy in that they did not considerRecurrenceDatesandExceptionDatesproperly. Both methods treated these properties as if they were a single collection. Now they are normalized by time zone when before determining whether complete set ofRDATEs orEXDATEs are the same. #275 - 3.0.4-net-core-alpha:
CalendarEvent'sEquals()andGetHashCode()methods were asymmetric. Both now considerAttachments. In addition, several calendar components did not implementEquals()andGetHashCode(), namelyJournalandTodo. They both delegate toRecurringComponentfor the properties owned by that parent object, and extend the methods for the child properties that they respectively own. #271 - 3.0.3-net-core-alpha: Bringing in 2.2.34's changes: serializing
EXDATEs andRDATEs now includes time zone information when specified. UTC timestamps are now allowed to be specified either inZ-suffixed form (which was mandatory before), OR explicitly with a time zone id (TZID=UTC). This allows greater interop with third-party libraries like Telerik's RadSchedule. #259PeriodListnow implementsIList<Period>. - 3.0.2-net-core-alpha: Fix nuspec file to declare NodaTime as dependency
- 3.0.1-alpha: Initial publishing of .NET Core release
- 2.3.5:
VTIMEZONEs are once again serialized, this time pulling historic time zone data from NodaTime -- thanks beriniwlew! PR 304 - 2.3.4:
DTSTARTis not required forVTODOcomponents. PR 322 - 2.3.3: Several improvements rolled up:
- 2.3.2: Reverts a change made in 2.2.34 which allowed UTC timestamps to specify
TZID=UTCinstead of being suffixed withZ. The spec requiresZsuffixes, and broke many applications, including Outlook. #263 - 2.3.0: PeriodList now implements
IList#280 - 2.2.39: Bugfix: Better CalDateTime equality and hashing, because time zones matter. #275
- 2.2.38: Bugfix: Fixed a small ordering bug when evaluating
EXDATEs andRDATEs #275 - 2.2.37: Bugfix:
Event'sEquals()andGetHashCode()were buggy in that they did not considerRecurrenceDatesandExceptionDatesproperly. Both methods treated these properties as if they were a single collection. Now they are normalized by time zone when before determining whether complete set ofRDATEs orEXDATEs are the same. #275 - 2.2.35: Bugfix:
Event'sEquals()andGetHashCode()methods were asymmetric. Both now considerAttachments. In addition, several calendar components did not implementEquals()andGetHashCode(), namelyJournalandTodo. They both delegate toRecurringComponentfor the properties owned by that parent object, and extend the methods for the child properties that they respectively own. #271 - 2.2.34: Serializing
EXDATEs andRDATEs now includes time zone information when specified. UTC timestamps are now allowed to be specified either inZ-suffixed form (which was mandatory before), OR explicitly with a time zone id (TZID=UTC). This allows greater interop with third-party libraries like Telerik's RadSchedule. #259 - 2.2.33: Bugfix for #235 when years have 53 weeks. Contains a new deserializer that's twice as fast as the default ANTLR implementation, and several other (smaller) performance enhancements. This will become the default deserializer in a future release. PR 246, PR 247
- 2.2.31: .NET's UTC offset parsing semantics don't match the RFC (which allows for
hhmmssUTC offsets), so I extended the offset serializer to account for these differences. (#102, #236) - 2.2.30:
Event.Resourcesis anIListagain. Event.Resources wasn't being deserialized, so I have reverted back to an IList to fix this. Sorry everyone. I'm intentionally violating my own semver rules. In the future, I'll call version n+1 "vNext" so I can more freely rev the major version number. - 2.2.29: Calling
GetOccurrences()on a recurrable component should recompute the recurrence set. SpecifyingEXDATEvalues that don't have aTimeOfDaycomponent should "black out" that day from a recurring component'sStartTime.#223 - 2.2.25: Fix for Collection was modified exception, and better handling of recurrence ids when calling
Calendar.GetOccurrences(#188) (#148) - 2.2.24: Performance enhancement for solidus-prefixed time zones (#204).
- 2.2.23: Bugfix for culture for geographic location serialization. RFC-5545 requires coordinates to use decimal points, not commas, regardless of culture. Correct:
1.2345. Incorrect:1,2345. (#202) - 2.2.22: Bugfix for
Eventserialization that always changed theDurationto 0. Serialization shouldn't have side effects. (#199)
Changes weren't systematically tracked before 2.2.22.