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

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