1.0.0-Beta15
September 20, 2024
Last updated
Was this helpful?
September 20, 2024
Last updated
Was this helpful?
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!
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!
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.
All module settings in your boxlang.json
can now be deeply merged automatically by BoxLang.
We will be easing the visibility of certain human readable Java classes in our dump templates.
A nice feature to support further merging techniques with arrays.
dump improvement of UI when using expand/collapse
Show errors in class pseudo constructor in tag context
List utils need to trim all values when converting to arrays
LocalDateTime not showing in dumps as a date/time string, but as a Java Object
Update date/time and instant dump templates to be less verbose and more functional
Allow CF tag islands and template islands to be nested more than one level deep.
Merge CF lexer and grammar for faster parsing and more accurate lexing
Make tag expression parsing smarter
expandPath() must ignore invalid paths, just returning the input
More IO BIFs need to ignore invalid paths
script block parsing can be tricked by comments
Lucee allows properties to be anywhere in the pseduoconstructor of a class, not just at the top
flush component only flushes up one buffer, not all the way
Boxlang doesn't parse milliseconds in datetime string
Date "string" doesn't have date time member functions available
Querynew failing with more than one column defined
Regular Expression Syntax not supported
Metadata visitor doesn't support struct annotations with unquoted keys
Hyper module failing
bx-compat cfloop requires "index" when it shouldn't
transaction shouldn't require global DSN
cfproperty tag lucee allows non quoted properties
Class name sensitivity based on provided rather than class found
No reading dump templates due to pathing incorrectly in debug mode
Static support not compatible with CFML
javacast not actually casting as expected
functions in variables scope vs values in variables scope
bx-compat unquoted hashed expressions cause compiler error
serializeJSON errors when serializing a function
Sentinel loop with missing expressions fails
mid() It does not remove characters if the count is more than the length
Cannot invoke "ortus.boxlang.runtime.types.IStruct.putAll(java.util.Map)" because "recipient" is null