dragonmantank/cron-expression
Parse and evaluate PHP cron expressions with advanced features like ranges, intervals, weekdays (W), last days (L), and nth occurrences (#). Easily check if a cron job is due, calculate next/previous run dates, and skip multiple matches. Supports complex expressions like */12, 2-59/3, and @daily—ide...
Full Changelog: https://github.com/dragonmantank/cron-expression/compare/v3.5.0...v3.6.0
Full Changelog: https://github.com/dragonmantank/cron-expression/compare/v3.4.0...v3.5.0
/phpstan.neon entry in .gitattributes by @TimWolla in https://github.com/dragonmantank/cron-expression/pull/162Full Changelog: https://github.com/dragonmantank/cron-expression/compare/v3.3.3...v3.4.0
? is not passed for both DOM and DOW (#148, thank you https://github.com/LeoVie)* or ?[@internal](https://github.com/internal) (#124)range() (#88)[@midnight](https://github.com/midnight) (#117)CronExpression properties changed from private to protected (#106)CronExpression::getParts() method to get parts of the expression as an array (#83)CronExpression::factory in favor of the constructor (#56)CronExpression::YEAR as a formality, the functionality is already removed (#87)MAJOR CHANGE - In previous versions of this library, setting both a "Day of Month" and a "Day of Week" would be interpreted as an AND statement, not an OR statement. For example:
30 0 1 * 1
would evaluate to "Run 30 minutes after the 0 hour when the Day Of Month is 1 AND a Monday" instead of "Run 30 minutes after the 0 hour on Day Of Month 1 OR a Monday", where the latter is more inline with most cron systems. This means that if your cron expression has both of these fields set, you may see your expression fire more often starting with v3.0.0.
Cron\FieldFactoryInterface to make migrations easier (#38)\Cron\CronExpression::determineTimezone() now checks for \DateTimeInterface instead of just \DateTime\DateTimeImmutable across the library by typehinting for \DateTimeInterface now1/10)How can I help you explore Laravel packages today?