Blog

CommandBox 3.9.0 Released

Brad Wood November 15, 2017

Spread the word

Brad Wood

November 15, 2017

Spread the word


Share your thoughts

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.

Installation

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:

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

Documentation

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:

 

Bug

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

Improvement

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

Add Your Comment

Recent Entries

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
The CFML Talent Gap Is Real: Scale Your ColdFusion Team Without Hiring Full-Time

The CFML Talent Gap Is Real: Scale Your ColdFusion Team Without Hiring Full-Time

ColdFusion applications still power critical systems across industries.

From universities and healthcare platforms to financial services and enterprise internal tools, CFML continues to run many systems organizations depend on every day.

But there’s a growing challenge many teams are quietly facing:

Finding experienced CFML developers is getting harder.

And when internal teams are already stretched thin, even small projects or performance issues can quickly turn ...

Cristobal Escobar
Cristobal Escobar
March 06, 2026
Discover the tools, tricks, and techniques every modern CFML and BoxLang developer needs!

Discover the tools, tricks, and techniques every modern CFML and BoxLang developer needs!

Into the Box 2026 is officially on the horizon, and it’s shaping up to be our most impactful conference yet.

Our mission this year is simple: **Make modernization approachable for everyone.** Whether you’re a seasoned ColdFusion veteran or a developer just starting your BoxLang journey, we’ve priced this event to ensure the entire community can join us in person.

Victor Campos
Victor Campos
March 05, 2026