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

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