Skip to content

Latest commit

 

History

History
318 lines (189 loc) · 17.5 KB

CHANGELOG.md

File metadata and controls

318 lines (189 loc) · 17.5 KB

5.0.1 (2024-04-29)

Bug Fixes

  • use nextTimeout variable (0a067a8)

5.0.0 (2024-04-29)

Bug Fixes

  • getPrevDate: the wrong result was sometimes returned for months with less than 31 days (6537bc1), closes #313
  • update dependencies, switch from eslint + prettier to biome, (43c2868)

BREAKING CHANGES

  • Support for Node.js 16 is dropped, as it is End of Life. Our code is tested against Node.js LTS release version 18 and 20.

There are a lot of changes in this commit, because of formatting changes (e.g. tabs instead of spaces).

Configured vitest to generate a junit test report, which is uploaded to CircleCI. The CI will now run biome check, which checks the code for linting and formatting issues.

Signed-off-by: Pascal Sthamer [email protected]

4.0.0 (2023-03-30)

Bug Fixes

  • correctly parse weekday ranges that include sunday (#283) (2fb78b5)
  • specify types for legacy support (7288c13)

chore

  • drop support for node14 (d47ac6a)

Features

BREAKING CHANGES

  • If your environment does not support conditional exports, you have to import the schedulers from cron-schedule/dist/schedulers instead of cron-schedule/schedulers.

Signed-off-by: Pascal Sthamer [email protected]

  • Support for node14 is dropped, due to its EOL in the next month and missing ESM module support

Signed-off-by: Pascal Sthamer [email protected]

  • The package is now ESM only. A CommonJS or IIFE build is no longer provided.
  • The minimum required version of Node.js is now 14
  • utils are no longer exposed
  • schedulers are no longer exposed in the default entry point. Import them from cron-schedule/schedulers/interval-based.js and cron-schedule/schedulers/timer-based.js instead.

Signed-off-by: Pascal Sthamer [email protected]

4.0.0-next.3 (2023-03-30)

Bug Fixes

  • correctly parse weekday ranges that include sunday (#283) (2fb78b5)

4.0.0-next.2 (2023-03-30)

Bug Fixes

  • specify types for legacy support (7288c13)

BREAKING CHANGES

  • If your environment does not support conditional exports, you have to import the schedulers from cron-schedule/dist/schedulers instead of cron-schedule/schedulers.

Signed-off-by: Pascal Sthamer [email protected]

4.0.0-next.1 (2023-03-30)

chore

  • drop support for node14 (d47ac6a)

Features

BREAKING CHANGES

  • Support for node14 is dropped, due to its EOL in the next month and missing ESM module support

Signed-off-by: Pascal Sthamer [email protected]

  • The package is now ESM only. A CommonJS or IIFE build is no longer provided.
  • The minimum required version of Node.js is now 14
  • utils are no longer exposed
  • schedulers are no longer exposed in the default entry point. Import them from cron-schedule/schedulers/interval-based.js and cron-schedule/schedulers/timer-based.js instead.

Signed-off-by: Pascal Sthamer [email protected]

1.0.1 (2024-07-15)

Bug Fixes

  • add no-git-checks option to publish (a27447c)
  • package with no-git-checks option (355ec4f)

1.0.0 (2024-07-15)

⚠ BREAKING CHANGES

  • Support for Node.js 16 is dropped, as it is End of Life. Our code is tested against Node.js LTS release version 18 and 20.
  • If your environment does not support conditional exports, you have to import the schedulers from cron-schedule/dist/schedulers instead of cron-schedule/schedulers.
  • Support for node14 is dropped, due to its EOL in the next month and missing ESM module support
  • The package is now ESM only. A CommonJS or IIFE build is no longer provided. The minimum required version of Node.js is now 14 utils are no longer exposed schedulers are no longer exposed in the default entry point. Import them from cron-schedule/schedulers/interval-based.js and cron-schedule/schedulers/timer-based.js instead.

Features

  • add error handling to tasks (375a6b8)
  • add methods to iterate over next and previous dates (33dae96), closes #24
  • define public api (3b48e40)
  • esm only build (58cbdd7)
  • expose ECMAScript module (fe730b6)
  • expose ECMAScript module (e73fadc)
  • finish getNext/PrevDate algorithms (494188e)
  • implement cron parser (30a2d9d)
  • improve processTasks performance (3a99f26), closes #25
  • interval based scheduler (74d4742)
  • long timeout (7f21e06)
  • matchDate, getNextDates, getPrevDates, initial work on main algo (c6334b6)
  • remove @secondly time nickname (970d1b1)
  • schedule nextDates and prevDates without weekday (3db786c)
  • schedule validation and smaller improvements (4c5d5eb)
  • support seconds in schedule (3f6de33)

Bug Fixes

  • adding github workflow for build/release (83ed752)
  • build errors (fb93873)
  • correctly parse weekday ranges that include sunday (#283) (2fb78b5)
  • cron.matchDate always returning true for day of month, when either weekday or day of month is unrestricted (#271) (8ebd6a6)
  • deps: pin dependency @rollup/plugin-typescript to 6.0.0 (#1) (a04dbdc)
  • deps: regenerate yarn.lock (ef1e3fe)
  • deps: remove @rollup/plugin-typescript dependency (2a38daa)
  • deps: update yarn.lock (e22b7cc)
  • detect step values smaller than 1 (8f53df9), closes #134
  • do not return interval id when starting the interval scheduler (d0d946b)
  • do not specify browser in package.json (b741694)
  • fix error when trying to get the prev date of the first of a month (ff9e722)
  • fix files missing in npm bundle (00c173b)
  • fix package.json exports (c172cdc)
  • fix typing of iterator methods and add documentation (3dbb7c9)
  • fix typo in comment (499afc2)
  • getPrevDate: the wrong result was sometimes returned for months with less than 31 days (6537bc1), closes #313
  • include mjs files in npm build (1985874)
  • mark library as side effect free (57cdf61)
  • relax allowed ranges to be compatible with linux spec (34466d4)
  • remove accidently pushed code for iterator method (cfc5032)
  • rename module file extension to .mjs (53993b1), closes #159
  • specify types for legacy support (7288c13)
  • support commonjs build (fbabf4c)
  • update dependencies, switch from eslint + prettier to biome, (43c2868)
  • update publish command to use pnpm (1c41dc5)
  • update version to 1.0.0 (ba45594)
  • use nextTimeout variable (0a067a8)
  • use unknown for error type (5623e65)

Miscellaneous Chores

  • drop support for node14 (d47ac6a)

3.0.6 (2022-04-27)

Bug Fixes

  • cron.matchDate always returning true for day of month, when either weekday or day of month is unrestricted (#271) (8ebd6a6), closes #270 #270

3.0.5 (2022-02-25)

Bug Fixes

  • relax allowed ranges to be compatible with linux spec (34466d4)

3.0.4 (2021-10-28)

Bug Fixes

  • include mjs files in npm build (1985874)
  • use unknown for error type (5623e65)

3.0.3 (2021-08-17)

Bug Fixes

  • rename module file extension to .mjs (53993b1), closes #159

3.0.2 (2021-06-25)

Bug Fixes

  • detect step values smaller than 1 (8f53df9), closes #134

3.0.1 (2021-02-23)

Bug Fixes

  • fix files missing in npm bundle (00c173b)

3.0.0 (2021-02-23)

Features

  • add error handling to tasks (375a6b8), closes #80
  • expose ECMAScript module (e73fadc)

BREAKING CHANGES

  • The third argument to IntervalBasedScheduler.registerTask is no longer isOneTimeTask. Instead it is an object where one attribute is the old isOneTimeTask parameter.

Signed-off-by: Pascal Sthamer [email protected]

2.2.4 (2020-11-21)

Bug Fixes

  • fix package.json exports (c172cdc)

2.2.3 (2020-11-20)

Bug Fixes

2.2.2 (2020-11-20)

Bug Fixes

2.2.1 (2020-11-20)

Bug Fixes

  • deps: regenerate yarn.lock (ef1e3fe)

2.1.0

  • Slightly improve performance of the interval based scheduler.
  • Add methods to iterate over next and previous dates: cron.getNextDatesIterator and cron.getPrevdatesIterator()

2.0.2

  • Mark library as side effect free to support tree shaking.

2.0.1

  • Improved compatibility with bundlers like webpack.

2.0.0

  • Renamed Schedule to Cron.
  • New IntervalBasedCronScheduler.
  • Moved setTimeout, setInterval and clearTimeoutOrInterval to TimerBasedCronScheduler.

See README.md for instructions on how to use the new scheduler.

Quick migration guide:

// v1.x
import { parseCronExpression } from 'cron-schedule'

const schedule = parseCronExpression('* * * * *')
schedule.setTimeout(fn)
schedule.setInterval(fn)
schedule.clearTimeoutOrInterval(id)


// v2.x
import { parseCronExpression, TimerBasedCronScheduler as scheduler } from 'cron-schedule'

const cron = parseCronExpression('* * * * *')
scheduler.setTimeout(cron, fn)
scheduler.setInterval(cron, fn)
scheduler.clearTimeoutOrInterval(id)

1.0.2

  • Publish type declarations to npm.

1.0.1

  • Publish source maps to npm.