Blog

CommandBox 5.1.0 Released

Brad Wood May 22, 2020

Spread the word

Brad Wood

May 22, 2020

Spread the word


Share your thoughts

We are pleased to announce the release of CommandBox 5.1.0.  This is a minor release of your favorite CLI and package manager and contains 37 completed tickets including many bug fixes and some sweet new features.

Come and get it!

You can download the latest release from our download page:

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

And you can check out the latest version of the docs here:

https://commandbox.ortusbooks.com/v/5.1.0/

New Stuff

Here's some highlights of this release:

Java 14 support

Java 14 is now supported in CommandBox 5.1.0.  In order to support Java 14, we had to stop using Pack200 which means the binary sizes have grown a little.  The good news is CommandBox will start up a little faster on its first run since there's less to unpack now.

Start pure HTML Server

You can start up a lightweight server that only serves static files now with CommandBox.  

server start cfengine=none

https://commandbox.ortusbooks.com/v/5.1.0/embedded-server/start-html-server

New CommandBox Light and CommandBox Thin Binaries

In pursuit of the smallest possible Docker images, we have CommandBox light which is built on Lucee Light.  We also have a box "thin" binary you can swap out with the full self-extracting binary when using CommandBox in custom docker images.  Check out Pete Freitag's Minibox image to see both of these in use in a super tiny 78 Meg docker image.  More docs here:

https://commandbox.ortusbooks.com/v/5.1.0/setup/light-and-thin-binaries

Force working directory when starting

If you're using box in an integration where you want it to start up in a specific working directory, there is a new bootstrap CLI arg for that.

box -cliworkingDir=C:/my/path/here/

https://commandbox.ortusbooks.com/v/5.1.0/usage/execution#custom-working-directory

Server tray menu item custom commands

You've always been able to specify custom menu items in your server.json or global config settings, but we've kicked it up a notch.  Not only can you contribute to existing sub menus now, you can execute arbitrary native commands synchronously or async.

{
    "trayOptions" : [
        {
            "label" : "Does the Internet work?",
            "action" : "run",
            "command" : "ping google.com"
        },
        {
            "label" : "Math is math!",
            "action" : "runAsync",
            "command" : "calc.exe"
        },
        {
            "label" : "Update dependencies",
            "action" : "runTerminal",
            "command" : "box update"
        }
    ]
}

Release Notes

Here's the full list of tickets closed down in the 5.1.0 release.

Bug

  • [COMMANDBOX-1121] - Runwar deadlocks when using Lucee server warmup flag
  • [COMMANDBOX-1122] - Server start console output isn't always formatted correctly
  • [COMMANDBOX-1125] - Boolean env var causes error on server start
  • [COMMANDBOX-1127] - Output of foreach can't be piped
  • [COMMANDBOX-1133] - Lucee Extension install doesn't recognize Lucee Light
  • [COMMANDBOX-1135] - Package unlink command misspelled parameter moduleDirectory as moduleDrectory
  • [COMMANDBOX-1137] - Package link command misspelled parameter moduleDirectory as moduleDrectory
  • [COMMANDBOX-1140] - Tab complete doesn't work on Windows paths with backslashes
  • [COMMANDBOX-1144] - CommandBox Watcher shows error on Ctrl-C
  • [COMMANDBOX-1148] - Extension management doesn't "recognize" a Lucee server started with --dryRun
  • [COMMANDBOX-1151] - Downgrading a package with install doesn't work without --force
  • [COMMANDBOX-1152] - The run command doesn't always seem to kill interactive binaries
  • [COMMANDBOX-1154] - Relative paths incorrect in drive root on *nix
  • [COMMANDBOX-1166] - Using a warPath of ./ gets normalized to "" and then ignored in subsequent starts
  • [COMMANDBOX-1176] - native commands with * can fail due to missing regex escape
  • [COMMANDBOX-1177] - Incorrect serverInfo for a server that hasn't started

New Feature

  • [COMMANDBOX-1015] - Allow arbitrary actions for menu items
  • [COMMANDBOX-1019] - Allow to start a pure HTML server
  • [COMMANDBOX-1130] - Update ColdBox Templates to new standards
  • [COMMANDBOX-1145] - Allow default working dir of box to be overridden
  • [COMMANDBOX-1146] - Create box-thin binaries that don't bundle any libs
  • [COMMANDBOX-1147] - Create CommandBox Light built that uses Lucee Light jar
  • [COMMANDBOX-1153] - Add two new methods to commands for working with async futures: getCurrentThread() getThreadName()
  • [COMMANDBOX-1170] - TestBox run commands now support the outputFormats argument to allow you to output post-test reports in many formats
  • [COMMANDBOX-1171] - TestBox revamped UI for the CLI reporter
  • [COMMANDBOX-1172] - Add Java info debug to box binary

Task

Improvement

Add Your Comment

(2)

May 22, 2020 10:18:39 UTC

by Daniel Mejia

HTML only server is sweet!

May 22, 2020 10:32:29 UTC

by Brad Wood

Yep, we got tired of having to touch Node just to spin up a simple server. I did some tests, and the HTML-only server can run pretty well on very small heap sizes like 64MB.

Recent Entries

BoxLang 1.0.0 Beta 22 Launched

BoxLang 1.0.0 Beta 22 Launched

The BoxLang 1.0.0-Beta22 release includes several improvements, bug fixes, new features, and stories. Key improvements include enhanced redirection for the Miniserver, better transactional event broadcasting, and added convenience methods like getRequestContext() and getApplicationContext(). Bug fixes address issues such as JSON deserialization, whitespace management, and various errors related to data types and loops. New features include support for multiple statements inside queries and a new datasourceRegister() BIF for easier SaaS integrations.

Jon Clausen
Jon Clausen
November 15, 2024
Is Cloud the Answer for Your ColdFusion Dilemma?

Is Cloud the Answer for Your ColdFusion Dilemma?

Feeling the limits of an on-premise ColdFusion setup?

Many businesses face high costs, limited scalability, and performance bottlenecks, leaving them wondering if the cloud could be the answer.

In our FREE whitepaper, "Is Cloud the Answer for Your ColdFusion Dilemma?", we explore:

  • Benefits of Migrating to the Cloud: From cost savings to increased flexibility, find out what a cloud-based ColdFusion setup can do.
Cristobal Escobar
Cristobal Escobar
November 13, 2024
Mastering Events and Listeners in CBWIRE

Mastering Events and Listeners in CBWIRE

In CBWIRE, events and listeners are the backbone of building responsive, modular applications without relying heavily on JavaScript. This guide walks you through setting up and using CBWIRE events to create seamless interactions between components, from dispatching events in CFML and frontend templates to listening with Alpine.js and JavaScript. Learn how to make your applications feel dynamic and engaging by effortlessly connecting components. Whether you’re triggering events to update a dashboard or targeting specific parts of your app with dispatchTo, these techniques will empower you to create a modern, interactive CFML experience with ease.

Grant Copley
Grant Copley
November 11, 2024