NCrontab Advanced

Wow...3 months since I've posted anything.  Well, at least the times that I post, it's fairly significant news.  :-)

Have you ever used the extremely useful NCrontab library?  It's a cron string parser that is used in various open-source projects (like Hangfire) for finding the next time an event should run.  However, it lacked certain features from the cron wiki page:
  • No support for #, L and W
  • Only supported two cron formats: "SECONDS MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK" and one without SECONDS.
Naturally, I dived into the source code to see if I could implement the features and submit a pull request.  While the code is robust for the features it does support, it wasn't structured in a way that I could easily implement #, L and W support.

That's when I decided to write a completely new project called NCrontab.Advanced.  The goal of the project is to support the original features of NCrontab, as well as the additional features from the cron wiki page, and various cron formats (with/without seconds, years, or both.)

The initial version is available over on GitHub, which passes the original NCrontab unit tests, but still needs additional tests added before I feel comfortable considering it release-ready.  It's also licensed under the same Apache Version 2.0 license.  If you find any issues, make sure to file them on the Issues page on Github, and I'll address them as time permits.