All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
- Chore: Dependency updates
- Feat: Add support for node 24
- Chore: Dependency updates
- Feat: Add support for mongodb 7
- Feat: Configurable retries for schedule pings (#1005; thank you @StafanTNG)
- Breaking: Remove support for mongodb 4
- Breaking: Remove support node 18
- Feat: Add option to define jobs with
interval: 'never'that are never started to run periodically but can be triggered to run once. - Chore: Dependency updates
- Feat: Recover from MongoDB errors during job execution by stopping and restarting the job after
timeout(#859). In order to make use of this feature, you must set thetimeoutwhen defining your job. - Chore: Dependency updates
- Feat: Add option to pass MongoClientOptions to momo (#857)
- Feat: Add index for scheduleId column (#839)
- Chore: Dependency updates
- Chore: Dependency updates
- Chore: Dependency updates
- Feat: handle improper error objects (like null, undefined ...) returned from jobs gracefully (#720)
- Fix: maxRunning is now always respected, also for longer running jobs (#706)
- Fix: remove error spam when checking for active schedules (#624)
- Fix: fixed CVE in fast-xml-parser
- Feature: only one schedule with a given name can be active at the same time
- if an instance stops running, a different instance will take over the job scheduling
- Fix: Fixed the usage to mongo collection prefixes
- Breaking: dropped Node 14 support (still works with node 14 though)
- Breaking: Removed
executionscollection and useschedulescollection - Breaking: Schedules need a name now
- Breaking: Removed
startJob,stopJob,cancelJob, andremoveJobfrom the schedule
- Fix: Dependency upgrades ( fix CVE-2023-22467)
- Feature: jobs can receive parameters (#405)
- Feature:
intervalcan be given as a number or in human-readable format - Feature:
firstRunAftercan be given as a number or in human-readable format - Feature: support cron jobs in addition to interval jobs
- Breaking: Remove
validatemethod; it's replaced bytryToJob - Breaking:
MomoJobBuilder::withInterval->MomoJobBuilder::withSchedule - Breaking: Removed
MomoJobBuilder::withFirstRunAfter; now part ofMomoJobBuilder::withSchedule
- Fix: catch exceptions thrown by momo's internal ping
- Feature: schedule a job to run with delay (option
firstRunAfter) - Feature: offer configuration for a prefix of all used collections (
collectionsPrefix) - Feature: the ping interval that momo instances need to keep their executions valid is now configurable
- Breaking:
immediatewas removed; instead, setfirstRunAfterto0for immediate execution - Breaking: dropped Node 10 support
- Feature: compatibility with mongodb v4 (removed typeorm dependency)
- Breaking: moved utility functions into classes
checkandclearare now part of theSchedule
- Feature: builder pattern for schedules and jobs
- Fix: remove stale executions from db
- Fix: fix removal of all jobs from the schedule
- Fix: fix log statement after scheduling a job
- Breaking: split API to start/stop/cancel/remove jobs into functions to handle a specific job and to handle all jobs
- Breaking: API to list jobs or get a single job now return job descriptions instead of the job itself
- initial release