Merge pull request #1129 from poolifier/chore/use-biome
[poolifier.git] / CHANGELOG.md
index 56591cb7652b2f638181428cce753ae7171a1f02..6732933f866dbbaa1766f154e042f48ca2b417c2 100644 (file)
@@ -7,10 +7,115 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+## [2.6.42] - 2023-09-06
+
+### Changed
+
+- Optimize hot code paths implementation: avoid unnecessary branching, add and use optimized helpers (min, max), use reduce() array helper, ...
+
+## [2.6.41] - 2023-09-03
+
+### Changed
+
+- Optimize worker choice strategies implementation.
+
+## [2.6.40] - 2023-09-01
+
+### Fixed
+
+- Do not pre-choose in WRR worker choice strategy to avoid bias.
+- Avoid array out of bound in worker choice strategies after worker node removal.
+
+## [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