Blog

BoxLang 1.0.0 Beta 15 Launched

Luis Majano September 20, 2024

Spread the word

Luis Majano

September 20, 2024

Spread the word


Share your thoughts

Welcome to Beta 15! This release brings several significant enhancements aimed at improving the efficiency and functionality of the CLI environment and continued bug fixing to bring our CFML compatibility to several client applications and Ortus Libraries. Key among these is the introduction of the bx-web-support module, which allows the CLI to interface with web server capabilities, making it an excellent tool for testing and feature auditing. Additionally, the merge capabilities within module settings have been refined to support deep merges from the configuration file, ensuring greater flexibility and control.

Moreover, running scripts or classes via CLI execution now supports the automatic detection and execution of Application.bx|cfc, streamlining the process for developers. The new ToString dump template enhances debugging by enabling a concise display format for lists of Java objects, simplifying the analysis and debugging process.

Overall, this beta release brings further stability for CFML applications migrating to BoxLang!

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

New Features

BL-544 Look and execute for Application.bx|cfc when running scripts or classes via CLI execution

We have always wanted even further CLI enhancements for applications built with BoxLang. Now you get it! BoxLang will look for an Application.bx|cfc whenever it executes a template or class and follow the process of application startup, settings, ORM, etc. The full life-cycle of an application but at the CLI level. This will allow you to completely test your web applications with no web server and even build CLI applications with easy application constructs!

BL-559 New bx-web-support module to support the CLI with web server capabilities. Great for testing, mocking and feature audits.

We have released the bx-web-support module which will give you mocking, testing and auditing capabilities for CLI testing and runners. This means that your CLI applications will look and feel like a real web application with a real web server, but using our mock approaches.

This module is still in it's alpha stages so expect much more development on it.

BL-574 Module settings should have a deep merge from the configuration file

All module settings in your boxlang.json can now be deeply merged automatically by BoxLang.

BL-580 Add a new ToString dump template that will take a list of java objects to display them in short hand format

We will be easing the visibility of certain human readable Java classes in our dump templates.

BL-581 Handle single values in arrayAppend merge=true

A nice feature to support further merging techniques with arrays.

Improvements

BL-503 dump improvement of UI when using expand/collapse

BL-545 Show errors in class pseudo constructor in tag context

BL-555 List utils need to trim all values when converting to arrays

BL-558 LocalDateTime not showing in dumps as a date/time string, but as a Java Object

BL-567 Update date/time and instant dump templates to be less verbose and more functional

BL-569 Allow CF tag islands and template islands to be nested more than one level deep.

BL-570 Merge CF lexer and grammar for faster parsing and more accurate lexing

BL-571 Make tag expression parsing smarter

BL-576 expandPath() must ignore invalid paths, just returning the input

BL-579 More IO BIFs need to ignore invalid paths

Bugs

BL-434 script block parsing can be tricked by comments

BL-546 Lucee allows properties to be anywhere in the pseduoconstructor of a class, not just at the top

BL-547 flush component only flushes up one buffer, not all the way

BL-550 Boxlang doesn't parse milliseconds in datetime string

BL-551 Date "string" doesn't have date time member functions available

BL-552 Querynew failing with more than one column defined

BL-553 Regular Expression Syntax not supported

BL-557 Metadata visitor doesn't support struct annotations with unquoted keys

BL-561 Hyper module failing

BL-562 bx-compat cfloop requires "index" when it shouldn't

BL-563 transaction shouldn't require global DSN

BL-564 cfproperty tag lucee allows non quoted properties

BL-565 Class name sensitivity based on provided rather than class found

BL-566 No reading dump templates due to pathing incorrectly in debug mode

BL-568 Static support not compatible with CFML

BL-572 javacast not actually casting as expected

BL-573 functions in variables scope vs values in variables scope

BL-575 bx-compat unquoted hashed expressions cause compiler error

BL-577 serializeJSON errors when serializing a function

BL-578 Sentinel loop with missing expressions fails

BL-582 mid() It does not remove characters if the count is more than the length

BL-583 Cannot invoke "ortus.boxlang.runtime.types.IStruct.putAll(java.util.Map)" because "recipient" is null

Add Your Comment

Recent Entries

VS Code BoxLang Extension: Debugging BoxLang in CommandBox

VS Code BoxLang Extension: Debugging BoxLang in CommandBox

So you’ve installed CommandBox and are running the latest BoxLang server like a boss. You open up your browser and are met with an error message. This looks like a job for, you guessed it, the BoxLang VS Code Debugger!

Maria Jose Herrera
Maria Jose Herrera
September 26, 2024
Top ColdFusion security vulnerabilities in 2024 and how to prevent them

Top ColdFusion security vulnerabilities in 2024 and how to prevent them

ColdFusion continues to be a powerful platform for web application development. However, with its widespread use, it's crucial to remain vigilant about potential security vulnerabilities. This article provides a technical overview of the most relevant security threats affecting ColdFusion (CFML or Adobe ColdFusion) in 2024 and offers practical steps to mitigate them.

1. SQL Injection Vulnerabilities SQL Injection remains one of the most common and dangerous vulnerabilities in C...

Cristobal Escobar
Cristobal Escobar
September 24, 2024
ColdBox Free Tip 1: Environment Variables In The Config

ColdBox Free Tip 1: Environment Variables In The Config

Welcome to the first of 10 FREE tips and tricks in our "102 ColdBox Tips and Tricks" Book! In this post, we’ll show you how to easily access system environment variables within your ColdBox configuration files, making your app setup smoother and more flexible!

Maria Jose Herrera
Maria Jose Herrera
September 19, 2024