Blog

BoxLang 1.0.0 Beta 12 Launched

Jon Clausen August 30, 2024

Spread the word

Jon Clausen

August 30, 2024

Spread the word


Share your thoughts

This update contains 9 features and improvements and 8 bug fixes. Thank you for your continued support and stay tuned for more exciting developments!

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

New Features

  • BL-438 - Zip Components, Utility and incorporating BIFS
  • BL-487 - Implement pagePoolClear()
  • BL-491 - Add the ability to configure the CF transpiler
  • BL-490 - Transpiler doesn't handle attributeCollection

Improvements

  • BL-486 - Compiler thread safety
  • BL-485 - Implements SystemCacheClear()
  • BL-483 - Allow "object" passed to throw to be a struct representation of an exception
  • BL-480 - Added all missing boxlang types to BoxLangType class
  • BL-479 - Address parser performance by limiting operator reserved words
  • BL-478 - Change template parsers to use SLL prediction mode
  • BL-477 - Improve parsing performance by only calculating lines of code on error
  • BL-474 - Add ValueRequiresOneOf Validator

Bugs

  • BL-484 - Lock expects timeout to be minimum of 1
  • BL-481 - numeric literals with leading zeros are confused with octal values in java source
  • BL-482 - getApplicationMetadata() fails before application listener is defined
  • BL-476 - AST string values incorrectly unescaped outside of cfoutput
  • BL-475 - Pretty printer incorrect for default case ending tag

Add Your Comment

Recent Entries

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

BoxLang 1.17 Series Part 3 : Encrypted Config Secrets

Everyone knows the datasource password should not be sitting in plain text in a config file. Everyone has also, at some point, shipped exactly that, because the alternative was a pile of environment variable plumbing that nobody wanted to build on a deadline. x

Luis Majano
Luis Majano
September 08, 2026
BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

BoxLang AI 3.4 Blog Series Part 3 : Batched Approvals

Here's a bug that's easy to miss until it bites someone in production: an agent turn asks for two tool calls at once, both need human approval, and only the first one actually suspends. The second one gets silently skipped. Not rejected, not queued, just gone. That's what happened before 3.4.0, and it's fixed now with batched tool-call approvals.

Luis Majano
Luis Majano
September 08, 2026
Getting Started with BoxLang as an Alternative CFML Engine

Getting Started with BoxLang as an Alternative CFML Engine

If you have an existing ColdFusion or Lucee application, one of the first questions you may have about BoxLang is probably not:

“Should I rewrite my application in BoxLang?”

It is much simpler:

“Can BoxLang run the CFML application I already have?”

That was the focus of veteran CFML troubleshooter Charlie Arehart’s session at Into the Box 2026, Getting Started with BoxLang as an Alternative CFML Engine.

Cristobal Escobar
Cristobal Escobar
September 08, 2026