For anyone new to ScheduleWidget it is a .NET scheduling engine that handles recurring events for calendars. I was influenced by Martin Fowler's white paper "Recurring Events for Calendars" in which he describes the broad software architecture for a recurring events scheduling engine.
The main project page is here: http://www.squarewidget.com/schedulewidget
Regarding v2.4, a big shout out goes to Raghav Khunger who contributed a pull request that added stability around frequency types, back dates, and how the engine calculates date ranges for certain types of events. This version also has a new feature to get the last occurrence date from a Schedule object:
var schedule = new Schedule(aEvent);
DateTime? endDate = schedule.GetLastOccurrenceDate();
I'm on twitter (@squarewidget) or feel free to email me at james DOT still AT gmail DOT com if you have any questions. I'm on multiple projects right now so I can't guarantee I'll get back to you right away but I do appreciate any and all feedback that will make the project better.