X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=920c0b4ba9bfdca7786564b33123d7de16efb098;hb=e4543b1428fd6b52f5832ea75f21ac082b52684e;hp=37e97b1d8b7e49d4b9165c675fefa561471406c6;hpb=2fb9ca9cdc427978928f6f065cb41060131fd47e;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 37e97b1d..920c0b4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,229 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Switch pool event emitter to `EventEmitterAsyncResource`. + +### Changed + +- Renamed worker choice strategy `LESS_BUSY` to `LEAST_BUSY` and `LESS_USED` to `LEAST_USED`. + +## [2.4.14] - 2023-05-09 + +### Fixed + +- Ensure no undefined task runtime can land in the tasks history. +- Fix median computation implementation once again. + +### Added + +- Unit tests for median and queue implementations. + +## [2.4.13] - 2023-05-08 + +### Fixed + +- Fix worker choice strategy options validation. +- Fix fair share worker choice strategy internals update: ensure virtual task end timestamp is computed at task submission. + +## [2.4.12] - 2023-05-06 + +### Added + +- Support multiple task functions per worker. +- Add custom worker weights support to worker choice strategies options. + +### Changed + +- Use O(1) queue implementation for tasks queueing. + +### Fixed + +- Fix median computation implementation. +- Fix fair share worker choice strategy internals update. + +## [2.4.11] - 2023-04-23 + +### Changed + +- Optimize free worker finding in worker choice strategies. + +## [2.4.10] - 2023-04-15 + +### Fixed + +- Fix typescript type definition for worker 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 + +### Added + +- Add tasks queue enablement runtime setter to pool. +- Add tasks queue options runtime setter to pool. +- Add worker choice strategy options runtime setter to pool. + +### Changed + +- Remove the tasks queuing experimental status. + +### Fixed + +- Fix worker function type definition and validation. +- Fix worker choice strategy options handling. + +## [2.4.8] - 2023-04-12 + +### Fixed + +- Fix message between main worker and worker type definition for tasks. +- Fix code documentation. + +## [2.4.7] - 2023-04-11 + +### Added + +- Add worker tasks queue options to pool options. + +### Fixed + +- Fix missing documentation. + +## [2.4.6] - 2023-04-10 + +### Fixed + +- Ensure one task at a time is executed per worker with tasks queueing enabled. +- Properly count worker running tasks with tasks queueing enabled. + +## [2.4.5] - 2023-04-09 + +### Added + +- Use monotonic high resolution timer for worker tasks runtime. +- Add worker tasks median runtime to statistics. +- Add worker tasks queue (experimental). + +## [2.4.4] - 2023-04-07 + +### Added + +- Add `PoolEvents` enumeration and `PoolEvent` type. + +### Fixed + +- Destroy worker only on alive check. + +## [2.4.3] - 2023-04-07 + +### Fixed + +- Fix typedoc generation with inheritance. + +## [2.4.2] - 2023-04-06 + +### Added + +- Add `full` event to dynamic pool. +- Keep worker choice strategy in memory for conditional reuse. + +### Fixed + +- Fix possible negative worker key at worker removal in worker choice strategies. + +## [2.4.1] - 2023-04-05 + +### Changed + +- Optimize worker choice strategy for dynamic pool. + +### Fixed + +- Ensure dynamic pool does not alter worker choice strategy expected behavior. + +## [2.4.0] - 2023-04-04 + +### Added + +- Add `LESS_BUSY` worker choice strategy. + +### Changed + +- Optimize worker storage in pool. +- Optimize worker alive status check. +- BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. +- Optimize `LESS_USED` worker choice strategy. +- Update benchmarks versus external threads pools. +- Optimize tasks usage statistics requirements for worker choice strategy. + +### Fixed + +- Ensure trimmable characters are checked at pool initialization. +- Fix message id integer overflow. +- Fix pool worker removal in worker choice strategy internals. +- Fix package publication with pnpm. + +## [2.4.0-3] - 2023-04-04 + +### Added + +- Add `LESS_BUSY` worker choice strategy. + +### Changed + +- Optimize worker storage in pool. +- Optimize worker alive status check. +- BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. +- Optimize `LESS_USED` worker choice strategy. +- Update benchmarks versus external threads pools. + +### Fixed + +- Ensure trimmable characters are checked at pool initialization. +- Fix message id integer overflow. +- Fix pool worker removal in worker choice strategy internals. +- Fix package publication with pnpm. + +## [2.4.0-2] - 2023-04-03 + +### Added + +- Add `LESS_BUSY` worker choice strategy. + +### Changed + +- Optimize worker storage in pool. +- Optimize worker alive status check. +- BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. +- Optimize `LESS_USED` worker choice strategy. + +### Fixed + +- Ensure trimmable characters are checked at pool initialization. +- Fix message id integer overflow. +- Fix pool worker removal in worker choice strategy internals. +- Fix package publication with pnpm. + +## [2.4.0-1] - 2023-04-03 + +### Added + +- Add `LESS_BUSY` worker choice strategy. + +### Changed + +- Optimize worker storage in pool. +- Optimize worker alive status check. +- BREAKING CHANGE: Rename worker choice strategy `LESS_RECENTLY_USED` to `LESS_USED`. +- Optimize `LESS_USED` worker choice strategy. + +### Fixed + +- Ensure trimmable characters are checked at pool initialization. +- Fix message id integer overflow. +- Fix pool worker removal in worker choice strategy internals. + ## [2.4.0-0] - 2023-04-03 ### Added