Joomlatools Console 1.5 is here with some important changes

We're happy to announce that we released v1.5.0 of our Joomlatools Console! This update brings some new features and fixes to everybody's favorite Joomla command line interface.

Here's a short overview of the most important changes.

Chrome users: stop using .dev for test domains!

If you are using Chrome, take note! Since the release of Chrome 63, Chrome pre-loads HSTS headers for all domains ending in .dev. This means that they force a redirect to HTTPS and will not accept self-signed certificates.

For that reason Console will now use the .test gTLD for new hosts on the Vagrant box and when generating Apache config files.

.dev is still supported as an alias for the domain name.

Support for Composer packages

It's now possible to pass Composer package names as valid arguments to the extension:install command, besides extensions in your projects directory.

Example usage:

joomla extension:install mysite joomlatools/composer-helloworld

Clone Git repositories

When you install a new site using the joomla site:create command, it will actually make a copy of the source in your document root.

By adding the --clone argument you can now clone the Git repository directly and start making changes to push back.

Ideal for forks and making contributions to Joomla!

Create Nginx config files

Our recent Vagrant 1.5 release adds Nginx running on port 81, alongside Apache. This Console update adds support for Nginx on the box and will generate the required configuration file for each new site.

Fix Joomla core upgrades

Joomla installations created with the Console tool failed to apply Joomla core upgrades succesfully. This issue has been solved and you can upgrade your Joomla installations without worry from now on!

Allow non-Git repositories as source

You could always use a different source than the original joomla/joomla-cms repository using the --repo flag.

We've made this feature a little bit smarter: pass in an URL or path to a gzipped tarball and it will download and extract it, instead of cloning.

This makes it easier to work in automated environments and with 3rd party distributions.

Override configuration.php

You can create a YAML file with custom configuration values to override the defaults. Point the --options parameter to this file to apply it.

For example, create the file /tmp/custom.yaml with this content:

sitename: 'My Awesome Site'
offline: 1

and then pass it to the site:create command:

joomla site:create mysite --options=/tmp/custom.yaml

If you take a look at configuration.php you'll see that $offline and $sitename have been overridden.

Perfect for automated installs and testing environments!

.. and much more

To get an overview of all changes and fixes, take a look at our changelog.

Upgrading is easy, just run composer global require joomlatools/console:1.5 and you're ready to go! Users of our Vagrant box will be prompted to upgrade automatically.

We'd like to thank our awesome contributors for helping us fix bugs and keep on improving this tool. A big shout out to Matt Saladna from apnscp.com for his excellent PR fixing many minor issues and adding a bunch of interesting features.

If you have any more ideas or suggestions for this tool, we would love to hear from you! Get in touch through our developer channels on Twitter or Facebook.

Happy Joomla coding!