X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=CHANGELOG.md;h=dfc87235ff925753d0e48e5369ffb875dd3711f2;hb=7258488054d6b806c3e7571c68533c0d64e120d8;hp=17e3ff8ada090ba79be228bfc6ae35be70f554f9;hpb=737c6d97f8089996a9e30f77104d58afcf5791ba;p=poolifier.git diff --git a/CHANGELOG.md b/CHANGELOG.md index 17e3ff8a..dfc87235 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,22 +2,233 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [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 run time. +- Add worker tasks median run time 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 + +- Add `LESS_BUSY` worker choice strategy. + ### Changed - Optimize worker storage in pool. - Optimize worker alive status check. -- Rename worker choice strategy `LESS_RECENTLY_USED to `LESS_USED` . +- 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.3.10] - 2023-03-18