Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
When you start an Adobe or Lucee CF Engine, the WAR CommandBox uses has a stock web.xml baked into it. Sometimes you may want to add custom servlets, servlet mappings, etc into your server. You can override the stock web.xml in part or in total with a file of your own which you specify in the server.json like so:
More info here:
https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/web.xml-overrides
In addition to quoting parameter values, parameter names can also be quoted. This is useful when setting keys into settings or JSON files that have spaces, hyphens or special characters. Each of these examples are now supported:
More info here:
https://commandbox.ortusbooks.com/usage/parameters
Lucee Server has been updated to 5.3.8.201 and JBoss Undertow has been updated to 2.2.10.Final. The Lucee update, as usual, applies to the CLI as well as the default server you get when you run server start.
When you install a Jar via HTTP URL and the version number is baked into the URL, the jar endpoint now makes more assumptions about what the version of the package is that allows it to optimize the update checks and eliminate unnecessary downloads.
More info here:
https://commandbox.ortusbooks.com/package-management/code-endpoints/jar-via-http#semantic-versioning
Here are some fun commands for user interactivity in the shell. You can use these as part of a recipe or a nice "one-liner".
The ask command is similar to the ask() method in Task Runners. It requires an interactive terminal and will ask the user a question and return their answer. It is meant to be changed with other commands.
or with default values
or with masked input
Or fun stuff like this
The confirm command will ask the user a yes/no question and return a passing or failing exit code from the command based on the answer.
Remember the && operator will only execute the second command if the first command returns an exit code of 0.
More info here:
https://commandbox.ortusbooks.com/helpful-commands/ask-and-confirm
You can easily forget all servers which have not been started for a certain period of time with the server prune command. It accepts the number of days that need to have passed since a server was last started in order to prune it.
More info here:
https://commandbox.ortusbooks.com/embedded-server/manage-servers#prune-old-servers
Here are the full release notes for CommandBox 5.4.0
COMMANDBOX-1364 Cancelling a prompt with active job doesn't clear job logs
COMMANDBOX-1361 Param tab completion is off-by-one when piping
COMMANDBOX-1360 Can't list files in directory with brackets ( [ or ] ) in the name
COMMANDBOX-1356 forgebox timeout is too small when publishing packages
COMMANDBOX-1354 dir command returns no results in drive root
COMMANDBOX-1353 Summary over 200 chars in box.json causes error when publishing
COMMANDBOX-1352 Addition of Apache logging classes breaks 3rd party libs using it
COMMANDBOX-1350 Installing a system module as one-off command doesn't clear wirebox metadata cache
COMMANDBOX-1348 Commenting server rules doesn't work correctly in text files
COMMANDBOX-1346 CommandDSL doesn't handle struct args
COMMANDBOX-1344 create a server prune command
COMMANDBOX-1339 Server start can hang when CF engine blows up
COMMANDBOX-1338 Tab complete doesn't work after a pipe
COMMANDBOX-1337 Working dir of server custom menu items doesn't default properly
COMMANDBOX-1336 Error when setting failing exist code in Task Runner
COMMANDBOX-1334 updating commandbox to 5.3.1 via Homebrew breaks with a java error
COMMANDBOX-1333 Rewrite rule with query string doubles up question mark
COMMANDBOX-1332 printTable column validation breaks with spaces in list
COMMANDBOX-1330 Directory listing not showing folders properly when names are numeric
COMMANDBOX-1230 Certain Java installs fail version check
COMMANDBOX-1366 ask and confirm command to capture user input from shell
COMMANDBOX-1365 Improve version handling in JAR endpoint
COMMANDBOX-1351 Update to Lucee 5.3.8
COMMANDBOX-1347 Support dots in struct keys with set/show/clear commands
COMMANDBOX-1342 printTable custom header names for non-array input
COMMANDBOX-1331 Add printTable check for data with no columns
COMMANDBOX-1329 Sort column names in printTable --debug
COMMANDBOX-1362 Set env vars directly in server.json for local one-off overrides
COMMANDBOX-1011 Support web.xml Overrides
COMMANDBOX-1363 Update to Undertow 2.2.10.Final
Bug
COMMANDBOX-1374 Some installs unnecessarily write to the box.json
COMMANDBOX-1370 ConfigService::settingExists() fails in race conditions due to non-varscoped variables in JSONService
COMMANDBOX-1372 Support excludePaths in watcher DSL and watch command
COMMANDBOX-1369 Ensure Adobe wars have a seeds.properties file
COMMANDBOX-1368 Add tab complete for "env clear" command
COMMANDBOX-1367 Ignore empty startScript on server start
There is a fix for a regression introduced in 5.4.0 where updating the version of a CF engine doesn't work without forgetting the server first.
There is also an important security improvement to CommandBox servers. Thanks to Abram Adams for reporting this to Ortus so we could address it.
Note, the details of the security improvement have been tracked privately.
COMMANDBOX-1382 Java path shows up twice in "server info --verbose"
COMMANDBOX-1381 Updating server in-place keeps old web.xml path
COMMANDBOX-1375 recipe with multiple "install" instructions fails
COMMANDBOX-1380 Add additional interceptData to server interceptors
COMMANDBOX-1379 Update to WireBox 6.5.2
COMMANDBOX-1376 Immediately activate modules after installation
COMMANDBOX-1349 Improve multiselect DSL
COMMANDBOX-1120 Add JSON and Properties output for info command
JLine - 3.19.0
jGit - 5.11.0.202103091610-r
Launch4j - 3.14
JANSI - 2.3.2
When you configure libDirs for a server, CommandBox used to only load jar files found in the root. Now it will include sub directories which gives you more flexibility around how to install your jars.
In the previous release, we introduced a new helper for printing ASCII Art tables in your custom commands and task runners. We've taken this a step further and wrapped the table printer utiilty in a new command so you can use it from the CLI directly. We've also expanded its functionality to accept ANY data in as JSON and it will marshall it into a query for you. This means it can be a query, an array of structs, an array or arrays, and more. You can now get quick and easy visualization of any data right from the CLI or in builds.
As if the previous command isn't cool enough, we've also added a new "sql" command which will also accept any sort of data as JSON, marshall it into a query object and allow you to alias, filter, order, and limit the rows on the fly using CFML's query of queries!
The sql command works very nicely with the new tablePrinter command, and truly makes JSON a first class citizen of the CommandBox CLI.
We've made a small adjustment to the print.table() helper that was introduced in CommandBox 5.3.1 as follows. The old method signature is
And the new method signature is:
The parameters to the new printTable command matches the NEW method signature of the print.table() helper as well.
When working with XML in the REPL, formatting is now applied when the XML is printed out to the console, making it easier to read (same as JSON)
COMMANDBOX-1320 Server stop doesn't message user when it fails
COMMANDBOX-1319 Stop loading cfusion/lib in system class loader
COMMANDBOX-1318 5.3.0 errors with commandbox-dotenv 1.x versions due to WireBox change
COMMANDBOX-1314 When building Lucee war from local jars, seeded web.xml file is ignored
COMMANDBOX-1311 Table printer error with no rows
COMMANDBOX-1310 update '{slug}' fails as it is trying to print the package version and its dependencies.
COMMANDBOX-1308 Relative Web Alias Behavior (regression)
COMMANDBOX-1307 jq doesn't resolve file paths to current working directory
COMMANDBOX-1303 CFEngine adobe - Could not initialize class coldfusion.vfs.VFile when using s3 protocol
COMMANDBOX-1328 Improve performance of piping large strings to "cfml" command
COMMANDBOX-1317 Format XML in REPL
COMMANDBOX-1316 Change default CLI JSON representation of query to array of structs
COMMANDBOX-1306 Allow upgrade command to pull stable versions when CLI is a prerelease version
COMMANDBOX-1305 Update bundled java libraries
COMMANDBOX-1302 app.libDirs does not load jars/classes recursively from sub folders
COMMANDBOX-1210 Allow for relative URLs when defining trayoption elements
COMMANDBOX-1194 Add Libraries To Runwar Necessary For URLRewrite Proxy
COMMANDBOX-1324 New "printTable" command to add CLI usage of table printer
COMMANDBOX-1323 New "sql" command to filter tabular data with SQL
COMMANDBOX-1321 Add --verbose to 'server stop' to see raw output
COMMANDBOX-1309 Add printTable command that proxies to print.table() helper
In this section you will find the release notes for each version we release under this major version. If you are looking for the release notes of previous major versions use the version switcher at the top left of this documentation book. Here is a breakdown of our major version releases.
Versions 5.x - Mar 2020 - May 2021
Versions 4.x - Jun 2018 - Sept 2019
Versions 3.x - Feb 2016 - Nov 2017
Versions 2.x - June 2015 - Nov 2015
Versions 1.x - Feb 2015
In this section you will find the release notes for the 5.x version of CommandBox.
Version 5.4.2 - October 2021
Version 5.4.1 - September 2021
Version 5.4.0 - August 2021
Version 5.3.0 - May 2021
Version 5.2.1 - Dec 2020
Version 5.2.0 - Nov 2020
Version 5.1.1 - June 2020
Version 5.1.0 - May 2020
Version 5.0.0 - Mar 2020