We are pleased to announce the general availability of CommandBox 3.1.1 Final. This is a minor release of our CLI tool, but with some major new features. We actually made the final 3.1.1 builds public a couple weeks ago for Into The Box, but have just now finalized the documentation and press release.
Upgrade/Install
First things first, to start using CommandBox 3.1.1 right away, visit our download page and grab the latest binary for your operating system and replace the previous binary. The next time you run a box command, the upgrade will complete in a few seconds.
Read Up
We've updated our GitBook-based docs to cover all the new features. As usual, please send pull requests for any doc typos or mishaps you see. Also updated are the new Command API docs that cover the new commands and parameters.
What's New
There's a nice lineup of new goodies for you to play with in CommandBox 3.1.1. Here's a quick rundown of what we've included for you.
Multi-Server
Now CommandBox will not only start up Lucee 4 servers with a single command, but you can start up Adobe ColdFusion, Railo, and even Luce 5 servers all at the same time. Now it's easier than ever to test your code across multiple platforms. CommandBox's embedded server makes for a fast and easy development machine too regardless of what CF engine you need.
# Start the latest stable Railo engine CommandBox> start cfengine=railo # Start a specific engine and version CommandBox> start cfengine=adobe@10.0.12 # Start any Java WAR CommandBox> start WARPath=/var/www/myApp.war
ForgeBox 2.0 API
We'v released a brand new ForgeBox.io site with a new UI, fresh features, and a shiny new API. CommandBox 3.1.1 is now powered by the new ForgeBox site and API which includes features like having more than one version for a package.
Semantic Versioning support
When you install packages from ForgeBox, you can use fancy semver ranges to specify the versions of a package you're willing to install. CommandBox will automatically grab the latest version that satisfies your version range. This also applies to the "update" command which makes keeping your projects' dependencies up-to-date even easier.
# A specific version CommandBox> install foo@1.2.3 # Any version with a major number of 4 (4.1, 4.2, 4.9, etc) CommandBox> install foo@4.x # Any version greater than 1.5.0 CommandBox> install foo@>1.5.0 # Any version greater than 5.2 but less than or equal to 6.3.4 CommandBox> install "foo@>5.2 <=6.3.4"
Create user from CLI
Another feature of the new ForgeBox site is the ability to create a new ForgeBox user right from the CLI. After creation, you'll be logged in with your ForgeBox API Key which let's you update your packages.
CommandBox> forgebox register
Publish packages from the CLI
You no longer need to visit the ForgeBox web site to publish new or updated packages to ForgeBox. This is all available from the CLI once you've logged in. This means you can even automate the process of publishing to cut down on the number of manual steps it takes you to update your projects and share those changes with the community.
CommandBox> forgebox publish
Interceptor-based CLI scripts
You can now run commands of your choosing automatically when certain events in the CLI happen (like publishing a package, or starting a server). You can also create ad-hoc collections of commands to run whenever you want to help automate things like building your projects or publishing to ForgeBox.
{ "name" : "My Package", "slug" : "my-package", "version" : "1.0.0", "scripts" : { "postVersion" : "package set location='gitUser/gitRepo#`package version`'" "postPublish" : "!git push" } }
Have Fun
We hope you enjoy playing with the new features. As always, jump on our mailing list, or the CFML slack team with any questions or feedback. And remember, we provide tools like CommandBox CLI free of charge to the community as professionally-supported open source. If you have specific needs in the form of features or training for your team, Ortus is here to help you. Contact us with any questions.
Add Your Comment