X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=8d1da82330d9378b9eb1705c90269beb8625ddce;hb=7086c5b0c047b4475942e5ed601cb7e1bec3dcf4;hp=b2d3b81106d5a9ad712bbf738cb04ff853a36131;hpb=87e44747b0b3f50f97b242e4fa1665b017ff0879;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index b2d3b811..8d1da823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,96 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add kill handler to worker options allowing to execute custom code when worker is killed. + +## [2.6.25] - 2023-08-13 + +### Added + +- HTTP server pool examples: fastify-cluster, fastify-hybrid. +- WebSocket server pool examples: ws-cluster, ws-hybrid. + +## [2.6.24] - 2023-08-12 + +### Added + +- Add array of transferable objects to the `execute()` method arguments. +- WebSocket server pool examples: ws-worker_threads. + +## [2.6.23] - 2023-08-11 + +### Fixed + +- Fix pool busyness semantic when tasks queueing is enabled: the pool is busy when the number of executing tasks on each worker has reached the maximum tasks concurrency per worker. + +### Added + +- HTTP client pool examples: fetch, node-fetch and axios with multiple task functions. +- HTTP server pool examples: express-worker_threads, fastify-worker_threads. + +## [2.6.22] - 2023-08-10 + +### Fixed + +- Add missing `types` field to package.json `exports`. + +### Changed + +- Structure markdown documentation (PR #811). + +## [2.6.21] - 2023-08-03 + +### Changed + +- Improve code documentation. +- Code refactoring and cleanup for better maintainability and readability. + +## [2.6.20] - 2023-07-21 + +### Fixed + +- Fix queued tasks redistribution on error task execution starvation. +- Ensure task queueing per worker condition is untangled from the pool busyness semantic. + +### Changed + +- Drastically reduce lookups by worker in the worker nodes. + +## [2.6.19] - 2023-07-20 + +### Added + +- Dedicated internal communication channel for worker_threads pools. + +## [2.6.18] - 2023-07-19 + +### Changed + +- Code refactoring and cleanup for better maintainability and readability. Bundle size is a bit smaller. + +## [2.6.17] - 2023-07-16 + +### Added + +- Add `listTaskFunctions()` method to worker class. + +## [2.6.16] - 2023-07-12 + +### Fixed + +- Fix pool startup detection. +- Fix worker task functions handling. + +## [2.6.15] - 2023-07-11 + +### Added + +- Take into account worker node readiness in worker choice strategies. + +## [2.6.14] - 2023-07-10 + ### Fixed - Fix task function statistics tracking. @@ -97,7 +187,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed -- Remove unneeded worker-threads worker `MessageChannel` internal usage for IPC. +- Remove unneeded worker_threads worker `MessageChannel` internal usage for IPC. ## [2.6.4] - 2023-06-27 @@ -113,7 +203,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed -- Remove unneeded worker-threads worker `MessageChannel` internal usage for IPC. +- Remove unneeded worker_threads worker `MessageChannel` internal usage for IPC. ## [2.6.3] - 2023-06-19 @@ -136,7 +226,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Add worker choice strategy documentation: [README.md](./src/pools/selection-strategies/README.md). +- Add worker choice strategy documentation: [README.md](./docs/worker-choice-strategies.md). ### Fixed @@ -170,7 +260,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Compute statistics at the worker level only if needed. -- Add `worker-threads` options to thread pool options. +- Add `worker_threads` options to thread pool options. ### Fixed @@ -254,7 +344,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix typescript type definition for worker function: ensure the input data is optional. +- Fix typescript type definition for task function: ensure the input data is optional. - Fix typescript type definition for pool execute(): ensure the input data is optional. ## [2.4.9] - 2023-04-15 @@ -271,7 +361,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix worker function type definition and validation. +- Fix task function type definition and validation. - Fix worker choice strategy options handling. ## [2.4.8] - 2023-04-12 @@ -448,7 +538,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix `exports` syntax for ESM and CommonJS. +- Fix package.json `exports` syntax for ESM and CommonJS. ### Changed @@ -458,7 +548,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix `exports` syntax for ESM and CommonJS. +- Fix package.json `exports` syntax for ESM and CommonJS. ## [2.3.10-1] - 2023-03-18 @@ -470,7 +560,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- Fix `exports` syntax for ESM and CommonJS. +- Fix package.json `exports` syntax for ESM and CommonJS. ## [2.3.9] - 2023-03-18 @@ -585,7 +675,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Breaking Changes -- Support only NodeJS version 16.x.x for cluster pool: upstream cluster API have changed on that version. +- Support only Node.js version 16.x.x for cluster pool: upstream cluster API have changed on that version. ## [2.1.0] - 2021-08-29 @@ -651,7 +741,7 @@ const { DynamicThreadPool } = require('poolifier') #### New type definitions for input data and response For cluster worker and worker-thread pools, you can now only send and receive structured-cloneable data. -_This is not a limitation by poolifier but NodeJS._ +_This is not a limitation by poolifier but Node.js._ #### Public property replacements