X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=efb4aba5094ed4aa247679709070ba84e94bd222;hb=9122cc2c31a39f0fda89dac74d98043996ee809b;hp=7c0ec1e072a76183e51892fa183f7225109df23e;hpb=365f13e41857b5e4e81cce95c6ec93f1214af2cd;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c0ec1e0..efb4aba5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,217 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.1.15] - 2024-01-02 + +### Fixed + +- Fix CommonJS support with TypeScript: [#1821](https://github.com/poolifier/poolifier/issues/1821). + +## [3.1.15-0] - 2024-01-02 + +### Fixed + +- Fix CommonJS support with TypeScript: [#1821](https://github.com/poolifier/poolifier/issues/1821). + +## [3.1.14] - 2024-01-01 + +### Fixed + +- Properly handle dynamic pool with zero minimum size. + +## [3.1.13] - 2023-12-30 + +### Changed + +- Reduce branching in several hot code paths. +- Use faster object cloning implementation. + +## [3.1.12] - 2023-12-27 + +### Fixed + +- Fix tasks redistribution triggers at pool destroying. + +### Changed + +- Switch TypeScript module resolution to Node16. + +## [3.1.12-0] - 2023-12-27 + +### Fixed + +- Fix tasks redistribution triggers at pool destroying. + +## [3.1.11] - 2023-12-24 + +### Fixed + +- Avoid worker node cross tasks stealing. +- Ensure only half the pool worker nodes can steal tasks. + +## [3.1.10] - 2023-12-23 + +### Changed + +- Avoid useless branching on pool type. + +## [3.1.9] - 2023-12-22 + +### Changed + +- Readd ThreadPoolOptions and ClusterPoolOptions TS type aliases to PoolOptions. + +## [3.1.8] - 2023-12-21 + +### Fixed + +- Fix default worker weight computation. +- Fix possible null exception at pool destroying. + +## [3.1.7] - 2023-12-20 + +### Fixed + +- Ensure worker choice strategies implementation wait for worker node readiness: [#1748](https://github.com/poolifier/poolifier/issues/1748). + +## [3.1.6] - 2023-12-18 + +### Fixed + +- Fix pool destroying with tasks queuing enabled. + +## [3.1.5] - 2023-12-18 + +### Added + +- Add queued tasks end timeout support to worker node termination. + +## [3.1.4] - 2023-12-18 + +### Fixed + +- Make more robust the fix for possible null exception at handling task execution response. + +## [3.1.3] - 2023-12-17 + +### Fixed + +- Fix possible null exception at handling task execution response. + +## [3.1.2] - 2023-12-17 + +### Fixed + +- Wait for queued tasks to end at worker node termination. + +## [3.1.1] - 2023-12-16 + +### Fixed + +- Fix pool options TS type definition. + +## [3.1.0] - 2023-12-16 + +### Changed + +- TypeScript breaking change: merge ThreadPoolOptions and ClusterPoolOptions types into PoolOptions type. + +## [3.0.14] - 2023-12-13 + +### Fixed + +- Fix possible null exception with worker_threads pools. + +## [3.0.13] - 2023-12-12 + +### Fixed + +- Ensure worker choice strategy wait for worker nodes readiness. + +### Changed + +- Remove infinite retries support in worker choice strategy to avoid configuration leading to possible infinite recursion or loop. + +## [3.0.12] - 2023-12-12 + +### Changed + +- Add infinite retries support in worker choice strategy. + +## [3.0.11] - 2023-12-11 + +### Fixed + +- Ensure pool asynchronous resource properly track tasks execution. + +## [3.0.10] - 2023-12-08 + +### Changed + +- Add a fastpath when tasks stealing or redistribution is impossible. + +## [3.0.9] - 2023-11-26 + +### Fixed + +- Remove all pool events listener at pool destroying. +- Remove all worker node events listener at worker node destroying. +- Fix worker node event emitter listeners handling memory leak at pool options runtime change. + +## [3.0.8] - 2023-11-25 + +### Fixed + +- Ensure continuous tasks stealing on idle start at worker node idling. + +## [3.0.7] - 2023-11-24 + +### Changed + +- Make continuous tasks stealing start at worker node idling. + +## [3.0.6] - 2023-11-24 + +### Fixed + +- Ensure pool statuses are checked at initialization, `start()` or `destroy()`. +- Ensure pool `ready` event can be emitted after several `start()/destroy()` cycles. + +## [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 . +- Switch the worker node eventing code to `EventTarget` API. ## [3.0.0] - 2023-10-08 @@ -236,7 +444,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix race condition between ready and task functions worker message handling at startup. +- Fix race condition between readiness and task functions worker message handling at startup. - Fix duplicate task function worker usage statistics computation per task function. - Update task function worker usage statistics if and only if there's at least two different task functions. - Fix race condition at task function worker usage executing task computation leading to negative value.