X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=bc0afc7aeb7fd8828570e1c1085cdf7759b6b23d;hb=c62d6d8877008cce9408998b824794b86bfe0a2d;hp=77bd77a69f9fca0824f824dbabe8b1f4099408b9;hpb=1a3e01ba9edf407586186692631fb554b500c026;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 77bd77a6..bc0afc7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.6.29] - 2023-08-18 + +### Fixed + +- Fix race condition between ready 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. + +### Added + +- Add back pressure detection on the worker node queue. Event `backPressure` is emitted when all worker node queues are full (worker node queue size >= poolMaxSize^2). +- Use back pressure detection in worker choice strategies. +- Add worker choice strategies retries mechanism if no worker is eligible. + +## [2.6.28] - 2023-08-16 + +### Fixed + +- Ensure pool workers are properly initialized. + +### Added + +- HTTP server pool examples: express-cluster, express-hybrid. + +### Changed + +- Remove now useless branching in worker hot code path. + +## [2.6.27] - 2023-08-15 + +### Fixed + +- Add `KillHandler` type definition to exported types. + +### Added + +- Add `destroy` event to pool API. + +## [2.6.26] - 2023-08-15 + ### Added - Add kill handler to worker options allowing to execute custom code when worker is killed. -- Add listTaskFunctions() method to pool API. +- Add `listTaskFunctions()` method to pool API. - SMTP server pool example: nodemailer. ## [2.6.25] - 2023-08-13 @@ -729,15 +770,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ```js // Before -const DynamicThreadPool = require("poolifier/lib/dynamic"); +const DynamicThreadPool = require('poolifier/lib/dynamic') // After -const { DynamicThreadPool } = require("poolifier/lib/dynamic"); +const { DynamicThreadPool } = require('poolifier/lib/dynamic') ``` But you should always prefer just using ```js -const { DynamicThreadPool } = require("poolifier"); +const { DynamicThreadPool } = require('poolifier') ``` #### New type definitions for input data and response