UNPKG

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