X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=11551dcc9b8a6c134e8de77610c167f447a59f16;hb=baca80f7921f47ead05d194fb782a3e310f4ea41;hp=a9c2033497368a4682b1c29c4ee81fd8ca6bbfdf;hpb=e560a9f2e03d63760bb42ac7d8d8bd9b23c9b1a5;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index a9c20334..11551dcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,97 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.6.39] - 2023-08-30 + +### Fixed + +- Fix race condition in worker choice strategies at worker node info querying while not yet initialized . + +## [2.6.38] - 2023-08-30 + +### Added + +- Bundle typescript types declaration into one file. + +### Changed + +- Improve interleaved weighted round robin worker choice strategy implementation. + +## [2.6.37] - 2023-08-28 + +### Fixed + +- Ensure unused worker usage statistics are deleted at runtime. + +### Changed + +- Rename worker choice strategy options `choiceRetries` to `retries`. +- Avoid unnecessary branching in worker choice strategies. + +## [2.6.36] - 2023-08-27 + +### Fixed + +- Fix pool `execute()` arguments check. + +### Changed + +- Make continuous tasks stealing algorithm less aggressive. +- Fine tune tasks stealing algorithm under back pressure. + +## [2.6.35] - 2023-08-25 + +### Fixed + +- Don't account worker usage statistics for tasks that have failed. +- Fix pool information runtime and wait time median computation. + +### Changed + +- Update simple moving average implementation to use a circular buffer. +- Update simple moving median implementation to use a circular buffer. +- Account for stolen tasks in worker usage statistics and pool information. + +### Added + +- Continuous tasks stealing algorithm. + +## [2.6.34] - 2023-08-24 + +### Fixes + +- Avoid cascading tasks stealing under back pressure. + +### Changed + +- Add fastpath to queued tasks rescheduling. + +## [2.6.33] - 2023-08-24 + +### Fixed + +- Fix queued tasks rescheduling. + +### Changed + +- Rename tasks queue options `queueMaxSize` to `size`. + +### Added + +- Task stealing scheduling algorithm if tasks queueing is enabled. + +## [2.6.32] - 2023-08-23 + +### Fixed + +- Ensure no task can be executed when the pool is destroyed. + +### Added + +- Add `queueMaxSize` option to tasks queue options. +- Add O(1) deque implementation implemented with doubly linked list and use it for tasks queueing. +- Add tasks stealing algorithm when a worker node queue is back pressured if tasks queueing is enabled. + ## [2.6.31] - 2023-08-20 ### Fixed