The wizards at Ortus Solutions have conjured up a ColdFusion open-source platform, that promises to change the way you develop in CF.
Guess what?! A new CF engine has emerged from the Shire to join the Adobe ColdFusion and Lucee CF engines. It’s name: BoxLang!
Where did it come from? What does it do? And how will it help CF developers and keep ColdFusion more alive and modern? Time for an adventure to uncover BoxLang’s secrets and its impact on Middleware-earth.
BoxLang offers a new, CFML-compatible JVM language with solutions for all your development needs. It was forged in secrecy by the wizards at Ortus Solutions. For ten months, they toiled in shadows, crafting a powerful tool that would surprise and delight us all. The result is BoxLang, which is inspired by CFML but is not a direct CFML engine. It supports CFML syntax but allows for innovation and modernization beyond CFML’s constraints. BoxLang was built from scratch to implement modern best practices and break away from legacy constraints.
It was developed to embrace modern programming paradigms such as multi-runtimes, dynamic modifications, agility, modularity, artificial intelligence (AI), cross-language dependencies, and embedded runtimes. These features address the evolving needs of developers and companies, ensuring that BoxLang remains adaptable and future-proof in an ever-changing technology landscape.
Now, the time has come to embark on an epic journey into the world of BoxLang, exploring its myriad features, capabilities, and the revolutionary changes it brings to the CF landscape.
What is BoxLang?
BoxLang is a dynamic language forged in the fires of Mount Doom, blending features from various programming languages like Java, ColdFusion, Python, Ruby, Go, and PHP, creating a modern syntax that is both fluent and expressive. Built to leverage the full capabilities of the modern JVM, BoxLang is a highly modular language that adapts to different runtime environments, providing developers with flexibility and power.
We were fortunate enough to have BoxLang’s powerful wizards, Luis Majano and Brad Wood of Ortus Solutions, join us on the CF Alive Podcast to showcase all the new wonders they’ve conjured.
“We spent months just thinking about what a new language would look like in 2024. From day one, our focus was to make it as lightweight and extensible as possible,” Majano said during the episode. “We wanted to design something for 2024 and beyond, not just replicate what CFML engines have done in the past.”
Majano’s fellowship hit its target. As of April 2025, BoxLang’s optimizations have made it faster than Adobe’s ColdFusion 2021–2025 engines on Ortus’s own test suites, thanks to a direct bytecode compiler and other performance tuning.
You can watch the full episode below:
It does, however, look an awful lot like someone had cast a “bx box” spell on CFscript. Take a look yourselves:
<bx:script> s = new Sample(); writeOutput( s.hello() ); </bx:script>
Your Journey to ColdFusion Mastery Begins Here. Get in Touch!
Key Features of BoxLang
So… what’s all the fuss about? Like Groovy and Scala, BoxLang compiles to Java bytecode and runs on the Java Virtual Machine (JVM), enabling full interoperability with Java. (It is built using modern JVM features such as InvokeDynamic, improving performance and enabling advanced dynamic language capabilities.)
“Java has come so far. We wanted to stay modern and use everything Java offers today, not be held back by old practices,” Brad Wood said during the podcast episode.
It’s also faster than Shadowfax! BoxLang’s core runtime is only ~7 MB, making it far smaller than Adobe ColdFusion (~169 MB) or Lucee (~70-80 MB). Weekly beta releases means quick fixes and new features will roll out faster than a Hobbit headed to second breakfast.
“We designed the language to be hardware-first, and that’s why the language core for BoxLang is around seven megabytes in size—extremely tiny, extremely lightweight,” Majano said in the CF Alive podcast.
In April 2025, BoxLang emerged from beta and reached its long-awaited 1.0 release. With it came some major additions not seen in the early versions, including native virtual thread support, an integrated scheduler, and premium modules for enterprise-grade tasks. These final ingredients elevated BoxLang from promising newcomer to fully equipped production-ready powerhouse.
Its modular architecture allows developers to extend functionality with over 30 modules. With a runtime size of just 6MB, BoxLang is both lightweight and efficient. It supports various operating systems, including Ubuntu and Windows, and can run via CLI, Docker, web contexts, and AWS Lambda, with plans to expand to Microsoft Azure.
BoxLang has a Trusted Cache feature to boost performance in production environments, plus other optimizations like class resolution caching. These features eliminate runtime overhead (like file change checks) when enabled, further increasing throughput for deployed applications.
“People have been asking [Adobe and Lucee] for features for 15 years in ColdFusion. We couldn’t wait any longer, so we built them ourselves,” Wood said in the podcast.
Is Your ColdFusion Setup the One to Rule Them All?
Whether you've made the jump to BoxLang or not, your legacy ColdFusion app might harbor untapped potential, or hidden vulnerabilities. Are you prepared to wield it wisely? Our free assessment is your ‘Palantír,’ offering a clear vision of your current environment. We’ll help you uncover strengths to build upon and weaknesses that need fortifying, much like reforging the shards of Narsil into Andúril. Don’t let unseen issues be your undoing, like the hidden passage to Mordor. Request your Free ColdFusion Modernization and Maintenance Assessment today, and let’s forge a stronger future together.
BoxLang offers some great improvements to the development experience, as magical as Gandalf’s staff (we’ll take a deep dive into each later on).
Licensing and Support
BoxLang is a professional open-source project supported by the wise and mighty Ortus Solutions. The community version is free and open-source—a key to forming a worthwhile fellowship of developers, ready to take on any coding adventure. For those seeking even greater power, BoxLang+ offers commercial support and extended features. Ortus Solutions also provides professional support, ensuring that developers have the resources and guidance they need to triumph in their quests.
Ortus has also introduced a higher enterprise tier called BoxLang++, which builds on BoxLang+ offerings. BoxLang++ provides enhanced support options – such as custom SLA agreements, dedicated support engineers, priority patches, and exclusive enterprise features and modules – for organizations with mission-critical applications. This ensures that companies can get enterprise-grade assistance while BoxLang’s core remains open source.
Note: All BoxLang editions are Apache-2 licensed, so running the open-source version in production is royalty-free; the paid tiers are optional for support and advanced tooling.
BoxLang Containers Licensing
BoxLang allows you to deploy an unlimited number of containers for free. If you need support for container deployments, BoxLang+ offers licensing on a per-orchestrator-node basis, providing flexibility regardless of the number of containers you deploy on each node. Development nodes are always free, and non-production orchestrator nodes are available at a reduced price, ensuring cost-effective scalability.
Detailed Features and Capabilities
Who better to delve into the magic of BoxLang than Ortus’s own Brad Wood, who gave the new platform an overview, highlighting key features and tools at CF Camp 2024 in Berlin?
BoxLang’s dynamic typing system eliminates the need for explicit type declarations. The language supports type inference, auto-casting, and promotions between different types, making it highly flexible and adaptable. Additionally, BoxLang uses InvokeDynamic for method invocations, ensuring high performance without the need for reflection.
Multi-Runtime Development
BoxLang’s multi-runtime capability allows you to write adaptive code for any environment. Whether you’re targeting a native OS binary, a servlet container, a cloud lambda function, iOS, Android, or a web assembly, BoxLang adapts to the runtime, providing seamless deployment across various platforms. BoxLang’s command-line tooling uses pure CLI scripts with functions for reading console input, parsing arguments, and exiting, reflecting its goal to run in OS-native contexts (shell scripts, automation tasks, etc.)
Established Ecosystem
One of BoxLang’s key strengths is its compatibility with Java and ColdFusion/CFML libraries. This extensive ecosystem means that developers can leverage existing libraries and tools, significantly reducing the learning curve and enhancing productivity. BoxLang’s integration with CommandBox as its package manager, server manager, and task manager ensures that almost any project from central repositories works seamlessly with BoxLang. It can serve as a drop-in replacement for Adobe ColdFusion and Lucee Engines, facilitating seamless transitions for existing applications.
BoxLang can now seamlessly run existing ColdBox/ColdFusion applications, having achieved full compatibility with major CFML frameworks. For example, the ColdBox MVC platform and even the ContentBox CMS are fully supported on BoxLang, with Ortus reporting that all their internal test suites (ColdBox, TestBox, etc.) pass on the BoxLang engine. This means enterprises can run complex CFML applications on BoxLang with minimal changes.
Java Interoperability
BoxLang’s full interoperability with Java allows developers to extend and implement Java objects, use annotations, and declare classes and imports. This makes it an ideal choice for Java developers looking for additional tools and functionalities without leaving the Java ecosystem.
Leveraging the Java Virtual Machine (JVM), BoxLang provides access to a vast array of Java libraries, enabling developers to integrate existing Java resources without extensive Java knowledge.
In BoxLang, Java methods (both instance and static) are treated as first-class objects. They can be passed around, invoked dynamically, and used in higher-order functions, further enhancing the language’s functional programming capabilities. This makes it easier to integrate Java logic seamlessly into BoxLang applications while leveraging functional paradigms.
Notably, BoxLang can automatically convert its native arrays to Java arrays when interfacing with Java APIs, including transparently supporting Java varargs methods. This deep level of integration means you can pass BoxLang data structures into Java methods without manual conversion, and even implement Java interfaces in BoxLang code with ease.
Low Verbosity Syntax
BoxLang’s syntax is designed to be low-verbosity, making it highly readable and expressive. This reduces boilerplate code and enhances productivity, allowing developers to focus on writing clean and efficient code. BoxLang supports both CFML’s tag-based syntax and script syntax uniformly. The parser was unified to seamlessly handle both styles in one file, giving developers flexibility in coding style without performance penalties.
Benchmarks by Ortus show BoxLang outperforming Adobe ColdFusion 2021–2025 engines, thanks to aggressive JVM optimizations, class resolution caching, and a direct bytecode compiler. Whether in testing, compiling, or runtime performance, BoxLang now leads the pack.
Event-Driven Architecture
BoxLang features an internal event bus that enables developers to extend the language’s capabilities or their applications. You can listen to almost every part of the language, parser, and runtime, making BoxLang highly extensible and customizable.
BoxLang also introduces its own native task scheduler. Developers can now define recurring jobs directly in their Application.bx file or boxlang.json. BIFs like SchedulerStart() and SchedulerShutdown() allow for dynamic control, making this a powerful alternative to crontab or external job queues—especially for cloud-native apps or automation tasks.
BoxLang also has integrated WebSocket support (via the SocketBox module), allowing developers to build real-time features (e.g. live data streams and chat) on both the embedded server and traditional servlet runtimes.
Database Integration
BoxLang now has a full-fledged ORM (Object-Relational Mapping) solution. Ortus released the bx-orm module providing integration with Java JPA/Hibernate, so developers can map CFC/BoxLang components to database tables and use high-level queries and transactions natively. This brings enterprise database capabilities to BoxLang, comparable to Hibernate in the Java world or ColdFusion’s ORM, but with the flexibility of BoxLang’s dynamic language.
Enterprise Caching
Inspired by CacheBox, BoxLang includes an enterprise-level caching engine with custom providers, object stores, listeners, and stats. This robust caching solution ensures that your applications perform efficiently and reliably.
IDE Tools
BoxLang offers extensive tools to enhance the development experience. A Visual Studio Code extension provides syntax highlighting, code debugging, code insight, documentation, formatting, LSP integration, and more. For BoxLang+ subscribers, additional tools like enhanced debuggers and ColdFusion/CFML transformers are available, making development more efficient and enjoyable.
Ortus has even provided an online BoxLang playground (try.boxlang.io) where you can write and execute BoxLang code in the browser. This REPL is running the latest BoxLang engine, giving developers a hands-on way to experiment with the language instantly.
Functional Programming
BoxLang supports functional programming principles, including immutability and higher-order functions. This enables developers to write elegant and robust code that is easier to maintain and less error-prone, translating to a more reliable and cost-effective development process.
BoxLang also supports parallel looping, allowing code blocks to execute concurrently for improved performance in data-heavy applications. Whether processing large datasets or running multiple operations simultaneously, BoxLang’s parallel execution capabilities help developers optimize their workflows without additional complexity.
BoxLang now includes native support for Java’s virtual threads—ideal for high-concurrency workloads without the complexity of traditional thread management. Developers can easily create virtual threads with threadNew() or the bx:thread component, and even parallel functions like map() and each() default to virtual thread execution. With virtual threads, BoxLang achieves scalability on par with cutting-edge Java applications while keeping syntax intuitive.
BoxLang has also introduced functional binding to member methods, enabling developers to bind directly to member methods without needing to declare closures. This simplifies code, enhances readability, and reduces unnecessary function wrapping, making functional programming in BoxLang even more efficient.
Modular Extensibility
BoxLang is designed to support modules that can enhance every aspect of the language or your applications. You can add new built-in functions, templating components, modify existing classes, and much more. This modular architecture ensures that BoxLang is one of the most extensible languages available. Ortus and the community have been extending BoxLang via modules. For example, a new YAML module (bx-yaml) was introduced to allow seamless parsing and emitting of YAML data from BoxLang code, useful for configuration management and integration with other systems.
New modules like bx-ftp provide out-of-the-box capabilities for common tasks – in this case, connecting to FTP servers to transfer files. Such modules highlight BoxLang’s growing ecosystem of drop-in libraries (all installable via CommandBox)
Enterprise developers now have access to advanced functionality via official premium modules. These include:
- bx-redis: Native Redis support for caching, session handling, and pub-sub.
- bx-mongo & bx-couchbase: Seamless NoSQL integration.
- bx-pdftools: Advanced PDF manipulation tools (merge, compress, form extraction).
These modules install via install-bx-module and are maintained directly by Ortus, giving teams reliable, high-performance integrations out of the box.
AI Integration
Ortus Solutions has since expanded BoxLang into the realm of artificial intelligence. BoxLang Gen AI is a module that brings AI-generation capabilities to BoxLang apps. It provides a unified, fluent API to interact with multiple Large Language Model providers (e.g., OpenAI’s GPT, etc.) in a consistent way. Developers can send prompts and handle AI responses with simple function calls, without worrying about each provider’s REST API details. This module is open-source and even has an enhanced version (bx-aiplus) for enterprise subscribers with additional providers.”
Real-World Applications
Serverless Development
BoxLang empowers serverless development, allowing you to write code in functions that trigger based on events, leaving server management to the cloud provider. This results in faster development cycles, effortless scaling, and cost-effective applications.
Meta-Programming
BoxLang supports meta-programming, allowing developers to modify the behavior of BoxLang classes and objects at runtime. This involves manipulating the way classes and objects respond to method calls, property access, and more, providing powerful capabilities for dynamic and flexible code.
Cloud Deployment
BoxLang can be deployed easily in the cloud. Ortus released BoxLang VM images on the Azure Marketplace, allowing one-click deployment of BoxLang servers on Azure. These pre-configured images come with BoxLang and its CFML compatibility layer installed, so you can instantly spin up an environment to run legacy CFML applications under BoxLang or deploy new BoxLang apps in the cloud. This streamlines adopting BoxLang in enterprise cloud workflows without manual setup.
Other features
The wizards at Ortus didn’t settle for just the changes listed above. For the true CF wizards out there, new features include:
- A robust VS Code extension includes syntax highlighting, linting, debugging, and live introspection capabilities.
- Built-in debugger supports step-by-step execution across runtimes.
- Transpilation tools allow ColdFusion code to run on BoxLang and convert CFML syntax into BoxLang syntax.
- Fixes for longstanding quirks of CFML by introducing logical improvements like renaming functions (e.g., serializeJSON becomes JSONSerialize).
- It incorporates features like real annotations, functional programming constructs, and direct Java class imports.
- An Abstract Syntax Tree (or AST) enables advanced tooling such as code quality checks, linting, and extensibility. Developers can build custom tools leveraging the AST, such as static analyzers or code quality metrics.
Community and Support
BoxLang is a professional open-source project supported by Ortus Solutions. The community version is free and open source, a key to forming a worthwhile fellowship of developers. BoxLang+ offers commercial support and extended features. Ortus Solutions also provides professional support, ensuring that developers have the resources and assistance they need to succeed.
BoxLang even has its own advocate, the CFer extraordinaire Raymond Camden. He’ll be contributing tutorials and insights that assist developers in adopting the language effectively.
Join the CF Council of Elrond and Gain Insights from the Wise
Imagine sitting among CF legends like Elrond, Gandalf, and Galadriel, absorbing their wisdom. The CF Alive Podcast brings you the CF Equivalent: interviews and discussions with the foremost experts across the ColdFusion realm. Including BoxLang’s creators, Luis Majano and Brad Wood. These podcasts are your ‘CF Council of Elrond,’ where strategies are forged, and insights are shared to help you navigate your epic CF modernization journey. Stay ahead of emerging trends, learn from the triumphs and mistakes of others, and become part of a community as tight-knit as the Fellowship itself. Don’t miss out—check out the CF Alive Podcast now and let the adventure unfold.
Join the BoxLang Community
Much like the alliances formed in the great tales of old, BoxLang encourages community contributions and offers several support channels, including forums, Slack, and GitHub. Developers can report bugs, contribute to the project, and participate in discussions to help improve and extend BoxLang. Together, we can forge a brighter future for all.
Welcome, BoxLang!
For those worried about a bumpy transition, relax. BoxLang supports existing CFML code with an optional transpilation process to convert CFML to BoxLang syntax. ColdFusion code can also run directly in BoxLang without modification and is backward compatible with Legacy CFML.
BoxLang is more than just a programming language; it’s a quest toward a more dynamic, modular, and productive future. By combining the best features of multiple programming languages and leveraging the full capabilities of the JVM, BoxLang offers developers a powerful and flexible tool for modern CFML development. It's a tool to rule them all, in the land of code where the shadows lie.
So, gird your loins, fellow developers, and set forth on this grand adventure. Explore BoxLang’s features, documentation, and community, and start building the future with this innovative language. Let us know how it has changed your life as a CFer! And remember, even the smallest hobbit can change the course of the future.
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
ColdFusion Alive Best Practices Checklist
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.