@git-stunts/alfred
Advanced tools
+18
-0
@@ -8,2 +8,20 @@ # Changelog | ||
| ## [0.10.3] - 2026-02-08 | ||
| ### Fixed | ||
| - **Premature process exit**: `SystemClock.sleep()` no longer calls `timer.unref()`. The unref'd timer could become the sole event-loop handle during retry backoff or timeout races, causing Node.js to exit before the operation completed. Callers that need graceful shutdown should use `AbortSignal` instead. | ||
| ## [0.10.2] - 2026-02-06 | ||
| ### Changed | ||
| - Version bump to keep lockstep alignment with the Alfred package family (no API changes). | ||
| ## [0.10.1] - 2026-02-06 | ||
| ### Changed | ||
| - Version bump to keep lockstep alignment with the Alfred package family (no API changes). | ||
| ## [0.10.0] - 2026-02-04 | ||
@@ -10,0 +28,0 @@ |
+1
-1
| { | ||
| "name": "@git-stunts/alfred", | ||
| "version": "0.10.0", | ||
| "version": "0.10.3", | ||
| "description": "Production-grade resilience patterns for async ops: retry/backoff+jitter, circuit breaker, bulkhead, timeout.", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
+1
-1
| { | ||
| "name": "@git-stunts/alfred", | ||
| "version": "0.10.0", | ||
| "version": "0.10.3", | ||
| "description": "Production-grade resilience patterns for async ops: retry/backoff+jitter, circuit breaker, bulkhead, timeout.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+0
-1
@@ -419,3 +419,2 @@ /** | ||
| * System clock using real time. | ||
| * Uses runtime-aware timer management for clean process exits. | ||
| */ | ||
@@ -422,0 +421,0 @@ export class SystemClock { |
@@ -12,3 +12,2 @@ /** | ||
| * System clock using real time. | ||
| * Uses runtime-aware timer management (unref) to allow clean process exits. | ||
| */ | ||
@@ -26,3 +25,2 @@ export class SystemClock { | ||
| * Sleeps for the specified duration. | ||
| * Timer is unref'd to prevent blocking process exit. | ||
| * @param {number} ms - Milliseconds to sleep | ||
@@ -33,9 +31,3 @@ * @returns {Promise<void>} | ||
| return new Promise((resolve) => { | ||
| const timer = setTimeout(resolve, ms); | ||
| if (typeof timer === 'object' && typeof timer.unref === 'function') { | ||
| timer.unref(); | ||
| } else if (typeof Deno !== 'undefined' && typeof Deno.unrefTimer === 'function') { | ||
| // Deno returns a number ID | ||
| Deno.unrefTimer(timer); | ||
| } | ||
| setTimeout(resolve, ms); | ||
| }); | ||
@@ -42,0 +34,0 @@ } |
133058
0.1%2761
-0.32%