Blog

BoxLang 1.0.0 Beta 13 Launched

Luis Majano September 06, 2024

Spread the word

Luis Majano

September 06, 2024

Spread the word


Share your thoughts

This release introduces several new features aimed at enhancing the usability and functionality of BoxLang. We have closed a tremendous amounts of bugs on this release in order to bring more compatibility and stability to BoxLang. We have also started to introduce performance enhancements and more innovations as we progress towards final release. Enjoy!

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, ColdFusion, 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-beta13

New Features

BL-142 Writedump output support

We have finalized the console output for the dump component, but we have also added the following ticket:

BL-508 New dump event to listen when an non-core output is detected so modules can handle it. onMissingDumpOutput

Which will allow module developers to collaborate their own output destinations for any dump in the language. This is something we have wanted for years and it's now a possibility. Just listen to the onMissingDumpOutput interception point, you get all the arguments to the BIF or component and you decide where things will go. VScode Dump Panel, here we come.

The console output has also been enhanced where everything will be pretty printed, including labels.

BL-489 Ability to mark a @BoxBif as excluded from documentation

This is more of an internal documentation process for the team.

BL-504 New dump template for Java instants

Java Instants will now be dumped nicely with an internal representation and a human readable representation.

BL-507 dump showUDFs

All the arguments for dumps are now available including this one for controlling the dumping of UDFs on classes.

Improvements

BL-497 Simplify BoxLang class dumps

BL-499 Add output and format to dump

BL-501 Some BIFs not fully supporting BigDecimal values

BL-517 access e.cause as shortcut for e.getCause()

BL-518 When creating an abstract class a new `AbstractClassException` is thrown. Great for testing frameworks

Bugs

BL-223 queryaddcolumn ignores the datatype

BL-471 Issue with #dateTimeFormat(now(),'mm-dd-yyyy')# function returning incorrect results

BL-492 structnew( "linked" ) doesn't work

BL-493 argumentCollection doesn't work with implicit constructor

BL-494 directory component must always return query

BL-498 BoxNewTransformer using hard-coded context name

BL-500 toNumeric() not accepting radix values of 2-36

BL-502 cannot cast [x to object] on generic caster when using `QuerySetCell()`

BL-505 Issue with `Duplicate()` Function Causing Null Pointer Exception in BoxLang

BL-506 final keyword not working on this scope

BL-509 directoryList() filters are not working as closures/lambdas as they are hardcoded as strings

BL-510 Cannot invoke "ortus.boxlang.runtime.types.Query.isEmpty()" because "this.query" is null

BL-511 Multiple pipe-delimited glob patterns are not working as directoryList filters

BL-512 DuplicationUtil not doing deep clones of structs according to all types

BL-513 Throwing custom type exceptions just shows `custom` as the type instead of the actual type in the throw

BL-514 remote access not treated as public but as private for functions

BL-515 Interfaces don't support multiple inheritance

BL-516 CFC source type not detected correctly for abstract or final classes

BL-521 Metadata with : in them in cfml mode not treated correctly

BL-522 xml entity parsing issue when calling `toString()` on Java objects

Add Your Comment

Recent Entries

Ortus Monthly Recap - Jan/Feb

Ortus Monthly Recap - Jan/Feb

Ortus Solutions is kicking off 2025 with major milestones, from the highly anticipated Into the Box 2025 to groundbreaking advancements in BoxLang and key industry event appearances at Jfokus and DevNexus 2025. With new product releases, enhanced compatibility, and exclusive discounts, we’re equipping developers with the tools they need to build faster, smarter, and more efficiently.Let’s dive into the latest updates shaping the future of modern web development!

Maria Jose Herrera
Maria Jose Herrera
March 07, 2025
BoxLang 1.0.0 RC2 Launched

BoxLang 1.0.0 RC2 Launched

We’re entering the final stretch of our pre-releases, and we couldn’t be more excited to introduce RC2! 🚀 This release marks a major leap in performance and compatibility, the result of over six months of intensive development. Beyond enhanced stability and seamless integration, RC2 delivers game-changing performance optimizations that push the boundaries of efficiency. Get ready for our fastest, most refined release yet!

Luis Majano
Luis Majano
March 05, 2025
Building a Web App with BoxLang!

Building a Web App with BoxLang!

BoxLang, the new JVM-based scripting language from Ortus Solutions, is gaining traction among developers looking for a modern, lightweight alternative for building web applications. In a Recent blog post, Raymond Camden took it for a spin by developing a simple blog application, highlighting BoxLang's capabilities and ease of use. Let’s break down his experience and key takeaways.

Maria Jose Herrera
Maria Jose Herrera
March 04, 2025