From 065001fa041926f904d16dbc37b9bf5e254d38cc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 19 Nov 2025 00:52:18 +0000 Subject: [PATCH 1/4] Initial plan From 591c6c4f6b9ca6a6b66e84ec8f6695007b041b4f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 19 Nov 2025 01:08:20 +0000 Subject: [PATCH 2/4] Bump version to 10.0.0 - ready for release Co-authored-by: Hexagon <419737+Hexagon@users.noreply.github.com> --- deno.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deno.json b/deno.json index a55e97d..d43c2c1 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@hexagon/croner", - "version": "10.0.0-dev.4", + "version": "10.0.0", "exports": "./src/croner.ts", "lint": { "include": ["src", "build"] From cf61268b68bea85fed34b8c64e3ea245b5ce0dcd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 00:21:04 +0000 Subject: [PATCH 3/4] Add CHANGELOG.md with comprehensive 10.0.0 release notes Co-authored-by: Hexagon <419737+Hexagon@users.noreply.github.com> --- CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..dad29d3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,66 @@ +# Changelog + +All notable changes to Croner will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [10.0.0] - Unreleased + +### Added +- **OCPS 1.2 Compliance**: Year field support for 7-field patterns (range 1-9999) (#288) +- **OCPS 1.3 Compliance**: W (weekday) modifier for nearest weekday scheduling (#288) +- **OCPS 1.4 Compliance**: + (AND logic) modifier for explicit day matching (#288) +- **OCPS 1.4 Compliance**: @midnight and @reboot pattern nicknames (#288) +- `previousRuns()` method to enumerate past scheduled execution times (#315) +- `match()` method to check if a date matches a cron pattern (#317) +- `getOnce()` method to return original run-once date for date-based jobs (#332) +- `dayOffset` option for scheduling before/after pattern matches (#308) +- `mode` option for cron pattern precision control with enforcement and flexible modes (#294) +- `alternativeWeekdays` option for Quartz-style weekday numbering (1=Sunday...7=Saturday) (#312) +- `domAndDow` option to replace deprecated `legacyMode` (no breaking change) (#309) +- `sloppyRanges` option for strict Vixie cron range parsing (#327) +- Support for leading/trailing whitespace and consecutive whitespace in patterns +- Case-insensitive L and W modifiers in cron patterns (#328) +- Comprehensive edge case tests for year stepping, nth weekday, W modifier, Quartz mode, and boundary conditions (#329) + +### Changed +- **BREAKING**: `?` character now acts as wildcard alias (same as `*`) per OCPS 1.4, instead of substituting current time values (#293) +- **BREAKING**: Minimum Deno version increased from 1.16 to 2.0 +- Renamed `legacyMode` option to `domAndDow` (backward compatible, `legacyMode` still works) (#309) +- Improved error messages for timezone/date conversion failures (#307) +- Unified implementations of `nextRuns`/`previousRuns` and `findNext`/`findPrevious` (#319) +- Refactored to extract duplicate code patterns into helper methods (#322) +- Consolidated duplicate tests across OCPS compliance and legacy test suites (#320) + +### Fixed +- DST bugs causing rapid-fire execution during timezone transitions (Issue #286) (#285) +- DST bug with UTC timezone causing hour skipping during local DST transitions (Issue #284) (#285) +- L modifier bug and documented W modifier edge cases (#306) +- `getPattern()` returning wrong value for date-based jobs (#331) +- Node.js timezone test failures caused by hour 24 midnight formatting (#291) +- Unclear error messages for timezone/date conversion failures (#307) + +### Documentation +- Complete OCPS 1.0-1.4 compliance documentation (#292) +- Migration guide for v9.x to v10.0 upgrade path (#310) +- Documented zero dependencies advantage over Luxon-dependent alternatives (#318) +- Updated year field in README ASCII pattern diagram (#311) +- Documented `getOnce()` and `previousRuns()` features (#333) + +## [9.1.0] - 2024-10-21 + +### Added +- Generic context typing support +- Improved timeout adaptations in tests + +### Changed +- Updated documentation and readme +- Allow leading/trailing whitespace in patterns + +### Fixed +- Various bug fixes and improvements + +--- + +For older releases, see [GitHub Releases](https://github.com/Hexagon/croner/releases). From 4b4d9b2a3c5dd926b394f31856064fb767292546 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 15 Jan 2026 23:24:54 +0000 Subject: [PATCH 4/4] Update CHANGELOG with bugfix from PR #337 Co-authored-by: Hexagon <419737+Hexagon@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dad29d3..4741a85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - DST bugs causing rapid-fire execution during timezone transitions (Issue #286) (#285) - DST bug with UTC timezone causing hour skipping during local DST transitions (Issue #284) (#285) +- Cron job stopping when catch callback throws with protect enabled (#337) - L modifier bug and documented W modifier edge cases (#306) - `getPattern()` returning wrong value for date-based jobs (#331) - Node.js timezone test failures caused by hour 24 midnight formatting (#291)