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

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management

The Hidden Costs of In-House Database Management


Opting for in-house database management involves more than just a salary. Here are some often-overlooked costs associated with maintaining your own DBA team.



1. High Salaries and Benefits


Hiring skilled DBAs is expensive. According to industry reports, the average salary of a DBA in the U.S. can range from $85,000 to over $130,000 per year, depending on experience and expertise. When you add ...

Cristobal Escobar
Cristobal Escobar
November 20, 2024
5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

5 Signs It’s Time to Modernize Your ColdFusion / CFML Application

ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into y...

Cristobal Escobar
Cristobal Escobar
November 19, 2024
ColdBox Free Tip 5 - Building Named Routes with a Struct

ColdBox Free Tip 5 - Building Named Routes with a Struct

**Did you know ColdBox provides flexible ways to build routes using structs?** In this tip, we’ll cover how to use the `event.buildLink()` and `event.route()` methods for named routes, a feature that’s especially handy when working with dynamic URLs.

Maria Jose Herrera
Maria Jose Herrera
November 19, 2024