Blog

CommandBox 6.1.0 Released!

Brad Wood November 05, 2024

Spread the word

Brad Wood

November 05, 2024

Spread the word


Share your thoughts

We are pleased to announce the release of CommandBox 6.1.0, the latest release of our CLI, REPL, and Server, and Package Manager.  This is a minor update to our last release.  It has a handful of new features, and bug fixes, as well as better out-of-the-box support for BoxLang, our new CFML-compatible JVM language.

If you're still on CommandBox 5.x, please check out our release notes for 6.0.0 as there are some major new features since then. 

Documentation

The docs for 6.1.0 and updated and available here:

https://commandbox.ortusbooks.com/

Download

You can access the 6.1.0 release

What's New

Here's an overview of the notable changes in this release.

Install Lucee core/lex files

The install command will automatically find a local Lucee Server when installing a package that is a Lex file.  There is also now a command called server lucee-deploy to help with installing Lex files (Lucee Extensions) and LCO files (Lucee Core).

It will accept an absolute or relative local file path:

server lucee-deploy myFile.lex

or an HTTP URL to download

server lucee-deploy https://domain.com/path/to/Lucee-core-patch.lco

You can also override the name of the CommandBox server to install into, regardless of what working directory the shell is in:

server lucee-deploy myFile.lex myServer

The command will copy the lex or lco file to the deploy folder of the chosen Lucee server

More info here: https://commandbox.ortusbooks.com/embedded-server/install-lucee-core-lex-files

Package Management binary hash verification

CommandBox now has the capability to verify the MD5 hash of a binary upon installation.  When publishing packages to ForgeBox using ForgeBox's built-in S3 storage, the binary hash will be auto-calculated and stored in ForgeBox along with the package details and automatically checked on every future download.  

More info here: https://commandbox.ortusbooks.com/package-management/creating-packages#custom-binary-hash

WebSocket Support

CommandBox supports WebSockets natively via our SocketBox library.  The WebSocket server in CommandBox is not really a separate "server" per se, since it’s on the same port. It’s just an upgrade listener which will upgrade any WS requests.

This websocket integration will work for Lucee, Adobe, and BoxLang alike as it passes incoming messages to the app via an "internal" HTTP request to /WebSocket.cfc?method=onProcess where the CF/BL code can handle it. The incoming request will have all cookies, headers, hostname, etc that the original websocket connection was started with, so normal CGI variables and session scopes should work fine.

You need to create a custom /WebSocket.cfc class should extend one of the classes described below in this library which provides the base functionality.

More info here: https://commandbox.ortusbooks.com/embedded-server/websocket-support

And here: https://forgebox.io/view/socketbox

Library Updates

We've bumped the versions of several internal libraries including 

  • Lucee (5.4.6.9)
  • JBoss Undertow (2.2.37.Final)
  • Bundled JRE (11.0.25+9)

Release Notes

Here is the full list of tickets closed in the 6.1.0 release.

 

New Feature

COMMANDBOX-1630 Updates to run BoxLang

COMMANDBOX-1635 Add command to deploy Lucee lex or lco files

COMMANDBOX-1637 Check if an entry has a hash associated to it and validate it

COMMANDBOX-1638 Create a hash of the binary when storing the zip and return it to ForgeBox

COMMANDBOX-1642 WebSocket Server

Improvement

COMMANDBOX-1620 Sort by date last started when finding a server by web root

COMMANDBOX-1622 Make semantic version prerelease identifiers not case sensitive

COMMANDBOX-1627 default servlet pass predicate include Boxlang files

Bug

COMMANDBOX-1616 Legacy SSL config doesn't respect enable = false

COMMANDBOX-1617 Static web server no longer works

COMMANDBOX-1619 second level dependencies inside of a top level dependency's box.json always install latest stable version

COMMANDBOX-1621 "Java search" returns no results

COMMANDBOX-1623 framework rewrites double-encode path info

COMMANDBOX-1625 CommandBox 6 not putting trailing slashes in URL

COMMANDBOX-1629 SES paths return false from is-file predicate for value files with a path info

COMMANDBOX-1633 backslash in JSON object keys not escaped when printing JSON

COMMANDBOX-1643 forgebox version-debug errors

Task

COMMANDBOX-1626 Update to Undertow 2.2.33.Final

COMMANDBOX-1631 Update to Lucee 5.4.6.9

COMMANDBOX-1632 Update bundled JRE to 11.0.23+9

 

Add Your Comment

Recent Entries

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024