X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=fa5c772de731c3baa7a95dd99852d9280a72e457;hb=4bbfe17f4a000745438e15bf643c350a3ee9971d;hp=38099740aa369ef53693cea7a0775d4c7cf9a0e6;hpb=e372f3935374fbbea3a5d3acc72813b36ced86ff;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 38099740..fa5c772d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,110 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [4.0.2] - 2024-05-06 + +### Fixed + +- Ensure poolifier worker task performance measurement requirements are synchronized with task function objects' worker choice strategies. + +## [4.0.1] - 2024-05-02 + +### Fixed + +- Ensure dynamic worker node are initialized with sensible worker node usage default values to avoid worker choice strategies biased decisions. +- Account for tasks wait time in task execution time computation in worker choice strategies to avoid biased decisions under load with several prioritized task functions and tasks queue enabled. + +## [4.0.0] - 2024-04-30 + +### Changed + +- Support per task function(s) priority and worker choice strategy definition via a task function object: `{ taskFunction: (data?: Data) => Response | Promise, priority?: number, strategy?: WorkerChoiceStrategy }`. +- Add priority queue based tasks queueing. One priority queue is divided into prioritized buckets to avoid queued tasks starvation under load. +- BREAKING CHANGE: `listTaskFunctionNames()` to `listTaskFunctionsProperties()` in pool and worker API returning registered task functions properties. +- BREAKING CHANGE: `strategy` field in pool information renamed to `defaultStrategy`. + +### Fixed + +- Ensure worker choice strategy options changes at runtime are propagated to poolifier workers. + +## [3.1.30] - 2024-04-22 + +### Fixed + +- Fix `transferList` argument type definition. + +## [3.1.29] - 2024-04-02 + +### Fixed + +- Fix possible race condition at worker node recreation on worker `error` and `exit` events. + +## [3.1.28] - 2024-04-01 + +### Fixed + +- Ensure the minimum number of workers on a started pool is guaranteed. + +## [3.1.27] - 2024-03-27 + +### Fixed + +- Fix publishing on JSR, take 4. + +## [3.1.26] - 2024-03-27 + +### Fixed + +- Fix publishing on JSR, take 3. + +## [3.1.25] - 2024-03-27 + +### Fixed + +- Fix publishing on JSR, take 2. + +## [3.1.24] - 2024-03-27 + +### Fixed + +- Fix publishing on JSR. + +## [3.1.23] - 2024-03-27 + +### Changed + +- Publish on JSR. + +## [3.1.22] - 2024-03-15 + +### Fixed + +- Fix pool event emitter registered callbacks removal at `destroy()`. + +## [3.1.21] - 2024-02-22 + +### Fixed + +- Fix null exception regression: [#1496](https://github.com/poolifier/poolifier/issues/1496). + +## [3.1.20] - 2024-02-11 + +### Fixed + +- Ensure `worker_threads` workers are unreferenced at termination. + +## [3.1.19] - 2024-01-16 + +### Fixed + +- Fix possible null exception at task finishing handling. + +### Changed + +- Optimize Deque implementation to improve tasks queueing performance. + +## [3.1.18] - 2024-01-06 + ### Fixed - Fix dynamic pool with minimum number of workers set to zero: [#1748](https://github.com/poolifier/poolifier/issues/1748).