All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
1.26.1 (2024-08-01)
1.26.0 (2024-03-19)
- change default mysql hostname on new sites from localhost to 127.0.0.1 to use ipv4 (526d080)
1.25.3 (2023-10-11)
1.25.2 (2023-10-05)
- update: fixed permission issues when linking themes (eb3f430)
1.24.2 (2023-07-07)
- backup: fixed exporting all members (daf4798)
1.24.1 (2023-07-03)
- acme: fixed deployment not taking
_ecc
into account (467d41b)
1.24.0 (2022-12-02)
1.23.1 (2022-10-03)
1.23.0 (2022-08-30)
1.22.0 (2022-08-10)
- archive: added support for installing/updating from tarballs (a079cdc)
1.21.1 (2022-08-01)
- services: fixed services detected as missing (fb74211)
1.21.0 (2022-05-20)
- backup: added
premajor
check when checking if current is behind (f078b4a), closes /github.com/TryGhost/Ghost-CLI/blob/118c0df12e180e5696bed4dc8196f8a0f158d94f/lib/utils/version.js#L120 - backup: added guard against unpublished versions (0729b75)
- backup: clear error if zip is not installed (a0f1d36)
- backup: do not backup casper symlink (118c0df)
- backup: handle local + server permissions (0cbb492)
- backup: Handled directory permission dance (05e5559)
- backup: swap to using @tryghost/zip (3eca000)
- check-update: fixed output for current major (b72c25b)
- deprecation: Update deprecation notice for v3 (c87e02e)
- export: file is not optional (8fdc4e3)
- output: move hiring notice to first thing (a5aa2c0)
- backup: add backup warning to major upgrade prompt (5b83003)
- backup: drop force flag in favour of a warning (1c689bb)
- latest: aliased check-update & improved output (310ca50)
- latest: also alias check-updates (1b6f1ca)
1.20.0 (2022-05-19)
- backup: Don't show warnng on current major (fbc7fdd)
- backup: Ensure the backup is up-to-date (747d66e)
- backup: Fixed weirdness with streams (0665bc1)
- backup: Added members export to backup (fa46ccf)
1.19.3 (2022-04-21)
- import: ensure import/exports works with 5.x (ae8177b)
- major: use
mysql2
library if present (098ca92) - tests: fixed accidental
.only
in tests (6e31c54)
1.19.2 (2022-03-23)
- deprecation: fixed check hanging CLI due to multiple sites (20fb349)
1.19.1 (2022-03-23)
1.19.0 (2022-03-23)
- major: allowed auto major upgrades when theme has warnings (7ad1f93)
- deprecation: added notice when using a deprecated database (fbe7a2d)
1.18.2 (2022-03-11)
- setup: disallow running internal stages from command line flags (758c84f)
- version: handled force flag when specifying versions (eb3e5de)
- yarn: use bundled yarn version (#1595) (55812d9)
- cmd: added notice about joining the Ghost team (8e354fc)
1.18.1 (2021-11-24)
1.18.0 (2021-10-29)
1.17.4 (2021-10-18)
- nginx: update acme to use letsencrypt by default (5e52548)
- start: fix warning behavior (#1475) (c809873)
1.17.3 (2021-05-22)
1.17.2 (2021-05-16)
1.17.1 (2021-05-09)
- deprecation: fix error with missing instance version (a98f794)
- instance: calculate active-version if missing (b488da2)
1.17.0 (2021-05-05)
- cmd: add node/ghost deprecation checks (b242d7e)
- install: cleanup install directory on error (53ba8a7)
- node: log discovered node version (20b93cf)
- port-polling: log messages coming from Ghost (16c8291)
- systemd: add doctor checks for systemd node version (8e19a6e)
- ui: add help text for the incompatible CLI version error (0f4fb4c)
1.16.3 (2021-03-18)
- import: ensure import/exports works with 4.x (e9b95bc)
1.16.2 (2021-03-16)
- ui: add link to changes page in major-update task (e5d5459)
- ui: add release title to release notes output (eac2bc4)
1.16.1 (2021-03-16)
- release-notes: add support for 4.x+ tag names (881211b)
- release-notes: prefer find() over filter()[0] (ef47c8e)
1.16.0 (2021-03-01)
- install: allow specifying release channel in prod (ae12f71)
- polling: ensure socket is closed after v4 started event (ee8f9e1)
- version: add premajor to update version diff check (95266f2)
- boot: handle v4 boot events in port-polling util (49f7a37)
- channel: add ability to specify release channel for local installs (29848c0)
- config: remind user to restart ghost after making changes (#1382) (5a7465c)
- local: handle v4 boot events in local process manager (156c67a)
- root: allow --allow-root to disable root user check (#1374) (0ce7099)
- version: expand v1 update policy to cover all versions (aed312c)
1.15.3 (2020-12-10)
- notes: add 5 second timeout for release notes call (#1355) (5edae63)
- ssl: update dhparam generation parameters (#1354) (2862388)
- update: display release notes when updating Ghost (898a762)
- version: add handling for deprecated Ghost versions (5da2252)
1.15.2 (2020-11-03)
- run: don't write to parent stderr after Ghost is started (66fe2b1)
1.15.1 (2020-11-03)
- ci: rework test setup (a2cbfc0)
- extension: rewrite template method (2931f7e)
- mysql: Add dbport option for db setup (#1260) (f733d94), closes #1135
- node: bump minimum node version to 14.15 (e460191)
1.15.0 (2020-10-10)
- install: rename force flag to 'check-empty' (#1237) (6281eaa)
- local-process: ensure string argument is passed to writeFileSync (47ad7f6)
- log: prevent error when no transports exist (#1306) (291f1f5)
- major-update: make theme demo prompt dynamic (4f7c80c)
- mysql: fix errors raised during testing (173efbc)
- node: bump minimum supported node to 14.13 (0c79cf4)
- stack: refactor nginx/systemd checks to use same method (0cdadab)
- yarn: ignore engines when GHOST_NODE_VERSION_CHECK is false (9e12e0a)
- update usages of check-valid-install (0bee88c)
- ci: add end-to-end github actions tests for standard stack (35d6eb4)
- doctor: add free disk space check (#1284) (d5e5ed3), closes #1282
- extensions: add
user skipped
task hook (cd12cbd), closes #308 #1115 - install: add force flag to allow install in non-empty directory (21d3e98)
- mysql: support MySQL version 8 (0eb2771), closes #1265
- mysql: update mysql check to use systeminformation (8ea7f7f)
- nginx: refactor to use async/await (65d3da5)
- stack: refactor stack check & allow ubuntu 20 (9ad75e0), closes #853 #1265
- update: reduce number of kept versions to 2 (#1238) (badb662)
1.14.1 (2020-06-07)
- instance: add method for retrieving all available configs (#1210) (d654bf4)
- sqlite: ensure sqlite db path is absolute (3f07b05)
1.14.0 (2020-05-23)
- instance: remove return values from setters (03dc51a)
- local-process: output Ghost error message when process exits (#1202) (264e619), closes #1201
1.14.0-beta.0 (2020-04-03)
- cleanup: ensure cleanup gets run on process.exit calls (8ad78f3)
- major: allow automatic major upgrades for clean themes (ceca111)
- version: ensure custom version is handled as a string (#1112) (056bb0d)
1.13.1 (2019-11-08)
1.13.0 (2019-11-08)
- proxy: only create proxy agent once (b12b4c7)
1.13.0-beta.1 (2019-11-08)
- ui: add ghost instance version to debug error output (#1052) (185fb2c)
- ux: add warning when custom version and --zip are passed (c7875c9)
- install: allow specifying short versions (46f4da5)
- install: improved local install ux (9494d51)
- system: use systeminformation for os version information (1fc845d)
1.13.0-beta.0 (2019-11-07)
- import: fix import path for parseExport (b2629e5)
- import: improve handling of auth errors (#1051) (fb6b431)
- import: remove usage of stream.finished (e0d05c5)
- migrator: use ProcessError instead of GhostError (#1041) (6e8c98c), closes #978
- uninstall: pass argv.force to ui.confirm as default (be69f38)
- export: add export command (#1050) (f540af7), closes #468
- import: add import functionality (#1043) (0d07841), closes #468
1.12.1 (2019-11-04)
- config: allow root user to run config command (#982) (870fd0d), closes #981
- systemd: delete bootstrap-socket config once ghost is started (#837) (892b399), closes #805
- doctor: add binary dependency check (#1040) (1716b38)
- verbose: add verbose yarn output (#1037) (223c29f), closes #1036
1.12.0 (2019-10-21)
1.12.0-beta.1 (2019-10-17)
- engines: update node version restrictions to match Ghost (c45909d)
- utils: prerelease statisfies engine definition (8bfcc38)
1.12.0-beta.0 (2019-10-16)
- version: allow v2 update if on latest v1 (28a39b0)
- gscan: use dynamic major version for gscan checks (e74d1fc)
- node: add initial node v12 support & update min versions (#1003) (212f4aa)
- v3: make v2 specific logic work for v3 (3d3a0e7)
1.11.0 (2019-06-03)
- prompt: fix hasDefault check for --auto values (5385f72)
1.10.1 (2019-05-30)
- extension: prompt default should be index not key (#935) (b8401ec)
- resolve-version: sort versions before retrieving latest (#939) (8a17c8b)
- system: improve hasInstance check (#940) (aad60a6), closes #936
- ui: return correct default value for list prompts (8dc7441)
- add check-update command (#881) (527104b), closes #876
- nginx: customisable paths & program name (#932) (94389d5)
1.10.0 (2019-04-22)
1.10.0-rc.1 (2019-04-22)
- deps: update rxjs to v6 (cbe6390)
1.10.0-rc.0 (2019-04-20)
- help: Bigger max width for help output (33e76fd)
- help: Group global options together (84f9012)
- help: Hacky fix for incorrect option name (15d14e6)
- help: remove dupe alias of check-mem in install (4e37d56)
- help: Tweak help argument display order (3eb1961)
1.10.0-beta.1 (2019-04-15)
- install: ignore dotfiles except for .ghost-cli in dir check (0bd929b), closes #868
- update: maintain instance state (#818) (f67c4bf)
- pre-checks: add ability to skip pre-checks with env var (6c5a49c), closes #867
- yarn: use package-json instead of yarn for version resolution (e68b65d)
1.10.0-beta.0 (2019-01-26)
- compat-check: handle cli prerelease case (9906ab6)
1.9.9 (2019-01-14)
1.9.8 (2018-11-07)
1.9.7 (2018-10-30)
- ui: default exitOnError to true in listr opts (58806da)
- instance: add isSetup getter (c81070c)
- node: add support for node v10 (cccddae)
- renderer: log task output if skipped (463d706)
- system: add hasInstance method (65bc340)
1.9.6 (2018-10-02)
1.9.5 (2018-10-02)
- use correct task function property in pre-checks (1674e7e)
- add 'clearOnSuccess' option to renderer (7cfbfb7)
- pre-checks: add ~/.config folder ownership to pre-run checks (e9e640f), closes #675
1.9.4 (2018-09-13)
1.9.3 (2018-09-04)
1.9.2 (2018-08-29)
- doctor: set find maxBuffer to infinity (a681542), closes #801
- ui: make sudo prompt more clear (02d506a), closes #797
1.9.1 (2018-08-20)
- ui: ensure demo post url is output correctly (#785) (b054939)
- version-resolver: allow v2 updates w/ multiple v2 releases (fc12d22)
- zip: ensure zip upgrades from v2 to next v2 work (4ae1f42)
1.9.0 (2018-08-16)
- config: disallow URLs ending with
/ghost
(0dfb6d3) - migrate: optimise error handling in migrator task (be2c923), closes #759
- migrations: sudo - don't fail with existing settings folder (dc2d0f5), closes #776
- nginx: skip uninstall if url is not set (9e27b59)
- start: properly print admin URLs for blogs in a subdir (975049c)
- show spinner during update check (c9cf6d3)
- systemd: improve error handling of instance failed state (0f00c03), closes #761
- tests: stub system class for command checkRoot (ba18452)
- ui: don't overwrite default options (1357cc6)
- v2: allow prerelease->pre/stable upgrades in zips (10bd8c4)
- v2: changed major version comparison (d243bed), closes #759
- v2: enforce v1 => v2 migration rules with zips (c1af61e), closes #759
- v2: ensure
ghost update --force
correctly jumps to v2 (8093274), closes #759 - v2: ensure migrate script validates Casper correctly (93d191f), closes #759
- flag: add --v1 flag to install and update (eb315c3), closes #759
- flags: add global
dir
option (e9ec39a), closes #538 - migrate: execute database rollback on rollback (#774) (f56e600), closes #699
- update: add auto rollback of failed updates (4f00353), closes #759
- v2: added v2 migrate task (#771) (e9ed36b), closes #759
- v2: avoid direct upgrade to v2 (#770) (702e953), closes #759
- v2: update knex-migrator execution for Ghost 2.0 (#765) (d6af62a), closes #759
1.8.1 (2018-06-05)
1.8.0 (2018-05-29)
- 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: debug@2.6.1
- π add .vscode dir to gitignore
- π¨ acceptance test improvements
- π¨ use os.homedir() to get the location of the system config dir
- β¬ deps: yarn@0.21.3
- β¬ deps: knex-migrator@2.0.8
- β¨ 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): yarn@0.20.3
- chore: update yarn.lock
- β¬ chore(deps): update-notifier@2.1.0
- β¬ chore(deps): rxjs@5.2.0
- β¬ chore(deps): listr@0.11.0
- β¬ chore(deps): inquirer@3.0.4
- β¬ chore(deps): fkill@4.1.0
- β¬ chore(deps): execa@0.6.0
- β¬ 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: execa@0.5.0 @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