Blog

Brad Wood

December 20, 2017

Spread the word


Share your thoughts

For today's 12 Tips of (CommandBox) Christmas, we'll talk about staying up to date when it comes to your CLI binary and the modules you have installed.  New versions of stuff come out all the time and you don't want to be stuck on an old version.  

CommandBox Upgrades

Wondering if you're on an old version of  CommandBox?  Just use the upgrade command!

CommandBox> upgrade

In some cases, we can install new versions for you right away from the command line, but any new version that has new jar files will require you to grab the new binary file and replace your current box.exe.  The output of the upgrade command will show you where you can go to download.  

Living on the (bleeding) edge

If you like keeping up with the very bleeding edge of CommandBox, then you can just add the --latest flag to your command.  The bleeding edge versions have all the latest fixes and enhancements, but aren't as well tested.  It's nice to have people keeping up with this version so they can point out any bugs right away before they make it into a stable version.

CommandBox> upgrade --latest

System modules

There's a chance you're using one or more CommandBox module like CFConfig, Ngrok, Hostupdater, or FusionReactor.  These modules also have regular release cycles so you'll want to keep them updated.  To see your system modules, run:
 

CommandBox> list --system

And to tell which of them are out of date you can run:

CommandBox> outdated --system

When you're ready to update them, you can run this:

CommandBox> update --system

Note, these are standard commands you can run on any package to work with your dependencies.  Adding the --system flag just points the commands at the internal modules folder for CommandBox.  

What if I'm lazy?

That's ok to admit.  We've got a new module just for bumps-on-a-log like you that want things spoon fed to them.  Introducing the CommandBox Update Check module!  Install it like so:

CommandBox> install commandbox-update-check

Now every time you start up the shell in interactive mode, it will check for new CLI versions as well as new versions of your system modules and you don't even have to lift a finger!  How cool is that?  

Checking to see if your CLI version is current...
Getting latest versioning information from http://integration.stg.ortussolutions.com/artifacts/
Your version of CommandBox (4.0.0-SNAPSHOT+00834) is already current (4.0.0-SNAPSHOT+00834).

Checking to see if your system modules are current...
Resolving Dependencies, please wait...
There are no outdated dependencies!

   _____                                          _ ____
  / ____|                                        | |  _ \
 | |     ___  _ __ ___  _ __ ___   __ _ _ __   __| | |_) | _____  __
 | |    / _ \| '_ ` _ \| '_ ` _ \ / _` | '_ \ / _` |  _ < / _ \ \/ /
 | |___| (_) | | | | | | | | | | | (_| | | | | (_| | |_) | (_) >  <
  \_____\___/|_| |_| |_|_| |_| |_|\__,_|_| |_|\__,_|____/ \___/_/\_\

CommandBox> _

 

Add Your Comment

Recent Entries

One Language, Every Runtime: BoxLang Expands Beyond the Server

One Language, Every Runtime: BoxLang Expands Beyond the Server

Discover how BoxLang’s multi-runtime architecture helps developers build beyond the server with support for serverless functions, desktop applications, CI/CD workflows, Java integrations, containers, runtime management, and more.

Maria Jose Herrera
Maria Jose Herrera
June 04, 2026
MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026
BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type

BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type

BoxLang 1.14.0 ships something that JVM developers have wanted for a long time: a true first-class Set type baked directly into the language. Not a wrapper you reach for manually, not a createObject( "java", "java.util.HashSet" ) incantation you paste from a Stack Overflow answer years ago. A real BoxSet with literal syntax, operator overloads, a full functional pipeline, change listeners, JSON serialization, and deep Java interop.

Luis Majano
Luis Majano
June 03, 2026