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

Protect Your Data with Proactive Database Security Management

Protect Your Data with Proactive Database Security Management

In today’s digital age, data is among the most valuable assets for businesses. It powers decision-making, customer engagement, and operational efficiency. However, as data volumes grow, so do the risks associated with managing it. Ensuring database security and compliance is no longer optional—it’s a necessity.


The Evolving Landscape of Database Security

Modern databases face a myriad of challenges, from increasingly sophisticated cyber threats to strin...

Cristobal Escobar
Cristobal Escobar
December 06, 2024
The Experts Driving BoxLang: The Team Behind the Revolution

The Experts Driving BoxLang: The Team Behind the Revolution

Introduction

BoxLang is not just another programming language; it’s a revolutionary step forward for JVM environments. But who are the minds behind this innovation? Meet the talented team of architects, developers, and engineers who have combined decades of experience to create BoxLang—a language built for scalability, performance, and efficiency. Let’s explore their ex...

Cristobal Escobar
Cristobal Escobar
December 04, 2024
Why BoxLang is the Modern Software Development Evolution You’ve Been Waiting For?

Why BoxLang is the Modern Software Development Evolution You’ve Been Waiting For?

In today’s software landscape, developers need tools that deliver flexibility, efficiency, and modernization. With decades of open-source expertise, Ortus Solutions introduces BoxLang—our most ambitious project yet. Built for the JVM, BoxLang integrates seamlessly with Java, offering powerful features for scalable, high-performance web applications. Fully compatible with CFML, it ensures a smooth transition and expanded capabilities for existing projects.

Maria Jose Herrera
Maria Jose Herrera
December 04, 2024