p-queue v9.0.0

v9.0.0
Added 10
  • Add .onError() method
  • Add .onPendingZero() method
  • Add pendingZero event
  • Add .runningTasks property
  • Add .isSaturated property
  • Add .onRateLimit() method
Changed 1
  • Rename carryoverConcurrencyCount option to carryoverIntervalCount
Fixed 4
  • Fix stack overflow with many aborted tasks
  • Fix interval cap race condition with high concurrency
  • Fix interval timing when queue becomes empty between task additions
  • Fix priority default handling for undefined values
Removed 2
  • Require Node.js 20
  • Remove throwOnTimeout option, timeouts now always throw

From p-queue

Breaking
  • Require Node.js 20 b2600d5
  • Remove throwOnTimeout option - timeouts now always throw e48716f
    • It was a mistake to not throw on timeouts and the option made it complicated to handle types.
    • If you really need the old behavior back:
      const result = await queue.add(fn).catch(error => {
        if (error instanceof TimeoutError) {
        	return undefined;
        }
      
        throw error;
      });
      
Improvements
Fixes
  • Fix stack overflow with many aborted tasks 81cbae2
  • Fix interval cap race condition with high concurrency 7fea658
  • Fix interval timing when queue becomes empty between task additions 7b3f53e
  • Fix priority default handling for undefined values 439d512

https://github.com/sindresorhus/p-queue/compare/v8.1.1...v9.0.0

View original

Upgraded? How did it go?

Discussion