User-Agent: Build Identifier: The run-crons script will check to see if the monthly events have been run in the last 30 days (30 days and 5 minutes), and will run them if they have not. This should actually be 31 days. The 'cron.monthly' file will be removed on the first of the month, to ensure that events are run then anyway, and setting this to 30 days means that on months with 31 days in them, monthly events will occur on the 1st of the month, on the 30th of the month, and again the 1st of the next month. Setting the amount of time between monthly events to 31 days will fix this problem, since on months with less than 31 days, the removal of the cron.monthly file on the 1st of the month will ensure they happen on the first of the month anyway. Reproducible: Always Steps to Reproduce: Just have a monthly event active, and wait for a 31-day month to come around :)
Changed month time from 30 -> 31 days.
*** Bug 14961 has been marked as a duplicate of this bug. ***