X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=47236a79b7d829e61ea0a1634903e35702aa3ba4;hb=5aa31a743fde300612ae89a242b809ae7db083ed;hp=7b5e9bfacf7fbcc3bc3c728bc47d29a0daef3147;hpb=f1c674cd6caabfbe46bc99d412611b4a91727c5f;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b5e9bfa..47236a79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,109 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.0.5] - 2023-10-27 + +### Fixed + +- Ensure pool ready event can be emitted only once. + +## [3.0.4] - 2023-10-20 + +### Changed + +- Switch to Bencher for benchmarking: [https://bencher.dev/perf/poolifier](https://bencher.dev/perf/poolifier). +- Use builtin retry mechanism in worker choice strategies instead of custom one. + +## [3.0.3] - 2023-10-19 + +### Fixed + +- Avoid null exception at sending message to worker. +- Avoid null exception at checking worker node readiness. + +## [3.0.2] - 2023-10-17 + +### Fixed + +- Fix race condition at dynamic worker node task assignment and scheduled removal. See issue [#1468](https://github.com/poolifier/poolifier/issues/1468) and [#1496](https://github.com/poolifier/poolifier/issues/1496). + +## [3.0.1] - 2023-10-16 + +### Fixed + +- Workaround possible race condition at work nodes array element removal and querying. See issue [#1468](https://github.com/poolifier/poolifier/issues/1468). + +### Changed + +- Switch the worker node eventing code to `EventTarget` API. + +## [3.0.0] - 2023-10-08 + +### Changed + +- Remove Node.js 16.x.x (EOL) support. + +## [2.7.5] - 2023-10-03 + +### Changed + +- Use `EventEmitterAsyncResource` type from `@types/node` for pool event emitter. TypeScript users will need to update to latest `@types/node` version. + +## [2.7.4] - 2023-09-25 + +### Fixed + +- Fix source maps (bundler issue). + +## [2.7.3] - 2023-09-24 + +### Changed + +- Convert pool event emitter to event emitter async resource. + +## [2.7.2] - 2023-09-23 + +### Changed + +- Add source maps to npm package to ease debugging. + +### Added + +- Continuous benchmarking versus other worker pools: [https://poolifier.github.io/benchmark](https://poolifier.github.io/benchmark). + +## [2.7.1] - 2023-09-20 + +### Fixed + +- Ensure worker message listener used one time are removed after usage. + +## [2.7.0] - 2023-09-19 + +### Fixed + +- Fix task stealing related tasks queue options handling at runtime. + +### Changed + +- Rename `listTaskFunctions()` to `listTaskFunctionNames()` in pool and worker API. + +### Added + +- Add `hasTaskFunction()`, `addTaskFunction()`, `removeTaskFunction()`, `setDefaultTaskFunction()` methods to pool API: [PR #1148](https://github.com/poolifier/poolifier/pull/1148). +- 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 -- Continuous internal benchmarking. +- Add `startWorkers` to pool options to whether start the minimum number of workers at pool initialization 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 under back pressure or not. +- Continuous internal benchmarking: [https://poolifier.github.io/benchmark-results/dev/bench](https://poolifier.github.io/benchmark-results/dev/bench). ## [2.6.44] - 2023-09-08 @@ -649,7 +745,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 @@ -671,7 +767,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 @@ -837,7 +933,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