X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=bdfa3268f2414fb122f9c2dedacc8be95dbfa3fb;hb=c5d47229f35869b56a271612ef3fde64dd31c884;hp=2bb9fc365334f61176eae4a9a5aca0dfdbe2adaf;hpb=01f8ca8b8bfe1381568a2843a0c58a305109062d;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bb9fc36..bdfa3268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,118 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.6.9] - 2023-07-07 + +### Fixed + +- Recreate the right worker type on uncaught exception. + +### Added + +- Add minimum and maximum to internal measurement statistics. +- Add `runTime` and `waitTime` to pool information. +- Check worker inactive time only on dynamic worker. + +## [2.6.8] - 2023-07-03 + +### Fixed + +- Brown paper bag release to fix version handling in pool information. + +## [2.6.7] - 2023-07-03 + +### Fixed + +- Ensure worker queued tasks at error are reassigned to other pool workers. + +### Added + +- Add pool `utilization` ratio to pool information. +- Add `version` to pool information. +- Add worker information to worker nodes. + +## [2.6.6] - 2023-07-01 + +### 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. +- 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. - 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 and added. +- Breaking change: pool information `info` property object fields have been renamed. ### Fixed @@ -66,7 +169,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 @@ -512,7 +615,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