CommandBox 5.9.0 Released!

Brad Wood May 01, 2023

Spread the word

Brad Wood

May 01, 2023

Spread the word

Share your thoughts

We are pleased to announce the release of CommandBox 5.9.0.  This is a minor update which addresses one small regression in 5.8.0, fixes a couple bugs, and introduces a handful of small features, including preliminary support for Java 17.


You can acquire CommandBox 5.9.0 in all the usual places.  Our download page, Homebrew, and our Apt/Yum repos.


The docs for 5.9.0 are updated and available here:

What's New

Here is an overview of new features in this release.

Java 17 Support

Java 17 was a breaking change for Java users as it now blocks illegal reflective access.  Both Adobe and Lucee have been slow to address this.  Lucee 5.3.10 mostly seems to run on Java 17, but only the public beta of ColdFusion 2023 (Fortuna) supports Java 17.  You may want to start testing Java 17 out, so the CommandBox CLI and its servers seem to have basic support for running on Java 17 now.  Note, you may need to add additional JVM args to any servers based on the specific Java libraries you use.

Library Updates

We've bumped library versions such as Redhat Undertow to stay current with recent CVE fixes.  

Override package install paths

If you have a project and want all packages of a certain type to use a different-than-normal default install location, you can override each package type just for that project.  Create an installPathConventions key in the containing package's box.json which is an object containing keys for each package type you wish to override package install paths for.

  "installPathConventions" : {
    "modules" : "../lib/modules",
    "mvc" : "../lib/framework",
    "testing" : "they-will-never-find-it-here-lol/"

Read more:

ls --tree

You can get recursive file listings now in a tree view by using the --tree flag

ls --tree

Tree Print Helper

In task runners and custom commands, you can now tap into the same tree printer that the "package list" and "ls --tree" use to output your own ASCII trees.

print.tree(  [
	'Ortus Solutions' : [
		'Products' : [
			'Open Source' : {
				'ColdBox MVC' : {},
				'CommandBox CLI' : {},
				'ContentBox CMS' : {}
			'Commercial' : {
				'ForgeBox Pro' : {},
				'CommandBox Pro' : {},
				'TimeBox BMP' : {}
		'Services' : {
			'Consulting' : {},
			'Training' : {},
			'Design' : {}
] )

which outputs

└─┬ Ortus Solutions
  ├─┬ Products
  │ ├─┬ Open Source
  │ │ ├── CommandBox CLI
  │ │ ├── ContentBox CMS
  │ │ └── ColdBox MVC
  │ └─┬ Commercial
  │   ├── ForgeBox Pro
  │   ├── TimeBox BMP
  │   └── CommandBox Pro
  └─┬ Services
    ├── Training
    ├── Design
    └── Consulting

Read More:

Column Print Helper

There is also a print helper method for task runners and custom commands as well as a CLI command you can use that accepts an array or list of simple values and prints them in a column format based on the widest value and the available terminal width.

ls --simple | printColumns

Read More:

unansi Command

This command will accepted piped text and strip any ANSI formatting from it.  Especially useful if piping the text to a native OS binary which doesn't handle formatting well.

package list | unansi

clipboard Command

We've introduced a new command for piping text onto your native operating system's clipboard.  

echo "Hello World!" | clipboard
Copied to clipboard!

Release Notes

Here's the full list of all the changes in CommandBox 5.9.0.

New Feature

COMMANDBOX-1574 Add support via box.json to override install path locations by convention


COMMANDBOX-1569 Multi-select fails when terminal height is < 10

COMMANDBOX-1576 "server java install" and "java search" don't detect Alpine Linux

COMMANDBOX-1577 5.8.0 accidentally removed debug/trace logging from console

COMMANDBOX-1584 Servers with word "balance" in name don't start correctly

COMMANDBOX-1585 Tuckey rewrite file/dir checks fail with URL encoded chars in URI


COMMANDBOX-1568 "testbox run" auto-create parent report directories & allow absolute paths

COMMANDBOX-1578 Support Java 16+

COMMANDBOX-1579 Add tree view for file listing

COMMANDBOX-1580 Create unansi command that strips ansi formatting from input

COMMANDBOX-1581 Add print.columns() helper and printColumns command

COMMANDBOX-1582 Create clipboard command to copy text to clipboard

COMMANDBOX-1583 Make generic tree output (like package list)

COMMANDBOX-1588 Add current working dir to terminal window


COMMANDBOX-1573 Update to Undertow 2.2.24-Final


Add Your Comment

Recent Entries

CBWIRE 3.0.0 Released

CBWIRE 3.0.0 Released

We are very excited to announce the release of version 3 of CBWIRE, our ColdBox module that makes building modern, reactive apps a breeze. This version brings with it a new component syntax, 19 enhancements and bug fixes, and improved documentation. Our biggest goal with this release was to improve the developer experience and to provide a low barrier to entry to getting started with CBWIRE.

Grant Copley
Grant Copley
May 22, 2023
ColdBox 7.0.0 Released

ColdBox 7.0.0 Released

Introducing ColdBox 7: Revolutionizing Web Development with Cutting-Edge Features and Unparalleled Performance

We are thrilled to announce the highly anticipated release of ColdBox 7, the latest version of the acclaimed web development HMVC framework for ColdFusion (CFML). ColdBox 7 introduces groundbreaking features and advancements, elevating the development experience to new heights and empowering developers to create exceptional web applications and APIs.

Designed to meet the evolving needs of modern web development, ColdBox 7 boasts a range of powerful features that streamline the development process and enhance productivity. With its robust HMVC architecture and developer-friendly tools, ColdBox 7 enables developers to deliver high-performance, scalable, and maintainable web applications and APIs with ease.

Esme Acevedo
Esme Acevedo
May 16, 2023
TestBox v5.0.0 Released!

TestBox v5.0.0 Released!

We are excited to announced the release of Testbox version 5, which brings a host of new features and improvements for developers. TestBox is a powerful and flexible tool that helps developers write comprehensive BDD/TDD tests for their applications, ensuring code quality and reducing the likelihood of bugs and errors. With TestBox v5, developers can take advantage of new features such as batch code coverage testing, improved reporting capabilities, method spies, and better integration with other tools in the Ortus suite.

These new features make TestBox even more versatile and user-friendly, and provide developers with a powerful tool for building high-quality, reliable applications.


Luis Majano
Luis Majano
May 11, 2023