X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=91cf115fa07e0e8ab8442a204ea73545d74ac727;hb=a97f9c80aa49c6152547fb6fa8de4b0f089c2353;hp=66762b0d7f295c7bc59da094d142771a027f984f;hpb=932fc8be063cc15b543ad14c2ab6df0fa4224fba;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 66762b0d..91cf115f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Add safe helper `availableParallelism` to help sizing the pool. + +### Fixed + +- Ensure message handler is only registered in worker. + +## [2.6.5] - 2023-06-27 + +### Known issues + +- Cluster pools tasks execution are not working by using ESM files extension: https://github.com/poolifier/poolifier/issues/782 + +### Fixed + +- Artificial version bump to 2.6.5 to workaround publication issue. +- Ensure cluster pool destroy() gracefully shutdowns worker's server. +- Ensure pool event is emitted before task error promise rejection. +- Fix queued tasks count computation. + +### Removed + +- Remove unneeded worker-threads worker `MessageChannel` internal usage for IPC. + +## [2.6.4] - 2023-06-27 + +### Known issues + +- Cluster pools tasks execution are not working by using ESM files extension: https://github.com/poolifier/poolifier/issues/782 + +### Fixed + +- Ensure cluster pool destroy() gracefully shutdowns worker's server. +- Ensure pool event is emitted before task error promise rejection. +- Fix queued tasks count computation. + +### Removed + +- Remove unneeded worker-threads worker `MessageChannel` internal usage for IPC. + +## [2.6.3] - 2023-06-19 + +### Fixed + +- Ensure no tasks are queued when trying to soft kill a dynamic worker. +- Update strategies internals after statistics computation. + +### Changed + +- Optimize O(1) queue implementation. + +## [2.6.2] - 2023-06-12 + +### Fixed + +- Fix new worker use after creation in dynamic pool given the current worker choice strategy. + +## [2.6.1] - 2023-06-10 + +### Added + +- Add worker choice strategy documentation: [README.md](./src/pools/selection-strategies/README.md). + +### Fixed + +- Fix average statistics computation: ensure failed tasks are not accounted. + +## [2.6.0] - 2023-06-09 + +### Added + +- Add `LEAST_ELU` worker choice strategy (experimental). +- Add tasks ELU instead of runtime support to `FAIR_SHARE` worker choice strategy. + ### Changed - Refactor pool worker node usage internals. -- Refactor worker choice strategy statistics requirements. +- Breaking change: refactor worker choice strategy statistics requirements: the syntax of the worker choice strategy options has changed. +- Breaking change: pool information `info` property object fields have been renamed. ### Fixed @@ -61,7 +137,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Switch pool event emitter to `EventEmitterAsyncResource`. - Add tasks wait time accounting in per worker tasks usage. -- Add interleaved weighted round robin worker choice strategy (experimental). +- Add interleaved weighted round robin `INTERLEAVED_WEIGHTED_ROUND_ROBIN` worker choice strategy (experimental). ### Changed @@ -507,7 +583,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 serializable data. +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._ #### Public property replacements