UNPKG

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