UNPKG

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