Blog

BoxLang 1.0.0 Beta 21 Launched

Luis Majano November 01, 2024

Spread the word

Luis Majano

November 01, 2024

Spread the word


Share your thoughts

This release brings another round of powerful tools and refinements to the BoxLang community, making development more dynamic and robust than ever. We’ve added new capabilities for debugging and tracing, expanded context-sensitive controls for thread management, and introduced new methods for fluent attachment handling.

For deeper flexibility, our improvements enhance configurability, streamline session control, and add deeper levels of JSON serialization management. Plus, we’ve squashed a wide range of bugs, enhancing stability across database connections, date handling, and runtime compatibility with CFML.

In addition, CSRF Token functionality is now provided via the bx-csrf module.

What is BoxLang?

BoxLang is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, android, web assembly, and more. BoxLang combines many features from different programming languages, including Java, CFML, Python, Ruby, Go, and PHP, to provide developers with a modern and expressive syntax.

It is also a drop-in replacement for Adobe ColdFusion and Lucee Engines.

How to get started?

Visit our docs at https://boxlang.ortusbooks.com and get coding today. If you want to try it out on the web then go to our online REPL at https://try.boxlang.io. You can also checkout our YouTube playlist: https://www.youtube.com/playlist?list=PLNE-ZbNnndB-40LvAbeSeT2Oi3V2gm_B8

Release Notes

Here are the latest release notes: https://boxlang.ortusbooks.com/readme/release-history/1.0.0-beta21

New Feature

BL-713 Global events for Application events

BL-720 Implement table filter for dbinfo component

BL-721 getComponentList() should also return the declared attributes of a component

BL-722 getFunctionList() should also return the declared arguments of a BIF

Improvement

BL-710 Implement Algorithm Argument for RandRange

BL-716 Set request class loader into thread as context class loader

BL-717 Retain directories in dynamic class loader

BL-728 Add nullIsUndefined flag to control how null variables are handled

BL-729 Don't default properties with no default value to null when compat has enabled nullIsUndefined scope behavior

Bug

BL-638 Passing a null named argument hides outer bindings by the same name

BL-641 Missing BIF - CSRFGenerateToken is now supplied with the bx-csrf module

BL-669 Difference in args vs local variables handling

BL-677 Incompat: metadata annotations from inherited sub classses added to top level class

BL-679 cfloop collection with an array throws casting exception

BL-697 argument collection optional param is null

BL-711 dot access not chaining to static access

BL-712 NPE when calling non-existent Java method

BL-715 Duplicate of cfc instance presenting as struct

BL-718 Key access in StructMapWrapper not working

BL-719 GetTagData(), GetFunctionData() function not implemented, implement in the COMPAT module

BL-724 import name restrictions too strict

BL-726 Assignment not working on static fields of an imported class

BL-727 Adding two ints uneccessarily returns a long

Add Your Comment

Recent Entries

Inherited a CFML Application With Few Tests? Here’s Where to Start!

Inherited a CFML Application With Few Tests? Here’s Where to Start!

You need to change an application that has been running for years.

It might be a ColdFusion customer portal, a Lucee application supporting internal operations, or a CFML system your team is preparing to modernize. People depend on it, but some of its behavior lives in old tickets, scattered documentation, and the memory of whoever has supported it longest.

Now a release is approaching. You know more testing would help. The difficult part is deciding where to begin without putting every other priority on hold.

Start with one important workflow and build evidence around what it needs to do.

Explore Ortus Quality Assurance Services

Maria Jose Herrera
Maria Jose Herrera
October 27, 2026
Your ColdFusion Upgrade Passed. Did Your Business Workflows?

Your ColdFusion Upgrade Passed. Did Your Business Workflows?

The server restarted. The administrator shows the expected version. Your homepage loads, and a few familiar screens look fine.

Would you tell the business the upgrade is complete?

Consider an illustrative scenario: a customer submits an order after an upgrade. The application saves it and displays a confirmation page. But the confirmation email never arrives, and the scheduled process that sends the order to fulfillment has not completed.

From the browser, the transaction...

Maria Jose Herrera
Maria Jose Herrera
October 22, 2026