Blog

CommandBox 4.5.0 Released

Brad Wood December 24, 2018

Spread the word

Brad Wood

December 24, 2018

Spread the word


Share your thoughts

We are pleased to announce the general availability of CommandBox 4.5.0.  This minor release contains some major new features in terms of managing your Java installations for servers and comes just in time as free Oracle support ends and OpenJDK is on everyone's Christmas lists!

Get the New Stuff

You can download CommandBox 4.5.0 from our product page:

https://www.ortussolutions.com/products/commandbox#download

The updated reference docs can be found here:

https://commandbox.ortusbooks.com/v/4.5.0/

The updated command API docs can be found here:

https://apidocs.ortussolutions.com/commandbox/4.5.0/index.html

What's New

The main features of CommandBox 4.5.0 are:

  • Ability to install OpenJDK automatically for your servers to use (read more)
  • Environment Variables in the shell (read more)
  • Support for Forgebox Enterprise (TBA soon)
  • JRE Bundled CommandBox installs now use OpenJDK instead of Oracle JDK
  • TestBox Code Coverage integration (read more)

I already wrote a fairly comprehensive overview of the new features and big fixes here.  Go read it:

https://www.ortussolutions.com/blog/commandbox-450-rc-release-candidate-ready-for-testing

Note, there are two backwards incompatible changes.  The first is we turned OFF directory browsing by default on servers.  You can easily get the old behavior back with

config set server.defaults.web.directoryBrowsing=true

The second is that unhandled errors in the shell no longer show the stack trace (you probably wouldn't have noticed if I didn't tell you!)  Get the old behavior back with:

config set verboseErrors=true

Release Notes

Here's the full list of everything that went into this release.

Bug

New Feature

  • [COMMANDBOX-516] - Add concept of env vars for commands to use
  • [COMMANDBOX-906] - Add preCommandParamProcess interception point
  • [COMMANDBOX-907] - outdated commands now verify packages in parallel
  • [COMMANDBOX-908] - Automatically download JRE for server if specified by version range
  • [COMMANDBOX-910] - Support multiple ForgeBox endpoints
  • [COMMANDBOX-911] - New Java endpoint that ties into the AdpotOpenJDK builds
  • [COMMANDBOX-914] - Make exit code of native binary from run command available in the exception that is thrown
  • [COMMANDBOX-916] - Pull Code Coverage data on "testbox run"
  • [COMMANDBOX-921] - Allow recipe args to be used as environment variables for that command

Improvement

  • [COMMANDBOX-896] - Add ETA to progress bar when downloading
  • [COMMANDBOX-898] - Improve default handling of JVM heap size
  • [COMMANDBOX-900] - Default directoryBrowsing to false
  • [COMMANDBOX-902] - Allow box to be called with a single string containing a command chain
  • [COMMANDBOX-904] - Prevent folder endpoint from picking up folders in CWD on install
  • [COMMANDBOX-909] - Hide stack trace by default when CLI errors
  • [COMMANDBOX-922] - Allow recipe command to accept arbitrary commands directly
  • [COMMANDBOX-923] - Include mapping-tag in rewrite exclusion list
  • [COMMANDBOX-924] - Update JRE builds to use OpenJDK instead of Oracle JDK
  • [COMMANDBOX-925] - Provide all other args to command completor UDFs
  • [COMMANDBOX-926] - Announce postInstall interceptions even if package was found to be already installed

Add Your Comment

(2)

Apr 18, 2019 21:49:41 UTC

by Andrew Mercer

Can command box work with openjdk 11? $brew install commandbox commandbox: Java 1.8 is required to install this formula. JavaRequirement unsatisfied! You can install with Homebrew Cask: brew cask install homebrew/cask-versions/java8 You can download from: https://www.oracle.com/technetwork/java/javase/downloads/index.html Error: An unsatisfied requirement failed this build. $ java --version openjdk 11.0.1 2018-10-16 OpenJDK Runtime Environment 18.9 (build 11.0.1+13) OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

Apr 18, 2019 21:55:27 UTC

by Brad Wood

CommandBox can be made to work with Java 11, but it is not officially supported. I wish this wasn't the case, but I've have my hands tied for months and months by Lucee waiting for Lucee 5.3 to finally release. However, now that Lucee 5.3.1 has released it is full of regressions and bugs that completely prevent me from using it in CommandBox. I have entered ticket for each of these and sadly can't move forward until they are addressed.

Recent Entries

Hotfix Hell: Why Legacy ColdFusion Systems Become Operationally Fragile

Hotfix Hell: Why Legacy ColdFusion Systems Become Operationally Fragile

Many legacy CFML systems do not fail suddenly.

Instead, they slowly become fragile.

At first, the application works. Then small operational issues start appearing: unexpected slowdowns, random restarts, patches applied late at night, fixes that introduce new bugs.

Eventually teams find themselves trapped in what many engineers call “hotfix hell.”

This pattern is common in environments still running:

  • Adobe ColdFusion 2021 or earlier<...

Cristobal Escobar
Cristobal Escobar
March 09, 2026
Introducing the BoxLang IDE Plugin for IntelliJ

Introducing the BoxLang IDE Plugin for IntelliJ

The IntelliJ ecosystem is one of the most powerful development environments for JVM developers. Today, we’re excited to introduce the official BoxLang IDE plugin for IntelliJ, bringing modern BoxLang development directly into the JetBrains IDE family.

Whether you're building new BoxLang applications or maintaining existing CFML codebases, this plugin gives you first-class tooling inside IntelliJ.

...

Eric Peterson
Eric Peterson
March 06, 2026
BoxLang Is Heading to JavaLand 2026! 🚀

BoxLang Is Heading to JavaLand 2026! 🚀

We’re excited to announce that the team behind BoxLang will be attending JavaLand 2026 as Startup Sponsors!

From March 10–12, 2026, the Java community will gather at Europa-Park for one of the most unique and immersive developer conferences in Europe. With nearly 130 presentations across multiple tracks, workshops, and community activities, JavaLand brings together developers, architects, and technology leaders from across the JVM ecosystem.

For the BoxLang team, this is a fantastic opportunity to connect with the Java community and continue our mission: modernizing software development on the JVM while empowering developers with productive, flexible tools.

Maria Jose Herrera
Maria Jose Herrera
March 06, 2026