UNPKG

94.8 kBMarkdownView Raw
1
2## 4.5.1
3
4- fix: cron in cluster mode was not restarting process after one pass - fixes #4834 #4733 #4307 #4834
5- fix: restore --sort <param> option on `pm2 ls` - fix #4536
6- fix: fix tests with npm7
7- fix: restore warning message about process list changed and not dumped
8- chore: alias `--cron` with `--cron-restart`
9- chore: test PM2 againt Node.js 15.x
10- chore: upgrade systeminformation and debug module to latest - PR #4892 by @AdamMajer
11- chore: drop Node 9.x from travis testing
12- chore: remove ps-list module
13
14## 4.5.0
15
16- fix: creating log folder in sync mode. #4846 - PR #4844 by @QS20199
17- fix: PM2 unable to run ESM packages: ERR_UNSUPPORTED_ESM_URL_SCHEME #4839 - PR #4841 by @ox-harris
18- fix: Use opts.namespace if it was passed in. Previously, it was ignored. #4778 - PR #4791 by @sbleon
19- fix: Prevent reloadLogs command from hanging. #4781 - PR #4782 by @mbrooks and Franck Danard
20- fix: backward compatibility fix for tarball modules - PR #4767 by @ykolbin
21- fix: Operation not permitted on call setgid #2957 - PR #4681 by @guard43ru
22- chore: upgrade dependencies
23
24## 4.4.1
25
26- feature drop: autodump fixes #4763
27- fix: fix starting pm2 script from inside an app #4761 (need use PM2_PROGRAMMATIC)
28
29## 4.4.0
30
31- feature: support Node v14.0
32
33## 4.3.1
34
35- fix: downgrade vizion
36
37## 4.3.0
38
39- feature: reduce by 1/3 pm2 package size (drop moment, lodash)
40- feature: pm2 start app.js --filter-env NODE_ENV #4596
41- feature: print logs of a particular namespace #4517 @bvsubhash
42- feature: trigger all the process using 'all' or trigger all processes in a particular namespace #4518 @bvsubhash
43- feature: support ecosystem.config.cjs #4662 @Timic3
44- fix: disable log (--error /dev/null --output /dev/null) on Windows #4560 @codpot
45- fix: pm2 install <tar_file> adaptation #4593 @adunkey
46- fix: add type for pm2.reload with optional options parameter #4615 @kevindoveton
47- fix: add `ignore_watch` to StartOptions types #4629 @jlvcm
48- fix: fix --cwd CLI option description #4639 @warpdesign
49- fix: do not require cron if not necessary in CLI
50- fix: upgrade mkdirp to 1.0.4 (sec vuln) #4638
51- chore: bump mocha to latest + drop mocha.opts + add .mocharc.yml
52- chore: pm2 init ecosyst file template changes
53- chore: pm2-deploy@1.0.2 (revert fix)
54- chore: pm2-io-apm@4.3.4 (instant trace + broadcast trace threshold + boolean metrics support)
55
56
57## 4.2.3
58
59- fix: Fix an import error on Node 9.x
60
61## 4.2.2
62
63- feat: Support ESM on Node 13 via .mjs file or `"type":"module"` in package.json #4540
64- fix: Fix an error for pm2 path on Windows. #4563
65
66## 4.2.1
67
68- fix: col size too small for certain app name with tracing enabled
69- chore: check for pm2 updates
70
71## 4.2.0
72
73- feature: `pm2 logs --highlight <str>` to highlight specified string when using `pm2 logs` #4013 by @bvsubhash
74- feature: `pm2 sysmonit` activate system wide monitoring && `pm2 sysinfos` display system informations
75- feature: new App Namespace feature via `namespace` attr or `pm2 start app.js --namespace <ns>` #3471 by @bvsubhash
76- feature: enforce message sending for Windows Graceful Shutdown via `pm2 start app.js --shutdown-with-message` to use message sending for specific process or via `PM2_KILL_USE_MESSAGE=true pm2 update` to default this behavior on PM2. #3561 #3691 #3555 #4469 #4470 #4474 by @aleksk and @8ai
77- feature: `pm2 ls` now display a hint when process list differ from dump file
78- fix: if id > 100 not shown in pm2 ls #4475
79- fix: stop and delete cron immediately on deletion of a process #4492 by @bvsubhash
80- fix: display correct username by @bvsubhash
81- chore: add test on node 13.x
82- chore: cleanup some unused files
83- chore: enforce node >= 8.10.0
84
85## 4.1.2
86
87- fix: temporarily disable system metrics retrieval
88
89## 4.1.1
90
91- fix: #4452 disable network collection metric
92
93## 4.1.0
94
95- fix: #4270 fix ANSI escape for `pm2 ls --watch`
96- fix: `pm2 start app.js -i 1` start app in cluster mode
97- fix: #4254 add HOST environment variable on pm2 serve
98- fix: #4267 Allow usernames in uid/gid/user again
99- fix: #4376 make process.send('ready') trigger sigint
100- fix: #4443 allow pm2-runtime to auto-exit even if modules are still running
101- fix: #4364 typos
102- fix: #4288 add 'max' type in typescript definition
103
104## 4.0.2
105
106- fix: #4450 do not open sysinfo window on Windows
107
108## 4.0.1
109
110- chore: switch Systeminfo logging to debug
111
112## 4.0.0
113
114- feat: make pm2 fully standalone with node embedded
115- feat: startup, npm, node system adaptation for standalone installs
116- feat: system information worker - retrieve:
117 - network I/O + latency
118 - disk I/O + space
119 - cpu usage + temperature
120 - memory usage
121 - intelligent display of information (e.g. display disks > 80% cpu usage)
122- feat: listing of docker container on host machine with independent pm2 list
123- feat: upgrade of Chokidar to 3.x - Massive CPU & RAM consumption improvements for watch feature
124- r&d: manage container like pm2 processes
125- feat: intelligent display of high loaded processes in an independent pm2 list
126- feat: #4224 --ignore-watch now accepts globs (@vaskevich)
127- feat: pm2 save --force allow to force save of empty process list
128- fix: pm2 monit dashboard without leaks
129- fix: pm2 register fixed
130- refactor/fix: pm2 listing systems refactoring
131- chore: remove old legacy code for < 8 Node.js versions
132- chore: make the repo lighter
133- chore: better display when pm2-runtime is linked to on-premise
134- chore: pm2 CLI refactoring #4391
135
136## 3.5.0
137
138- feat: #4220 #2941 #4196 improve pm2 serve for SPA - autoredirect requests to index.html if --spa
139- feat: on pm2 show <app>, display metric unit and divergent environment variables
140- feat: #4157 tweak systemd script to auto restart PM2 in case of crash failure
141- fix: #4212 on pm2 show, avoid crash when versioning comment is not present
142- fix: #4171 fix pm2 list when small screen
143- fix: #4197 fix pm2 unstartup for macOS
144- fix: #2764 in pm2 monit, only display log of selected application
145- fix: #2793 pm2 monit, rolling log buffer, avoid crash and performance issues
146- fix: #4060 do not emit online when application is errored
147- chore: remove nssocket in dependencies
148
149## 3.4.1
150
151- fix: allow pm2 register / pm2 monitor
152- fix: restore trace indicator
153
154## 3.4.0
155
156- use @pm2/io version 4
157- disable @pm2/io for node.js v4 and v5
158
159/!\ Warning, built-in custom metrics are not supported anymore on Node 4 and 5
160
161New builtin metrics when starting a Node.js application:
162- Heap Size
163- Heap Usage
164- Used Heap Size
165- Active Requests
166- Active handles
167- Event loop latency
168- Event loop latency p95
169- HTTP queries per minutes
170- HTTP Mean Latency
171- HTTP P95 Latency
172
173## 3.3.1 (18/02/19)
174
175- add pm2 profile:cpu [timeout]
176- add pm2 profile:mem [timeout]
177
178## 3.3.0 (14/02/19)
179
180- Upgrade pmx to ^3
181
182## 3.2.9 (17/01/19)
183
184- #4128 fix: force detached process
185
186## 3.2.6-8 (11/01/19)
187
188- rollback: node bin path handling adaptation
189
190## 3.2.5 (09/01/19)
191
192- feat: enhance pm2 report
193- feat: support snap Ubuntu system
194- fix: pm2 register/monitor command
195- fix: consolidate spawn function on unhealthy systems to avoid pm2 crash
196- fix: error message if extra lang interpreter are not installed when runing tests
197- fix: (pm2 deploy) command line bug when passing env variables to post-deploy hook
198- fix: (pm2 deploy) always deploy to default branch problem
199- fix: (pm2 deploy) pm2 deploy <env> exec now accept multiple commands
200- fix: print full env + skip extra internal fields when using programmatic pm2
201
202## 3.2.4 (19/12/18)
203
204### Feat
205
206- display cron configuration when doing `pm2 desc <id>`
207- refactor test suite (benchmark/simplification)
208
209### Fix
210
211- pm2 flush <app> flush only one app
212- resolve uid properly on pm2 ls / pm2 desc
213- keep wait_ready option on process reload
214- keep stringification of environment variable behavior
215- return an error when using pm2 api on starting json configuration if one app is errored
216
217## 3.2.3 (4/12/18)
218
219### Fix
220
221- medium rare bug: fix issue when acting on process file (#3987 + #3192)
222- concurrent action to 1 if acting on only 2 processes
223- fix cluster syntax
224- add more test on port release
225
226## 3.2.2 (5/10/18)
227
228### Fix
229
230- minor bug: fix bug when passing -i 'max' or -i 0
231
232## 3.2.1 (3/10/18)
233
234### Fix
235
236- minor bug: get internal pm2 config after creation on new pm2 boots
237
238## 3.2.0 (3/10/18)
239
240### Features
241
242- package.json version field retrieval and display in pm2 ls, pm2 show, pm2 monit
243- pm2 internal configuration system via `pm2 set pm2:key value`, attached to pm2.user_conf
244- add the .user field (CLI + Config) to set the user to start the application with
245- add the .time field (CLI + Config) to enable default logs date prefix
246- max_memory_restart now triggers a reload
247- pm2 env <pm_id> command to display the environment the application is running with
248- exponential backoff restart delay via `--exp-backoff-restart-delay <ms>` with reset mechanism
249- new timing library on PM2 daemon (increase log througput, reduce CPU usage and memory usage)
250- better user management system with username resolution to uid
251- websocket default switch for pm2 plus
252- new module management system (`pm2 package <folder>`, `pm2 publish <folder>`, `pm2 install <tarball>`)
253
254### Fix
255
256- @pm2/io 2.4 (restart > 10.0)
257- restart behavior tested
258- fix module version parsing
259- module system refactoring (TAR + NPM)
260- fix watch_delay in config file
261
262## 3.1.3 (20/09/18)
263
264### Features
265- allow non-node application to run multiple instances without auto switch to cluster mode
266- allow to call `pm2 logs` even without application (#3820)
267- switch `pm2 link` and `pm2 plus` protocol to websocket by default instead of axon
268- enhance the `pm2 init` template that generates ecosystem files by adding some extra fields
269
270### Fix
271- remove deprecation message for node 0.10
272- pm2 login/register/monitor now hit the new oauth pm2 plus system
273
274## 3.1.2 (10/09/18)
275
276- version bump on @pm2/io
277
278## 3.1.1 ( Mon Sep 10 2018 16:18:25 GMT+0200 (CEST) )
279
280
281## Hot Fixes
282 - #3901 fix error when installing module
283 ([7b43fea5](https://github.com/Unitech/pm2/commit/7b43fea55d7c2853a3032b3bddd12201cd6a29e9))
284
285
286## 3.1.0 ( Mon Sep 10 2018 10:25:13 GMT+0200 (CEST) )
287
288
289## Bug Fixes
290 - tmp fix io@beta + rename metric
291 ([04ab7ac4](https://github.com/Unitech/pm2/commit/04ab7ac4e1312c5a5332f37cbb81b0d98686936d))
292 - remove ending \n on git version comment
293 ([9a36bfeb](https://github.com/Unitech/pm2/commit/9a36bfeb7e9f5ab1719ca3858510da08bb0cad6b))
294 - #3883 fix typings for max_memory_restart and add wait_ready
295 ([b35ea237](https://github.com/Unitech/pm2/commit/b35ea237e3b448088112b2f3a771a9c5286417a7))
296 - restore monitored indicator
297 ([34966432](https://github.com/Unitech/pm2/commit/349664329eb56232321694be9e08f16a3cda6fbd))
298 - remove install of modules on pm2 plus command
299 ([6a8bb269](https://github.com/Unitech/pm2/commit/6a8bb26952a7dcf109d28af7224b89faf0977a71))
300 - invert kill/link
301 ([3c37b528](https://github.com/Unitech/pm2/commit/3c37b5283bf0dea130fd375a5563974bd84543a9))
302 - #3877 #3831
303 ([16f4f2bc](https://github.com/Unitech/pm2/commit/16f4f2bc6589e8f0666f46d37c3f7f7739de7261))
304 - #3865 ensure pm2 never run simultaneous gracefullExit, prevent dump file corruption
305 ([79679db1](https://github.com/Unitech/pm2/commit/79679db1b321bbcc7296dbc41d005500cf61d273))
306 - #3786 fix issue when triggering an action that does not exist
307 ([1ff7fd3d](https://github.com/Unitech/pm2/commit/1ff7fd3d49ccaf3f65540774426b62fdc811e4f1))
308 - fixed unstartup when launchd
309 ([3d0461c3](https://github.com/Unitech/pm2/commit/3d0461c3e0a2362aef009e6f158b6f16b3d6510c))
310 - access gl_retry as class property
311 ([bbcb2b6b](https://github.com/Unitech/pm2/commit/bbcb2b6b5c5fa0ef872b64a648461c266350423a))
312 - #3831 switch registerToKM() to register()
313 ([8df2451e](https://github.com/Unitech/pm2/commit/8df2451e05bf5494b11f0546965718efe1f351b9))
314
315
316
317
318## Features
319 - add id column in stacked mode (80 char mode)
320 ([83033d4c](https://github.com/Unitech/pm2/commit/83033d4cdeb899bc4c1d1fe7a8c6391e64e9d0d0))
321
322
323
324
325## Refactor
326 - only enable deep monitoring if explicitly stated
327 ([f67e14f0](https://github.com/Unitech/pm2/commit/f67e14f0bd6d65bff6ef8f7e27e3f0aa93c60e40))
328 - #3786 clean code
329 ([6cbca8bc](https://github.com/Unitech/pm2/commit/6cbca8bccc0126f1557bf8326c81facc62100704))
330 - removes unused imports.
331 ([b8b48e83](https://github.com/Unitech/pm2/commit/b8b48e83f7f041508e39815e22501509259d4f26))
332 - only import the necessary methods from async.
333 ([6466ee44](https://github.com/Unitech/pm2/commit/6466ee44c1b85858f9b7e56b01aa6f2a08bde508))
334 - removes unused async imports.
335 ([679b14ff](https://github.com/Unitech/pm2/commit/679b14ff4b24519b5479c9e5f4ce0d9c32e39e55))
336
337
338
339
340## Chore
341 - upgrade to 3.1.0
342 ([0285d12d](https://github.com/Unitech/pm2/commit/0285d12df335667e9e0311a7abe175796bb517f4))
343 - update apm version
344 ([cc27de4a](https://github.com/Unitech/pm2/commit/cc27de4a8b400f1c20ba2e4b12dadcef1dd34fae))
345 - README update
346 ([c505dcc1](https://github.com/Unitech/pm2/commit/c505dcc1685380728b23f8757aa80fa4387d7fd3))
347 - remove unused console.log
348 ([61e32a43](https://github.com/Unitech/pm2/commit/61e32a4305490cc64c0a40cd83e2ad48c133b272))
349 - upgrade vizion to 2.0.2
350 ([c231e286](https://github.com/Unitech/pm2/commit/c231e28604aa4628d8f8ba10ea1f9f82e73269e6))
351 - #3415 try to update vizion to 2.0.1
352 ([9b80d8c1](https://github.com/Unitech/pm2/commit/9b80d8c1b69c07d21e63441c266b7acafffe0673))
353 - #3415 try to update vizion to 2.0.0
354 ([2c3df093](https://github.com/Unitech/pm2/commit/2c3df09378a92bac9de2d3b3b83103e02bd1bb82))
355 - update readme with 3.0.3 commits
356 ([476542fb](https://github.com/Unitech/pm2/commit/476542fbad038b951b6cfe6d6903d7b6bc8540a5))
357
358
359
360
361## Branchs merged
362 - Merge branch 'master' into development
363 ([95321c6d](https://github.com/Unitech/pm2/commit/95321c6dd2602e9ef71028731fd7a2e7b40a0d3c))
364 - Merge branch 'master' into development
365 ([c3c0e423](https://github.com/Unitech/pm2/commit/c3c0e423f9beeab25f53c0267d5f8a9e79d5c2e3))
366 - Merge branch 'master' into development
367 ([8e6481bc](https://github.com/Unitech/pm2/commit/8e6481bc9a6d23283895bf9cd3c7831c49a811ae))
368 - Merge branch 'development' into development
369 ([83294afe](https://github.com/Unitech/pm2/commit/83294afee7cf0204208e9cc7f4cf687469556492))
370 - Merge branch 'development' into flag--ext
371 ([79ab9242](https://github.com/Unitech/pm2/commit/79ab92425fef22cdf679fa77840d86a6e7cfc755))
372 - Merge branch 'development' into post_install
373 ([d5604300](https://github.com/Unitech/pm2/commit/d5604300685ace1c7dbd18776fd3df79da96f638))
374
375
376
377
378## Pull requests merged
379 - Merge pull request #3885 from Unitech/typings
380 ([19a35e9b](https://github.com/Unitech/pm2/commit/19a35e9b23716df8f7d1301acf7b0f0b601f93dd))
381 - Merge pull request #3878 from cuspymd/fix-command-help
382 ([2d3d2044](https://github.com/Unitech/pm2/commit/2d3d204427ce02617aa134ca0831a844de1a697d))
383 - Merge pull request #3876 from Unitech/lost_apps_sigterm
384 ([4fa247a3](https://github.com/Unitech/pm2/commit/4fa247a3e370607cf4198743de41dfa0a94bfbb5))
385 - Merge pull request #3874 from Unitech/trigger_no_action
386 ([e868f003](https://github.com/Unitech/pm2/commit/e868f003e3063a57236cb8d0ead33af808e0df70))
387 - Merge pull request #3872 from Unitech/column_id_stacked
388 ([55b6ccc3](https://github.com/Unitech/pm2/commit/55b6ccc32ae02e574ec1f80a36b4531761b94777))
389 - Merge pull request #3723 from livankrekh/development
390 ([98f49dc3](https://github.com/Unitech/pm2/commit/98f49dc393efd1fed03a1ef8a5752c0e490dd4b8))
391 - Merge pull request #3821 from imarakho/post_install
392 ([4217b150](https://github.com/Unitech/pm2/commit/4217b1505419904252d0ae7640a51128a2459d98))
393 - Merge pull request #3823 from imarakho/flag--ext
394 ([cc68dc1f](https://github.com/Unitech/pm2/commit/cc68dc1f9faf010af0648992193230af609413c5))
395 - Merge pull request #3822 from imarakho/flush_parameter
396 ([bbcc85a4](https://github.com/Unitech/pm2/commit/bbcc85a41683f5fa573bf504894f8e817c89784a))
397 - Merge pull request #3807 from medanat/minimize-async-lib-footprint
398 ([7e92855f](https://github.com/Unitech/pm2/commit/7e92855ff5c394b5452db526d21262e343b89ef8))
399 - Merge pull request #3829 from soyuka/patch-pidusage
400 ([a668f576](https://github.com/Unitech/pm2/commit/a668f5762190061dd05de5c5d888b53f35fa386e))
401
402
403
404
405
406
407
408## 3.0.3 ( Tue Aug 07 2018 23:35:05 GMT+0200 (CEST) )
409
410
411## Bug Fixes
412 - pm2 plus + register
413 ([277ec6ba](https://github.com/Unitech/pm2/commit/277ec6ba8d1cdda7f8fdf11eb9d9d33c2c095d65))
414
415
416
417
418## 3.0.2 ( Tue Aug 07 2018 23:35:05 GMT+0200 (CEST) )
419
420
421## Bug Fixes
422 - allow tracing activation
423 ([f297ef1e](https://github.com/Unitech/pm2/commit/f297ef1ebbec292aedcfa48c27e3f31b8f206633))
424
425
426
427
428## Branchs merged
429 - Merge branch 'development'
430 ([80c94dd3](https://github.com/Unitech/pm2/commit/80c94dd3261544f627612ce4b541356e4adbc51f))
431
432
433
434
435## 3.0.1 ( Mon Jul 23 2018 14:13:35 GMT+0200 (CEST) )
436
437## Bug Fixes
438 - allow to set a name via pm2 link
439 ([ebffb609](https://github.com/Unitech/pm2/commit/ebffb609cf4da195c72ee67d8341c63b78f0654e))
440 - disable network monitoring as long as ampq not supported
441 ([ae1547bf](https://github.com/Unitech/pm2/commit/ae1547bfa9505b2d13e30df39ce614eee29463b0))
442 - display error message from pm2-deploy
443 ([9171b810](https://github.com/Unitech/pm2/commit/9171b81024641c3e104f3eeb2e2c6eb852dbe7f4))
444 - protect geteuid/getegid from being called on windows #3793
445 ([0495bd8e](https://github.com/Unitech/pm2/commit/0495bd8e4ffaeb1db729b35fa569696145d79c5f))
446 - put message module at the right level
447 ([56f5e047](https://github.com/Unitech/pm2/commit/56f5e04787da29e8b582bf4fa8325f72404a2fbe))
448 - do not ignore child pres folder
449 ([10ee9987](https://github.com/Unitech/pm2/commit/10ee99876d75679723e1e8522da07413a618e48c))
450 - let->var
451 ([89e2a125](https://github.com/Unitech/pm2/commit/89e2a125c22aee27014c279c86d1d9e0a0df0235))
452 - method renaming
453 ([f3faa3d8](https://github.com/Unitech/pm2/commit/f3faa3d846d1e895232743dd619f5ecb15fdf7ad))
454 - path
455 ([4f980550](https://github.com/Unitech/pm2/commit/4f9805508d2c1c575aabc4abbab25728f1c6a28a))
456 - #3791 mitigate pidusage errores
457 ([88551b8c](https://github.com/Unitech/pm2/commit/88551b8cfe8bf8dd330d582e71b808faadfaf161))
458 - pm2 plus
459 ([9bc34e56](https://github.com/Unitech/pm2/commit/9bc34e56b7ad66cbc6efbd26d4017f1e1813a720))
460 - #3764
461 ([3a582b42](https://github.com/Unitech/pm2/commit/3a582b42f9cca57779b99964c95a2cd0516efa11))
462 - drop coffee-script (installed via pm2 install coffeescript)
463 ([76ceb2fd](https://github.com/Unitech/pm2/commit/76ceb2fd52a2e5acbf03deacc3fa8a120a197023))
464 - restore no_interaction for pm2-dev
465 ([902e5a5a](https://github.com/Unitech/pm2/commit/902e5a5a1225d2072ab6337aa067caf9c6a7cca4))
466 - option -w doesn't work
467 ([165a05c8](https://github.com/Unitech/pm2/commit/165a05c854f9b3dd1418b988c954d333f81ba88f))
468 - retab shell script to use space for indent consistency
469 ([e3b4327d](https://github.com/Unitech/pm2/commit/e3b4327d9a6120c5ad589734ca926d3b49a8b706))
470 - set Makefile indent to tab instead of common space
471 ([4db0ae01](https://github.com/Unitech/pm2/commit/4db0ae011c161cbfca9e250da40deff9fdc36069))
472 - set yaml file indent to 2 spaces instead of 3
473 ([e4ecb0b2](https://github.com/Unitech/pm2/commit/e4ecb0b29dbcc4c6ca2d67b6bdc7da4c0a5d17a5))
474 - remove trailing spaces
475 ([5c115983](https://github.com/Unitech/pm2/commit/5c1159832680231bff5da79f1c91caf32ce3b5e0))
476 - fixes #3735
477 ([0548cb82](https://github.com/Unitech/pm2/commit/0548cb82aa1193a5725ca22e1babfc38db2e3b77))
478
479
480
481
482## Hot Fixes
483 - fix #3767, do not consider as a command if space and slash are found
484 ([d15a12ce](https://github.com/Unitech/pm2/commit/d15a12ceae8b0c9c27625180ae002178b0bfe5d0))
485 - fix #3767, do not consider as a command if space and slash are found
486 ([f8ec1503](https://github.com/Unitech/pm2/commit/f8ec1503c3e92bc0dec10d395ac682b116e2914e))
487
488
489
490
491## Features
492 - add inspector for node 10 and heap snapshot
493 ([dc61bca6](https://github.com/Unitech/pm2/commit/dc61bca66828c16cf6fd04a6f749f127da697cec))
494 - pm2 plus xx yy now generates a name with hostname-UID
495 ([fcf75e2c](https://github.com/Unitech/pm2/commit/fcf75e2cc321791273f6afe86c07fd147c6e8414))
496 - #3757 --only='app1,app2'
497 ([bea98330](https://github.com/Unitech/pm2/commit/bea983306c4736d3a2b1090f2708b7b29c44ed03))
498 - pm2 plus cli
499 ([1da6edde](https://github.com/Unitech/pm2/commit/1da6edde80e3029d99084992ec1a4ada7b2cc279))
500 - reload all apps after connection to pm2 plus
501 ([35a1ed2a](https://github.com/Unitech/pm2/commit/35a1ed2a1328a859a7797ec8e22024d171599d86))
502 - ask to install module after connection with KM
503 ([68e87b39](https://github.com/Unitech/pm2/commit/68e87b39ae2b57e9fbb0b0abde68112c839f05ee))
504 - with pm2 plus command ask to install modules
505 ([28c61716](https://github.com/Unitech/pm2/commit/28c61716ee5e8f2402205e4b06ed7ee0a942a3cc))
506
507
508
509
510## Test
511 - test with development packages
512 ([d361c840](https://github.com/Unitech/pm2/commit/d361c8405db47969bd68c7b1058a54f38e8e0e52))
513
514
515
516
517## Chore
518 - clean old snapshot method
519 ([d064750b](https://github.com/Unitech/pm2/commit/d064750be0d437945efdcd6a5ce4e56547b1bce6))
520 - update version to 3.0.1
521 ([efbcb021](https://github.com/Unitech/pm2/commit/efbcb02180ae38dd930e43282113dbcb24288eab))
522 - bump to 3.0.1
523 ([fb8357e3](https://github.com/Unitech/pm2/commit/fb8357e32f9f015e5b6e7ed8ef150f59de382c6d))
524 - new ascii logo + refactor pm2 plus command
525 ([8692a1da](https://github.com/Unitech/pm2/commit/8692a1daf7b4b7dfb8a4d6ec3363ac0cc62203a8))
526 - change motd.update + alias register to pm2 plus
527 ([cdc4a767](https://github.com/Unitech/pm2/commit/cdc4a767d5f1ff5873d0466b471daa3006608604))
528 - btn
529 ([319fa0dc](https://github.com/Unitech/pm2/commit/319fa0dcbea331a88a9888c207368e52665309ce))
530 - README button
531 ([1c6fb68c](https://github.com/Unitech/pm2/commit/1c6fb68c758d76cf81e53c43c2423ecd742265e5))
532 - remove duplicate configs in .editorconfig
533 ([86ad52b8](https://github.com/Unitech/pm2/commit/86ad52b837e23a7ec92705d21a152394c244571f))
534
535
536
537
538## Branchs merged
539 - Merge branch 'development' into uid-gen
540 ([5324c878](https://github.com/Unitech/pm2/commit/5324c878fd0d37e068bc25c8e37f19f73bfebf30))
541 - Merge branch 'master' into development
542 ([7d04f638](https://github.com/Unitech/pm2/commit/7d04f63835845e92d32d6ad7ffab166a2954302f))
543
544
545
546
547## Pull requests merged
548 - Merge pull request #3811 from Unitech/memory_inspector
549 ([62018044](https://github.com/Unitech/pm2/commit/62018044d7a1ef7fd0b37fe3082da4bf05989de0))
550 - Merge pull request #3801 from vkotovv/grammar-fixes
551 ([9bb37a66](https://github.com/Unitech/pm2/commit/9bb37a662a91369caaa5a1a43751541e41970a51))
552 - Merge pull request #3799 from Unitech/refactor-agent
553 ([bcc4fea8](https://github.com/Unitech/pm2/commit/bcc4fea80885ce941e11b17936aab6582660fc7f))
554 - Merge pull request #3787 from Unitech/multi-only
555 ([ea5d74a8](https://github.com/Unitech/pm2/commit/ea5d74a87f6911b238634419665c716bc877be10))
556 - Merge pull request #3788 from Unitech/uid-gen
557 ([f70444f3](https://github.com/Unitech/pm2/commit/f70444f39b7cc8fe05faf57dac1b46fc15a2053c))
558 - Merge pull request #3784 from Unitech/pm2-plus-cli
559 ([e8c13c37](https://github.com/Unitech/pm2/commit/e8c13c374dfeabf42f75af50b838adb7ac4a50aa))
560 - Merge pull request #3780 from Unitech/plus_modules
561 ([466d2701](https://github.com/Unitech/pm2/commit/466d2701ca48d0c4b8466d6867135e43b22deeb5))
562 - Merge pull request #3768 from Unitech/spaces
563 ([0477354b](https://github.com/Unitech/pm2/commit/0477354b502aef612012e833bd47ce1940da1a0b))
564 - Merge pull request #3771 from chinesedfan/patch-2
565 ([8de987a6](https://github.com/Unitech/pm2/commit/8de987a604679774ec39e7d5a1a905556524c53d))
566 - Merge pull request #3762 from shaharmor/issue-3441
567 ([429e455d](https://github.com/Unitech/pm2/commit/429e455db96d2a56448a11b7602333324c9bf433))
568 - Merge pull request #3761 from PeterDaveHello/fix-sh-indent-style
569 ([24cddc25](https://github.com/Unitech/pm2/commit/24cddc257734beebb33ee5abac5a4107a5d86093))
570 - Merge pull request #3737 from morugu/add-node-env-output
571 ([6628f163](https://github.com/Unitech/pm2/commit/6628f1637497771bbc5c4f0ba0e9423c63660e0e))
572 - Merge pull request #3743 from vivex/master
573 ([06872c25](https://github.com/Unitech/pm2/commit/06872c2520f73bcabb6198a96c4dafb46706c9e9))
574 - Merge pull request #3748 from JimiC/support_nvm4win
575 ([2dac235b](https://github.com/Unitech/pm2/commit/2dac235bc8956d170fee2341517739d3781048d7))
576 - Merge pull request #3752 from PeterDaveHello/upstart.tpl
577 ([d4e66e3a](https://github.com/Unitech/pm2/commit/d4e66e3a9d954ab5c15d5bc35910cdfb71ba8321))
578 - Merge pull request #3753 from PeterDaveHello/fix-editorconfig
579 ([d1478680](https://github.com/Unitech/pm2/commit/d1478680325822c206afbcb197a9a732318f6d64))
580 - Merge pull request #3754 from PeterDaveHello/remove-trailing-space
581 ([b660f03e](https://github.com/Unitech/pm2/commit/b660f03eba71bb80a1a3d313be4525160727921f))
582
583
584
585
586
587
588## 3.0.0 ( Wed Jun 20 2018 11:06:21 GMT+0200 (CEST) )
589
590
591## Breaking changes
592 - merge_logs is now activated by default if not in cluster mode. Logs will not be suffixed by the pm_id if only one app is started
593 ([ae02adf6](https://github.com/Unitech/pm2/commit/ae02adf63f70ceb3bf101be968996ca68d9ce277))
594 - Drop support for node 0.12
595 - Drop gracefulReload command
596 - Remove Interactor from PM2 source code
597 - Replace pmx with [pm2-io-apm](https://github.com/keymetrics/pm2-io-apm)
598
599
600## Bug Fixes
601 - return the configuration and allow custom conf to override default values
602 ([37dc7de1](https://github.com/Unitech/pm2/commit/37dc7de11e930aa4fce6a485e892f11ee714acd6))
603 - add use strict for node 4 compatibility
604 ([ba2ee3b1](https://github.com/Unitech/pm2/commit/ba2ee3b1ea9aa5fa665e706b3d49a205eac44d53))
605 - #3605 fix parameters definition, don't use camelcase for properties
606 ([c8616276](https://github.com/Unitech/pm2/commit/c8616276e4e08b4d90a742e219372e775bb81098))
607 - #3695 change version check method in order to make it work with alpha/beta versions
608 ([052d6c55](https://github.com/Unitech/pm2/commit/052d6c55df0e941e1dd11430bbcbcaa34061a06e))
609 - deprecated warning on isbinaryfile
610 ([db09275f](https://github.com/Unitech/pm2/commit/db09275f8e353e257c89e12fed754236b15cee74))
611 - #3688 test adaptation + pm2 serve --port option
612 ([f0249684](https://github.com/Unitech/pm2/commit/f0249684bcbfdb75749a516f447c8e8d32020709))
613 - startup script issue 18.04 #3645
614 ([ff1a7f31](https://github.com/Unitech/pm2/commit/ff1a7f315bfee38eb9fd9cdd63efcc0d971585f8))
615 - that this - uncache node_modules
616 ([294038d7](https://github.com/Unitech/pm2/commit/294038d76272a915e3addc67d3694717a9f7d704))
617 - verify default conf variable via package.json on public module
618 ([157b106d](https://github.com/Unitech/pm2/commit/157b106df78af1d28d37bbea069b926de4dceca5))
619 - bug because of const
620 ([56f05a90](https://github.com/Unitech/pm2/commit/56f05a900b03fb0c8dd635aede666c7d2f213271))
621 - do not run two pm2 para cmds
622 ([3274132b](https://github.com/Unitech/pm2/commit/3274132b866ba5c93d5786e755acbada922f5f1e))
623 - version
624 ([3ec178e5](https://github.com/Unitech/pm2/commit/3ec178e577e79730aae02c913301cd905ea8ce52))
625 - re-enable agent tests
626 ([e6febcd7](https://github.com/Unitech/pm2/commit/e6febcd70dd0f1e68b74df8563d3046ee3b32b89))
627 - test/display summary
628 ([b075e6d0](https://github.com/Unitech/pm2/commit/b075e6d09b09ff371adf045dc5079bb8ef82f1cf))
629 - skip interactor tests
630 ([36c4d6bc](https://github.com/Unitech/pm2/commit/36c4d6bca7445b46afc1236dc8ab4b8bf921148b))
631 - remove unused tests
632 ([234c6314](https://github.com/Unitech/pm2/commit/234c63143e723a508796bc1d323c7241979bf4c2))
633 - add missing libraries in travis
634 ([88fbb845](https://github.com/Unitech/pm2/commit/88fbb84597cee7029ce33f5b7e20e45f5a815b4b))
635 - remove unused variable when trying to use tracing
636 ([3aeeba02](https://github.com/Unitech/pm2/commit/3aeeba02f628bf4f19e8d5b93657fd94a6ef0ec7))
637 - remove useless tests from .sh
638 ([e0be81c8](https://github.com/Unitech/pm2/commit/e0be81c86c7defb5e7a271edd5cc37f960c6aa69))
639 - conflict
640 ([e13f39c9](https://github.com/Unitech/pm2/commit/e13f39c90b6a5e803c59c5424332520564703f5c))
641 - fix bug with interpreter args
642 ([b26efa0d](https://github.com/Unitech/pm2/commit/b26efa0d4cd72cf04762df7b7d2eaddc4f4117d2))
643 - improve error message if action has failed
644 ([d9f44f17](https://github.com/Unitech/pm2/commit/d9f44f170f115c2d6dfb6a7fe71dc31bd7fb66fb))
645 - use polyfill module for copySync with node 4.x
646 ([bc07f43b](https://github.com/Unitech/pm2/commit/bc07f43b115066f6077606df8f59379777f2a917))
647 - improve error message if action has failed
648 ([dacc6542](https://github.com/Unitech/pm2/commit/dacc654207cbe494af0d12a3f9f27c3b16541802))
649 - solve empty list when no process and try to update pm2
650 ([89511846](https://github.com/Unitech/pm2/commit/8951184688c720ded5b4b46bd5b393c3793f9b03))
651 - #3485 fix issue when there is empty dump file
652 ([f2523f6a](https://github.com/Unitech/pm2/commit/f2523f6a6b9d8b61ba6ace7b89a0353bee76360b))
653 - #3456 use homedir() instead of process.env.HOME, make module installation work on windows
654 ([1e001732](https://github.com/Unitech/pm2/commit/1e0017325fc8cf658263fb4e02c7bf8912f422b3))
655
656
657
658
659## Features
660 - add support for openbsd rc.d init scripts
661 ([fdeb0c32](https://github.com/Unitech/pm2/commit/fdeb0c327afd91b113b214c4c4de187848f9f1cb))
662 - add kill_retry_time argument
663 ([b2cc0031](https://github.com/Unitech/pm2/commit/b2cc003114b44f1a9a31876ee4a2f4cb91e210b3))
664
665 - **bin/pm2**
666 - improve usage
667 ([2c310084](https://github.com/Unitech/pm2/commit/2c310084453dd7b1546957e59b1fc7ef964d425b))
668
669
670
671
672## Refactor
673 - use @pm2/js-api for login/register on pm2.io via CLI
674 ([cb6521ac](https://github.com/Unitech/pm2/commit/cb6521ac32f4737c42fc97fef972960bfe16c829))
675 - keymetrics examples
676 ([109b331d](https://github.com/Unitech/pm2/commit/109b331ddf37e061d1890ef952f4cd167ce53f64))
677 - faster cli with less require
678 ([ee5e6a06](https://github.com/Unitech/pm2/commit/ee5e6a06cbf93f2d1fa7fa022d6bdcad55a39695))
679 - replace fs-extra with node calls
680 ([4576b4c9](https://github.com/Unitech/pm2/commit/4576b4c97bc685c9d774018d6b29c918abd7cb8d))
681 - centralize SECRET/PUBLIC/MACHINE_NAME + change some wordings
682 ([d0a2a30e](https://github.com/Unitech/pm2/commit/d0a2a30e4110496b178199fb33e026d6402dd00d))
683 - remove test deported to keymetrics-agent
684 ([299a52a2](https://github.com/Unitech/pm2/commit/299a52a253d70edcde23cbd7e0c201d492984df4))
685 - parallel test v1
686 ([08612de5](https://github.com/Unitech/pm2/commit/08612de5b7893a004ae33ed77fcb2ee3ff7b2251))
687 - e2e test rewrite
688 ([2b9ffd4e](https://github.com/Unitech/pm2/commit/2b9ffd4eb493f1ff32c979e3811f4f1fedfae97d))
689 - drop gracefullreload
690 ([bb57c76d](https://github.com/Unitech/pm2/commit/bb57c76d4191343925013d4353299092d80732c9))
691 - add node 4.x support
692 ([d322dd00](https://github.com/Unitech/pm2/commit/d322dd00de0f527224c027b4fec5e86f12fd69ed))
693 - create alias method instead of modify prototype
694 ([6d8f0dfa](https://github.com/Unitech/pm2/commit/6d8f0dfae8106deb2fee0a7ae15b6ca9802a066d))
695 - change safety var to const
696 ([047aa494](https://github.com/Unitech/pm2/commit/047aa494d5c4dd4342915766b54d673db0d5cdf1))
697 - drop some 0.x patch
698 ([0cab8880](https://github.com/Unitech/pm2/commit/0cab8880ffa362cf27ab7d7b6a64d6b478dce7cd))
699 - remove prototype from API and create method
700 ([9552bd61](https://github.com/Unitech/pm2/commit/9552bd61b72692beb620a91765ad440cdf6abefe))
701 - transform API into class
702 ([e3831f95](https://github.com/Unitech/pm2/commit/e3831f95c8d71f98e8840da37f7e883727eccd59))
703 - name tests well
704 ([c3ccc651](https://github.com/Unitech/pm2/commit/c3ccc651d09ed7291090f516637b75bda99ff71c))
705 - refactor e2e one line parallel
706 ([93802711](https://github.com/Unitech/pm2/commit/938027117cdb2f300ee772ab27f008cbe22a4b19))
707 - e2e rename
708 ([8a7db95a](https://github.com/Unitech/pm2/commit/8a7db95aabc8437f292af0316cec81ab80ec41f5))
709 - change params
710 ([282186f2](https://github.com/Unitech/pm2/commit/282186f24b19b010999f7c7c49750935ef19c190))
711 - parallelize bash test
712 ([d4b4375e](https://github.com/Unitech/pm2/commit/d4b4375e16fe7ac463b252702da662d3a21bf8b4))
713
714
715
716
717## Test
718 - adapt test to new api
719 ([7a275e27](https://github.com/Unitech/pm2/commit/7a275e279ea01b1239e9dd8b9cf8e088e407b96d))
720 - refactor before/after
721 ([b85ca3ca](https://github.com/Unitech/pm2/commit/b85ca3caa3c68e18f7ce6954cc85e90a9d33efef))
722 - 3 concurrent jobs
723 ([472aba34](https://github.com/Unitech/pm2/commit/472aba3499ff2d9d0eb834e819410026b1a44503))
724 - move test
725 ([9c973324](https://github.com/Unitech/pm2/commit/9c9733246dbe6afff1b488bc3ba3b6fea3877ea5))
726 - move test
727 ([952b7631](https://github.com/Unitech/pm2/commit/952b7631d19e1074ea73cc7a67bbaefe20950603))
728 - fix test with km_link
729 ([23fd8ecf](https://github.com/Unitech/pm2/commit/23fd8ecfea9b2bf61359f62a8e6e1a582c3b0d6e))
730
731
732
733
734## Chore
735 - shorten ecosystem file
736 ([992a0452](https://github.com/Unitech/pm2/commit/992a045227aed559e708ac4e6bb3f54beabe48e0))
737 - change motd wording
738 ([aa183ba1](https://github.com/Unitech/pm2/commit/aa183ba19d88777d82619aa40499c2661d67879e))
739 - merge master in development
740 ([0e4453d9](https://github.com/Unitech/pm2/commit/0e4453d9cc789aa08ee778ff400572337e90d2e3))
741 - keymetrics -> pm2
742 ([2c8170c2](https://github.com/Unitech/pm2/commit/2c8170c25e231eb8827bb0944b76c2f4b041d84e))
743 - upgrade all modules + keymetrics-agent -> pm2/agent + increase version enabling v8-compile-cache
744 ([53ca18c1](https://github.com/Unitech/pm2/commit/53ca18c12868ab177b60a4edff2ccaa8127e301f))
745 - pm2.io -> @pm2/io
746 ([ae098962](https://github.com/Unitech/pm2/commit/ae098962df35eee7f482dc0a514fd29a02a5f4ad))
747 - right names as pm2 maintainers
748 ([e8cd7131](https://github.com/Unitech/pm2/commit/e8cd7131a6b9c9d497a2079bcbfc03770a753a06))
749 - add changelog generation into contributing.md
750 ([d77bfbc3](https://github.com/Unitech/pm2/commit/d77bfbc3c8929851ee19ea604b2a6481d03771e3))
751 - cache node_modules
752 ([81627e94](https://github.com/Unitech/pm2/commit/81627e94c72efa1f4d726e20bbf67f0bbd5c116f))
753 - clone last 5 commits
754 ([dad38ed1](https://github.com/Unitech/pm2/commit/dad38ed1bae849147f66e44186cd71c4b9cb022d))
755 - delete old stagnating pmx inside test
756 ([36834c2c](https://github.com/Unitech/pm2/commit/36834c2c00d496e04c38abaca30202eb650015c4))
757 - pmx -> pm2.io
758 ([adcbebc3](https://github.com/Unitech/pm2/commit/adcbebc3f6419cd97c5ea99f3c3a6789585bda66))
759 - updgrade pmx-2
760 ([eeeb2988](https://github.com/Unitech/pm2/commit/eeeb2988f8886e405aea107db3b888fc1fc929f8))
761 - disable legacy test
762 ([13723bd9](https://github.com/Unitech/pm2/commit/13723bd938d0e6fb1cbf35f15eabe91c52d87b58))
763 - remove test for pmx alert system
764 ([c43414a6](https://github.com/Unitech/pm2/commit/c43414a63438d724b8099eb531ec72bab23b8ca2))
765 - sync from master
766 ([3424ee27](https://github.com/Unitech/pm2/commit/3424ee27870feaf62fdf4509cce9015f8b1a8a2e))
767 - add unique id for each process
768 ([85a5ee0f](https://github.com/Unitech/pm2/commit/85a5ee0f1fd16da9635fb4b16ddcd8d53aca8224))
769 - use npm install for CI as yarn has issue with npm
770 ([52902186](https://github.com/Unitech/pm2/commit/5290218626af815f6cae8173bc78d21881a4dda8))
771 - remove unused dependency
772 ([830fc15f](https://github.com/Unitech/pm2/commit/830fc15fad1aee95e65b2681482b03369f1f97d7))
773 - upgrade PM2 to 3.0
774 ([4bc2eb4c](https://github.com/Unitech/pm2/commit/4bc2eb4c9a8179b9ae38438e98ce7650a91b64db))
775 - remove unused console.log
776 ([33db5084](https://github.com/Unitech/pm2/commit/33db5084814ae7940c90b7f933f9514d28008b78))
777 - wording on error message
778 ([c251c8c9](https://github.com/Unitech/pm2/commit/c251c8c97e6f18aae584cac6b7f3c83cf4f2de9c))
779 - revert PR #3496
780 ([aae1d55e](https://github.com/Unitech/pm2/commit/aae1d55e410c4dcfbbca83eaabbdf1a65d55f3aa))
781 - fix issue with snapshot command + remove command forceGc
782 ([97fd1010](https://github.com/Unitech/pm2/commit/97fd1010d005e59f2411042fa95891f9717fa8b7))
783 - wording on error message
784 ([5f78ecbf](https://github.com/Unitech/pm2/commit/5f78ecbf90f9f46a7feb2a169968e86b0ecac91e))
785 - drop 0.12 test on travis
786 ([beb6e487](https://github.com/Unitech/pm2/commit/beb6e48787c39c66569141d0fd8d090736114d23))
787 - downgrade promptly
788 ([074a7a40](https://github.com/Unitech/pm2/commit/074a7a407a31b4d88442f5834d253d62f4e543b8))
789 - remove coffee and livescript dependencies
790 ([13d6565c](https://github.com/Unitech/pm2/commit/13d6565c72e3596d05f87bfc8be15d3ee45fb279))
791 - upgrade module version and engine version
792 ([84796956](https://github.com/Unitech/pm2/commit/84796956347ca638750fe89cb5545e2a90a0f2c2))
793
794
795
796
797## Branchs merged
798 - Merge branch 'development' into chore/dev-cache-node-modules
799 ([146c4e11](https://github.com/Unitech/pm2/commit/146c4e113c88e8ade17c7558c8e14cf523a3b2d6))
800 - Merge branch 'development' of https://github.com/Unitech/pm2 into new-agent
801 ([3514e7fa](https://github.com/Unitech/pm2/commit/3514e7fac624bb83b4cc22651ebc05385f9c284d))
802 - Merge branch 'development' into master
803 ([f5668331](https://github.com/Unitech/pm2/commit/f5668331dbe7346304258317a3b84450f421ed03))
804 - Merge branch 'development' into new-usage-cli
805 ([4ae27694](https://github.com/Unitech/pm2/commit/4ae27694e34c4bc6ed389566d71fc5ec48b69652))
806 - Merge branch 'Eywek-improv/agent' into new-agent
807 ([3e259dd1](https://github.com/Unitech/pm2/commit/3e259dd1d6bb96ea41897c49f3a84557c00c7dad))
808 - Merge branch 'ecosystem-documentation' of github.com:rmonnier/pm2 into ecosystem-documentation
809 ([98348955](https://github.com/Unitech/pm2/commit/98348955a6eb3a9cd524b991bd1dd6ed03d2c857))
810 - Merge branch 'development' into ecosystem-documentation
811 ([40157784](https://github.com/Unitech/pm2/commit/40157784a63bcb0e744d4ed56f6c687e28379fdd))
812 - Merge branch 'inspect_mode' of github.com:Unitech/pm2 into inspect_mode
813 ([7e1494c7](https://github.com/Unitech/pm2/commit/7e1494c7f7971aaf1f4d00d2ee691c3c41775001))
814 - Merge branch 'development' of github.com:Unitech/pm2 into development
815 ([48f81a8b](https://github.com/Unitech/pm2/commit/48f81a8b2f6f0db39edd86083fb369b74845c387))
816 - Merge branch 'development' into master
817 ([47e54109](https://github.com/Unitech/pm2/commit/47e5410987ab3d824a34c062d70c24ab686e57db))
818 - Merge branch 'development' into module_install_windows
819 ([7b82fb91](https://github.com/Unitech/pm2/commit/7b82fb916ed453c1c263bae43c962f6a5294d810))
820 - Merge branch 'development' into module_install_windows
821 ([80b0495f](https://github.com/Unitech/pm2/commit/80b0495f63d1224b850af4b14cdeb055e3fef50b))
822
823
824
825
826## Pull requests merged
827 - Merge pull request #3726 from soyuka/fix-list
828 ([0255c5a6](https://github.com/Unitech/pm2/commit/0255c5a6ab1b8a8f609d2183d998695b8c42838d))
829 - Merge pull request #3725 from soyuka/fix-list
830 ([a39eb4f8](https://github.com/Unitech/pm2/commit/a39eb4f806e87565f53758a19f0ee289b6489b67))
831 - Merge pull request #3718 from AaronM04/openbsd-init-script
832 ([85458261](https://github.com/Unitech/pm2/commit/85458261d2673c609cb252d64ad4dfbaa466d848))
833 - Merge pull request #3721 from Unitech/io_conf
834 ([70ec1f81](https://github.com/Unitech/pm2/commit/70ec1f81eae089f75e82723fde7b0b3926d0a9bc))
835 - Merge pull request #3716 from Unitech/io_conf
836 ([0bc000b9](https://github.com/Unitech/pm2/commit/0bc000b9aae7dd37b456bc2d4fbc9eb4a9f047ef))
837 - Merge pull request #3714 from Unitech/definition
838 ([d8cff0de](https://github.com/Unitech/pm2/commit/d8cff0dec5160a620d1512ff56726c073368d1a4))
839 - Merge pull request #3700 from Unitech/report_error
840 ([4b2cad40](https://github.com/Unitech/pm2/commit/4b2cad407b76994e978074a2a3825fe70656304d))
841 - Merge pull request #3670 from Unitech/changelog
842 ([4bcbcce1](https://github.com/Unitech/pm2/commit/4bcbcce16ced596f6ca2bab2b77d608a174a7c1a))
843 - Merge pull request #3662 from DanielRuf/chore/dev-cache-node-modules
844 ([540590ee](https://github.com/Unitech/pm2/commit/540590ee056b44eed3b688a7b0b16ca78ec82cd9))
845 - Merge pull request #3663 from DanielRuf/chore/dev-clone-last-5-commits
846 ([bdf95fc9](https://github.com/Unitech/pm2/commit/bdf95fc997f9ab2995b23668f25f11b6e98b5c47))
847 - Merge pull request #3584 from ngtmuzi/development
848 ([33984b64](https://github.com/Unitech/pm2/commit/33984b64a2969ca4a3a5913f0f7da0242b6c5ec1))
849 - Merge pull request #3500 from Unitech/test-parallel
850 ([da56c7af](https://github.com/Unitech/pm2/commit/da56c7aff18d3a38b3ad068b22cd75b290bac9d0))
851 - Merge pull request #3539 from KimSeongIl/master
852 ([1325704d](https://github.com/Unitech/pm2/commit/1325704d95d324e56b0ebc86aed8137e0d0aa450))
853 - Merge pull request #3556 from N-Nagorny/logs-smart-app-name-cutting
854 ([bfddf4fd](https://github.com/Unitech/pm2/commit/bfddf4fdef5ec293119d850cc2532ac5d6490ae3))
855 - Merge pull request #3553 from Unitech/fix_tracing_not_working
856 ([9d51fe08](https://github.com/Unitech/pm2/commit/9d51fe0819182339f3a6a4aee7ea603ea3f4dd76))
857 - Merge pull request #3549 from Eywek/new-agent
858 ([2f04027b](https://github.com/Unitech/pm2/commit/2f04027b536094d192b399677b3a113102f06b8e))
859 - Merge pull request #3548 from rmonnier/start-ecosystem-default
860 ([55412f26](https://github.com/Unitech/pm2/commit/55412f263250395de0085144932cfe06b8c7180d))
861 - Merge pull request #3546 from soyuka/improve-monitor-perf
862 ([e4e29233](https://github.com/Unitech/pm2/commit/e4e29233f99db36462a6e8f48eb8ebd3d2fd9fa5))
863 - Merge pull request #3534 from rmonnier/new-usage-cli
864 ([5dfba8a4](https://github.com/Unitech/pm2/commit/5dfba8a4491f0bb83f2879915f0c4b164be2552c))
865 - Merge pull request #3542 from rmonnier/default-start-ecosystem
866 ([c65595f4](https://github.com/Unitech/pm2/commit/c65595f4a70659e1e0d753e6c28a1fcedf45a91a))
867 - Merge pull request #3545 from rmonnier/default-ecosystem
868 ([b3718656](https://github.com/Unitech/pm2/commit/b3718656f630aa54880343d9742534a2a508daec))
869 - Merge pull request #3543 from rmonnier/ecosystem-documentation
870 ([a60580a1](https://github.com/Unitech/pm2/commit/a60580a12b4a0066c8df6620317fbc8bf599b0b6))
871 - Merge pull request #3541 from soyuka/development
872 ([67e7a015](https://github.com/Unitech/pm2/commit/67e7a015cabaa7b08206a3b1bf9c0399af88f76b))
873 - Merge pull request #3511 from Unitech/inspect_mode
874 ([75fb87f8](https://github.com/Unitech/pm2/commit/75fb87f8a1c46a6db8e974b421e857175e69b535))
875 - Merge pull request #3517 from Unitech/polyfill_fs_copy_node4
876 ([524f5494](https://github.com/Unitech/pm2/commit/524f54948de5080632d43bb512038d7bd7271619))
877 - Merge pull request #3516 from Unitech/drop_unused_feature
878 ([9436f11a](https://github.com/Unitech/pm2/commit/9436f11aeecfc07e77aa9d6b108df4478b43402e))
879 - Merge pull request #3510 from Unitech/dump_refacto
880 ([674e4469](https://github.com/Unitech/pm2/commit/674e4469554e6a765bb3d57a3c083e6ab53b20cc))
881 - Merge pull request #3501 from Unitech/refactor_api
882 ([9f2c4ca4](https://github.com/Unitech/pm2/commit/9f2c4ca4c9eadf6c7730e3889c72e908cd2d8f5d))
883 - Merge pull request #3496 from rmonnier/master
884 ([829cc303](https://github.com/Unitech/pm2/commit/829cc3032b2d61e20f7a2e7d1d819c0ddc0845e8))
885 - Merge pull request #3484 from Unitech/pull_by_name
886 ([24d29404](https://github.com/Unitech/pm2/commit/24d294049008a0d01b2bc407b9b2b880d5843fbd))
887 - Merge pull request #3482 from Unitech/mjs_support
888 ([ebe7b048](https://github.com/Unitech/pm2/commit/ebe7b0487218557858aaa98527360eca1776b140))
889 - Merge pull request #3495 from Unitech/module_install_windows
890 ([e9c625d3](https://github.com/Unitech/pm2/commit/e9c625d3088c71eef4237ecd866b806957c61815))
891 - Merge pull request #3507 from cheapsteak/patch-1
892 ([a49287d6](https://github.com/Unitech/pm2/commit/a49287d6a1d22b39270e2d05dee2a17c0ed55797))
893
894
895
896
897## 2.10.4 ( Thu May 17 2018 14:32:40 GMT+0200 (CEST) )
898
899
900## Bug Fixes
901 - #3645 throttle startup
902 ([d529f675](https://github.com/Unitech/pm2/commit/d529f675d0240777cba95442ba35205c370cdb43))
903
904
905
906
907## Chore
908 - update issue and PR templates to use comments to hide instructions in the frontend
909 ([9e0180ed](https://github.com/Unitech/pm2/commit/9e0180eddab071916144ad7008817bd6aef1c8ce))
910
911
912
913
914## Pull requests merged
915 - Merge pull request #3664 from DanielRuf/chore/update-issue-pr-templates
916 ([067446f2](https://github.com/Unitech/pm2/commit/067446f2133ba7f761b0ad3c9f3692b167affd8b))
917
918
919## v2.10.3 ( Fri Apr 27 2018 11:42:16 GMT+0200 (CEST) )
920
921
922### Chore
923 - upgrade for node 10
924 ([cf7630e](https://github.com/Unitech/pm2/commit/cf7630e259742bdff8257cff4dbed2732bf24f9c))
925
926## v2.10.2 ( Thu Mar 29 2018 13:06:11 GMT+0200 (CEST) )
927
928
929## Bug Fixes
930 - reinforce pm2-runtime auto exit strategy #3567 #3206
931 ([e09cdbab](https://github.com/Unitech/pm2/commit/e09cdbabd0b479acda3cb24154bbaa071aa35407))
932
933
934
935
936## Pull requests merged
937 - Merge pull request #3569 from Unitech/pm2-runtime-hot-fix
938 ([473a2d6d](https://github.com/Unitech/pm2/commit/473a2d6d3867c617e4a41571d1780618c5025b87))
939 - Merge pull request #3547 from Unitech/revert-3532-logs-smart-app-name-cutting
940 ([438e3030](https://github.com/Unitech/pm2/commit/438e303013e82ecc199cb68d018144cde8a0b2e6))
941 - Merge pull request #3532 from N-Nagorny/logs-smart-app-name-cutting
942 ([067c18e6](https://github.com/Unitech/pm2/commit/067c18e601aca4fac10101a7c23cc4c3525ad776))
943
944
945
946## v2.10.1 ( Mon Feb 26 2018 11:38:18 GMT+0100 (CET) )
947
948
949## Bug Fixes
950 - restore --raw option #3476
951 ([340011ca](https://github.com/Unitech/pm2/commit/340011cace2b90c2a1ead8d86baba517f5570e15))
952
953
954## v2.10.0 ( Mon Feb 19 2018 14:51:19 GMT+0100 (CET) )
955
956
957### Bug Fixes
958 - add livescript in default modules
959 ([a315eeb6](https://github.com/Unitech/pm2/commit/a315eeb65f04b22643a903f0cb1c0f416615ad8b))
960 - replace dash with underscore
961 ([203df768](https://github.com/Unitech/pm2/commit/203df7688ca348967c00bc45289ae70fd2c4aaaa))
962 - make sure not pm2 is running
963 ([bd798fd7](https://github.com/Unitech/pm2/commit/bd798fd748665e935db4bb91f9d1d66952d9842a))
964 - auto-exit edge case fix + pm2 no daemon mode + log in raw by default + less logs
965 ([704ae518](https://github.com/Unitech/pm2/commit/704ae518f5d7df0a631349e518d81cef51249a58))
966 - impact v8 flag in fork mode also
967 ([41bf6ef7](https://github.com/Unitech/pm2/commit/41bf6ef7d3633180b4c1e90f36eb206d82fab2b1))
968 - fixup! #2182 Get rid of annoying popups in Windows 10
969 ([3a85b59d](https://github.com/Unitech/pm2/commit/3a85b59de4a76796ad0880368d8d085a7ba55d36))
970
971
972
973
974### Hot Fixes
975 - \#3420 ([673acf36](https://github.com/Unitech/pm2/commit/673acf36b4ca1fd65c5135a92d56081f76237a8b))
976
977
978
979
980### Features
981 - add dependencies section into ecosystem.json file.
982 ([828a30d0](https://github.com/Unitech/pm2/commit/828a30d0ccc88b3f6e2b66d517ccf5f2394bd08b))
983 - --deep-monitoring available from pm2-runtime
984 ([99e62e3b](https://github.com/Unitech/pm2/commit/99e62e3bb808f071d6e4850c234b34f7de65b1c2))
985 - add deep_metrics to deep_monitoring flag
986 ([4d1bea5e](https://github.com/Unitech/pm2/commit/4d1bea5e0bbaab1f16f75d012bca25702cdff88e))
987 - add flag to enable deep-monitoring
988 ([c5418688](https://github.com/Unitech/pm2/commit/c541868837a1c4421394de5dd1029d2619b5ac82))
989 - allow pm2 to install a set of module as one single command and add deep-monitoring.
990 ([9dddc80d](https://github.com/Unitech/pm2/commit/9dddc80db5e496def44d4d36716b7de54e5171cf))
991 - pm2 pid <app_name> command
992 ([6687d499](https://github.com/Unitech/pm2/commit/6687d499415151bd62489fed5331f414576ec354))
993 - allow pm2 to install and enable event-loop-inspector data collecting
994 ([e6b0c474](https://github.com/Unitech/pm2/commit/e6b0c47443d3e6a839bf29057ef0a80ef135c47e))
995 - ignore signal when running in --no-daemon
996 ([b9c01c99](https://github.com/Unitech/pm2/commit/b9c01c99d54aba98ab790b8888500ac0f0af05c9))
997 - upgrade pmx to git development branch
998 ([21be05a0](https://github.com/Unitech/pm2/commit/21be05a07bd93eacaddedde3b647c16468937473))
999 - allow pm2 to enable v8 data collecting from pmx
1000 ([aa180fa8](https://github.com/Unitech/pm2/commit/aa180fa8ab47f0c687d7c21854d005ad0ebf8475))
1001 - allow pm2 to install gc-stats
1002 ([15634168](https://github.com/Unitech/pm2/commit/15634168582e4c7b3c5f47a3f58a0fcf8b732a76))
1003 - feat add changelog generation support
1004 ([14f53fc0](https://github.com/Unitech/pm2/commit/14f53fc0c28be4084778785aeace3763ed0d827f))
1005
1006 - **pm2**
1007 - add pm2 init option to generate an ecosystem file
1008 ([5d56fac7](https://github.com/Unitech/pm2/commit/5d56fac7cc12590af29ee46c68ba32a82a2b813b))
1009 - add pm2 init option to generate an ecosystem file
1010 ([a38fd199](https://github.com/Unitech/pm2/commit/a38fd199b90d27a2405f8cabab0e4f6e45c69b08))
1011
1012
1013
1014
1015### Documentation
1016 - add documentation on new pm2 install command
1017 ([c90c453f](https://github.com/Unitech/pm2/commit/c90c453f85b07adb346bc55c2b685d689a2e96f7))
1018 - add sendDataToProcessId into typescript definitions
1019 ([4a2e8d2d](https://github.com/Unitech/pm2/commit/4a2e8d2d2c4b38fe0ff2377dfe32fce9a43c8044))
1020
1021
1022
1023
1024### Refactor
1025 - delete all "if" condition when installing new module, create an object with all modules and a generic installation process
1026 ([1b92a9c4](https://github.com/Unitech/pm2/commit/1b92a9c4000734367e68d8dbd60d0901009f4c56))
1027 - deep pm2-runtime refactor #3408 #3257 #3266
1028 ([c13b2364](https://github.com/Unitech/pm2/commit/c13b23648269529a1f998d816be10f895665861e))
1029 - no more interactive spinner for connection to KM + change pm2 log format + remove some logs
1030 ([d1916f40](https://github.com/Unitech/pm2/commit/d1916f40962b2cc8a1866172eab7d5d89db093be))
1031
1032
1033
1034
1035### Chore
1036 - pmx to 1.6.3-rc2
1037 ([41815e0b](https://github.com/Unitech/pm2/commit/41815e0ba0298979f936b3d4badb196f8d9783d8))
1038 - switch pmx to development
1039 ([748019d1](https://github.com/Unitech/pm2/commit/748019d1ef0cf760b5e8de9d5b6af6fee300db02))
1040 - 2.10.0-beta
1041 ([0d2b7172](https://github.com/Unitech/pm2/commit/0d2b7172a093d0638deabb5f23383cc9eec5dda9))
1042 - upgrade pmx to 1.6.3-next
1043 ([5a1b4343](https://github.com/Unitech/pm2/commit/5a1b4343cc1e1f5018e21451a111340351706213))
1044 - upgrade pmx dep
1045 ([4bbeec3d](https://github.com/Unitech/pm2/commit/4bbeec3d170ba63af0c0ae0e2d07beec2ab49772))
1046 - switch to published pmx(@next)
1047 ([859d18fb](https://github.com/Unitech/pm2/commit/859d18fbc79e2a2760fe90e9c17e71209f8177ce))
1048 - remove --exit from mocha.opts
1049 ([36bf03e1](https://github.com/Unitech/pm2/commit/36bf03e1eed69a27e518151e2f7aa958b15db2fb))
1050 - remove unused files
1051 ([65d233e5](https://github.com/Unitech/pm2/commit/65d233e5b5290f65796b7cf3daa20706e0f3bee6))
1052
1053
1054
1055
1056### Branchs merged
1057 - Merge branch 'development' of ssh://github.com/deltasource/pm2 into hotfix/scoped-package-support
1058 ([94ea9d9e](https://github.com/Unitech/pm2/commit/94ea9d9eeff40faca8aa9f7edfc81aa29c08e740))
1059 - Merge branch 'master' into development
1060 ([46606903](https://github.com/Unitech/pm2/commit/46606903f25d0f4d0eee226da863e20e4b396dc9))
1061 - Merge branch 'development' of github.com:Unitech/pm2 into v8_option
1062 ([757562f7](https://github.com/Unitech/pm2/commit/757562f755b09124bbd006209ae38a096d692529))
1063 - Merge branch 'development' of github.com:Unitech/pm2 into gc-stats
1064 ([3ed1a747](https://github.com/Unitech/pm2/commit/3ed1a7471aec7d79f7d604447ac7445720bdaced))
1065 - Merge branch 'master' into development
1066 ([ee7651e4](https://github.com/Unitech/pm2/commit/ee7651e47e944c3c829933494c6cc765deb4bb29))
1067
1068
1069
1070
1071### Pull requests merged
1072 - Merge pull request #3466 from natcl/development
1073 ([c6d7ace8](https://github.com/Unitech/pm2/commit/c6d7ace802e667def75bc68344effa4856830fb4))
1074 - Merge pull request #3464 from andyfleming/patch-1
1075 ([dd9ebb60](https://github.com/Unitech/pm2/commit/dd9ebb6051708ee5a13cc68dbcb8238e41860bb9))
1076 - Merge pull request #3459 from rmonnier/master
1077 ([46948a98](https://github.com/Unitech/pm2/commit/46948a98e90c7864f7b8100db5c519fe9d37f11a))
1078 - Merge pull request #3458 from Unitech/pm2_install_command
1079 ([f3b35726](https://github.com/Unitech/pm2/commit/f3b35726895bd82b92813f308b787d68e9df1fa4))
1080 - Merge pull request #3453 from deltasource/hotfix/scoped-package-support
1081 ([974f9bf0](https://github.com/Unitech/pm2/commit/974f9bf0dc7a7aa7ff6860f8640da3593b802296))
1082 - Merge pull request #3448 from Unitech/deep_monitoring_flag
1083 ([331bc741](https://github.com/Unitech/pm2/commit/331bc741d7285094738a91cd816bc9755cc76605))
1084 - Merge pull request #3447 from Unitech/deep-monitoring
1085 ([719d328e](https://github.com/Unitech/pm2/commit/719d328e8d14871b34fd33df54fd80f4f8e7825f))
1086 - Merge pull request #3443 from Unitech/event-loop-inspector
1087 ([77a35274](https://github.com/Unitech/pm2/commit/77a3527407f3d090c7a5fa0bedaf943a7536b5eb))
1088 - Merge pull request #3442 from Unitech/event-loop-inspector
1089 ([dad98e6e](https://github.com/Unitech/pm2/commit/dad98e6e0738983717fee155ff0f6519955ffc1b))
1090 - Merge pull request #3424 from Unitech/sendDataToProcessId_def
1091 ([95e85eef](https://github.com/Unitech/pm2/commit/95e85eef84510dddfb0c6b13f0ada38a7dd66cae))
1092 - Merge pull request #3438 from Unitech/v8_option
1093 ([e46b15dc](https://github.com/Unitech/pm2/commit/e46b15dc32c18e8b24f66da0c79cc06f91cf11b5))
1094 - Merge pull request #3437 from Unitech/gc-stats
1095 ([1a6771aa](https://github.com/Unitech/pm2/commit/1a6771aa361bb5718bafd6e33e616725f9c0d328))
1096 - Merge pull request #3400 from toddwong/windowsHide2
1097 ([f65e8794](https://github.com/Unitech/pm2/commit/f65e8794df6e67f4ff60dfbec7c05a37721cb6f9))
1098 - Merge pull request #3421 from Unitech/generate_changelog
1099 ([b0690618](https://github.com/Unitech/pm2/commit/b0690618d940c11e28eeb5115c060bf363c7b62b))
1100 - Merge pull request #3419 from Rohja/fix-build-number-deb-rpm
1101 ([b4343de2](https://github.com/Unitech/pm2/commit/b4343de2703fce03f3cf48cc303b12bc6b69b743))
1102
1103
1104
1105
1106## 2.9.2
1107
1108- #3364 30% faster CLI via v8-compile-cache
1109
1110- add process._getActiveRequests() and process._getActiveHandles() custom metrics
1111- #3402 #3360 fix bad username
1112- #3413 check dependencies before launching tests
1113- #3295 add sorting feature for process list (pm2 ls --sort <field_name:order>)
1114- #3404 if no gid specified - set gid to uid
1115- #3287 add typing for env
1116- #3374 separate stdout and stderr for pm2-docker/pm2-runtime
1117- #3366 improve building of rpm and deb packages
1118- #3375 sendLineToStdin/sendDataToProcessId fix
1119- #3365 fix report command for windows
1120- #3367 Display an error if the process is not found when running 'pm2 logs <process-name>'
1121- #3256 TypeError: Cannot read property 'destroy' of undefined
1122- User: append SUDO_USER if no uid has been set and SUDO_USER present
1123- User: check permission of agent
1124- KM: send outliers
1125- KM: infinite retry for km connection
1126
1127## 2.9.1
1128
1129- #3356 hot fix on startup system
1130
1131## 2.9.0
1132
1133- #3278 --silent -s now does not print welcome message
1134- #3345 #2871 #3233 pm2 -v will not spawn daemon anymore
1135- #3341 update moment dependency
1136- #3314 pm2 install <MODULE> --safe will now monitor new installation of module and will
1137 fallback to previous version if the module is failing (restart, fail on npm install)
1138- #3314 module folder structure refactoring to keep independent dependencies for each modules
1139- #3324 remove yarn installation of modules
1140- #3273 pm2 --mini-list now print the right pid file
1141- #3206 add flag to auto turn off auto exit with pm2-docker
1142- #3036 Fix applying env PM2_CONCURRENT_ACTIONS correctly
1143- #3346 do not chmod systemd script (was failing systemd script on orange pi)
1144- #3347 Add --wait-ip option to override systemd initialization to wait for internet full connectivity
1145- #3348 alias pm2-docker to pm2-runtime
1146- #3350 Override HOME and USER when setting --uid to start module or application
1147- #3351 alias pm2 ps to pm2 ls (docker style)
1148
1149## 2.8.0
1150
1151- #2070 Fix sendDataToProcessId not working (@h091237557)
1152- #2182 Add windowHide options in cluster mode (@soyuka)
1153- #3206 By default in docker, pm2 will auto exit when no process are online (@dguo)
1154- #3225 fix --lines accepting invalid values (@vmarchaud)
1155- #3036 fix when PM2_CONCURRENT_ACTIONS was overriden everytime on node > 4 (@danez)
1156- Add node 9 tests on CI (@Unitech)
1157- Add pm2 unlink command (eq to pm2 link delete) (@Unitech)
1158- Fix interactor to support custom endpoints (@vmarchaud)
1159- Allow custom PM2_HOME for docker (@lucidNTR)
1160- Support MJS module (@vpotseluyko)
1161- Allow custom service name for startup (@danez)
1162- Update PMX to 1.5 (@unitech)
1163
1164## 2.7.2
1165
1166- #3200 Associate .tsx files with ts-node (@dguo)
1167- #3202 Add first draft of typescript definitions (@jportela)
1168- Allow to install http url via pm2 install (@unitech)
1169- #3204 Given --uid add all its gids automatically (@jmeit)
1170- #3184 bugfix: try/catch around userInfo to avoid crash (@vmarchaud)
1171- #3181 force upgrade to latest pm2-deploy
1172
1173## 2.7.1
1174
1175- #3117 Add required node env on cluster mode start instance (2m0nd)
1176- make profiler compatible with Node.js 8
1177
1178## 2.7.0
1179
1180- #3150 fix watchdog on agent
1181- #3001 dump-backup feature
1182- #3134 edge case error handling
1183- #3096 fix module installation
1184- #3085 honor every pm2 args on restart
1185- #3046 better error message if PM2 is misconfigured
1186- #3058 pm2-docker now does not write logs by default
1187- #3045 continue to broadcast on the bus system even if logs are disabled
1188- [Docker] Auto Exit when no application is running
1189- [Keymetrics] pm2 unmonitor fix
1190- [Beta Container Support] beta pm2 start app.js --container
1191- [Chore] upgrade modules
1192- [Chore] enhance package.json
1193
1194## 2.6.1
1195
1196- #3037 bug fix cb
1197
1198## 2.6.0
1199
1200### Changes
1201
1202- #2998 pm2 report command for automated system inspection
1203- #2997 --disable-logs option to suppress error
1204- #2290 allow to declare apps under "pm2" attribute (eq "apps"). Nicer in package.json
1205- #2994 allow to specify typescript version to be installed
1206- #2501 low memory environment pm2 setting via PM2_OPTIMIZE_MEMORY (beta)
1207- #2968 pm2 attach <pm_id> to attach to process stdin / stdout
1208- pm2-runtime -> drop in replacement for the node.js binary
1209- #2951 pm2 reload command locker via timestamped lock file
1210- #2977 pm2 reloadLogs protected
1211- #2958 Allow to delete attribute via --attribute null
1212- #2980 PM2_SILENT=true pm2 startup
1213- #2690 --parallel <number> command allows to change the nb of concurrent actions (reload/restart)
1214- expose cwd on CLI via --cwd
1215- multiple pm2-docker enhacements
1216- Alias pm2.link and pm2.unlink to pm2.interact and pm2._pre_interact
1217- Allow to customize kill signal via PM2_KILL_SIGNAL
1218- Support git+http in module installation
1219- force reverse interaction reconnection on internet discovery
1220- `--instances -1` when having a 1 cpu is no-longer spawning no processes #2953
1221- refactor the context retrieving from error
1222- add a TTL for file cache entry
1223- #2956 Fix listen_timeout in combination with wait_ready
1224- #2996 respect signal order on pm2 reload (delegate ready function to reload fn)
1225
1226### Breaking
1227
1228- Drop pm2-daemon CLI (replaced by pm2-runtime)
1229
1230## 2.5
1231
1232- `pm2 register|login` to create new account / login on Keymetrics + auto link
1233- `pm2 open` to open dashboard on browser
1234- `pm2 monitor|unmonitor <pm_id|name|all>` for selective monitoring
1235- #2818 alias pm2-docker to pm2-daemon
1236- #2809 correctly resolve git/npm repo when running pm2 install
1237- #2861 better auto exit check for docker
1238- #2870 avoid null error when preparing app config
1239- #2872 avoid showing useless warning
1240- #438 allow to override daemon config paths via env (example: `PM2_PID_FILE_PATH` to override pid file of the daemon)
1241- #2849 better gentoo template for pm2 startup
1242- #2868 allow tailing log with `--raw` flag
1243- #452 Add `PM2_WEB_STRIP_ENV_VARS` to remove environnement vars from `pm2 web` endpoint
1244- #2890 Fix wait-ready for cluster mode
1245- #2906 randomize machine name with default pm2 link
1246- #2888 allow to use regex for pm2 logs
1247- #2045 allow to rename NODE_APP_INSTANCE env variable
1248- #2809 add `increment_var` options to ask for a environnement variable to be incremented for each application started
1249- more informations when failing to deploy on custom ecosystem file
1250- fix tests for node 8
1251- fix missing callback when overriding console.log
1252- allow to rename daemon process name via `PM2_DAEMON_NAME`
1253- few typo in the readme
1254
1255### Breaking change
1256
1257- the NODE_APP_INSTANCE var behavior has been changed :
1258 - old behavior : when starting multiples instances of an app each one get an unique number, but its not working anymore if you are using `pm2 scale` (simply put its possible to have two application with the same number)
1259 - new behavior : the number are consistent, if you scale up/down it will take a number that isn't used by another application (so two application should never have the same number)
1260
1261## 2.4.5/6
1262
1263- #2818 alias pm2-docker to pm2-runtime
1264- #2815 polyfill for path.isAbsolute for node v0.11
1265
1266### Breaking change
1267
1268- rundev command has been dropped because of too low adoption
1269
1270## 2.4.4
1271
1272- #2806 fix reconnection to keymetrics
1273
1274## 2.4.3
1275
1276- #2759 disable default require of vxx in pmx
1277- #2651 always spawn pm2 daemon with `node` binary
1278- #2745 new issue template
1279- #2761 Make JSON log stream timestamp in consistent format
1280- #2770 Fix trigger API never calling callback
1281- #2796 Fix absolute path on windows
1282- [KM] profiler installation via `pm2 install v8-profiler` or `pm2 install profiler`
1283- [KM] Agent rescue system
1284
1285## 2.4.2
1286
1287- [KM] Disable pm2-server-monit auto install
1288
1289## 2.4.1
1290
1291- #2720 multi user startup script
1292- #2266 start and tail logs via `pm2 start app.js --attach`
1293- #2699 add back previous termcaps interface via `pm2 imonit`
1294- #2681 fix log folder create
1295- #2724 make sure process is stopped even if there is a restart_delay
1296- #2706 install pm2 modules via yarn if available
1297- #2719 show 15 logs line bu default
1298- #2703 allow custom timestamp with pm2-docker
1299- #2698 fix unicode on pm2 monit
1300- #2715 handle treekill edge case bug
1301- Optimize CPU usage of pm2 monit command
1302- [KM] URL web access dashboard
1303- [KM] Auto install pm2-server-monit on keymetrics linking
1304- [KM] Error reporting: add context (-B3 -A3 code lines)
1305- [KM] Transaction Tracer: reset routes on app restart / wait some time before sending
1306
1307## 2.4.0
1308
1309- #2631 new pm2 monit command (blessed dashboard!)
1310- #2670 allow to expose a folder over http via `pm2 serve <path> <port>`
1311- #2617 fix startup script generation on macosx (launchd)
1312- #2650 new option to append env name to app name (used to allow the same app to be launched in different environment w/o name conflict)
1313- #2671 allow to pass a delay to pm2-docker (`pm2-docker process.json --delay 10`)
1314- `pm2 ecosystem simple` to generate a simple ecosystem file
1315- aliasing: `pm2-dev <script>` <=> `pm2-dev start <script>`
1316- fix git parsing when using cwd
1317- #2663 allow to directly output json when logging (via log_type for JSON and --log-type via CLI)
1318- #2675 fix path when installing language module like typescript
1319- #2674 increase restart timeout for systemd startup
1320- #2564 allow to operate process (restart/reload/stop/delete) with regex
1321
1322## 2.3.0
1323
1324- Drop Node.js 0.10 support
1325- (CLI) remove immutability of CLI parameters on restart (critical for ux)
1326- Keymetrics VXX beta
1327- Alias "exec" to "script"
1328- `pm2 logs --nostream` allow to print last logs of application without attaching to logs bus #2620
1329- Added startup script for gentoo v2.3 via PR #2625
1330- optionalDependencies from http to https
1331- remove agent pid on exit
1332- #2646 check ps.stdout on treekil
1333
1334## 2.2.3
1335
1336- Various startup refactor fixes (#2598, #2587, #2590)
1337
1338## 2.2.2
1339
1340- #2574 Support Amazon systemv
1341
1342## 2.2.1 (rc: 2.2.0@next)
1343
1344- #2559 New startup system. Supported init system: systemd, upstart, launchd
1345
1346 $ pm2 startup # Auto detect available init system + Setup init scripts
1347 $ pm2 unstartup # Disable and Remove init scripts
1348
1349*SystemD, Upstart and Launchd scripts work like a charm*
1350
1351- #2515 New way to install PM2 on Debian based system:
1352
1353```
1354$ wget -O - http://apt.pm2.io/ubuntu/apt.pm2.io.gpg.key | sudo apt-key add -
1355$ echo "deb http://apt.pm2.io/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/pm2.list
1356$ sudo apt-get update
1357$ sudo apt-get install pm2
1358```
1359
1360- #1090 pm2 resurrect does not respawn the same processes
1361- #2544 Attach logs to exception
1362- #2545 Right exit code via pm2 api
1363- #2543 Fix module pid/mem monitoring
1364- #2537 Remove duplicated code in Configuration subsystem
1365- Responsive pm2 list (shortened list when < 90 columns)
1366- If not TTY do not print ascii table
1367- #2509 Trigger functions inside Node.js application from the PM2 CLI
1368- Rename pm2.triggerCustomAction() by pm2.trigger(<app_id>, <action_name>, [params], [cb])
1369
1370## 2.1.6
1371
1372- #2509 Trigger functions inside Node.js application from the PM2 CLI
1373- #2474 Resolve home path in configuration file
1374- #2526 Expose .launchAll() method to API
1375- #2351 inner pm2 actions - drop autorestart and node_args options
1376- #2530 Make sure all processes are killed on system signal to PM2
1377- #281 allow to combine PM2_SILENT + pm2 jlist to avoid extra data
1378- Alias attributes error_file to err_file + err_log + err, alias out_file to out, out_log
1379- Do not ask for pass for set/multiset from KM
1380
1381## 2.1.5
1382
1383- #2502 fix SIGTERM signal catch on pm2-docker
1384- #2498 #2500 global log rotation
1385
1386## 2.1.4
1387
1388- #2486 add --web option to pm2-docker command to expose web process api
1389- #2333 #2478 #1732 #1346 #1311 #1101 Fix GracefulShutdown SIGINT output + Better Stop process flow
1390- #2353 --wait-ready will wait that the application sends 'ready' event process.send('ready')
1391- #2425 allow to specify node.js version to be used or installed via interpreter 'node@VERSION'
1392- #2471 Make app environment immutable on application restart/reload by default for CLI actions
1393- #2451 Config file can be javascript files
1394- #2484 fix pm2 kill on windows
1395- #2101 pm2 ecosystem now generates a javascript configuration file
1396- #2422 allow to pass none to exec_interpreter
1397- Faster CLI load time, reduce load time by 1/4 (downgrade cli-table2 -> cli-table)
1398- Do not use disconnect() anymore on cluster processes
1399- Better Stop process flow: Upgrade TreeKill system + Wait for check
1400- Fix deploy issue with Windows
1401- Expose -i <instances> to pm2-docker
1402- Drop npm-shrinkwrap
1403- Upgrade chokidar (fix symlink), cron, fclone, shelljs
1404- Add yarn.lock
1405
1406## 2.0.19
1407
1408- #2466 skip cluster workaround / fix cluster mode for Node.js v7
1409- Enable Node v7 in travis
1410
1411## 2.0.16/17/18
1412
1413- #2400 Create log/pid default folder even if the root folder is already created
1414- #2395 CRON feature now call PM2 for app to be killed (allow to use SIGINT)
1415- #2413 #2405 #2406 do not exit on unhandledRejection auto catch
1416- pidusage upgrade to 1.0.8 to avoid util exception on windows when wmic fail
1417- Do no display error when pidusage try to monitor an unknow PID (modules)
1418- pm2-docker binary does not need the start option
1419
1420## 2.0.15
1421
1422- process.on('unhandledRejection'): allow to catch promise error that have not been catched
1423- upgrade fclone and pidusage (faster windows CPU/Mem monitoring)
1424- allow to call pm2 CLI from bash script managed by pm2
1425- #2394 fix pm2 id command
1426- #2385 ts-node upgraded to latest
1427- #2381 autocompletion fix
1428
1429## 2.0.12 Bradbury
1430
1431- Memory usage reduced by 40%
1432- CPU usage in overall situations reduced by 60%
1433- Refined pm2 logs command with --json, --format and --raw options
1434- Faster process management with CONCURRENT_ACTIONs enabled
1435- Faster installation (v1: ~30secs, v2: ~10secs)
1436- Faster `pm2 update` with Keymetrics linking delayed at the end
1437- Much better Module system with raw NPM feedback
1438- Better Windows support
1439- **pm2-docker** command with his official [Docker image](https://github.com/keymetrics/pm2-docker-alpine) + json output + auto exit
1440- **pm2-dev -> pmd** command enhanced (better log output, post-exec cmd)
1441- Watch and Reload instead of Watch and Restart
1442- New PM2 API, backward compatible with previous PM2 versions
1443
1444The new PM2 API is greatly tested and well designed:
1445
1446```javascript
1447var PM2 = require('pm2');
1448
1449// Or instanciate a custom PM2 instance
1450
1451var pm2 = new PM2.custom({
1452 pm2_home : // Default is the legacy $USER/.pm2. Now you can override this value
1453 cwd : // Move to CWD,
1454 daemon_mode : // Should the process stay attached to this application,
1455 independant : // Create new random instance available for current session
1456 secret_key : // Keymetrics secret key
1457 public_key : // Keymetrics public key
1458 machine_name: // Keymetrics instance name
1459});
1460
1461// Start an app
1462pm2.start('myapp.js');
1463
1464// Start an app with options
1465pm2.start({
1466 script : 'api.js',
1467 instances: 4
1468}, function(err, processes) {
1469});
1470
1471// Stop all apps
1472pm2.stop('all');
1473
1474// Bus system to detect events
1475pm2.launchBus((err, bus) => {
1476 bus.on('log:out', (message) => {
1477 console.log(message);
1478 });
1479
1480 bus.on('log:err', (message) => {
1481 console.log(message);
1482 });
1483});
1484
1485// Connect to different keymetrics bucket
1486pm2.interact(opts, cb)
1487
1488// PM2 auto closes connection if no processing is done but manually:
1489
1490pm2.disconnect(cb) // Close connection with current pm2 instance
1491pm2.destroy(cb) // Close and delete all pm2 related files of this session
1492```
1493
1494- Better CLI/API code structure
1495- PM2 isolation for multi PM2 instance management
1496
1497### Bug fixes
1498
1499- #2093 #2092 #2059 #1906 #1758 #1696 replace optional git module with tgz one
1500- #2077 fix calling pm2.restart inside pm2
1501- #2261 GRACEFUL_LISTEN_TIMEOUT for app reload configurable via --listen-timeout
1502- #2256 fix deploy command for yaml files
1503- #2105 alias pm2 logs with pm2 log
1504- Extra module display http://pm2.keymetrics.io/docs/advanced/pm2-module-system/#extra-display
1505- Yamljs + Chokidar Security fixes
1506- pm2 update / pm2 resurrect is now faster on Node > 4.0
1507- keymetrics linking after pm2 update is done once all apps are started
1508- pm2 list processes are now sorted by name instead id
1509- #2248 livescript support added in development mode
1510- The client/server file called Satan.js does not exist anymore. It has been replaced by the file combo ./lib/Client.js and ./lib/Daemon.js
1511- PM2 --no-daemon is better now
1512
1513### Breaking change
1514
1515- Coffeescript must be installed via `pm2 install coffeescript`
1516
1517## 1.1.3
1518
1519- Node v6 compatibility
1520
1521## 1.1.2
1522
1523- [#2071 #2075] Fix pm2-dev command
1524
1525## 1.1.0: Galactica release
1526
1527This release is about PM2's internals refactoring, homogenization in action commands (in terms of behavior and outputs).
1528Some interesting features has been added, as YAML file support (for application declaration) and some syntaxic sugar.
1529The Keymetrics interface has been enhanced, dividing by two the memory usage and avoiding any possible leak in any potential scenarios. Reconnection system has been refactored too, we kindly ask our Keymetrics users to upgrade to this version ASAP.
1530
1531**This version has been heavily tested in testing, production environments and deeply monitored in terms of CPU and Memory usage.**
1532
1533- [#133 #1568] Allow to rename a process via pm2 restart app --name "new-name"
1534- [#2002 #1921 #1366] Fix CLI/JSON arguments update on restart (args, node_args, name, max-memory)
1535- [#578] Add YAML support for application configuration file (in extent to JSON and JSON5 support)
1536- [Keymetrics agent refactoring] TCP wait, memory consumption divided by two, reconnection refactoring, keep alive ping system
1537- [Keymetrics agent refactoring] Fix random no response from pm2 link and pm2 unlink
1538- [#2061] Kill ESRCH of processes in cluster mode with SIGINT catcher fixed
1539- [#2012 #1650 #1743] CLI/JSON arguments update on reload
1540- [#1613] Reload all reload ALL applications (stopped, errored...)
1541- [#1961] Fix kill timeout info log
1542- [#1987] Fix FreeBSD startup script
1543- [#2011] Respect process.stdout/.stderr signature
1544- [#1602] Fix zombie process when using babel-node as interpreter
1545- [#1283] --skip-env option to not merge update with system env
1546- Homogeneize actions commands outputs
1547- Option --interpreter-args added (alias of node-args)
1548- Allow to use exactly the same option in JSON declaration and CLI (e.g. interpreter) to avoid confusion
1549- pm2 show, now shows more commands to manage processes
1550- Refactor programmatic system
1551
1552## 1.0.2
1553
1554- [#1035 #1055] Deactivate automatic dump on startup scripts
1555- [#1980] Add Javascript source map resolution when exceptions occurs [Documentation](http://pm2.keymetrics.io/docs/usage/source-map-support/)
1556- [#1937] Allow to act on application having numerics as app name
1557- [#1945] Fix post_update commands section when file contains Javascript
1558- [#624] --only <app-name> to act only on specified app name in json app declaration
1559- [0.6.1](https://github.com/keymetrics/pmx/releases/tag/0.6.1) PMX upgrade
1560
1561## 1.0.1
1562
1563- [#1895] pm2 id <app_name>: output array of ids for app_name @soyuka
1564- [#1800] pm2 show <app_name>: now also display node.js version @soyuka
1565
1566## 1.0.0
1567
1568- [#1844][#1845][#1850] Load configuration in /etc/default/pm2 + add ulimit -n override
1569- [#1810] Add --kill-timeout <number> option (delay before process receive a final SIGKILL)
1570- [#1830] Add tests for PM2_KILL_TIMEOUT (SIGKILL delay) + default SIGINT to any kind of procs
1571- [#1825] Process management commands (start/restart/stop/delete) can take multiple arguments
1572- [#1822] Add new method pm2.sendDataToProcessId(type|data|id) to send data to processes
1573- [#1819] Send SIGINT signal to process instead of SIGTERM
1574- [#1819][#1794][#1765] Avoid writing on std err/out when process is disconnected
1575
1576- Add default attribute in schema.json to allow to configure default value when passing a JSON
1577- JSON and CLI starts are now consistent in terms of option size, attribute number
1578- pm2.restart(json_data, function(err, data) now returns an array of process instead of simple object (success:true))
1579- Now pm2 restart process.json --env <X>, refresh environment variable on each restart depending of the X environment
1580- prepareJSON method in PM2 code (God.js) removed
1581- partition Common.prepareAppConf (duplicate with verifyConfs)
1582- Change signature of Common.prepareAppConf
1583- Centralize Interpreter resolution via Common.sink.resolveInterpreter(app) in Common.js
1584
1585- Better meta information when process restart/reload/stop (signal + exit code)
1586- Upgrade pm2-axon, cron, should, mocha, coffee-script, chokidar, semver NPM packages
1587- Show process configuration option when describing process
1588- Add --no-automation flag
1589- Fix when starting application with illegal names (#1764)
1590- Fix management of app starting with numerics in the filename (#1769)
1591- Fix versiong system (reset to default on resurrect/prepare)
1592- Increase buffer size for versioning meta parsing
1593
1594## 0.15.10
1595
1596- Hot fix #1746
1597
1598## 0.15.9
1599
1600- Chokidar upgraded to 1.2
1601- Fix startup script via new --hp option
1602- Fix JSON refresh system
1603
1604## 0.15.1-8
1605
1606- JSON refresh available
1607- New module system backward compatible and compatible with NPM 3.x
1608- Possibility to install module from tgz (#1713)
1609- ecosystem generated file via pm2 generate uptaded (not json5 prefix anymore, and updated comments)
1610- always prefix logs #1695
1611- blessed dependency removed
1612- drop locking system
1613- add callback to deploy (#1673)
1614- typo fixes
1615- pm2.update added
1616- small db for pm2 modules added (solve npm 3.x issue)
1617- pm2 multiset "k1 v1 k2 v2 k3 v3"
1618- babel dependency removed
1619- blessed dependency removed
1620- chalk, safe-clone-deep, shelljs, semver upgraded
1621- New command: pm2 module:update <module_name> -> Update a module
1622- New command: pm2 module:publish -> Publish module in current folder + Git push
1623- New command: pm2 module:generate [module name] -> Generate a sample module
1624- Feature: configuration system for raw Node.js applications
1625- alias pm2 install with pm2 i
1626- JSON declaration: You can now use process.env in application declaration file
1627- watch has been refactored for windows and tests
1628- allow installation of specific module version
1629- wrap final process kill intro try catch (c4aecc8)
1630- Appveyor to test PM2 under Windows added (+ fix some incorect file name)
1631- Allow to escape key name when using pm2 conf system
1632
1633## 0.14.7
1634
1635- New flag `--no-pmx` : starts an app without injecting pmx
1636- New feature : cron restart now works in fork mode as well
1637- Disabled auto-gc on interactor
1638- Allow PM2 to execute binaries in $PATH
1639- pm2 link priv pub --recyle for elastic infrastructure
1640- pm2 deploy now check default file ecosystem.js[on|on5], package.json
1641
1642## 0.14.6
1643
1644- Scoped PM2 actions
1645- Password encryption via pm2 set pm2:passwd xxxx
1646- Interactor Remote action refactor
1647- .getSync method to get configuration variable synchronously
1648- Add password protected PM2 methods (install, delete)
1649- pm2 get|pm2 conf display all confs
1650- Password protected PM2 flag
1651- New flag : `--restart-delay <ms>` (or `restart_delay` in JSON declaration)
1652- New command : `pm2 deepUpdate`
1653- New command (beta) : `pm2 logrotate`
1654- Enhancement : pm2 handles processes that can't be killed in a better way
1655- Fix : some ignore_watch issues
1656- Fix : some pm2 startup systemd issues
1657
1658## 0.14.5
1659
1660- Hot fix
1661
1662## 0.14.4
1663
1664- New command : `pm2 iprobe [app_name|app_id|'ALL']`
1665- Feature: FreeBSD startup script
1666- Fix: Remove forced GC
1667- Fix: ##1444 --next-gen-js in fork mode
1668- Fix: Windows path fix
1669
1670## 0.14.3 (Current Stable)
1671
1672- `pm2 flush` now flushes pm2.log as well
1673- New flag : `--no-treekill` : when used PM2 won't kill children processes
1674- New flags : `pm2 logs ['all'|'PM2'|app_name|app_id] [--err|--out] [--lines <n>] [--raw] [--timestamp [format]]`
1675- Enhancement: Modules installable via Github: `pm2 install username/repository`
1676- Feature: PMX has *scoped function* -> pm2 stores temporary output from custom functions
1677- Fix: Interactor issue when doing an heapdump
1678- Feature: PM2 CLI autocompletion
1679
1680## 0.14.2
1681
1682- Improved pm2-dev
1683- Now when apps list is empty, the `id` counter is set to 0
1684- Removed pres/keymetrics.js post-install script
1685- Fix : `pm2 logs` allocation error
1686- Fix : `pm2 prettylist|jlist` truncated output
1687
1688## 0.14.0 - CrystalClear (pre 1.0)
1689
1690- Removed: pm2.startJSON() method, now call pm2.start()
1691- API Change: pm2 start <app_name|app_id> restart an application already launched
1692- API Change: pm2 start <json> restart all json apps if already launched
1693- pm2 start all - restart all applications
1694- pm2 reload <json_file> possible
1695- pm2 gracefulReload <json_file> possible
1696- Smart start (pm2 start app.js ; pm2 stop app ; pm2 start app)
1697- Reduced memory footprint
1698- Reduced pipelined data
1699- Reduced CPU usage
1700- Faster command processing
1701- Upgrade shelljs, semver, colors, chalk, coffee-script, async, json-stringify-safe, cron, debug, commander
1702- Fix: launchBus() only connects and disconnects once
1703
1704- Refactored `pm2 logs` :
1705 - Now you don't need to install tail on Windows
1706 - You don't need to Ctrl^C and `pm2 logs` again when a new app is launched (this one will be detected and added to the real-time logs output)
1707 - Logs are shown in chronological order at a file level (modified date)
1708 - More verbosity : tailed logs are explicitely separated from the real-time logs
1709 - Real-time logs now use the `bus` event emitter
1710 - PM2 logs added to the `bus`
1711 - `--lines <n>` and `--raw` flags available for `pm2 logs` command
1712 - New flag : '--timestamp [format]' // default format is 'YYYY-MM-DD-HH:mm:ss'
1713 - Now you can exclusively show PM2 logs by doing `pm2 logs PM2`
1714
1715## 0.12.16
1716
1717- Feature : File transmission added in Agent
1718- Feature : Transmit Node.js/io.js version in Agent
1719- Feature : Parameters can be passed to remote actions
1720- Feature : Support JS in addition to JSON and JSON5 config files #1298
1721- Enhanced: pm2 conf display all configuration values
1722- Enhanced: pm2-dev
1723- Enhanced: Better error messages when validating data passed via CLI
1724- Enhanced: Smaller memory footprint for PM2 (~30%)
1725- Fix #1285 : PID file was deleted after a reload/gracefulReload
1726- Fix : ENOMEM made PM2 crash
1727
1728## 0.12.15
1729
1730- Fix #941 : Env variables overrided when an app is restarted
1731- max_memory_restart now performs a graceful reload
1732- `pm2 logs --raw` now shows 20 last lines of each log file
1733- pm2-dev run app.js : start an app in dev mode (--no-daemon --watch and stream logs of all launched apps)
1734- --no-daemon command now display logs of all processes (Docker)
1735
1736## 0.12.14
1737
1738- `ilogs` is no longer part of PM2
1739- Improved interaction with Keymetrics
1740- BabelJS is now integrated into PM2 (`--next-gen-js` flag)
1741
1742## 0.12.13
1743
1744- Enhanced : PM2 doesn't leave processes behind when it crashes
1745- Enhanced : Call reload instead of restart when max-memory-limit reached
1746- Enhanced : Modules are compatible ES6 by default by adding --harmony flag
1747- Enhanced : Dump feature is now smarter
1748- Fix #1206 : fix `pm2 logs` bug when merged_logs
1749- Fix : pm2 scale doesn't try to scale a fork_mode process
1750
1751## 0.12.12
1752
1753- `pm2 logs --raw` flag : show logs in raw format
1754- New command: pm2 scale <app_name> <number> - scale up/down an application
1755- Fix #1177 : no concurrent vizion.parse() for the same process event when it restarts
1756- Added: Expose kill method programmatically
1757- Added: Call disconnect without a function
1758- Added: Programmatic call to .connect can now take no-daemon-option
1759- Fixed: starting a JSON programmatically return a process list coming from God
1760- Fixed: Reflect dump functions from CLI and God
1761- Enhanced: New CLI API for configuring modules (pm2 conf module.option [value])
1762- Added: Using Keymetrics harden PM2 by enabling a WatchDog that auto restart PM2 in case of crash
1763- Added: Expose pm2 gc programmatically
1764- Added: pm2 install <module_name> update the module
1765- Enhanced: 4 new test suits for PM2 programmatics call
1766- Enhanced: Documentation restructured
1767
1768## 0.12.11
1769
1770- `--no-autorestart` flag : starts an app without automatic restart feature
1771(`"autorestart" : false` in JSON declaration)
1772
1773- `--no-vizion` flag : starts an app completely without vizion features
1774(`"vizion" : false` in JSON declaration)
1775
1776- Fix #1146 : add module._initPaths() on ProcessContainer.js so it forces each
1777new process to take the current NODE_PATH env value in account
1778
1779- New: pm2.start() now handles json objects as param
1780
1781- Added: timestamps to KM agent logs
1782
1783- Fix: now properly closes all fds after logging has finished.
1784
1785- New command: pm2 gc (manually triggers garbage collection for PM2)
1786
1787- VersioningManagment: exec() timeout configurable via .json
1788
1789- Fix #1143 :
1790If we start let's say 4 instances of an app (cluster_mode),
1791Each app will have a value in process.env.NODE_APP_INSTANCE which will be 0 for the first one,
17921, 2 and 3 for the next ones.
1793
1794- Fix #1154 :
1795Negative arguments to '-i' are substracted to CPU cores number.
1796E.g: 'pm2 start app.js -i -3' in a 8 cpus environment will start 5 instances (8 - 3).
1797
1798## 0.12.10
1799
1800- Fix : PM2 interactor doesn't send data about dead processes ('_old_') anymore.
1801- Fix #1137 : Safe params for 'pm2 list' so cli-table won't fail
1802- Refactored reverse interaction with keymetrics for better stability and more verbosity on Rollback/Pull/Upgrade operations
1803
1804## 0.12.9
1805
1806- Fix #1124 : PM2_PROGRAMMATIC flag wasn't handled properly
1807- Fix #1121 : NODE_PATH before PATH so custom node versions come first
1808- Fix #1119 : Safe params so cli-table won't fail
1809- Fix #1099 : Bug when app name starts by digit (e.g '1-myApp')
1810- Fix #1111 : More verbosity on writeFileSync errors
1811- New env setting: PM2_KILL_TIMEOUT (ms) : time to wait before a process is considered dead
1812- New env setting: PM2_CONCURRENT_ACTIONS : use it with care, value bigger than 1 is considered unstable
1813- Refactored reload/gracefulReload for better stability
1814
1815## 0.12.8
1816
1817- Fix : `Channel closed error`
1818- Fix : `Resource leak error`
1819- Fix#1091 : when passing a wrong formated number to `-i` infinite loop
1820- Fix #1068 #1096 : restart fails after reloadLogs()
1821- New : When PM2 is being killed, all restarts are blocked to avoid conflict
1822- New : PM2 dumps the process list before exiting if it is killed by signal
1823- Refactored stop/restart for better stability
1824
1825## 0.12.7
1826
1827- pm2 logs : Now shows merged logs
1828- Fix #929 #1043 : Bug pm2 stop/restart not working properly
1829- Fix #1039 : Better algorithm for vision recursive parsing to avoid infinite loops
1830- Automatize #858 #905: Directly init pm2 folder if not present when using it programmatically
1831- Add Bus system from PM2 programmatic API
1832
1833## 0.12.6
1834
1835- Enhancement of startJson command (force_name and additional_env options)
1836- Fix #990 : pm2 flush while pm2 logs was open bug
1837- Fix #1002 : pm2 monit bug
1838- Fix #1024 : enhancement
1839- Fix #1011 : json-stringify-safe bug
1840- Fix #1007 ##1028 #1013 #1009 : pm2 desc bug
1841- Fix : pm2 interact delete when file doesn't exist bug
1842
1843## 0.12.5
1844
1845- Windows support
1846
1847## 0.12.4
1848
1849- Never start a process that already has a PID [#938]
1850- 1. Make platform auto detecting. 2. Support darwin startup script. [#936]
1851- Fix #857 #935, add scriptArgs back [d61d710]
1852- Fix broken link upstart [f8ff296]
1853- Fixed: multiple calls to vizion.parse() for the same process [0e798b1]
1854- fix 2015 test easter egg - Happy New Year! [85d11d5]
1855- fixes #906 [#911]
1856- Add back automatic coffee interpreter #488 #901 [e9a69fe]
1857- Upgrade cli-table, commander, colors, moment dependencies [0cc58ce][a4b7d8d]
1858- Domain system to patch fix the exception thrown by the cluster module
1859- Fix #830 #249 #954 when there is no HOME env to default to /etc/.pm2 [17d022c]
1860
1861## 0.12.3
1862
1863- fixed critical bug: `process.env` flattens all env-vars [#898]
1864- npm maintainers format [#894]
1865- fix `pm2 desc` crash bug [#892]
1866- fix CLI typo [#888]
1867- `port` config [#885]
1868
1869## 0.12.2
1870
1871- treeKill copyright and update [#848] [#849]
1872- Allow environment variables per each ecosystem deploy [#847]
1873- max-memory-restart option [#697] [#141]
1874- JSON validation (cf ADVANCED_README.md) [#768] [#838]
1875- CLI/JSON refactoring
1876- watch fixes
1877- execute binary softwares
1878- node_args refactored (ESC support) [#838]
1879- reload env graceful and peaceful [#838]
1880- min_uptime added [#838]
1881- startOrRestart conf.json does update environment variables [#805]
1882- vizion only refresh ahead and unstaged flags [f1f829c]
1883- worker restart cluster process if it's equal to 0 && online [c2e3581]
1884- pm2 pull <name> [commit_id] [c2e3581] [4021902]
1885- fix reloadLogs for fork mode [c0143cc][197781e]
1886- waterfall logs stream [#822]
1887- --log option to have a merged error and out output [#822]
1888- God core refactors
1889- test refactoring
1890- update isBinaryFile [636fd99]
1891- pid deletion has been resurected [f2ce631]
1892- worker refactor [29fc72b]
1893- fix no color [3feead2]
1894- upgrade chokidar 0.12 with follow symlink [4ac0e74]
1895- refactor Reload [cf94517][f1eb17]
1896- avoid truncate with pm2 logs command [26aff8b]
1897- God print log with timestamp via PM2_LOG_DATE_FORMAT [bf2bf8a][3eaed07]
1898- better test suit
1899- new treekill system [11fe5f4]
1900
1901Big thanks to @Tjatse !
1902
1903## 0.12.1
1904
1905- Harden Lock system
1906- Fix Worker bug / Refactor Worker
1907- Cleanly close interactor sockets on end
1908- Add backward compatibility for older PM2 on kill action via system signal SIGQUIT
1909- once listener for killDaemon
1910
1911## 0.12.0 - clear water ops
1912
1913- better ecosystem.json5 file with embedded comments
1914- startOrRestart conf.json update environment variables #805 #812
1915- pm2 start my/bin/file work out of the box
1916- JSON5 support
1917- PM2_HOME supported - PM2 files paths relocation (logs, pid) via PM2_HOME option
1918- post_updates commands are searched in process.json/ecosystem.json/package.json
1919- Worker system to verify up to date repositories
1920- Rename process running with PM2 <version> - app_name
1921- Process Lock system
1922- Inner iteraction with PM2 possible #782
1923- Better vizion system
1924- backward / forward / pull command
1925- Doc moved to doc
1926- remove uidnumber module
1927- pre install / post install scripts removed
1928- Remote Lock System
1929- More God tests
1930- GRACEFUL_LISTEN_TIMEOUT constant configurable
1931- Logs are closed in Fork mode when reloading
1932- Fix not tty
1933- Fix cluster structure nullification
1934- Pre Windows Support
1935- Send revision process on each process event
1936- Upgrade Commander (better help display)
1937- Upgrade chokidar to 0.10.x
1938- Better interactor
1939- Better revision parsing
1940- Configuration file
1941- Close fd in fork mode while reloading
1942- Remove --run-as-user option
1943- Better CLI interface for interactor
1944- axm:monitor axm:dynamic
1945- Temporaly merge pm2-interface with pm2
1946- Cache cpu infos
1947- Make revision transit in God.bus broadcast
1948- Ignore useless events in God.bus broadcast
1949
1950## 0.11.0-1
1951
1952- Multi user support and privilege containment: UNIX sockets instead of TCP
1953- Reload refactoring
1954- Process on uncaughtexcption to flush process list
1955- pm2 logs display state change of processes
1956
1957## 0.10.x
1958
1959- multi host for pm2 deploy
1960- fork mode by default
1961- fix watch on clusters
1962- refactor watch
1963- env option via programmatic interface
1964- fix watch system
1965- correct pm2 describe command
1966- close file used via pm2 flush
1967- add startOrReload
1968- better closing events
1969
1970## 0.10.0 - PM2 Hellfire release
1971
1972- PM2 hearth code has been refactored and now it handles extreme scenario without any leak or bug
1973- PM2 restart <json|id|name|all> refresh current environment variables #528
1974- PM2 delete all more verbose
1975- PM2 reset <all|id|name> reset restart numbers
1976- Auto update script at PM2 installation
1977- --watch enhanced to avoid zombie processes
1978- Restart app when reaching a limit of memory by using --max-memory-restart (and max_memory_restart via JSON)(https://github.com/Unitech/pm2#max-memory-restart)
1979- PM2 respects strong unix standard process management
1980- Remove timestamps by default with pm2 logs
1981- Coffeescript not enabled by default anymore (enhance memory usage)
1982- PM2 Programmatic interface enhanced
1983- PM2 hearth refactor
1984- PM2 describe show node-args
1985- node_args for V8 options is now available via JSON declaration
1986- Watch system avoid ghost processes
1987- Memory leak fixes
1988- Better performance on interface
1989- Fix tests
1990- Enable PM2_NODE_OPTIONS and node-args for fork mode
1991- Dependencies updated
1992- Faster monitoring system
1993- AXM actions unification
1994- Socket errors handled
1995- Watchdog via Agent - restart automatically PM2 with previous processes in case of crash
1996- PM2_NODE_OPTIONS deprecation (use --node-args instead)
1997
1998## 0.9.6 - 0.9.5 - 0.9.4
1999
2000- Bash test auto exit when failure
2001- Bump fix log streaming
2002- Bump fix to display old logs streaming by default
2003- Bump fix
2004
2005## 0.9.3
2006
2007- Critical bug on fork mode fixed (stream close)
2008- Advanced log display interface pm2-logs #589
2009- Simple log timestamp via --log-date-format (with momentJS formating) #183
2010- Possible to pass arguments via scriptArg with programmatic PM2 #591
2011- Gentoo startup script generation #592
2012- Fix run-as-user and run-as-group in fork mode #582
2013- Documentation update
2014
2015## 0.9.2
2016
2017- max_restart enabled
2018- sudo fix for init scripts
2019- some startup refactoring
2020- Possibility to specify the configuration folder for PM2 via process.env.PM2_HOME
2021- Fix date format
2022- N/A for undefined date
2023- Evented interactions with PM2, available via pm2-interface
2024- Deep Interactor refactoring
2025- Force reload for upstart script
2026
2027## 0.9.0-0.9.1
2028
2029- CLI flattening
2030- require('pm2') possible to interact with
2031- deployment system
2032- Remove builtin monitoring feature
2033- Fix watch on delete #514
2034- Gracefull reload now rightly handled #502
2035- Allow path in watch option #501
2036- Allow management of non-interpreted binaries #499
2037- Documentation fixes
2038
2039## 0.8.12-0.8.15
2040
2041- Version bumping
2042
2043## 0.8.12
2044
2045- Fix CWD option #295
2046
2047## 0.8.10-0.8.11
2048
2049- Builtin monitoring feature with email (with pm2 subscribe)
2050- Reload Logs for Fork
2051- Deletion of possible circular dependencies error
2052- pm2 updatePM2 command to update in-memory pm2
2053- notification message if the in-memory pm2 is outdated
2054- cwd option in json #405 #417 #295
2055- README updates
2056- ipc channel for fork mode
2057- re enable process event loggin for interactor
2058- avoid possible stream error
2059- watch ignore option in JSON
2060
2061## 0.8.5-6
2062
2063- Update monitoring module
2064
2065## 0.8.4
2066
2067- Remove C++ binding for monitoring
2068- Update axon and axon-rpc
2069
2070## 0.8.2
2071
2072- Adds option to switch to a different user/group before starting a managed process #329
2073- watch doesnt watch node_module folder
2074- default log files and pid files location can be overrided by PM2_LOG_DIR / PM2_PID_DIR
2075
2076
2077## 0.8.1
2078
2079- Readme changes #400 #398
2080- Fix describe command #403
2081- reload/gracefulReload throw error if no process has been reloaded #340
2082
2083## 0.8.0
2084
2085- More verbosity to pm2.log
2086- Fast Watch & Reload
2087- New README.md
2088- --merge-logs option to merge logs for a group of process
2089- logs reload with SIGUSR2 or `pm2 reloadLogs`
2090- return failure code when no process has been reloaded
2091- Upgrade of outdated packages
2092- Silent (-s) flag remove all possible pm2 output to CLI
2093- New display for list, more compact
2094- `pm2 describe <id>` to get more details about a process
2095- Fixed 0.10.x issue when stop/kill
2096- Helper shown when -h
2097- Linter errors
2098- Systemd support for Fedora / ArchLinux
2099- #381 Add support for Amazon Linux startup script
2100- Fixed rendering
2101- Interaction possible with VitalSigns.io
2102- Avoid exception when dump file is not present
2103
2104## 0.7.8
2105
2106- List processes with user right `service pm2-init.sh status`
2107
2108## 0.7.7
2109
2110- Bug fixes, stability fixes
2111
2112## 0.7.2
2113
2114- harmony can be enabled [Enabling harmony](#a66)
2115- can pass any options to node via PM2_NODE_OPTIONS, configurable via ~/.pm2/custom_options.sh
2116- pid file written in ~/.pm2/pm2.pid
2117- startup script support for CentOS
2118- --no-daemon option (Alex Kocharin)
2119- json file now can be : started/stoped/restarted/deleted
2120- coffeescript support for new versions (Hao-kang Den)
2121- accept JSON via pipe from standard input (Ville Walveranta)
2122- adjusting logical when process got an uncaughtException (Ethanz)
2123
2124### Update from 0.x -> 0.7.2
2125
2126- CentOS crontab option should not be used anymore and use the new init script with `pm2 startup centos`
2127- If you use the configuration file or the harmonoy option, you should regenerate the init script
2128
2129## 0.7.1
2130
2131- Integrates hardened reload, graceful reload and strengthened process management
2132
2133## 0.7.0
2134
2135- Reload works at 100%
2136- Logs are now separated by process id
2137- Minimal listing with -m option
2138- pid files are deleted once process exit
2139- ping method to launch or knwo if pm2 is alive
2140- more tests
2141- coffeescript is supported in cluster mode
2142- clean exit
2143- clean process stopping
2144- speed process management enhanced
2145- async used instead of recuresive loops
2146- broad test for node 0.11.10 0.11.9 0.11.8 0.11.7 0.11.5 0.10.24 0.10.23 0.10.22 0.10.21 0.10.20 0.10.19 0.10.18 0.10.17 0.10.16 0.10.15 0.10.14 0.10.13 0.10.12 0.10.11 0.8
2147
2148## 0.6.8
2149
2150- Homogeneize JSON #186
2151- Auto intepreter selection (you can do pm2 start app.php)
2152
2153## 0.5.6
2154
2155- Coffeescript support
2156- Updating dependencies - axon - commander
2157- Log feature enhanced - duplicates removed - name or id can be passed to pm2 logs xxx
2158
2159## 0.5.5
2160
2161- Ability to set a name to a launched script + tests
2162 - with the --name option when launching file
2163 - with the "name" parameter for JSON files
2164- Ability to restart a script by name + tests
2165- Upgrade node-usage to 0.3.8 - fix monitoring feedback for MacOSx
2166- require.main now require the right file (activate it by modifying MODIFY_REQUIRE in constants.js)
2167- CentOS startup script with pm2 startup centos
2168- 0 downtime reload
2169
2170## 0.5.4
2171
2172- Remove unused variable in startup script
2173- Add options min_uptime max_restarts when configuring an app with JSON
2174- Remove pid file on process exit
2175- Command stopAll -> stop all | restartAll -> restart all (backward compatible with older versions)
2176
2177## 0.5.0
2178
2179- Hardening tests
2180- Cron mode to restart a script
2181- Arguments fully supported
2182- MacOSx monitoring possible