Blog

BoxLang 1.0.0 Beta 22 Launched

Jon Clausen November 15, 2024

Spread the word

Jon Clausen

November 15, 2024

Spread the word


Share your thoughts

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.

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-beta22

New Features

BL-123 Implement multiple statements inside queries

BL-383 new bif: datasourceRegister() to allow for easy saas integrations to create datasources

BL-658 MIgrate AST Capture to it's own experimental flag

BL-748 Add getApplicationContext() method on all contexts for convenience, especially when calling from CF/BL

Improvement

BL-730 Miniserver needs to 302 redirect when hitting a directory without the trailing slash

BL-734 Broadcast Transactional events at the Application listener-level

BL-735 Allow unregistering a java class (IInterceptor) from an InterceptorPool

BL-737 Add getRequestContext() method on all contexts for convenience, especially when calling from CF/BL

BL-738 Allow output from functional wrappers

BL-740 Autocast simple values to Keys when calling java methods from BL

BL-741 Allow :: static access to be chained to any expression

BL-746 Add toLegacyDate BIF and Member Function to Compat module

BL-751 Make generated getters return null when property is not initialized

BL-116 Implement unfinished query options

Bug

BL-694 Fix tests that fail when using ASM

BL-695 large json fails to deserialise with bx-compat

BL-714 Add Whitespace Management

BL-731 dump errors with compat installed due to null variable

BL-733 RandRange seems to never return upper range

BL-736 JDBC Transaction listeners not firing upon transaction event announcement

BL-739 shebang checks in BoxRunner don't nicely handle invalid file paths

BL-743 WDDX not parsing booleans correctly

BL-744 Cannot cast ortus.boxlang.runtime.types.DateTime to java.util.Date

BL-745 parseDateTime failing

BL-747 for (sentinel) loop is evaluating the step/increment expression one final time too many when a break is used

BL-752 error using negative indices to get characters from strings

BL-754 error: integer number too large

BL-755 SerializeJSON not working with named params

Add Your Comment

Recent Entries

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great — until you need more expressiveness. FreeMarker is powerful — until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?

Meet the BoxLang Spring Boot Starter.

Luis Majano
Luis Majano
March 13, 2026
Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

The growing need to evolve legacy financial platforms safely

Many Swiss banks and financial institutions still operate important systems built on ColdFusion and CFML platforms.

These systems manage a wide range of functions, including:

  • internal banking workflows
  • reporting systems
  • client portals
  • data integration platforms
  • compliance and risk management tools

In many cases, thes...

Cristobal Escobar
Cristobal Escobar
March 13, 2026
Reactive vs Proactive ColdFusion Support: Why Waiting for an Outage Is the Most Expensive Strategy

Reactive vs Proactive ColdFusion Support: Why Waiting for an Outage Is the Most Expensive Strategy

Many ColdFusion environments operate in a reactive mode without realizing it.

Everything seems fine… until something breaks.

A server crashes.

Performance drops suddenly.

An integration stops working.

A security audit reveals missing patches.

At that point the response is urgent:

“Can someone help us fix this now?”

Emergency support is sometimes unavoidable. But when reactive intervention becomes the norm, it usually means something deep...

Cristobal Escobar
Cristobal Escobar
March 12, 2026