All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning
- Return empty string on zero dates (#2494)
- Catch down network exception and non-object responses in fetch (#2492)
- New org:info command (#2472)
- Commands trace metadata (#2461)
- Add retry and delay options for env:wake command (#2498)
- More specific description in env:code-rebuild (#2488)
- Fix bug where
env:clone-content
command was not working Drupal sites (#2469) - Fix bug where
env:clone-content
command was not working WordPress sites (#2471) - Fix passthrough exit code from drush and wp-cli (#2470)
- New env:rebuild-code command (#2417)
- Validation for aliases command (#2447)
- Bug with multidev:delete when ids are numbers-only (#2462)
- Add upstream label field to site:info (#2455)
- Do not check for user membership to remove supporting org (#2453)
- Improve error messages on error 5xx (#2454)
- Add search and replace to env:clone-content command for WordPress sites (#2448)
- Deprecate getSite with param (#2449)
- New env:rotate-random-seed command (#2444)
- Multiple tag filter support for org:site:list command (#2360)
- Workflow wait command added as a copy of existing command in Build Tools plugin (#2435)
- Cache clear option is now used in the env:deploy command (#2432)
- PHP compatibility errors are written to stderr instead of stdout (#2434)
- Description for database import command (#2436)
- Description for workflow:info:logs command (#2439)
- Description for aliases command (#2438)
- Add SFTP Port as an available field for connection:info (#2420)
- Fix env var for db name in connection:info (#2427)
- Library updates to fix compatibility issues with php 8.2 (#2430)
- PHP 8.2 compatibility (#2414)
- Documentation for import:site command (#2410)
- Database and cache connection information is now fetched from env vars (#2403)
- Update plan:set docs to sku instead of id (#2407)
- Remove Kint from terminus (#2405)
- Site:org:add should not need user org membership if a label is provided (#2404)
- Look for status code in ssh-key:add response (#2406)
- Added new cache-hit/miss ratio in the cache commands (#2399)
- Fix deprecation notice in dependency on PHP 8.1 (#2397)
- Verbose option description to make it clearer (#2383)
- Terminus plugin manager composer commands should not be affected by current directory (#2386)
- Omit reload warning if running reload command (#2388)
- Deprecation warnings on PHP 8.1 (#2391)
- Install plugins can now be done from git url (#2362)
- Make sure local:clone gets the right branch (#2375)
- Plugin update should work without args or with 'all' args (#2369)
- Make backup:restore command work with element = all (#2381)
- Change alias for local:commitAndPush to lcp to avoid aliases conflict (#2341)
- Make framework value more human friendly for site:info command (#2351)
- Check upstream updates before getting upstream status to get composer updates info (#2349)
- Fix bug that didn't allow merging a multidev env with only numbers in the name (#2350)
- Make upstream status report on composer updates (#2338)
- Fix bug where
self:console
was not working because psy/psysh was a dev dependency. (#2332) - Pin to league/container ^3 to avoid fatal errors (#2337)
- Added the
--element
usage forbackup:create
(#2317) - Add GitHub Pull Request Template and move Issue Template (#2325)
- Replace git:// urls with https:// urls (#2319)
- Fix bug where
site:list
was unable to properly filter by tags when part of site team (#2316) - Fix bug where
--simulate
option was being ignored (#2321) - Fix bug where
site:delete
command always fails (#2324) - Fix bug where
self:update
reports it only works with the phar version of Terminus (#2328)
- Added self:plugin:migrate command (#2299)
- Add php 8.1 support (#2295)
- Set memory limit with ini_set() rather than /usr/bin/env -S (#2303)
- Optimize Terminus phar build (#2307)
- Do not require composer/composer as a direct dependency of Terminus (#2308)
- Avoid dependency on ext-curl in Terminus (#2310)
- Improve error verbosity in
Sites::get()
(#2311) - Retry API request on "Connection refused" and "Operation timed out" errors (#2313)
- self:update command should now work when plugins have been installed (#2297)
- Fix filestore scandir problem (#2309)
- Fix PHP 7.4 regressions and revert PHP 8.1 support. PHP 8.1 support will be restored in a future release (#2292)
- Add aliases for Terminus plugin commands (#2274)
- Add PHP 8.1 support (#2284)
- Allow upstream:updates:apply to default to dev environment if no environment explicitly provided (#2282)
- Change env:wake to use https on the platform domain (#2283)
- Minor fixup to help output of dashboard:view and self:console (#2277)
- Change file name in deploy script (#2270)
- Look up host for 'terminus drush' / 'terminus wp' commands via an alternate nameserver, if selected (#2253)
- Typehint param and return value in lookupHostViaAlternateNameserver (#2253)
- Symfony Library updates (5.x)
- Adds plugin manager, contributed by Ed Reel (#2054)
- New command
self:plugin:install
to install Terminus plugins. - New command
self:plugin:list
to list installed Terminus plugins. - New command
self:plugin:search
to locate Terminus plugins to install. - New command
self:plugin:uninstall
to uninstall Terminus plugins. - New command
self:plugin:update
to update already-installed Terminus plugins.
- New command
- Update auth:login command so that to not produce a false negative on successful login (#2231)
- Update CODEOWNERS per 2.x branch (#2243)
- Update composer dependencies version variable in post-update script (#2239)
- Update phar builder and package dependencies (#2255)
- Show dependencies warning if folder does not exist (#2239)
- Implement cleanupOldDependenciesFolders function after running dependencies update (#2239)
- Update terminusPluginsDependenciesVersion var comment (#2239)
- Update warning message text (#2239)
- Print warning only if terminus has plugins (#2239)
- Improve hasPlugins, factory, and cleanupOldDependenciesFolders functions (#2239)
- Return json_decode as array (#2239)
- Restore openUrl function from LocalMachineHelper (#2248)
- Draft debian linux packaging (#2255, #2238)
- Update version compatibility check and messaging (#2267)
- Remove code related to D9ify (#2246)
- Fix SavedTokens::getData() on auth:login (#2231)
- Fix failing SSHKeyCommandsTest (#2231)
- Fix fatal error in Environment::cacheserverConnectionInfo() (#2242)
- Fix issue with Phar builder as well as DEB dependencies (#2255)
- Fix coding standards (#2239)
daily-ttl
andweekly-ttl
options have been added toBackups::setBackupSchedule()
. (#2133)keep-for
option has been added tobackup:automatic:schedule
. (#2133)expiry
information added to the output ofbackup:automatic:info
. (#2133)
getUsername
added toBinding
model to retrieve the username for a connection. (#2107)
upstream:updates:apply
now applies Composer changes in addition to upstream changes. (#2089)- Connection usernames are no longer "pantheon" but derived from API data. (#2107)
- Fixed issue where
plan:info
receives a 404 error. (#2098)
- The
DrushRCEditor
class has been renamed toDrushRcClass
. (#2083) - Upstreams can be ID'd by
label
s,product_id
s andmachine_name
s in addition toid
s. (#2086)
- The
DrushRCEditor
class no longer emits deprecation warnings. (#2083) tag:add
now rejects empty tags. (#2085)
- New option
--no-db
added tomultidev:create
which will skip the duplication of the database from the source environment. (#2050) - New option
--no-files
added tomultidev:create
which will skip the duplication of files from the source environment. (#2050) - New option
no-db
added toEnvironments::create
which will skip the duplication of the database from the source environment. (#2050) - New option
no-files
added toEnvironments::create
which will skip the duplication of files from the source environment. (#2050) - New method
Upstream::hasCode()
returns a bool indicating whether the environment has code or not. (#2056)
Request::download($url, $target)
now accepts directories in addition to files as its$target
parameter. (#2053)- The
backup:get
command's--to
option now accepts directories in addition to files. (#2053) - Return type of
Redis::disable()
has changed to aWorkflow
model. (#2055) - Return type of
Redis::enable()
has changed to aWorkflow
model. (#2055) - Return type of
Solr::disable()
has changed to aWorkflow
model. (#2055) - Return type of
Solr::enable()
has changed to aWorkflow
model. (#2055) - Return type of
Environment::disableHttpsCertificate()
has changed to aWorkflow
model. (#2055)
- Removed now-redundant
Backup::serializeWithURL()
function. UseBackup::serialize()
instead. (#2042) - Removed obsolete
Environment::convergeBindings()
method. (#2055) - Removed obsolete
Site::converge()
method. (#2055)
- Drush script is no longer included when generating Drush aliases. (#2076)
- PHP notice is not emitted when using
upstream:updates:status
on an environment without code. (#2056) - PHP notice is not emitted when using
UpstreamStatus::hasUpdates()
on an environment without code. (#2056)
- New const
TERMINUS_HOST_CERT
added to permit use of SSL certificates while making requests. (#2024)
- Terminus will now load plugin files ending in
Hook.php
in addition to those ending withCommand.php
(#2025) - The role parameter in
org:people:add
is now being validated before sending the request. (#2033) - The role parameter in
org:people:role
is now being validated before attempting the change. (#2033) - The role parameter in
site:team:add
is now being validated before attempting the change. (#2033) - The role parameter in
site:team:role
is now being validated before attempting the change. (#2033) Request::download($url, $target)
now accepts directories in addition to files as its$target
parameter. (#2053)- The
backup:get
command's--to
option now accepts directories in addition to files. (#2053)
- Deprecated the
--cc
option onenv:deploy
. Please useenv:clear-cache
instead. (#2022)
- PHP Deprecated warnings seen in PHP ≥ 7.4.0 (#2043)
- Added
primary
field to the output ofdomain:list
. (#2011) - Added
domain:primary:add
command to set a domain as primary, causing traffic to redirect to it. (#2011) - Added
domain:primary:remove
command to remove a domain's primary designation. (#2011)
- Added
--filter
option tobackup:list
command (#1992) - Added
--filter
option tobranch:list
command (#1992) - Added
--filter
option todomain:list
command (#1992) - Added
--filter
option toenv:list
command (#1992) - Added
--filter
option tomultidev:list
command (#1992) - Added
--filter
option toorg:list
command (#1992) - Added
--filter
option toorg:people:list
command (#1992) - Added
--filter
option toorg:site:list
command (#1992) - Added
--filter
option toorg:upstream:list
command (#1992) - Added
--filter
option topayment-method:list
command (#1992) - Added
--filter
option toplan:list
command (#1992) - Added
--filter
option tosite:list
command (#1992) - Added
--filter
option tosite:org:list
command (#1992) - Added
--filter
option tosite:team:list
command (#1992) - Added
--filter
option tossh-key:list
command (#1992) - Added
--filter
option toupstream:list
command (#1992) - Added
--filter
option toupstream:updates:list
command (#1992)
backup:list
--element=VALUE
option is deprecated. Use--filter="type=VALUE"
instead. (#1992)site:list
--framework=VALUE
option is deprecated. Use--filter="framework=VALUE"
instead. (#1992)site:list
--name=VALUE
option is deprecated. Use--filter="name=VALUE"
instead. (#1992)site:list
--plan=VALUE
option is deprecated. Use--filter="plan_name=VALUE"
instead. (#1992)org:site:list
--plan=VALUE
option is deprecated. Use--filter="plan_name=VALUE"
instead. (#1992)org:site:list
--tags=VALUE
option is deprecated. Use--filter="tags=VALUE"
instead. (#1992)org:upstream:list
--framework=VALUE
option is deprecated. Use--filter="framework=VALUE"
instead. (#1992)org:upstream:list
--name=VALUE
option is deprecated. Use--filter="label=VALUE"
instead. (#1992)upstream:list
--framework=VALUE
option is deprecated. Use--filter="framework=VALUE"
instead. (#1992)upstream:list
--name=VALUE
option is deprecated. Use--filter="label=VALUE"
instead. (#1992)
- 'pantheon-systems/terminus-aliases-plugin' ignored as load time, as its functionality is now provided in Terminus core. (#1994)
- PHP 5.5 no longer actively supported, as it is EOL, and no longer testable on Travis.
drush:aliases
now produces both Drush 8 and Drush 9 aliases. Wildcard alias records always used (requires Drush 8.3.0 or later). (#1994)site:info
's value of theregion
field has been changed to use human-readable region names. (#1985)site:list
's value of theregion
field has been changed to use human-readable region names. (#1985)- Owner parameter displayed in the success notice of
owner:set
instead of the user's first and last names. (#2007)
- Users' first and last names removed from the list provided by
site:team:list
. (#2007) - Users' first and last names removed from the list provided by
org:people:list
. (#2007)
- Fixed
site:org:list
so that it no longer ends without returning anything. (#1964) - Fixed
env:deploy
so the--note
option is used when initializing the test or live environments. (#1965) - "Deploy from Terminus" is the default message used by
env:deploy
when initializing the test or live environments. (#1965) - Fixed issue wherein any list command using datetime filters' first item was a formatted Unix datetime 0. (#1970)
- Fixed update message when running Terminus PHAR. (#1972)
- New
plan:list
command lists the plans available to a site. (#1901) - New
plan:set
command sets a site's plan. (#1901) - New
Plans
collection interacts with plans available to a Site. (#1901) - New
Plan
model represents a plan available to a Site or set on a site. (#1901) - New
Site::getPlan()
function to retrieve a model representing the Site's present plan. (#1901) - New
Site::getPlans()
function to retrieve a collection representing all available plans for the Site. (#1901) backup:list
now emits a warning when its list is empty. (#1906)branch:list
now emits a warning when its list is empty. (#1906)domain:list
now emits a warning when its list is empty. (#1906)env:list
now emits a warning when its list is empty. (#1906)plan:list
now emits a warning when its list is empty. (#1906)site:team:list
now emits a warning when its list is empty. (#1906)upstream:list
now emits a warning when its list is empty. (#1906)- A progress bar has been added to the workflow processing portion of
backup:restore
. (#1907) - A progress bar has been added to the workflow processing portion of
connection:set
. (#1907) - A progress bar has been added to the workflow processing portion of
env:clear-cache
. (#1907) - A progress bar has been added to the workflow processing portion of
env:clone-content
. (#1907) - A progress bar has been added to the workflow processing portion of
env:commit
. (#1907) - A progress bar has been added to the workflow processing portion of
env:deploy
. (#1907) - A progress bar has been added to the workflow processing portion of
env:wipe
. (#1907) - A progress bar has been added to the workflow processing portion of
https:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
https:set
. (#1907) - A progress bar has been added to the workflow processing portion of
import:complete
. (#1907) - A progress bar has been added to the workflow processing portion of
import:database
. (#1907) - A progress bar has been added to the workflow processing portion of
import:files
. (#1907) - A progress bar has been added to the workflow processing portion of
import:site
. (#1907) - A progress bar has been added to the workflow processing portion of
lock:disable
. (#1907) - A progress bar has been added to the workflow processing portion of
lock:enable
. (#1907) - A progress bar has been added to the workflow processing portion of
multidev:create
. (#1907) - A progress bar has been added to the workflow processing portion of
multidev:delete
. (#1907) - A progress bar has been added to the workflow processing portion of
multidev:merge-from-dev
. (#1907) - A progress bar has been added to the workflow processing portion of
multidev:merge-to-dev
. (#1907) - A progress bar has been added to the workflow processing portion of
new-relic:disable
. (#1907) - A progress bar has been added to the workflow processing portion of
new-relic:enable
. (#1907) - A progress bar has been added to the workflow processing portion of
org:people:add
. (#1907) - A progress bar has been added to the workflow processing portion of
org:people:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
org:people:role
. (#1907) - A progress bar has been added to the workflow processing portion of
org:site:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
owner:set
. (#1907) - A progress bar has been added to the workflow processing portion of
payment-method:add
. (#1907) - A progress bar has been added to the workflow processing portion of
payment-method:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
plan:set
. (#1907) - A progress bar has been added to the workflow processing portion of
redis:disable
. (#1907) - A progress bar has been added to the workflow processing portion of
redis:enable
. (#1907) - A progress bar has been added to the workflow processing portion of
service-level:set
. (#1907) - A progress bar has been added to the workflow processing portion of
site:create
. (#1907) - A progress bar has been added to the workflow processing portion of
site:org:add
. (#1907) - A progress bar has been added to the workflow processing portion of
site:org:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
site:team:add
. (#1907) - A progress bar has been added to the workflow processing portion of
site:team:remove
. (#1907) - A progress bar has been added to the workflow processing portion of
site:team:role
. (#1907) - A progress bar has been added to the workflow processing portion of
site:upstream:clear-cache
. (#1907) - A progress bar has been added to the workflow processing portion of
site:upstream:set
. (#1907) - A progress bar has been added to the workflow processing portion of
solr:disable
. (#1907) - A progress bar has been added to the workflow processing portion of
solr:enable
. (#1907) - A progress bar has been added to the workflow processing portion of
upstream:updates:apply
. (#1907) - New const
TERMINUS_TIMEOUT
added to extend the timeout maximum for remote commands. (#1908) - A progress bar has been added to the process portion of
remote:drush
. (#1910) - A progress bar has been added to the process portion of
remote:wp
. (#1910) - A progress bar has been added to the workflow processing portion of
site:delete
. (#1922) - Added the TerminusConfig::formatDatetime() function in order to use the configuration to format datetimes. (#1923)
- Added the --region flag to
site:create
. (#1932) - Add site region to site:info and site:list (#1933)
- Added options array parameter to
Environment::cloneDatabase
acceptingclear_cache
andupdatedb
. (#1940) - Added options to
env:clone-content
acceptingcc
andupdatedb
both defaulting to false. (#1940) - Added
--plan
option tosite:list
to filter the site list by plan name. (#1944) - Added
--plan
option toorg:site:list
to filter the organizational site list by plan name. (#1944) - Added
Sites::filterByPlanName(string)
function to filter the site models by theirplan_name
attribute. (#1944) - Added
Environment::hasUncommittedChanges()
to determine whether SFTP-mode environments have changes which have not been committed. (#1948) - Added
--upstream
option tosite:list
to filter the site list by their upstream UUID. (#1946) - Added
--upstream
option toorg:site:list
to filter the organizational site list by their upstream UUID. (#1946) - Added
Sites::filterByUpstream(string)
function to filter the site models by theirproduct_id
attribute. (#1946) - Added
is_owner
field to the output ofsite:team:list
in order to indicate which user is the site owner. (#1949) - Added boolean
is_owner
field to the output ofSiteUserMemberships::serialize()
in order to indicate which user is the site owner. (#1949) - Added
SiteUserMemberships::isOwner()
function in order to ascertain whether the user is the site's owner. (#1949) - A
--progress
option has been added toremote:drush
andremote:wp
to enable progress for remote commands. (#1947)
org:site:list
now displays aPlan
/plan_name
field to replaceService Level
/service_level
. (#1901)site:info
now displays aPlan
/plan_name
field to replaceService Level
/service_level
. (#1901)site:list
now displays aPlan
/plan_name
field to replaceService Level
/service_level
. (#1901)- Collections' and Models'
$pretty_name
static property has become constPRETTY_NAME
. (#1906) - The empty-list notice on
org:people:list
has become a warning. (#1906) - The empty-list notice on
org:site:list
has become a warning. (#1906) - The empty-list notice on
payment-method:list
has become a warning. (#1906) - The empty-list notice on
site:list
has become a warning. (#1906) - The empty-list notice on
site:org:list
has become a warning. (#1906) - Slashes are no longer escaped when converting the body of requests to JSON before cURL. (#1909)
- Moved the
sendCommandViaSsh
function fromEnvironment
toSSHBaseCommand
. (#1910) - Moved the
useTty
function fromSSHBaseCommand
toLocalMachineHelper
. (#1910) site:delete
now uses a workflow. (#1922)Site::delete()
now returns a Workflow object. (#1922)upstream:updates:list
now orders the pending updates in chronological order. (#1852)- TerminusConfig::setSource() changed from public to now protected. (#1923)
- The
started_at
data returned byworkflow:list
is now formatted using TERMINUS_DATE_FORMAT. (#1923) - The
finished_at
data returned byworkflow:list
is now formatted using TERMINUS_DATE_FORMAT. (#1923) - Site::serialize() 'frozen' attribute has changed from string to boolean. (#1923)
- Site::serialize() 'created' attribute has changed to a Unix timestamp. (#1923)
- Site::serialize() 'last_frozen_at' attribute has changed to a Unix timestamp. (#1923)
- Environment::serialize() 'environment_created' attribute has changed to a Unix timestamp. (#1923)
- Environment::serialize() 'initialized' attribute has changed from string to boolean. (#1923)
- Environment::serialize() 'locked' attribute has changed from string to boolean. (#1923)
- Environment::serialize() 'onseverdev' attribute has changed from string to boolean. (#1923)
- Domain::serialize() 'deletable' attribute has changed from string to boolean. (#1923)
- Lock::serialize() 'locked' attribute has changed from string to boolean. (#1923)
Pantheon\Terminus\Friends\RowsOfFieldsTrait
has becomePantheon\Terminus\Commands\StructuredDataTrait
. (#1923)Backup::getUrl()
has been changed toBackup::getArchiveURL()
. (#1923)- Changed Environment::cloneDatabase() to accept an Environment object. (#1930)
- Changed Environment::cloneFiles() to accept an Environment object. (#1930)
- The target environment used in
env:clone-content
is now checked for initialization prior to cloning. (#1930) - Updated Plans collection URL
accounts/site-account-forwarding/{site_id}/plans
. (#1936) connection:set
will emit a warning if you are attempting to switch out of SFTP mode while the environment has uncommitted changes. (#1948)connection:set
will ask for confirmation before switching out of SFTP mode with uncommitted changes as it destroys those changes. (#1948)connection:set
will emit an error if the requested mode is invalid. (#1948)Environment::changeConnectionMode(string)
never returns a string, only a Workflow. (#1948)Environment::changeConnectionMode(string)
will throw a TerminusException if the mode is neither "git" nor "sftp". (#1948)Environment::changeConnectionMode(string)
will throw a TerminusException if the requested mode is the current one. (#1948)- The help text for
upstream:updates:status
now litanizes the possible results. (#1951)
service-level:set
is now deprecated. Please useplan:set
. (#1901)Site::updateServiceLevel()
is now deprecated. Please usePlans::set()
. (#1901)
- Fixed
Environment::importDatabase()
by switching from using theimport_database
workflow todo_import
. (#1909) - Fixed
Environment::importFiles()
by switching from using theimport_files
workflow todo_import
. (#1909) - Fixed
import:database
by switching from using theimport_database
workflow todo_import
. (#1909) - Fixed
import:files
by switching from using theimport_files
workflow todo_import
. (#1909) - Fixed
site:upstream:set
to appropriately reject attempted changes by unauthorized users. (#1913) - Fixed
site:team:remove
when removing oneself from the team an error is no longer thrown upon success. (#1914) - Fixed
TERMINUS_ENV
environment var. (#1917) - Fixed
TERMINUS_SITE
environment var. (#1917)
- Removed final, redundant 'Applied upstream updates to "dev"' notice from
upstream:updates:apply
. (#1851) - Removed
TerminusConfig::fromArray()
. Use the inheritedTerminusConfig::combine()
. (#1923) - Removed
TerminusConfig::toArray()
. Use the inheritedTerminusConfig::export()
. (#1923) - Removed
Pantheon\Terminus\Friends\RowsOfFieldsInterface
(#1923) - Removed deprecated
Workflow::wait
(#1937) - Removed const
Workflow::POLLING_PERIOD
. Please useTERMINUS_HTTP_RETRY_DELAY_MS
(#1937) - Removed the often-inaccurate
php_version
/PHP Version
info from the result ofsite:info
. (#1952) - Removed the often-inaccurate
php_version
property from the hash returned by `Site::serialize(). (#1952) - Removed
Site::getPHPVersion()
. It is preferable to useEnvironment::getPHPVersion()
for more accurate info. (#1952)
- Added a
hide_git_mode_warning
option to disable the warning presented when users run Drush or WP-CLI commands on Pantheon sites that are in git mode. (#1882)
- Prevent spurious dependency validation failures with Terminus plugins that have
dev
components named in their composer.lock file that have not been installed. (#1880) - Removed the prompt displayed when running Drush or WP-CLI commands on a Pantheon server to avoid locking up auotmation scripts. (#1881)
- Set minimum PHP version to 5.5.38; some earlier versions of PHP 5.5 do not work with Terminus. (#1875)
- Fixed php warning when ssh key is missing its comment field. (#1843)
- Fixed bug wherein messages that are passed in as arrays to TerminusException cause failure. (#1863)
alpha:env:metrics
command has been added. (#1835)
- Prevented missing data about a site's upstream from preventing functioning of the SiteUpstream model. (#1833)
- Fixed
workflow:watch
command by preventing cached data from being pulled. (#1827)
- Added a
last_frozen_at
field to the output ofsite:info
and theSite::serialize()
function. (#1788)
- Added exponentially backing-off retries to HTTP requests. (#1782)
domain:dns
has returns a new field,detected_value
, which indicates the live DNS settings for a given domain. (#1756)domain:dns
has returns a new field,status
, which indicates whether live DNS settings for a given domain match the recommended setting. (#1756)- Added new command
site:upstream:clear-cache
to clear code caches on a site. (#1762) TerminusCollection::reset()
to reset the model array (after filtering or sorting). (#1779)
- Changed the Domains collection to use a newer API call, fixing
domain:dns
. (#1756) - Fixed operations for sites that have been unfrozen. (#1766)
- Removed the now-obsolete
Domains::setHydration(string)
function. (#1756) - Removed
TerminusCollection::listing(string, string)
. (#1779) - Removed the
Loadbalancer
model. (#1779) - Removed the
Loadbalancers
collection. (#1779)
multidev:create
is now checked for whether the site is frozen before attempting to execute. (#1761)import:database
is now checked for whether the site is frozen before attempting to execute. (#1761)- Checks for frozen sites will now throw errors on dev and multidev environments as well as test and live. (#1761)
domain:list
now listsid
,type
, anddeleteable
attributes. (#1763)https:info
now listsid
,type
,status
,status_message
, anddeleteable
attributes. (#1763)https:info
emits aRowsOfFields
object instead of aPropertyList
. (#1763)domain:dns
now emits an info log instead of a warning. (#1772)TerminusCollection::fetch()
no longer accepts an array of options. UsesetData(array)
to pass in data andsetFetchArgs(array)
for the same functionality. (#1779)
Workflow::operations()
is deprecated. Use theWorkflow::getOperations()
to retrieve workflow operations. (#1769)
- Updated the name of the
longname
field output byupstream:list
tolabel
. (#1747) - Updated the name of the
longname
field output byupstream:info
tolabel
. (#1747) - Upstreams of types
core
andcustom
are the only ones which appear by default when usingupstream:list
. (#1747) - The
--org
option of thesite:list
command now defaults to"all"
instead ofnull
, but its behavior is unchanged. (#1747) - The
role
parameter of thesite:team:add
command defaults toteam_member
. (#1750)
- Added a
machine_name
field to the output ofupstream:list
. (#1747) - Added a
organization
field to the output ofupstream:list
. (#1747) - Added a
machine_name
field to the output ofupstream:info
. (#1747) - Added a
organization
field to the output ofupstream:info
. (#1747) - Added a
repository_url
field to the output ofupstream:info
. (#1747) - Added a
org:upstream:list
command to list the upstreams of a specific organization. (#1747) - Added an
--org
option toupstream:list
to list the upstreams of a specific organization. (#1747) - Added an
--all
option to list upstreams of all types in the output ofupstream:list
. (#1747) - Added a
--framework
option toupstream:list
to filter the list by framework. (#1747) - Added a
--name
option toupstream:list
to filter the list by name regex. (#1747)
- Removed the
category
field from the output ofupsteram:info
. (#1747)
- The
org
option ofsite:create
now works with machine names and labels as well as UUIDs. (#1747) - If the
change_management
feature is not enabled on a site, no warning is displayed only if therole
has been supplied and is notteam_member
. (#1750)
- Corrected the help text of
import:site
/site:import
to call the params params rather than options. (#1718) - Pin the version of reflection-docblock to prevent syntax-checking problems with @usage tags. (#1740)
- Added a Collection::filter(callable) function. (#1725)
- Added a
frozen
column to the output oforg:site:list
. (#1726)
- Removed the element option's erroneous "all" value from
backup:get
, changed its default to "files". (#1705)
- Added an experimental
site:upstream:set
command to switch a site's upstream. (#1713)
env:commit
now has a--force
option to force a commit even if no changes are found. (#1115)
- Corrected the command to be used to update Terminus displayed by the
UpdateChecker
. (#1687)
Backup::getDate()
now returns a Unix datetime instead of a formatted date. (#1676)
- The
backup:info
command has been added. (#1676) - Added expiration dates to backups in
backup:list
. (#1676) Backup::getExpiry()
calculates the Unix datetime of a backup's expiry. (#1676)
- Updates to dependencies have been applied. (#1675)
- Fixed ambiguous text in
env:commit
andenv:diffstat
help description. (#1685)
- Reenabled the
self:console
command in PHP 7.1. (#1664)
- Corrected typo in
aliases
command which prevented the authorization hook from working on it. (#1663) - Updated to match changes made to Config class in Robo 1.0.6. (#1670)
- composer.json file now has its
bin
property set to includebin/terminus
. (#1656)
- Added an
--element=
option tobackup:list
. (#1563) - Added the label column to
org:list
's output. (#1612) - Added the
upstream:updates:status
command to report whether any site environment is outdated or current. (#1654)
self:cc
now acts to delete all files in the command cache directory. (#1569)env:clone-content
andenv:deploy
now refuse to clone from uninitialized environments. (#1608)- Encapsulation of the properties of models and collections has been tightened. Please use getter and setter methods to access them. (#1615)
- The column labeled as
name
inorg:list
's output now contains the machine name of an organization. (#1612) - Any command using an
organization
parameter ororg
option now accepts an organization's UUID, name, and label. (#1612) - The first parameter of
SiteOrganizationMemberships::create($org, $role)
is now an Organization object. (#1612)
- The
element
parameter onbackup:list
is deprecated. Use the--element=
option instead. (#1563) - The
wait()
function ofWorkflows
is deprecated. UsecheckStatus()
instead. (#1584) - The
User::getOrgMemberships()
is deprecated. UseUser::getOrganizationMemberships()
instead. (#1613)
- Fixed the base branch in the URL when checking for upstream updates. (#1581)
- Fixed
new-relic:info
by changingNewRelic::serialize()
to fetch its data before attempting to return it. (#1648) - Removed login information from the debug output. (#1642)
- Added
--to=
option tobackup:get
to allow specifying of a local download location. (#1520)
- Fixed
backup:restore
. (#1529) - Fixed
env:wake
to target domains with zone names. (#1530) - Fixed
env
commands to not err when the site is frozen and the test or live environment is to be accessed. (#1537)
- Clear cache no longer deletes stored machine tokens. Logout now deletes stored machine tokens. (#1542)
- Terminus now checks for new versions after every command run. (#1523)
site:create
now checks to see whether a site name is taken before attempting to create it. (#1536)
- Removed framework type check from
drush
andwp
commands. (#1521)
- Fixed fatal error by adding back the use statement for ProcessUtils in SSHBaseCommand. (#1494)
- Pinned PHP-VCR version to 1.3.1 due to issues with turning PUT into POST. (#1501)
- Moved to Symfony Console
- Updated command structure. Please see https://pantheon.io/docs/terminus/commands/compare for updates.
Terminus version v1.0 and later introduces a new command line and argument structure that is incompatible with any custom scripts that use 0.x Terminus or older plugins that you may be using. Please consider the impact to your automation scripts and plugins before upgrading to Terminus v1.0.