What's New in 4.5.0

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:


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.


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


  • [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