Version Updates
Stay up to date on the latest Terminus version.
Discuss in our Forum Discuss in SlackWarning
The recent 2.x releases of Terminus signify a major version upgrade, which may not be backwards-compatible with scripts written for Terminus 1.x
. For more information, refer to the Terminus 2.0 documentation.
Update to the Current Release 3.0.7
Update Standalone Terminus
If you used the standalone Terminus PHAR installation, update to the newest version with:
terminus self:update
Note that the self:update
command is only available for the standalone Terminus installation. Refer to the command documentation to see the available options.
Update Terminus Installer PHAR
To update the Composer-managed version of Terminus that was installed with the Terminus Installer PHAR, navigate to the directory where Terminus was originally installed, then run the follwoing command:
curl -O https://raw.githubusercontent.com/pantheon-systems/terminus-installer/master/builds/installer.phar && php installer.phar update
Update Terminus Homebrew Installation
If you used the Homebrew installation installation, update to the newest version with the following command:
brew upgrade pantheon-systems/external/terminus
Note
Terminus uses Semantic versioning. Be sure to fully test compatibility with existing configurations before upgrading to new major releases.
PHP Version Compatibility Matrix
Troubleshooting
Nothing to install or update
For Composer-managed Terminus installations, if the update command above returns an output that indicates no updates were found, delete the existing Terminus version (e.g. \$HOME/terminus
) and re-run the following install command:
rm -rf $HOME/terminus
mkdir $HOME/terminus
cd $HOME/terminus
curl -O https://raw.githubusercontent.com/pantheon-systems/terminus-installer/master/builds/installer.phar
php installer.phar install
Self:update not defined
The self:update
command is only available for standalone Terminus installed using the standalone Terminus PHAR. If self:update
returns a not defined error, use the Terminus Installer PHAR update instructions above.
EOL Timeline
3.0.7
Changed
- Change alias for local:commitAndPush to lcp to avoid aliases conflict (#2341)
- Make framework value more human friendly for site:info command (#2351)
Fixed
- 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)
3.0.6
Changed
- Make upstream status report on composer updates (#2338)
Fixed
- 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)
3.0.5
Added
- Added the
--element
usage forbackup:create
(#2317) - Add GitHub Pull Request Template and move Issue Template (#2325)
Changed
- Replace git:// urls with https:// urls (#2319)
Fixed
- 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)
3.0.4
Added
- Added self:plugin:migrate command (#2299)
- Add php 8.1 support (#2295)
Changed
- 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)
Fixed
- self:update command should now work when plugins have been installed (#2297)
- Fix filestore scandir problem (#2309)
3.0.3
Fixed
- Fix PHP 7.4 regressions and revert PHP 8.1 support. PHP 8.1 support will be restored in a future release (#2292)
3.0.2
Added
- Add aliases for Terminus plugin commands (#2274)
- Add PHP 8.1 support (#2284)
Changed
- Allow upstream:updates:apply to default to dev environment if no environment explicitly provided (#2282)
Fixed
- Change env:wake to use https on the platform domain (#2283)
- Minor fixup to help output of dashboard:view and self:console (#2277)
3.0.0
Added
- 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
Changed
- 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)
Removed
- Remove code related to D9ify (#2246)
Fixed
- 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)
2.6.6
- Replace git:// urls with https:// urls (#2318)
- Fix bug where
site:delete
command always fails (#2323)
2.6.5
- Change env:wake to use https on the platform domain (#2287)
2.6.4
- Fix Terminus for PHP 5.5, 5.6, and 7.0 (#2264)
2.6.1
Fixed backup:automatic:enable --keep-for
parameter not being respected
2.6.0
Added
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)
2.5.0
Added
getUsername
added toBinding
model to retrieve the username for a connection. (#2107)
Changed
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
- Fixed issue where
plan:info
receives a 404 error. (#2098)
2.4.1
Changed
- 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)
Fixed
- The
DrushRCEditor
class no longer emits deprecation warnings. (#2083) tag:add
now rejects empty tags. (#2085)
2.4.0
Added
- 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)
Changed
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
- Removed now-redundant
Backup::serializeWithURL()
function. UseBackup::serialize()
instead. (#2042) - Removed obsolete
Environment::convergeBindings()
method. (#2055) - Removed obsolete
Site::converge()
method. (#2055)
Fixed
- 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)