X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=ad5bfde0f264bd84b5719d8dba1b635e1ff033f0;hb=db0c5f683e0252c386d2b4aea8c1519e737fd16e;hp=020b4b6194a04cad3e056ed90e386570f4224a7e;hpb=ffd2c1ff37b1e98785f78e86d6f07b67021ecf1e;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 020b4b61..ad5bfde0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,108 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Fix task stealing related tasks queue options handling at runtime. + +### Changed + +- Stricter worker constructor arguments validation. + +## [2.6.45] - 2023-09-17 + +### Changed + +- Disable publication on GitHub packages registry on release until authentication issue is fixed. + +### Added + +- Add `startWorkers` to pool options to whether start the minimum number of workers at pool creation or not. +- Add `start()` method to pool API to start the minimum number of workers. +- Add `taskStealing` and `tasksStealingOnPressure` to tasks queue options to whether enable task stealing or not and whether enable tasks stealing on back pressure or not. +- Continuous internal benchmarking: https://poolifier.github.io/benchmark-results/dev/bench. + +## [2.6.44] - 2023-09-08 + +### Fixed + +- Use a dedicated PAT to publish on GitHub packages registry. + +### Added + +- Publish on GitHub packages registry on release. + +### Changed + +- Switch from rome to biome: [PR #1128](https://github.com/poolifier/poolifier/pull/1128). + +## [2.6.43] - 2023-09-08 + +### Added + +- Publish on GitHub packages registry on release. + +### Changed + +- Switch from rome to biome: [PR #1128](https://github.com/poolifier/poolifier/pull/1128). + +## [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 @@ -124,7 +226,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add kill handler to worker options allowing to execute custom code when worker is killed. - Add `listTaskFunctions()` method to pool API. -- SMTP server pool example: nodemailer. +- SMTP client pool example: nodemailer. ## [2.6.25] - 2023-08-13 @@ -560,7 +662,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Optimize worker alive status check. - BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. - Optimize `LESS_USED` worker choice strategy. -- Update benchmarks versus external threads pools. +- Update benchmark versus external threads pools. - Optimize tasks usage statistics requirements for worker choice strategy. ### Fixed @@ -582,7 +684,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Optimize worker alive status check. - BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. - Optimize `LESS_USED` worker choice strategy. -- Update benchmarks versus external threads pools. +- Update benchmark versus external threads pools. ### Fixed @@ -748,7 +850,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Optimize fair share task scheduling algorithm implementation. -- Update benchmarks versus external pools results with latest version. +- Update benchmark versus external pools results with latest version. ## [2.3.3] - 2022-10-15