5.2.0
- replace node-cron by croner (#5183 #5035)
- upgrade mocha deps
- fix pm2 report when daemon not running
- remove semver check for legacy node.js versions
- update node version in setup.deb.sh by using lts (#5201) + openrc
- replace legacy util._extend by Object.assign (#5239)
- add missing start options types (#5242)
- recursive detection of package.json (#5267)
- make tarball module uninstall cross-platform (#5269)
- Fix unnecessary "ENOENT" console.error when serving a spa (#5272)
- fix: used env variable instead of hardcode datetime format (#5277)
- copyright update (#5278)
- fix: remove constants import from VersionCheck (not needed) (#5279)
- Reduce async import (#5280)
5.1.2
- easily disable cron-restart strategy via
$ pm2 restart --cron-restart 0
- allow to update cron-restart on restart
5.1.1
- remove fast-printf and replace with sprintfjs
5.1.0
- add back Node 10.x support
- make pm2-sysmonit module optional
5.0.3
- skip system monitoring on Windows
5.0.1/5.0.2
- fix npm install --no-optional pm2
5.0.0
System Monitoring
A new local system monitoring feature has been added, allowing to monitor numerous vital server metrics.
Most important metrics will be displayed when doing a pm2 ls:
┌─────┬─────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼─────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 4 │ app │ default │ 1.0.0 │ fork │ 164618 │ 2s │ 1670 │ online │ 0% │ 41.8mb │ unitech │ disabled │
└─────┴─────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
host metrics | cpu: 1.6% 42.9º | mem free: 52.0% | wlp0s20f3: ⇓ 0mb/s ⇑ 0mb/s | disk: ⇓ 0.199mb/s ⇑ 0mb/s /dev/nvme0n1p3 88.25% |
All server metrics will be available to pm2.io:
┌─────────────────────────────┬──────────────────────────────────┐
│ PM2 CPU Usage │ 0.0 % │
│ PM2 Memory Usage │ 67.4 mb │
│ PM2 Agent CPU Usage │ 0 % │
│ PM2 Agent Memory Usage │ 0 mb │
│ CPU Usage │ 1.5 % │
│ CPUs Usage │ 0|0|0|0|2|0|0|1|0|0|0|1|0|1|2|8 │
│ CPU Temperature │ 42.9 °C │
│ RAM Total │ 15.34 gb │
│ RAM Free │ 1.18 gb │
│ RAM Active │ 7.35 gb │
│ RAM Available │ 7.99 gb │
│ RAM Usage │ 47.9 % │
│ FD Opened │ 15072 │
│ Disk Writes │ 0 mb/s │
│ Disk Reads │ 0.24 mb/s │
│ Disk Usage │ 88.25 % │
│ Disk Size │ 465.60 gb │
│ Total TX │ 0.005 mb/s │
│ Total RX │ 0.004 mb/s │
│ fs:use:/dev/nvme0n1p3 │ 88.25 % │
│ fs:size:/dev/nvme0n1p3 │ 465.60 gb │
│ net:tx_5:wlp0s20f3 │ 0.005 mb/s │
│ net:rx_5:wlp0s20f3 │ 0.004 mb/s │
│ net:rx_errors_60:wlp0s20f3 │ 0 /min │
│ net:tx_errors_60:wlp0s20f3 │ 0 /min │
│ net:rx_dropped_60:wlp0s20f3 │ 0 /min │
│ net:tx_dropped_60:wlp0s20f3 │ 0 /min │
│ graphics:mem:total │ 3878 mb │
│ graphics:mem:used │ 1260 mb │
│ graphics:temp │ 46 °C │
└─────────────────────────────┴──────────────────────────────────┘
Disabling system monitoring
# Disable system monitoring
pm2 set pm2:sysmonit false
# Enable system monitoring
pm2 set pm2:sysmonit true
PM2.io bandwidth reduction
Data quantity sent from PM2 to PM2.io has been reduced by 80%, thanks for a json patch differential system. Much more data can now be exposed (metrics, actions) to PM2.io
Other fixes
- feat: added args and full script path to monitoring data
- fix: regular local ip check
- fix: pm2 agent watchdog has been consolidated and fixes freezing issues
- fix: modules bumped
4.5.6
- all submodules version bumped
- supress all "security" warnings
4.5.5
- bump debug
- remove systeminformation
4.5.4
4.5.3
- bump vizion from 0.2.13 to 2.2.1 (Snyk CVE)
- bump chokidar to 3.5.1
4.5.2
4.5.1
- fix: cron in cluster mode was not restarting process after one pass - fixes #4834 #4733 #4307 #4834
- fix: restore --sort option on
pm2 ls
- fix #4536
- fix: fix tests with npm7
- fix: restore warning message about process list changed and not dumped
- chore: alias
--cron
with --cron-restart
- chore: test PM2 againt Node.js 15.x
- chore: upgrade systeminformation and debug module to latest - PR #4892 by @AdamMajer
- chore: drop Node 9.x from travis testing
- chore: remove ps-list module
4.5.0
- fix: creating log folder in sync mode. #4846 - PR #4844 by @QS20199
- fix: PM2 unable to run ESM packages: ERR_UNSUPPORTED_ESM_URL_SCHEME #4839 - PR #4841 by @ox-harris
- fix: Use opts.namespace if it was passed in. Previously, it was ignored. #4778 - PR #4791 by @sbleon
- fix: Prevent reloadLogs command from hanging. #4781 - PR #4782 by @mbrooks and Franck Danard
- fix: backward compatibility fix for tarball modules - PR #4767 by @ykolbin
- fix: Operation not permitted on call setgid #2957 - PR #4681 by @guard43ru
- chore: upgrade dependencies
4.4.1
- feature drop: autodump fixes #4763
- fix: fix starting pm2 script from inside an app #4761 (need use PM2_PROGRAMMATIC)
4.4.0
- feature: support Node v14.0
4.3.1
4.3.0
- feature: reduce by 1/3 pm2 package size (drop moment, lodash)
- feature: pm2 start app.js --filter-env NODE_ENV #4596
- feature: print logs of a particular namespace #4517 @bvsubhash
- feature: trigger all the process using 'all' or trigger all processes in a particular namespace #4518 @bvsubhash
- feature: support ecosystem.config.cjs #4662 @Timic3
- fix: disable log (--error /dev/null --output /dev/null) on Windows #4560 @codpot
- fix: pm2 install adaptation #4593 @adunkey
- fix: add type for pm2.reload with optional options parameter #4615 @kevindoveton
- fix: add
ignore_watch
to StartOptions types #4629 @jlvcm
- fix: fix --cwd CLI option description #4639 @warpdesign
- fix: do not require cron if not necessary in CLI
- fix: upgrade mkdirp to 1.0.4 (sec vuln) #4638
- chore: bump mocha to latest + drop mocha.opts + add .mocharc.yml
- chore: pm2 init ecosyst file template changes
- chore: pm2-deploy@1.0.2 (revert fix)
- chore: pm2-io-apm@4.3.4 (instant trace + broadcast trace threshold + boolean metrics support)
4.2.3
- fix: Fix an import error on Node 9.x
4.2.2
- feat: Support ESM on Node 13 via .mjs file or
"type":"module"
in package.json #4540
- fix: Fix an error for pm2 path on Windows. #4563
4.2.1
- fix: col size too small for certain app name with tracing enabled
- chore: check for pm2 updates
4.2.0
- feature:
pm2 logs --highlight <str>
to highlight specified string when using pm2 logs
#4013 by @bvsubhash
- feature:
pm2 sysmonit
activate system wide monitoring && pm2 sysinfos
display system informations
- feature: new App Namespace feature via
namespace
attr or pm2 start app.js --namespace <ns>
#3471 by @bvsubhash
- 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
- feature:
pm2 ls
now display a hint when process list differ from dump file
- fix: if id > 100 not shown in pm2 ls #4475
- fix: stop and delete cron immediately on deletion of a process #4492 by @bvsubhash
- fix: display correct username by @bvsubhash
- chore: add test on node 13.x
- chore: cleanup some unused files
- chore: enforce node >= 8.10.0
4.1.2
- fix: temporarily disable system metrics retrieval
4.1.1
- fix: #4452 disable network collection metric
4.1.0
- fix: #4270 fix ANSI escape for
pm2 ls --watch
- fix:
pm2 start app.js -i 1
start app in cluster mode
- fix: #4254 add HOST environment variable on pm2 serve
- fix: #4267 Allow usernames in uid/gid/user again
- fix: #4376 make process.send('ready') trigger sigint
- fix: #4443 allow pm2-runtime to auto-exit even if modules are still running
- fix: #4364 typos
- fix: #4288 add 'max' type in typescript definition
4.0.2
- fix: #4450 do not open sysinfo window on Windows
4.0.1
- chore: switch Systeminfo logging to debug
4.0.0
- feat: make pm2 fully standalone with node embedded
- feat: startup, npm, node system adaptation for standalone installs
- feat: system information worker - retrieve:
- network I/O + latency
- disk I/O + space
- cpu usage + temperature
- memory usage
- intelligent display of information (e.g. display disks > 80% cpu usage)
- feat: listing of docker container on host machine with independent pm2 list
- feat: upgrade of Chokidar to 3.x - Massive CPU & RAM consumption improvements for watch feature
- r&d: manage container like pm2 processes
- feat: intelligent display of high loaded processes in an independent pm2 list
- feat: #4224 --ignore-watch now accepts globs (@vaskevich)
- feat: pm2 save --force allow to force save of empty process list
- fix: pm2 monit dashboard without leaks
- fix: pm2 register fixed
- refactor/fix: pm2 listing systems refactoring
- chore: remove old legacy code for < 8 Node.js versions
- chore: make the repo lighter
- chore: better display when pm2-runtime is linked to on-premise
- chore: pm2 CLI refactoring #4391
3.5.0
- feat: #4220 #2941 #4196 improve pm2 serve for SPA - autoredirect requests to index.html if --spa
- feat: on pm2 show , display metric unit and divergent environment variables
- feat: #4157 tweak systemd script to auto restart PM2 in case of crash failure
- fix: #4212 on pm2 show, avoid crash when versioning comment is not present
- fix: #4171 fix pm2 list when small screen
- fix: #4197 fix pm2 unstartup for macOS
- fix: #2764 in pm2 monit, only display log of selected application
- fix: #2793 pm2 monit, rolling log buffer, avoid crash and performance issues
- fix: #4060 do not emit online when application is errored
- chore: remove nssocket in dependencies
3.4.1
- fix: allow pm2 register / pm2 monitor
- fix: restore trace indicator
3.4.0
- use @pm2/io version 4
- disable @pm2/io for node.js v4 and v5
/!\ Warning, built-in custom metrics are not supported anymore on Node 4 and 5
New builtin metrics when starting a Node.js application:
- Heap Size
- Heap Usage
- Used Heap Size
- Active Requests
- Active handles
- Event loop latency
- Event loop latency p95
- HTTP queries per minutes
- HTTP Mean Latency
- HTTP P95 Latency
3.3.1 (18/02/19)
- add pm2 profile:cpu [timeout]
- add pm2 profile:mem [timeout]
3.3.0 (14/02/19)
3.2.9 (17/01/19)
- #4128 fix: force detached process
3.2.6-8 (11/01/19)
- rollback: node bin path handling adaptation
3.2.5 (09/01/19)
- feat: enhance pm2 report
- feat: support snap Ubuntu system
- fix: pm2 register/monitor command
- fix: consolidate spawn function on unhealthy systems to avoid pm2 crash
- fix: error message if extra lang interpreter are not installed when runing tests
- fix: (pm2 deploy) command line bug when passing env variables to post-deploy hook
- fix: (pm2 deploy) always deploy to default branch problem
- fix: (pm2 deploy) pm2 deploy exec now accept multiple commands
- fix: print full env + skip extra internal fields when using programmatic pm2
3.2.4 (19/12/18)
Feat
- display cron configuration when doing
pm2 desc <id>
- refactor test suite (benchmark/simplification)
Fix
- pm2 flush flush only one app
- resolve uid properly on pm2 ls / pm2 desc
- keep wait_ready option on process reload
- keep stringification of environment variable behavior
- return an error when using pm2 api on starting json configuration if one app is errored
3.2.3 (4/12/18)
Fix
- medium rare bug: fix issue when acting on process file (#3987 + #3192)
- concurrent action to 1 if acting on only 2 processes
- fix cluster syntax
- add more test on port release
3.2.2 (5/10/18)
Fix
- minor bug: fix bug when passing -i 'max' or -i 0
3.2.1 (3/10/18)
Fix
- minor bug: get internal pm2 config after creation on new pm2 boots
3.2.0 (3/10/18)
Features
- package.json version field retrieval and display in pm2 ls, pm2 show, pm2 monit
- pm2 internal configuration system via
pm2 set pm2:key value
, attached to pm2.user_conf
- add the .user field (CLI + Config) to set the user to start the application with
- add the .time field (CLI + Config) to enable default logs date prefix
- max_memory_restart now triggers a reload
- pm2 env command to display the environment the application is running with
- exponential backoff restart delay via
--exp-backoff-restart-delay <ms>
with reset mechanism
- new timing library on PM2 daemon (increase log througput, reduce CPU usage and memory usage)
- better user management system with username resolution to uid
- websocket default switch for pm2 plus
- new module management system (
pm2 package <folder>
, pm2 publish <folder>
, pm2 install <tarball>
)
Fix
- @pm2/io 2.4 (restart > 10.0)
- restart behavior tested
- fix module version parsing
- module system refactoring (TAR + NPM)
- fix watch_delay in config file
3.1.3 (20/09/18)
Features
- allow non-node application to run multiple instances without auto switch to cluster mode
- allow to call
pm2 logs
even without application (#3820)
- switch
pm2 link
and pm2 plus
protocol to websocket by default instead of axon
- enhance the
pm2 init
template that generates ecosystem files by adding some extra fields
Fix
- remove deprecation message for node 0.10
- pm2 login/register/monitor now hit the new oauth pm2 plus system
3.1.2 (10/09/18)
3.1.1 ( Mon Sep 10 2018 16:18:25 GMT+0200 (CEST) )
Hot Fixes
- #3901 fix error when installing module
(7b43fea5)
3.1.0 ( Mon Sep 10 2018 10:25:13 GMT+0200 (CEST) )
Bug Fixes
- tmp fix io@beta + rename metric
(04ab7ac4)
- remove ending \n on git version comment
(9a36bfeb)
- #3883 fix typings for max_memory_restart and add wait_ready
(b35ea237)
- restore monitored indicator
(34966432)
- remove install of modules on pm2 plus command
(6a8bb269)
- invert kill/link
(3c37b528)
- #3877 #3831
(16f4f2bc)
- #3865 ensure pm2 never run simultaneous gracefullExit, prevent dump file corruption
(79679db1)
- #3786 fix issue when triggering an action that does not exist
(1ff7fd3d)
- fixed unstartup when launchd
(3d0461c3)
- access gl_retry as class property
(bbcb2b6b)
- #3831 switch registerToKM() to register()
(8df2451e)
Features
- add id column in stacked mode (80 char mode)
(83033d4c)
Refactor
- only enable deep monitoring if explicitly stated
(f67e14f0)
- #3786 clean code
(6cbca8bc)
- removes unused imports.
(b8b48e83)
- only import the necessary methods from async.
(6466ee44)
- removes unused async imports.
(679b14ff)
Chore
Branchs merged
- Merge branch 'master' into development
(95321c6d)
- Merge branch 'master' into development
(c3c0e423)
- Merge branch 'master' into development
(8e6481bc)
- Merge branch 'development' into development
(83294afe)
- Merge branch 'development' into flag--ext
(79ab9242)
- Merge branch 'development' into post_install
(d5604300)
Pull requests merged
- Merge pull request #3885 from Unitech/typings
(19a35e9b)
- Merge pull request #3878 from cuspymd/fix-command-help
(2d3d2044)
- Merge pull request #3876 from Unitech/lost_apps_sigterm
(4fa247a3)
- Merge pull request #3874 from Unitech/trigger_no_action
(e868f003)
- Merge pull request #3872 from Unitech/column_id_stacked
(55b6ccc3)
- Merge pull request #3723 from livankrekh/development
(98f49dc3)
- Merge pull request #3821 from imarakho/post_install
(4217b150)
- Merge pull request #3823 from imarakho/flag--ext
(cc68dc1f)
- Merge pull request #3822 from imarakho/flush_parameter
(bbcc85a4)
- Merge pull request #3807 from medanat/minimize-async-lib-footprint
(7e92855f)
- Merge pull request #3829 from soyuka/patch-pidusage
(a668f576)
3.0.3 ( Tue Aug 07 2018 23:35:05 GMT+0200 (CEST) )
Bug Fixes
3.0.2 ( Tue Aug 07 2018 23:35:05 GMT+0200 (CEST) )
Bug Fixes
Branchs merged
3.0.1 ( Mon Jul 23 2018 14:13:35 GMT+0200 (CEST) )
Bug Fixes
- allow to set a name via pm2 link
(ebffb609)
- disable network monitoring as long as ampq not supported
(ae1547bf)
- display error message from pm2-deploy
(9171b810)
- protect geteuid/getegid from being called on windows #3793
(0495bd8e)
- put message module at the right level
(56f5e047)
- do not ignore child pres folder
(10ee9987)
- let->var
(89e2a125)
- method renaming
(f3faa3d8)
- path
(4f980550)
- #3791 mitigate pidusage errores
(88551b8c)
- pm2 plus
(9bc34e56)
- #3764
(3a582b42)
- drop coffee-script (installed via pm2 install coffeescript)
(76ceb2fd)
- restore no_interaction for pm2-dev
(902e5a5a)
- option -w doesn't work
(165a05c8)
- retab shell script to use space for indent consistency
(e3b4327d)
- set Makefile indent to tab instead of common space
(4db0ae01)
- set yaml file indent to 2 spaces instead of 3
(e4ecb0b2)
- remove trailing spaces
(5c115983)
- fixes #3735
(0548cb82)
Hot Fixes
- fix #3767, do not consider as a command if space and slash are found
(d15a12ce)
- fix #3767, do not consider as a command if space and slash are found
(f8ec1503)
Features
- add inspector for node 10 and heap snapshot
(dc61bca6)
- pm2 plus xx yy now generates a name with hostname-UID
(fcf75e2c)
- #3757 --only='app1,app2'
(bea98330)
- pm2 plus cli
(1da6edde)
- reload all apps after connection to pm2 plus
(35a1ed2a)
- ask to install module after connection with KM
(68e87b39)
- with pm2 plus command ask to install modules
(28c61716)
Test
- test with development packages
(d361c840)
Chore
Branchs merged
- Merge branch 'development' into uid-gen
(5324c878)
- Merge branch 'master' into development
(7d04f638)
Pull requests merged
- Merge pull request #3811 from Unitech/memory_inspector
(62018044)
- Merge pull request #3801 from vkotovv/grammar-fixes
(9bb37a66)
- Merge pull request #3799 from Unitech/refactor-agent
(bcc4fea8)
- Merge pull request #3787 from Unitech/multi-only
(ea5d74a8)
- Merge pull request #3788 from Unitech/uid-gen
(f70444f3)
- Merge pull request #3784 from Unitech/pm2-plus-cli
(e8c13c37)
- Merge pull request #3780 from Unitech/plus_modules
(466d2701)
- Merge pull request #3768 from Unitech/spaces
(0477354b)
- Merge pull request #3771 from chinesedfan/patch-2
(8de987a6)
- Merge pull request #3762 from shaharmor/issue-3441
(429e455d)
- Merge pull request #3761 from PeterDaveHello/fix-sh-indent-style
(24cddc25)
- Merge pull request #3737 from morugu/add-node-env-output
(6628f163)
- Merge pull request #3743 from vivex/master
(06872c25)
- Merge pull request #3748 from JimiC/support_nvm4win
(2dac235b)
- Merge pull request #3752 from PeterDaveHello/upstart.tpl
(d4e66e3a)
- Merge pull request #3753 from PeterDaveHello/fix-editorconfig
(d1478680)
- Merge pull request #3754 from PeterDaveHello/remove-trailing-space
(b660f03e)
3.0.0 ( Wed Jun 20 2018 11:06:21 GMT+0200 (CEST) )
Breaking changes
- 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
(ae02adf6)
- Drop support for node 0.12
- Drop gracefulReload command
- Remove Interactor from PM2 source code
- Replace pmx with pm2-io-apm
Bug Fixes
- return the configuration and allow custom conf to override default values
(37dc7de1)
- add use strict for node 4 compatibility
(ba2ee3b1)
- #3605 fix parameters definition, don't use camelcase for properties
(c8616276)
- #3695 change version check method in order to make it work with alpha/beta versions
(052d6c55)
- deprecated warning on isbinaryfile
(db09275f)
- #3688 test adaptation + pm2 serve --port option
(f0249684)
- startup script issue 18.04 #3645
(ff1a7f31)
- that this - uncache node_modules
(294038d7)
- verify default conf variable via package.json on public module
(157b106d)
- bug because of const
(56f05a90)
- do not run two pm2 para cmds
(3274132b)
- version
(3ec178e5)
- re-enable agent tests
(e6febcd7)
- test/display summary
(b075e6d0)
- skip interactor tests
(36c4d6bc)
- remove unused tests
(234c6314)
- add missing libraries in travis
(88fbb845)
- remove unused variable when trying to use tracing
(3aeeba02)
- remove useless tests from .sh
(e0be81c8)
- conflict
(e13f39c9)
- fix bug with interpreter args
(b26efa0d)
- improve error message if action has failed
(d9f44f17)
- use polyfill module for copySync with node 4.x
(bc07f43b)
- improve error message if action has failed
(dacc6542)
- solve empty list when no process and try to update pm2
(89511846)
- #3485 fix issue when there is empty dump file
(f2523f6a)
- #3456 use homedir() instead of process.env.HOME, make module installation work on windows
(1e001732)
Features
Refactor
Test
Chore
Branchs merged
- Merge branch 'development' into chore/dev-cache-node-modules
(146c4e11)
- Merge branch 'development' of https://github.com/Unitech/pm2 into new-agent
(3514e7fa)
- Merge branch 'development' into master
(f5668331)
- Merge branch 'development' into new-usage-cli
(4ae27694)
- Merge branch 'Eywek-improv/agent' into new-agent
(3e259dd1)
- Merge branch 'ecosystem-documentation' of github.com:rmonnier/pm2 into ecosystem-documentation
(98348955)
- Merge branch 'development' into ecosystem-documentation
(40157784)
- Merge branch 'inspect_mode' of github.com:Unitech/pm2 into inspect_mode
(7e1494c7)
- Merge branch 'development' of github.com:Unitech/pm2 into development
(48f81a8b)
- Merge branch 'development' into master
(47e54109)
- Merge branch 'development' into module_install_windows
(7b82fb91)
- Merge branch 'development' into module_install_windows
(80b0495f)
Pull requests merged
- Merge pull request #3726 from soyuka/fix-list
(0255c5a6)
- Merge pull request #3725 from soyuka/fix-list
(a39eb4f8)
- Merge pull request #3718 from AaronM04/openbsd-init-script
(85458261)
- Merge pull request #3721 from Unitech/io_conf
(70ec1f81)
- Merge pull request #3716 from Unitech/io_conf
(0bc000b9)
- Merge pull request #3714 from Unitech/definition
(d8cff0de)
- Merge pull request #3700 from Unitech/report_error
(4b2cad40)
- Merge pull request #3670 from Unitech/changelog
(4bcbcce1)
- Merge pull request #3662 from DanielRuf/chore/dev-cache-node-modules
(540590ee)
- Merge pull request #3663 from DanielRuf/chore/dev-clone-last-5-commits
(bdf95fc9)
- Merge pull request #3584 from ngtmuzi/development
(33984b64)
- Merge pull request #3500 from Unitech/test-parallel
(da56c7af)
- Merge pull request #3539 from KimSeongIl/master
(1325704d)
- Merge pull request #3556 from N-Nagorny/logs-smart-app-name-cutting
(bfddf4fd)
- Merge pull request #3553 from Unitech/fix_tracing_not_working
(9d51fe08)
- Merge pull request #3549 from Eywek/new-agent
(2f04027b)
- Merge pull request #3548 from rmonnier/start-ecosystem-default
(55412f26)
- Merge pull request #3546 from soyuka/improve-monitor-perf
(e4e29233)
- Merge pull request #3534 from rmonnier/new-usage-cli
(5dfba8a4)
- Merge pull request #3542 from rmonnier/default-start-ecosystem
(c65595f4)
- Merge pull request #3545 from rmonnier/default-ecosystem
(b3718656)
- Merge pull request #3543 from rmonnier/ecosystem-documentation
(a60580a1)
- Merge pull request #3541 from soyuka/development
(67e7a015)
- Merge pull request #3511 from Unitech/inspect_mode
(75fb87f8)
- Merge pull request #3517 from Unitech/polyfill_fs_copy_node4
(524f5494)
- Merge pull request #3516 from Unitech/drop_unused_feature
(9436f11a)
- Merge pull request #3510 from Unitech/dump_refacto
(674e4469)
- Merge pull request #3501 from Unitech/refactor_api
(9f2c4ca4)
- Merge pull request #3496 from rmonnier/master
(829cc303)
- Merge pull request #3484 from Unitech/pull_by_name
(24d29404)
- Merge pull request #3482 from Unitech/mjs_support
(ebe7b048)
- Merge pull request #3495 from Unitech/module_install_windows
(e9c625d3)
- Merge pull request #3507 from cheapsteak/patch-1
(a49287d6)
2.10.4 ( Thu May 17 2018 14:32:40 GMT+0200 (CEST) )
Bug Fixes
Chore
- update issue and PR templates to use comments to hide instructions in the frontend
(9e0180ed)
Pull requests merged
- Merge pull request #3664 from DanielRuf/chore/update-issue-pr-templates
(067446f2)
v2.10.3 ( Fri Apr 27 2018 11:42:16 GMT+0200 (CEST) )
Chore
v2.10.2 ( Thu Mar 29 2018 13:06:11 GMT+0200 (CEST) )
Bug Fixes
- reinforce pm2-runtime auto exit strategy #3567 #3206
(e09cdbab)
Pull requests merged
- Merge pull request #3569 from Unitech/pm2-runtime-hot-fix
(473a2d6d)
- Merge pull request #3547 from Unitech/revert-3532-logs-smart-app-name-cutting
(438e3030)
- Merge pull request #3532 from N-Nagorny/logs-smart-app-name-cutting
(067c18e6)
v2.10.1 ( Mon Feb 26 2018 11:38:18 GMT+0100 (CET) )
Bug Fixes
v2.10.0 ( Mon Feb 19 2018 14:51:19 GMT+0100 (CET) )
Bug Fixes
- add livescript in default modules
(a315eeb6)
- replace dash with underscore
(203df768)
- make sure not pm2 is running
(bd798fd7)
- auto-exit edge case fix + pm2 no daemon mode + log in raw by default + less logs
(704ae518)
- impact v8 flag in fork mode also
(41bf6ef7)
- fixup! #2182 Get rid of annoying popups in Windows 10
(3a85b59d)
Hot Fixes
Features
var PM2 = require('pm2');
// Or instanciate a custom PM2 instance
var pm2 = new PM2.custom({
pm2_home : // Default is the legacy $USER/.pm2. Now you can override this value
cwd : // Move to CWD,
daemon_mode : // Should the process stay attached to this application,
independant : // Create new random instance available for current session
secret_key : // Keymetrics secret key
public_key : // Keymetrics public key
machine_name: // Keymetrics instance name
});
// Start an app
pm2.start('myapp.js');
// Start an app with options
pm2.start({
script : 'api.js',
instances: 4
}, function(err, processes) {
});
// Stop all apps
pm2.stop('all');
// Bus system to detect events
pm2.launchBus((err, bus) => {
bus.on('log:out', (message) => {
console.log(message);
});
bus.on('log:err', (message) => {
console.log(message);
});
});
// Connect to different keymetrics bucket
pm2.interact(opts, cb)
// PM2 auto closes connection if no processing is done but manually:
pm2.disconnect(cb) // Close connection with current pm2 instance
pm2.destroy(cb) // Close and delete all pm2 related files of this session
- Better CLI/API code structure
- PM2 isolation for multi PM2 instance management
Bug fixes
- #2093 #2092 #2059 #1906 #1758 #1696 replace optional git module with tgz one
- #2077 fix calling pm2.restart inside pm2
- #2261 GRACEFUL_LISTEN_TIMEOUT for app reload configurable via --listen-timeout
- #2256 fix deploy command for yaml files
- #2105 alias pm2 logs with pm2 log
- Extra module display http://pm2.keymetrics.io/docs/advanced/pm2-module-system/#extra-display
- Yamljs + Chokidar Security fixes
- pm2 update / pm2 resurrect is now faster on Node > 4.0
- keymetrics linking after pm2 update is done once all apps are started
- pm2 list processes are now sorted by name instead id
- #2248 livescript support added in development mode
- 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
- PM2 --no-daemon is better now
Breaking change
- Coffeescript must be installed via
pm2 install coffeescript
1.1.3
1.1.2
- [#2071 #2075] Fix pm2-dev command
1.1.0: Galactica release
This release is about PM2's internals refactoring, homogenization in action commands (in terms of behavior and outputs).
Some interesting features has been added, as YAML file support (for application declaration) and some syntaxic sugar.
The 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.
This version has been heavily tested in testing, production environments and deeply monitored in terms of CPU and Memory usage.
- [#133 #1568] Allow to rename a process via pm2 restart app --name "new-name"
- [#2002 #1921 #1366] Fix CLI/JSON arguments update on restart (args, node_args, name, max-memory)
- [#578] Add YAML support for application configuration file (in extent to JSON and JSON5 support)
- [Keymetrics agent refactoring] TCP wait, memory consumption divided by two, reconnection refactoring, keep alive ping system
- [Keymetrics agent refactoring] Fix random no response from pm2 link and pm2 unlink
- [#2061] Kill ESRCH of processes in cluster mode with SIGINT catcher fixed
- [#2012 #1650 #1743] CLI/JSON arguments update on reload
- [#1613] Reload all reload ALL applications (stopped, errored...)
- [#1961] Fix kill timeout info log
- [#1987] Fix FreeBSD startup script
- [#2011] Respect process.stdout/.stderr signature
- [#1602] Fix zombie process when using babel-node as interpreter
- [#1283] --skip-env option to not merge update with system env
- Homogeneize actions commands outputs
- Option --interpreter-args added (alias of node-args)
- Allow to use exactly the same option in JSON declaration and CLI (e.g. interpreter) to avoid confusion
- pm2 show, now shows more commands to manage processes
- Refactor programmatic system
1.0.2
- [#1035 #1055] Deactivate automatic dump on startup scripts
- [#1980] Add Javascript source map resolution when exceptions occurs Documentation
- [#1937] Allow to act on application having numerics as app name
- [#1945] Fix post_update commands section when file contains Javascript
- [#624] --only to act only on specified app name in json app declaration
- 0.6.1 PMX upgrade
1.0.1
- [#1895] pm2 id : output array of ids for app_name @soyuka
- [#1800] pm2 show : now also display node.js version @soyuka
1.0.0
- [#1844][#1845][#1850] Load configuration in /etc/default/pm2 + add ulimit -n override
- [#1810] Add --kill-timeout option (delay before process receive a final SIGKILL)
- [#1830] Add tests for PM2_KILL_TIMEOUT (SIGKILL delay) + default SIGINT to any kind of procs
- [#1825] Process management commands (start/restart/stop/delete) can take multiple arguments
- [#1822] Add new method pm2.sendDataToProcessId(type|data|id) to send data to processes
- [#1819] Send SIGINT signal to process instead of SIGTERM
[#1819][#1794][#1765] Avoid writing on std err/out when process is disconnected
Add default attribute in schema.json to allow to configure default value when passing a JSON
JSON and CLI starts are now consistent in terms of option size, attribute number
pm2.restart(json_data, function(err, data) now returns an array of process instead of simple object (success:true))
Now pm2 restart process.json --env , refresh environment variable on each restart depending of the X environment
prepareJSON method in PM2 code (God.js) removed
partition Common.prepareAppConf (duplicate with verifyConfs)
Change signature of Common.prepareAppConf
Centralize Interpreter resolution via Common.sink.resolveInterpreter(app) in Common.js
Better meta information when process restart/reload/stop (signal + exit code)
Upgrade pm2-axon, cron, should, mocha, coffee-script, chokidar, semver NPM packages
Show process configuration option when describing process
Add --no-automation flag
Fix when starting application with illegal names (#1764)
Fix management of app starting with numerics in the filename (#1769)
Fix versiong system (reset to default on resurrect/prepare)
Increase buffer size for versioning meta parsing
0.15.10
0.15.9
- Chokidar upgraded to 1.2
- Fix startup script via new --hp option
- Fix JSON refresh system
0.15.1-8
- JSON refresh available
- New module system backward compatible and compatible with NPM 3.x
- Possibility to install module from tgz (#1713)
- ecosystem generated file via pm2 generate uptaded (not json5 prefix anymore, and updated comments)
- always prefix logs #1695
- blessed dependency removed
- drop locking system
- add callback to deploy (#1673)
- typo fixes
- pm2.update added
- small db for pm2 modules added (solve npm 3.x issue)
- pm2 multiset "k1 v1 k2 v2 k3 v3"
- babel dependency removed
- blessed dependency removed
- chalk, safe-clone-deep, shelljs, semver upgraded
- New command: pm2 module:update -> Update a module
- New command: pm2 module:publish -> Publish module in current folder + Git push
- New command: pm2 module:generate [module name] -> Generate a sample module
- Feature: configuration system for raw Node.js applications
- alias pm2 install with pm2 i
- JSON declaration: You can now use process.env in application declaration file
- watch has been refactored for windows and tests
- allow installation of specific module version
- wrap final process kill intro try catch (
c4aecc8
)
- Appveyor to test PM2 under Windows added (+ fix some incorect file name)
- Allow to escape key name when using pm2 conf system
0.14.7
- New flag
--no-pmx
: starts an app without injecting pmx
- New feature : cron restart now works in fork mode as well
- Disabled auto-gc on interactor
- Allow PM2 to execute binaries in $PATH
- pm2 link priv pub --recyle for elastic infrastructure
- pm2 deploy now check default file ecosystem.js[on|on5], package.json
0.14.6
- Scoped PM2 actions
- Password encryption via pm2 set pm2:passwd xxxx
- Interactor Remote action refactor
- .getSync method to get configuration variable synchronously
- Add password protected PM2 methods (install, delete)
- pm2 get|pm2 conf display all confs
- Password protected PM2 flag
- New flag :
--restart-delay <ms>
(or restart_delay
in JSON declaration)
- New command :
pm2 deepUpdate
- New command (beta) :
pm2 logrotate
- Enhancement : pm2 handles processes that can't be killed in a better way
- Fix : some ignore_watch issues
- Fix : some pm2 startup systemd issues
0.14.5
0.14.4
- New command :
pm2 iprobe [app_name|app_id|'ALL']
- Feature: FreeBSD startup script
- Fix: Remove forced GC
- Fix: ##1444 --next-gen-js in fork mode
- Fix: Windows path fix
0.14.3 (Current Stable)
pm2 flush
now flushes pm2.log as well
- New flag :
--no-treekill
: when used PM2 won't kill children processes
- New flags :
pm2 logs ['all'|'PM2'|app_name|app_id] [--err|--out] [--lines <n>] [--raw] [--timestamp [format]]
- Enhancement: Modules installable via Github:
pm2 install username/repository
- Feature: PMX has scoped function -> pm2 stores temporary output from custom functions
- Fix: Interactor issue when doing an heapdump
- Feature: PM2 CLI autocompletion
0.14.2
- Improved pm2-dev
- Now when apps list is empty, the
id
counter is set to 0
- Removed pres/keymetrics.js post-install script
- Fix :
pm2 logs
allocation error
- Fix :
pm2 prettylist|jlist
truncated output
0.14.0 - CrystalClear (pre 1.0)