UNPKG

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