Skip to content

Commit 9cfc0dd

Browse files
committed
chore: release version 0.3.0 with new features including immediate/delayed first run, overrun protection, and pluggable persistence providers
1 parent 3f6d3b4 commit 9cfc0dd

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# cronbake
22

3+
## 0.3.0
4+
5+
### Minor Changes
6+
7+
- Immediate/delayed first run: Add `immediate` and `delay` options so the first callback can run right away or after a configurable delay (e.g., `"10s"`).
8+
- Overrun protection: Add `overrunProtection` (default: true) to skip starting a new run if the previous execution is still running; tracks `skippedExecutions` in metrics.
9+
- Pluggable persistence: Refactor persistence to use providers. Add `FilePersistenceProvider` (JSON on disk) and `RedisPersistenceProvider` (single-key JSON via injected client). New `persistence.strategy` and `persistence.provider` options.
10+
11+
### Features
12+
13+
- New Cron options: `immediate`, `delay`, `overrunProtection`.
14+
- New metrics: `skippedExecutions`.
15+
- New persistence API: `PersistenceProvider` with `save/load` and types for persisted state.
16+
- Export providers from package API: `FilePersistenceProvider`, `RedisPersistenceProvider`.
17+
18+
### Fixes
19+
20+
- Parser: Correct `@on_<day>` mapping to Sunday=0…Saturday=6, fix `@every_<n>_months` to run on day 1 (`0 0 0 1 */n *`), and `@every_<n>_dayOfWeek` to `*/n` on day-of-week.
21+
- Types: Replace `Timer` with `ReturnType<typeof setTimeout|setInterval>` for portability.
22+
- Build: Replace `@/lib` path aliases in source with relative imports to avoid bundler resolution issues.
23+
- Packaging: Set `module` to `dist/index.js`, move `@changesets/cli` to devDependencies, ensure Changesets access is public.
24+
25+
### Tests
26+
27+
- Add tests for immediate/delayed first run and overrun protection.
28+
- Add provider-focused tests and shared test utilities for persistence (file and Redis via a fake client).
29+
330
## 0.2.0
431

532
### Minor Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "cronbake",
33
"description": "A powerful and flexible cron job manager built with TypeScript",
44
"module": "dist/index.js",
5-
"version": "0.2.0",
5+
"version": "0.3.0",
66
"publishConfig": {
77
"access": "public"
88
},

0 commit comments

Comments
 (0)