Blog

BoxLang 1.0.0 Beta 18 Launched

Luis Majano October 11, 2024

Spread the word

Luis Majano

October 11, 2024

Spread the word


Share your thoughts

This release introduces several new features and configurations to enhance functionality and security. It also continues to squash tons of bugs to bring about CFML compatibility. Key updates include:

  • Enhanced arrayFind and arrayFindNoCase functions, allowing value closures to accept item indices.
  • New validBoxLangTemplates configuration for filtering templates processable by the Runnable Loader.
  • New validClassExtensions configuration to specify permissible class extensions.
  • A new security configuration section designed to disallow BIFs, Components, and Imports, enhancing security.

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

New Feature

BL-617 arrayFind, arrayFindNoCase value closures, accept the value and now the index of the item as the second param

BL-626 New configuration: validBoxLangTemplates to determine which templates the Runnable Loader can process

BL-627 New configuration: validClassExtensions to determine which class extensions to work with

BL-629 New security configuration section for disallowing: BIFS, Components, Imports

BL-630 Internal refactor to make the class locator and resolvers have a life-cycle based on the runtime and not alone

Improvement

BL-611 Remove debugmode capture on miniserver, delegate to the core runtime.

BL-622 Consolidate CastAttempt and Attempt into a hierarchy

BL-623 New DynamicFunction type that can be used to generate dynamic BoxLang functions using Java Lambda proxies. Great for code generation

Bug

BL-614 Import nested classes

BL-615 Java static funcitons not behaving as expected

BL-616 array.find does not use cf rules to convert result of predicate to boolean

BL-619 QueryColumnType doesn't handle "idstamp" (mssql)

BL-620 static scope in application.cfc not initialized before psuedoConstructor runs

BL-624 Auto-escaping of {} in regex needs to ignore already-escaped braces

BL-625 Instead of removing special chars from Java FQN, replace with __ to avoid conflicts

BL-628 Tag expressions not parsing inside template island inside braces

BL-631 duplicate() doesn't work on empty structs

BL-633 randrange() not inclusive of upper bound

BL-634 array.find - can't cast closure to string

Add Your Comment

Recent Entries

Into the Box 2025 | Plan Your Trip With Us!

Into the Box 2025 | Plan Your Trip With Us!

Are you ready to join us for Into the Box 2025 from April 30th to May 2nd in Washington, D.C.? Let’s make your trip planning as smooth as possible. Here you’ll find Airfare discounts, Hotel Deals and fun things to do to the the best out of your trip to D.C.

Maria Jose Herrera
Maria Jose Herrera
January 30, 2025
BoxLang YAML Support has landed

BoxLang YAML Support has landed

We’re thrilled to introduce the bx-yaml module for BoxLang!

This powerful new module brings seamless YAML parsing and emitting capabilities to BoxLang. You can now effortlessly serialize BoxLang native types—including structs, queries, arrays, classes, and more—into YAML. The same simplicity applies to deserialization, making it easy to work with YAML data in your BoxLang applications.

Luis Majano
Luis Majano
January 28, 2025
TestBox v6.1.0 Release

TestBox v6.1.0 Release

We’re super excited to announce the release of TestBox 6.1.0! This release introduces native support for BoxLang without the need for a compatibility mode, unlocking new possibilities for developers embracing BoxLang’s dynamic capabilities. Alongside this exciting update, we’ve added valuable features, improved functionality, and resolved key issues to ensure a smoother and more robust testing experience. Dive into the details and see how TestBox 6.1.0 makes your testing even more seamless and efficient!

Luis Majano
Luis Majano
January 28, 2025