Combining last day of the month with * may cause a temporal to be skipped depending on the seed time.

var everyHourLastDayOfTheMonth = CronExpression.parse("0 0 * L * *");
System.out.println(everyHourLastDayOfTheMonth.next(OffsetDateTime.parse("2021-01-30T00:00:00Z")));
System.out.println(everyHourLastDayOfTheMonth.next(OffsetDateTime.parse("2021-01-30T23:00:00Z")));

Actual:

2021-01-31T01:00Z
2021-01-31T00:00Z

Expected:

2021-01-31T00:00Z
2021-01-31T00:00Z

Affects: 5.3.3