Merge branch 'master' into add-worker-test
[poolifier.git] / CHANGELOG.md
1 # Changelog
2
3 All notable changes to this project will be documented in this file.
4
5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
8 ## [2.0.0] - not released yet
9
10 ### Breaking Changes
11
12 We changed some internal structures, but you shouldn't be too affected by them as these are internal changes.
13
14 #### New `export` strategy
15
16 ```js
17 // Before
18 const DynamicThreadPool = require('poolifier/lib/dynamic')
19 // After
20 const { DynamicThreadPool } = require('poolifier/lib/dynamic')
21 ```
22
23 But you should always prefer just using
24
25 ```js
26 const { DynamicThreadPool } = require('poolifier')
27 ```
28
29 #### New type definitions for input data and response
30
31 For cluster and thread pools, you can now only send and receive serializable `JSON` data.
32 _This is not a limitation by poolifier but NodeJS._
33
34 #### Public properties renaming
35
36 - Thread Pool's `numWorkers` is now `numberOfWorkers`
37 - Thread Pool's `nextWorker` is now `nextWorkerIndex`
38
39 #### Internal (protected) properties and methods renaming
40
41 These properties are not intended for end users
42
43 - `id` => `nextMessageId`
44
45 These methods are not intended for end users
46
47 - `_chooseWorker` => `chooseWorker`
48 - `_newWorker` => `createWorker`
49 - `_execute` => `internalExecute`
50 - `_chooseWorker` => `chooseWorker`
51 - `_checkAlive` => `checkAlive`
52 - `_run` => `run`
53 - `_runAsync` => `runAsync`
54
55 ## [1.1.0] - 2020-21-05
56
57 ### Added
58
59 - ThreadWorker support async functions as option
60 - Various external library patches
61
62 ## [1.0.0] - 2020-24-01
63
64 ### Added
65
66 - FixedThreadPool implementation
67 - DynamicThreadPool implementation
68 - WorkerThread implementation to improve developer experience