All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
- buster: make buster a global command (#735) (9cb99b0)
- config: don't overwrite url port if port is manually specified (b094495), closes #592
- doctor: ensure folder check considers setuid, setgid, and sticky bits (#729) (a0a31a9), closes #724
- extensions: fix error when global modules folder doesn't exist (78bb197), closes #723
- linux: remove strict no such user error message checking (0552372), closes #676
- migrate: move setting of content-path to setup (1752cc8), closes #708
- migrate: remove unnecessary config overwrite during db migrations (610143b), closes #708
- update-check: swap out update-notifier for simpler check (e11e8b8), closes #675
- yarn-install: remove folder on ghost download error (c96a768), closes #726
- config: add config get & set subcommands (687c499)
1.7.3 (2018-05-10)
1.7.2 (2018-05-01)
- tests: do not assert on current cli version (839a363)
1.7.1 (2018-04-11)
1.7.0 (2018-04-10)
- doctor: Use systeminformation for memory availability (1395646)
- run: Don't set contentPath in config when running (f9c6711)
- install: create content/settings folder (276b146)
- migrations: add core migration to create content/settings folder (1d562e7)
1.6.0 (2018-03-26)
- help: don't show aliases on help output (2f67058)
- ls: show more helpful message when no ghost instances found (#682) (b250953)
- mysql: use % during user creation if remote db host (791301a), closes #642
- port-polling: connect over custom host if custom host is specified (7d0c330), closes #643
- setup: fix start/no-start option (46d64f8), closes #615
- systemd: run
isEnabled()
as sudo (5552a0e) - systemd: run
isRunning()
as sudo (bf1a20e) - utils: differentiate root command error messages for DO (a69ccc6)
- colors: expose color-free logging option (#653) (ba58fab), closes #457
- doctor: check current user and dir owner (9fbd3fd)
- doctor: check memory before running memory-intensive tasks (a852cdd)
- doctor: prevent installations with ghost user (dde6bf0)
- doctor: skip user owner check for local process (cdc9c31)
- doctor: split check for ghost user and owner in two (d893c16)
- doctor: use new getGhostUid util (f43b721)
- mem-check: add skip flag (6ccf6be)
- process: allow process.isEnabled to return a promise (#674) (c93124b)
- process-manager: allow process isRunning to return a promise (#669) (29b4a0b)
- state commands: gracefully exit in noop situations (e6e1ada)
- utils: split use-ghost-user in two fn (e8e2fb4)
- bootstrap: swap out
npm root
call for global-modules dep (6184667)
1.5.2 (2018-02-12)
1.5.1 (2018-02-07)
- doctor: exclude versions folder for file permissions check (f1fdd31)
- ui: disable allowPrompt if stdout is not a TTY (b08cfa7)
- ui: make confirm return default value with prompt disabled (7d652f2)
- uninstall: only use sudo to remove content folder when needed (5e386d2), closes #577
1.5.0 (2018-02-07)
- checks: show skipped instead of passed for stack & mysql checks (c4a40a0)
- doctor: add install-folder-permissions check to start (a195fc1)
- doctor: improve permission denied error message (#627) (9af537e)
- doctor: refactor doctor command (76829e9)
- doctor: show help message for install folder checks (#626) (0c81bab)
- doctor: skip some doctor checks for local installs post-install (324a080)
- doctor: skip validate config check for running instances (#623) (a94a987)
- instance: query process managers in dev & prod if running not set (c6b8b40), closes #463
- local-process: error if content folder owned by other user (707ce6a), closes #501
- local-process: make content folder check work in more cases (710a9d4)
- renderer: only show enabled tasks (3be25a8)
- root-user: don't check for root user on windows/macos (3db21d6)
- root-user: improve error messages installs set up with root (#631) (b161432)
- root-user: only skip exiting inside root install (8fc693a)
- setup: skip ghost user setup if process manager is local (edce827)
- stop command: update extension query key (b8c49bb)
- systemd: improve systemd precheck error messages (#628) (208bb15)
- update-check: don't warn for prerelease or build (05a4171)
- command: prevent commands run as root user (#604) (01481b0)
- doctor: allow extensions to provide doctor checks (4702ce8)
- doctor: content folder permission checks (#610) (0075e77)
- doctor: detect incorrect permissions (#613) (6b614f7), closes #294
- doctor: run all checks and print summary of errors (ca68049)
- log: Log improvements for
ghost update
(59f5d03) - process: ensure that Ghost is started (#612) (8c68889), closes #472
- ssl: improve error messages to log original error (#595) (509aa5a)
- system: add os and version to System class (#602) (bd24652)
- ui: add
ghost doctor
reference to error messages (c25c141) - ui: allow UI error method to handle listr errors (dc419f9)
- update: run doctor checks on ghost update (0ca80a7)
1.4.2 (2018-01-07)
- setup: ensure --pname arg is sanitized (229953b), closes #576
- update-check: remove "out-of-date version" prompt (dfb5ea6), closes #563
1.4.1 (2017-12-12)
1.4.0 (2017-12-01)
- config: shorten default database name (d8b6e0f), closes #508
- extension: ensure require(ghost-cli) returns the root instance (8a96fa1)
- mysql: improve password compatibility of mysql user (6927121), closes #511
- mysql: re-order create user statements (d690918)
- nginx: skip SSL setup if url is an IP address (5ed1cfe), closes #301
- ssl-migration: make the checks for migrating ssl more robust (f5c8ee1), closes #552
- log: add --error flag to
ghost log
(462a58f), closes #432 - update: add option to disable restart on update (0c3c974), closes #481
1.3.0 (2017-11-16)
- db: remove knex-migrator dep, use one installed with Ghost (#505) (9b78843)
- add additional node and cli version checks (8ab4892)
- migrations: add migrate command & related utilities (a532d03)
- ssl: add ssl migration (3c60d89), closes #495
- ui: improve update notifications (ff5e4ad), closes #525
1.2.1 (2017-11-10)
1.2.0 (2017-10-30)
- nginx: switch to
nginx -s reload
to reload nginx configuration (9d502ef) - ssl: rework how we use acme.sh (6f30109), closes #495
- ui: improve sudo output suppression (398fc27)
- ssl: only generate dhparam and ssl-params once per server (2dfe847), closes #487
- enable node 8 support (26dd314)
1.1.3 (2017-10-10)
- config: add 'ses' to valid mail config transport options (#492) (7f51138), closes #467
- config: run environment check when not part of ghost setup (9126a47), closes #265
- setup: strip undesirable characters out of DB name (#486) (5878002)
- system: use mapSeries rather than each (9500899)
1.1.2 (2017-10-06)
- config: ensure non-string args are handled correctly (8612df2), closes #479
- config: ensure port number is treated as an integer (#452) (aeb772a), closes #451
- config: offer better default database name when installing (#454) (c40d628), closes #453
- setup: donβt rewrite no-start option when no-prompt is passed (bbc2270)
1.1.1 (2017-08-17)
1.1.0 (2017-08-14)
- config: π don't enforce case for mail config (d0225f8), closes #421
- doctor: add install checks for various nvm edge cases (2a8de70), closes #281
- doctor: ensure
ghost doctor startup
works on its own (a41855d), closes #436 - instance: make running a function rather than a get/set (0cef275)
- linux: make ghost user regex check case insensitive (2f1fcc6), closes #400
- mysql: improve reliability of user creation queries (8992681), closes #396
- nvm: don't use local npm version when getting the bin (ea30015)
- systemd: use filename to determine previous setup (10f8722)
- install: add option to install/update using zip file (cff1ed2), closes #59
- install: allow local installs to specify version (cb6062f), closes #423
- update: remove old ghost versions on ghost update (46e454d), closes #201
- lazily require modules in commands (3f6d8cc)
1.0.3 (2017-08-01)
1.0.2 (2017-07-31)
- config: only prompt if args aren't provided (b8d6f67)
- doctor: fix prompting and error handling with --no-prompt (1641676), closes #410
- doctor: skip parent folder perm check if linux user is skipped (6eec35c), closes #405
- migrate: improve error handling with sqlite install failure (9c07274)
1.0.1 (2017-07-29)
- config: Allow all wellknown mail services (3cc07b9), closes #383
- config: transform urls to lowercase (185334e), closes #399
- migration: don't hide migration errors (42a9832), closes #378
- run: disable update check on
ghost run
(7abe68b), closes #356 - setup: re-add ability for linux-user step to be skipped with flag (605dd02), closes #385
- ui: fix typo in error output (#398) (b44937f), closes #398
- help: add status as an alias for 'ls' (#380) (0877523)
1.0.0 (2017-07-22)
- command: make aliases work correctly (fa3e6c8)
1.0.0-rc.4 (2017-07-21)
- command: Tweak valid install check output (2e7c64f)
- help: add onlyOptions argument to configureOptions (1f77407)
- help: explicit setup stages (c3df8cb)
- help: update descriptions to be more helpful (debfa6b), closes #321
- local: only force kill on Windows (be95343), closes #368
- log: check environment if instance is not running (bc845de)
- nginx: don't try to restart nginx when nginx isn't a thing (61fc7c0)
- help: add epilogue with docs link (f8a37c8)
- help: custom aliases (44db436)
- update: add pre-stable warning message with docs link (72b461f), closes #364
1.0.0-rc.3 (2017-07-18)
- config: add default dbpath when db is sqlite (778aafa)
- doctor: better directory permissions checks (aa5b047), closes #355
- migrate: re-work migrate step to run knex-migrator in a subprocess (e8d4f31), closes #349
- run: extract use-ghost-user into a util (13f442c)
- setup: fix setup when
linux-user
is passed as a stage (9408737) - windows: fix local process manager on windows (1655806), closes #228
1.0.0-rc.2 (2017-07-11)
- mysql: prepend
/usr/sbin
to path for mysql check on linux (2d4fe72)
1.0.0-rc.1 (2017-07-11)
- config: better config prompt handling (8cdbad4), closes #280 #268 #317
- config: don't set a default value for db arg, as it breaks local installs (0bdd464), closes #323
- log: don't error out if the log file doesn't exist (f5a9111), closes #303
- mysql: don't prompt for mysql extension if user specifies sqlite (eccaa12), closes #304
- run: better handling of ghost run with linux user (7e0191e)
- run: set content path in config rather than in environment (1b7bf97), closes #307
- setup: remove boolean constraint from start flag (8fffc1f)
- ssl: actually skip ssl generation tasks if dns check fails (f7da9dc), closes #331
- ssl: cleanup after failure, don't allow re-running (5352793), closes #302
- ssl: copy acme certificates from home location if they exist (45be251), closes #309
- ssl: ensure well-known block actually gets created (08597c9)
- ssl: remove special SSL handling (#326) (a4da2a4)
- systemd: update is-enabled error handling to be better (d2b374e), closes #293
- template: log successful created template in all cases (5ad363d)
- invalid boolean logic facepalm (2200408)
- ui: π¨ fixup start & enable flag logic (d0ff7fe)
- ui: π¨ reimplement --quiet flag (9dd4da8), closes #335
- ui: π¨ template prompt adjustments (6cee3a3)
- ui: π π· various text-only tweaks (#324) (f7d6915)
- ui: make fail and success methods output symbols (#339) (14a8271)
- update: fix typo in stop error handling (#306) (e9e53f9), closes #306
- yarn: trim newline from end of yarn output (43ceff1)
1.0.0-beta.6 (2017-07-06)
- linux: fix ghost user setup permissions (#296) (ba54099), closes #296 #290
- nginx: reference correct ui instance (0803a3b)
- nginx: restart nginx on instance uninstall (0020872)
- ssl: fix acme.sh location and cleanup error handling (61f1ed0)
- systemd: ensure systemd daemon is reloaded (e850926), closes #293
- systemd: improve setup checks of extension and process manager (0259312), closes #291
- uninstall: ensure uninstall succeeds if using ghost user (f6a34a8)
1.0.0-beta.5 (2017-07-06)
- config-error: cleanup config error and add error help property (16c8203)
- linux: ensure directory permissions are still changed if ghost user exists (b0407da)
- log: only load running environment if ghost is running (81c1b87)
- migrations: don't log to any file during migrations (85d40c6)
- mysql: cleanup promise structure of mysql extension (860cf18), closes #191
- prompt: respect
--no-prompt
option in other areas (fb7e4f7), closes #276 #280 - ssl: ensure acme is executable by anyone on the system (1064731)
- ssl: ensure ssl setup works using the --sslemail flag (c51ca5b), closes #283
- systemd: ensure isRunning accounts for activating status as well (0f20c6f)
- linux: add linux user extension (5f3b0b8), closes #189
- mysql: mysql user creation extension (#269) (78f8439)
- ssl: refactor ssl setup to use acme.sh rather than greenlock (52cdcab)
- ui: add mail config message after installation (#278) (8aac988)
- ui: add new ui logVerbose method (09ec161)
1.0.0-beta.4 (2017-07-05)
- config: fix config environment handling (0a75eb7), closes #265
- doctor: actually fix stack check errors (1f5b631), closes #260
- doctor: improve error handling in system stack checks (3f508a0), closes #260
- instance: don't prompt for templates if prompts are disabled (3c64dd5)
- log: output as many lines as possible if n > file lines (3c56f2e), closes #221
- setup: ensure we only skip tasks that should be skipped (caa440e)
- systemd: ensure systemd service file is created before starting (19d79e7), closes #262
- tests: fix config acceptance tests & config command (1958d63)
- ui: log LTS warning when
config.js
file is found (#273) (3e54db0)
- nginx: add
client_max_body_size
to nginx def. config (#272) (b04e7db), closes #231 - setup: allow running of multiple stages (dbe7263)
- setup: allow setup stages to depend on other setup stages having run (57587a6), closes #261
- ui: add troubleshooting link to errors (#275) (f5bbff7)
1.0.0-beta.3 (2017-07-03)
- extensions: remove unecessary getters from systemd and nginx extensions (f5f6e05)
- instance: clean up config usage around application (#254) (22c804c)
- setup: reset setup default to true (7c4cdf3)
- systemd: fix is-enabled error handling in systemd process manager (ff6cfba)
- nginx: check dns entry exists before attempting ssl setup (049f351)
- nginx: move letsencrypt to its own file, add ssl renew command (b4eb57a)
- nginx: setup ssl renew cron script (c60cc75)
- process: add enable/disable support (1ef28bf), closes #248
- process: improve restart flow (3e17cfe)
1.0.0-beta.2 (2017-07-02)
- extensions: return base extension class instance if no subclass is found (af27274)
- extensions: use correct option to search npm root for extensions (df049e0)
- instance: save cliConfig if running is found to be false (96a3536)
1.0.0-beta.1 (2017-06-30)
- config: make configPath correct for ip option (9b96937)
- config: save config files with 2-space indentation (cf7bc54), closes #229
- debug: normalize debug file path (e4bfc7c)
- help: π¨ improve options output (#246) (4fb1a5c)
- restart: make restart command be less stupid (77cb8d9)
- system: don't use Array.includes b/c node 4 doesn't have it (9023971)
- ui: extract database migrations into a task (f052df6)
- ui: improve custom renderer cleanup (da3bac6)
- ui: make the log method work better with spinners (15443b1)
- valid-install: fix error message when CLI is run inside a ghost clone (bfbf0ae)
- cli: swap out commander for yargs parsing (793715b), closes #179
- config: accept mail configuration options (#244) (19c905b)
- extensions: services are dead, long live extensions (85819ae), closes #146
- process: update running check to call process manager (2f01ad0), closes #207
- stop: allow ghost instance to be stopped by name (ed4320f), closes #217
- system: system & interface api (0f703c3), closes #219 #203 #170
- template: add template method to instance class (23e24bf)
- ui: add ability to output to stderr (86a9eeb), closes #218
- ui: add command line arg to disable prompts (e7c6c6a)
- ui: add confirm shorthand method (bbb7945)
- ui: add custom listr renderer and move listr to ui class (47be79b), closes #181
- version: add custom version command (8d96035)
1.0.0-alpha.19 (2017-06-23)
- local-process: don't throw an error if .ghostpid doesn't exist (d437e86), closes #208
- uninstall: actually fix uninstall this time (5d89600)
- uninstall: don't screw up global instance config on uninstall (169f561), closes #220
- casper: update casper version during ghost update (008c393)
- ui: show sudo command before it is run (9f92199), closes #164
1.0.0-alpha.18 (2017-06-13)
- config: ip address not configured when specified as option (#209) (201dbbf)
- local: allow limited customization of local installation (cf21285), closes #206
- uninstall: remove instance from global config on
ghost uninstall
(5f7f18a), closes #205 - yarn: update execa path handling and observer error catching (5e10fd0)
- ssl: allow SSL email to be provided via option, skip prompts (#195) (8eef01e)
1.0.0-alpha.17 (2017-05-06)
- ls: don't allow dots in process name (59fb3d2), closes #184
- run: make command descriptions clearer (f0af011), closes #185
- nginx: add server_name directive to nginx ssl block (22be390), closes #186
- ui: support an error of "false" that exits without logging (a98995d)
- uninstall: add
ghost uninstall
command (f15a6a6), closes #187
1.0.0-alpha.16 (2017-03-23)
- ls: store running environment in system config (99be519)
1.0.0-alpha.15 (2017-03-22)
- process-error: ensure stdout exists before trying to log it (a9bced6)
- ssl: bump minimum supported node version to 4.5 (833d8d0), closes #176
- config: add auth advanced config option (ebc8315), closes #175
- ls: show stopped ghost instances as well as running ones (ee85403), closes #178
- ssl: drop support for node 4 < 4.5
1.0.0.alpha.14 (2017-03-16)
- doctor: fix error handling in setup checks (e25b810), closes #174
- install: don't fail install if debug logs are present (111e599), closes #173
- log: catch errors thrown from prettystream (40e6a79)
- log: return rejected error promise in ghost log rather than throw (86c81ee)
- nginx: ensure nginx doesn't run if config already exists (3ba9bc7)
- update: fix update command when install folder already exists (da4e1d9), closes #168
- config: add logging transport configuration option (f827ea4)
- log: ghost log command (7e1a29a), closes #42
- startup: validate config on startup (1f9383f), closes #26
- bump minimum supported ghost alpha version to 1.0.0-alpha.15
- β¨ Error Handling
- π¨ deps: [email protected]
- π add .vscode dir to gitignore
- π¨ acceptance test improvements
- π¨ use os.homedir() to get the location of the system config dir
- β¬ deps: [email protected]
- β¬ deps: [email protected]
- β¨ Nginx Service
- β¨ add ability for services to register their own commands
- π¨ π improve
ghost run
memory usage by migrating during ghost start - π¨ fix race conditions in start and stop commands
- π¨ cleanup process manager handling in service manager
- π¨ fix setup check error handling
- π¨ fix instance class loading on case sensitive filesystems
- π improve spinner handling in ui class
- π fix(yarn): ensure local version of yarn is run correctly
- chore(deps): [email protected]
- chore: update yarn.lock
- β¬ chore(deps): [email protected]
- β¬ chore(deps): [email protected]
- β¬ chore(deps): [email protected]
- β¬ chore(deps): [email protected]
- β¬ chore(deps): [email protected]
- β¬ chore(deps): [email protected]
- β¬ bump dev dependencies and remove greenkeeper ignored deps
- π add service to internal service list before calling init
- π π add ui methods to temporarily halt spinning if necessary
- π ensure dedupeProcessName util doesn't fail if no running instances
- π¨ re-order prompts in setup to make more logical sense
- β¨π₯ Services
- π¨ more config shortcuts - load config by environment
- π¨ run
ghost stop --all
in the same process - π¨ setup command cleanup
- π¨ cache config objects by absolute filepath
- π¨ index running Ghost instances by process name
- π make
ghost start
smarter with the node environment - β add adminUrl option to list of configuration options
- chore(deps): update yarn.lock
- chore(package): update update-notifier to version 2.0.0
- chore(package): update rxjs to version 5.1.1
- chore(package): update coveralls to version 2.11.16
- update knex-migrator to version 2.0.7 @greenkeeperio-bot
- π fix
ghost stop
command from failing @acburdine - β¨ add
--all
option to ghost stop to kill all running ghost processes @acburdine - π¨ move registering/deregistering instance to ghost start/stop commands @acburdine
- β¨
ghost ls
command @acburdine - π add table method to UI class via cli-table-2 @acburdine
- π¨ wrap child process management for
ghost run
inside a class @acburdine - β¨ add configuration utilities for the global config folder and file @acburdine
- π¨ make
ghost buster
command use yarn utility - π update readme with link to wiki command reference @acburdine
- π¨ β¨ improve process manager handling on unsupported environments @acburdine
- π¨ improve port handling in config @acburdine
- π¨ expand config handleAdvancedOptions function to allow for Promises @acburdine
- π ensure truthy value of regex match is returned in validation @acburdine
- chore: update yarn.lock @acburdine
- update knex-migrator to version 2.0.5 @greenkeeperio-bot
- update eslint to version 3.15.0 @greenkeeperio-bot
- update rxjs to version 5.1.0 @greenkeeperio-bot
- π don't mutate process.env using lodash methods @acburdine
- include yarn.lock in npm publish @acburdine
- π₯ β¨ switch to using yarn over npm @acburdine
- π¨ knex-migrator: migrate if needed @kirrg001
- update yarn.lock @acburdine
- update eslint to version 3.14.1 @greenkeeperio-bot
- update ora to version 1.1.0 @greenkeeperio-bot
- update inquirer to version 3.0.1 @greenkeeperio-bot
- π fix test issue on node 6 @acburdine
- update knex-migrator to version 2.0.4 @greenkeeperio-bot
- ensure cli-spec.js is tested @acburdine
- π fix tests for refactor @acburdine
- Remove unnecessary core-object dependency @acburdine
- π₯ β¨ ES6/CLI task refactor @acburdine
- update knex-migrator to version 2.0.2 @greenkeeperio-bot
- update knex-migrator to version 2.0.1 @greenkeeperio-bot
- allow for command aliases @acburdine
- π¨ deps: [email protected] @acburdine
- π₯ replace spinner class with
ora
npm module @acburdine - β¨ add yarn.lock and use yarn in travis tests
- update core-object to version 3.0.0 @greenkeeperio-bot
- update validator to version 6.2.1 @greenkeeperio-bot
- update lodash to version 4.17.4 @greenkeeperio-bot
- update bluebird to version 3.4.7 @greenkeeperio-bot
- update update-notifier to version 1.0.3 @greenkeeperio-bot
- update inquirer to version 2.0.0 @greenkeeperio-bot
- update fs-extra to version 2.0.0 @greenkeeperio-bot
- update eslint to version 3.13.1 @greenkeeperio-bot
- update eslint to version 3.13.0 @greenkeeperio-bot
- add copyright to README @JohnONolan
- π₯ drop node 0.12 from supported versions and Travis testing @acburdine
- update copyright year @acburdine
- update eslint to version 3.12.1 @greenkeeperio-bot
- update symlink-or-copy to version 1.1.8 @greenkeeperio-bot
- update eslint to version 3.11.1 @greenkeeperio-bot
- update eslint to version 3.11.0 @greenkeeperio-bot
- update mocha to version 3.2.0 @greenkeeperio-bot
- β¨
ghost restart
command @acburdine - π¨ switch to using sudo for systemctl commands @acburdine
- π¨ π improve invalid password error handling in systemd service @acburdine
- π fix
ghost install local
usage @acburdine
- β¬οΈ bump min Ghost version to 1.0.0-alpha.9 @acburdine
- π¨ π revert to simple systemd service @acburdine
- π use
npm.cmd
instead ofnpm
on windows (#94) @cyhsutw - β¨ systemd process manager @acburdine
- π¨ fix setup config handling @acburdine
- π¨ β¨ add process manager hooks @acburdine
- β¨ add ghost system stack checks to setup (#92) @acburdine
- π¨ more config improvements @acburdine
- update inquirer to version 1.2.3 (#86) @greenkeeperio-bot
- update lodash to version 4.17.2 (#93) @greenkeeperio-bot
- update eslint to version 3.10.2 (#91) @greenkeeperio-bot
- update coveralls to version 2.11.15 (#84) @greenkeeperio-bot
- π¨ Minor messaging improvements
- π¨ Prompt for mysql database information
- π¨ ensure leading v is stripped from provided ghost version
- π¨ Pass contentPath to ghost process via environment variable
- β¨ π₯ Make ghost run wait for Ghost to finish starting
- π¨ fixes for
ghost install local
- π Ensure correct command name is shown in error output
- π¨ Ensure logs folder is created on ghost install
- π¨ Use knex-migrator error codes to check for migration error
- π output blog url on start
- β¨ Add
ghost run
command - π Switch from jscs/jshint to eslint for linting
- π¨ Refactor local process manager to better watch for database initialization
- π¨ addition of a
--force
option toghost update
that clears out the version to be installed if it exists - β¨ Ghost database migration support added
- π¨ Make
-v
the version flag instead of-V
- π Ghost-CLI won't install an already installed version of Ghost
- π Local process manager now won't fail if process does not exist
- π Ensure the .ghostpid file is always cleared by the local process manager
- β¨
ghost setup
command - π¨
ghost install --url
can now specify the url without prompting
- β¨ New
ghost install local
shortcut that offers a quick way to install locally for theme developers - π Ensure environment is used correctly when running
ghost start
- π Ensure
ghost update
maintains the currently running node environment - π Ensure lodash is required correctly on case-sensitive filesystems
- Initial Version