# What changed in cron-parser

> 25 changes in cron-parser 5 from its official release notes, upgrade guides and advisories: 3 breaking, 1 deprecations, 1 security. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/cron-parser/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## cron-parser 5

### Breaking changes

- Values for days the month does not have are dropped. (5.8.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.8.0)
- A standalone L in the day-of-week field is now rejected during construction. (5.7.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.7.0)
- Unsatisfiable expressions now throw instead of returning a bogus date because the iteration loop limit is enforced. (5.7.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.7.0)

### Security

- Bounds expression length and hashed step expansion at parse time. (5.10.2) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.10.2)

### Deprecations

- The npm-published 5.6.2 package is deprecated because it shipped the 5.6.1 source tree; use 5.7.0 instead. (5.6.2) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.2)

### Performance

- CronExpression iteration is faster. (5.5.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.5.0)

### Behavior and default changes

- Day fields that cover their whole range are kept out of the wildcard form. (5.8.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.8.0)

### Fixes and other changes

- Preserves crontab fields separated by whitespace when parsing expressions. (5.10.2) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.10.2)
- Rejects duplicate zero values during field validation. (5.10.1) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.10.1)
- Bounds field value expansion at parse time. (5.10.1) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.10.1)
- Short expressions are padded from the leading field slot. (5.10.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.10.0)
- DST transitions wider than one hour are now compensated for. (5.9.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.9.0)
- A hashed step wider than its range no longer empties the field. (5.9.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.9.0)
- Stringifying stepped fields now keeps explicit range bounds. (5.9.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.9.0)
- The current date is rounded to whole seconds so occurrences on the end date are returned. (5.8.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.8.0)
- A day-of-week step no longer adds Sunday when it never reaches 7. (5.8.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.8.0)
- The CronField constructor now copies the values array rather than reusing it. (5.7.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.7.0)
- A matching day of month is no longer dropped when the day of week uses an nth (#) occurrence. (5.7.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.7.0)
- Fixes CronDate throwing on .bind in bundled and CDN builds. (5.6.1) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.1)
- Does not reject an out-of-range day of month when the day of week is restricted. (5.6.1) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.1)
- Handles DST gaps correctly and prevents iteration from stopping prematurely. (5.6.1) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.1)
- Fixes handling of the ES6 iterator done flag, affecting iteration behavior. (5.6.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.0)
- Stops the hour-step loop early on spring-forward DST days to prevent skipping a day. (5.6.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.0)
- Fixes parsing of repeat ranges in CronExpressionParser. (5.6.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.0)
- CronExpression.reset() now preserves the timezone. (5.6.0) — [release notes](https://github.com/harrisiirak/cron-parser/releases/tag/v5.6.0)
