Blog

CommandBox 4.3.0 Released

Brad Wood October 03, 2018

Spread the word

Brad Wood

October 03, 2018

Spread the word


Share your thoughts

We are pleased to release at Adobe ColdFusion Summit 2018 the latest release of the CommandBox CLI, version 4.3.0.  This is a minor release and contains a handful of bug fixes and some nice new features including preliminary Java 9,10, and 11 support.  There were 25 tickets closed out in this release.

Download

You can get CommandBox from all the usual places:

The updated docs are out on GitBook as well.  

https://commandbox.ortusbooks.com/

What's New

We've closed 25 tickets in this release.  Here are some highlights:

Task Target Dependencies

For a task that has more than one target (method) you can specify dependencies that will run, in the order specified, prior to your final target. Specify task target dependencies as a comma-delimited list in a depends annotation on the target function itself. There is no limit to how many target dependencies you can have, nor how deep they can nest.

component {
  
  function run() depends="runMeFirst" {
  }

  function runMeFirst() {
  }

}

Given the above Task Runner, typing

task run

would run the runMeFirst() and run() method in that order.
 

Docs:

https://commandbox.ortusbooks.com/task-runners/task-target-dependencies

GZip Compression

The web server in CommandBox is capable of enabling GZIp compression to reduce the size of HTTP responses. To enable GZip compress on your CommandBox server, add a web.gzipEnable setting in your server.json file.

server set web.gzipEnable=true

Docs: https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/gzip-compression

Add --simple flag to ls/dir command

When you get a directory listing in CommandBox, you can add the --simple flag which will only output the file and folder name without any other information.  This feature was added to compliment the feature below.

ls --simple

forEach Command

The foreach command will execute another command against every item in an incoming list. The list can be passed directly or piped into this command. The default delimiter is a new line so this works great piping the output of file listings directly in, which have a file name per line.

This example will find all JSON files in a directory and run the cat command against them.

ls *.json --simple | forEach cat

Docs: https://commandbox.ortusbooks.com/usage/foreach-command

Java 9/10/11 support

This is still a little experimental since it hasn't gone through full testing, but we upgraded to Lucee 5.2.9.31 in the core CLI which has support for the newer versions of Java.  We've removed the checks that previously preventing CommandBox from even trying to run on versions of Java later than 8 and at first glance it seems to be working though there's been some flakiness on Java 11.  Please help test these later Java versions and remember that if you spin up a server, you'll want to still dial in Java 8 for Adobe CF 2016 and prior and Lucee 5.2.8.50 and prior even if you have the CLI running on Java 9+.

Docs for setting custom Java version in your server: 

https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/custom-java-version

Release notes

Here's the full release notes for CommandBox 4.3.0.

Bug

  • [COMMANDBOX-692] - Command Box failed to initialize using java 9
  • [COMMANDBOX-845] - CFFileServlet doesn't work with default rewrites in ACF 2016
  • [COMMANDBOX-849] - We need to review exit codes in Tasks
  • [COMMANDBOX-856] - WireBox/LogBox upgrade broke system logging
  • [COMMANDBOX-857] - Engine name not detected correctly when using HTTP URL for cfengine
  • [COMMANDBOX-860] - Fix annoying web-inf folder for Flex logs on Adobe engines
  • [COMMANDBOX-861] - Missing line break when following log file
  • [COMMANDBOX-865] - Spelling error in info message for accessLogEnable
  • [COMMANDBOX-867] - coldbox create app cuts last char from package name
  • [COMMANDBOX-869] - Starting Adobe server errors when no CFIDE mapping is defined
  • [COMMANDBOX-871] - CommandDSL parsing doesn't handle quoted text in command

New Feature

Improvement

  • [COMMANDBOX-824] - TestBox Run command could use a way to add custom url parameters. Also the options parameter does nothing
  • [COMMANDBOX-846] - Improve progress bar cleanup and exit codes on Ctrl-C
  • [COMMANDBOX-851] - Allow Java jars to be installed from S3
  • [COMMANDBOX-854] - JSON Schema for server.json
  • [COMMANDBOX-863] - Upgrade CLI to Lucee 5.2.9.31
  • [COMMANDBOX-864] - Support sorting JSON objects by key when formatting
  • [COMMANDBOX-866] - Task DSL assume CWD of task file
  • [COMMANDBOX-868] - coldbox scaffold install testbox by default
  • [COMMANDBOX-870] - Allow command DSL params() to be called more than once
  • [COMMANDBOX-872] - Make resolvePath() in Base command/task
  • [COMMANDBOX-873] - Reload shell doesn't always fire when non-CommandBox modules get updated in core
  • [COMMANDBOX-874] - Allow print helper to accept complex objects and serialize them for output.

Add Your Comment

(2)

Oct 03, 2018 11:56:09 UTC

by Will B.

Wow! Great job, Coldbox team. You guys are *cranking* it over there! Woot!

Oct 03, 2018 14:29:50 UTC

by Daniel Mejia

Sounds good. Keeps getting better!

Recent Entries

The Into the Box 2025 Agenda is LIVE and Done!

The Into the Box 2025 Agenda is LIVE and Done!

The wait is over! The official Into the Box 2025 agenda is now live — and it's packed with high-impact sessions designed for modern CFML and BoxLang developers. Whether you’re building APIs, modernizing legacy apps, diving into serverless, or exploring AI integrations, this is the conference you’ve been waiting for.

Here’s a look at what you can expect — categorized by key topics to help you plan your learning journey, there’s something for everyone covering modern CFML tools and BoxLang:

Maria Jose Herrera
Maria Jose Herrera
April 15, 2025
Only 2 Days Left to Lock In Early Bird Pricing for Into the Box 2025!

Only 2 Days Left to Lock In Early Bird Pricing for Into the Box 2025!

The countdown is on. You have just two days left to secure your Early Bird ticket  for just $199 to Into the Box 2025 before prices increase on April 16.

We are proud to offer an engaging and high-value online experience for developers around the world. With a virtual ticket, you get more than just access — you get ongoing value that supports your growth long after the conference ends.

Maria Jose Herrera
Maria Jose Herrera
April 14, 2025
BoxLang is Going Stable — Join Us for the Big Reveal at Into the Box 2025!

BoxLang is Going Stable — Join Us for the Big Reveal at Into the Box 2025!

BoxLang is the modern, flexible JVM language you've been waiting for. We know what it’s like to need better tools, more freedom, and the ability to scale without limits — because we’ve been there too. That’s why we’re building BoxLang with you and for you. Your feedback, ideas, and needs shape its future.

We’re committed to fair pricing, real support, and a growing ecosystem designed to help us all modernize, innovate, and thrive — together.

Maria Jose Herrera
Maria Jose Herrera
April 14, 2025