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

Adobe CFSummit 2024 Recap | Ortus Solutions

Adobe CFSummit 2024 Recap | Ortus Solutions

A huge thank you to everyone who visited our booth! We had the pleasure of engaging in meaningful conversations about Modern CFML and ColdFusion development, sharing insights, and exploring exciting new ideas. Visitors also got a chance to participate in some fun activities and win fabulous prizes, including our customized t-shirts, which were a huge hit!

Maria Jose Herrera
Maria Jose Herrera
October 02, 2024
BoxLang September Newsletter

BoxLang September Newsletter

Welcome to the September edition of the BoxLang Newsletter! This month has been packed with exciting updates, new features, and enhancements that continue to shape BoxLang into a robust and versatile programming language. In this edition, we highlight the latest beta releases, new integrations, and key features that have been introduced.

Maria Jose Herrera
Maria Jose Herrera
October 01, 2024
Fall Savings: Unlock Exclusive Discounts Until October 31st!

Fall Savings: Unlock Exclusive Discounts Until October 31st!

Get ready for the Ortus October Fall Savings! This is your opportunity to elevate your development experience with fantastic offers designed for everyone—from seasoned developers to tech enthusiasts. Our special promotions are here to help you achieve your goals while saving money!

Don’t Miss Out on These Amazing Offers!

Use the code FALLSAVINGS24 at checkout to enjoy these incredible discounts before they expire on October 31st

Cristobal Escobar
Cristobal Escobar
October 01, 2024