We are pleased to announce the general availability of CommandBox 3.9.0, just in time to be announced at Adobe ColdFusion Summit 2017!.  This is a minor release of our CFML CLI, REPL, Package Manager, and portable server.  3.9 comes with a few new features as well as a nice list of bug fixes and enhancements.


You can get this latest version of CommandBox in several ways:

  • On Mac, use Homebrew to update
  • On Linux, use apt-get or yum to update
  • On Windows, download a new box.exe from our download page:



We have fully updated our CommandBox GitBook: https://commandbox.ortusbooks.com/content/

We have also updated the Command API docs: http://apidocs.ortussolutions.com/commandbox/current

New Stuff

You can read an overview of the new features and bug fixes in  CommandBox 3.9.0 here in this blog post that announced the release candidate.  Here are the full release notes of all the JIRA tickets for your reference as well:



  • [COMMANDBOX-579] - --debug flag is eaten when running CommandBox from native OS
  • [COMMANDBOX-640] - Ensure clean install/update of packages
  • [COMMANDBOX-681] - Touching file in nonexistent directory errors instead of creating directory
  • [COMMANDBOX-682] - CommandDSL that errors out doesn't reset CWD
  • [COMMANDBOX-684] - positional task args don't work
  • [COMMANDBOX-686] - cp command doesn't work for folders
  • [COMMANDBOX-689] - CommandBox Modules customInterceptionPoints can't accept an array
  • [COMMANDBOX-690] - CommandBox has no `processState` method on the InterceptorService
  • [COMMANDBOX-691] - Flags aren't passed correctly to task runners
  • [COMMANDBOX-701] - CFML functions don't handle incoming JSON with pound signs

New Feature

  • [COMMANDBOX-653] - Expose Runwar AJP listener settings
  • [COMMANDBOX-663] - Update server list and server info to be able to show all the servers on a particular directory
  • [COMMANDBOX-668] - New package link and package unlink commands
  • [COMMANDBOX-680] - Add ad-hoc JVM props via an environment variable


  • [COMMANDBOX-178] - Don't store text entered to "ask()" command in history
  • [COMMANDBOX-565] - Handle minor version updating a bit better
  • [COMMANDBOX-607] - Always store dependency install paths with forward slashes
  • [COMMANDBOX-609] - Have a setting to not show secrets when printing out the config
  • [COMMANDBOX-624] - Support UNC file paths on Windows
  • [COMMANDBOX-639] - JSON format for forgebox endpoints
  • [COMMANDBOX-659] - Ask user for required params to task runners
  • [COMMANDBOX-660] - Visually show if a package is private when listing or showing
  • [COMMANDBOX-661] - make package init create correct slug for private package
  • [COMMANDBOX-662] - Make default command parms work on aliases
  • [COMMANDBOX-670] - Box install failures to produce non-zero exit codes so build fails instead of continuing installation.
  • [COMMANDBOX-683] - Provide ANSI formatting for markdown package descriptions
  • [COMMANDBOX-685] - box.json template isn't proper JSON
  • [COMMANDBOX-687] - Remove background color from CommandBox ASCII art
  • [COMMANDBOX-688] - Default rewrite rules to ignore favicon.ico
  • [COMMANDBOX-694] - Disable Secure Profile on CFEngine WARs
  • [COMMANDBOX-696] - Leave space around URLs so some consoles will be clickable
  • [COMMANDBOX-697] - Improve performance of package install ignores
  • [COMMANDBOX-700] - Improve error message in ServerService.getRandomPort()
  • [COMMANDBOX-707] - Prevent unnecessary writes to box.json file when installing dependencies
  • [COMMANDBOX-708] - Improve formatting when asking for required param that has no hint
  • [COMMANDBOX-712] - Add Java 9 check to CommandBox until its supported