This release brings another round of powerful tools and refinements to the BoxLang community, making development more dynamic and robust than ever. We’ve added new capabilities for debugging and tracing, expanded context-sensitive controls for thread management, and introduced new methods for fluent attachment handling.
For deeper flexibility, our improvements enhance configurability, streamline session control, and add deeper levels of JSON serialization management. Plus, we’ve squashed a wide range of bugs, enhancing stability across database connections, date handling, and runtime compatibility with CFML.
In addition, CSRF Token functionality is now provided via the bx-csrf
module.
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-beta21
New Feature
BL-713 Global events for Application events
BL-720 Implement table filter for dbinfo component
BL-721 getComponentList() should also return the declared attributes of a component
BL-722 getFunctionList() should also return the declared arguments of a BIF
Improvement
BL-710 Implement Algorithm Argument for RandRange
BL-716 Set request class loader into thread as context class loader
BL-717 Retain directories in dynamic class loader
BL-728 Add nullIsUndefined flag to control how null variables are handled
BL-729 Don't default properties with no default value to null when compat has enabled nullIsUndefined scope behavior
Bug
BL-638 Passing a null named argument hides outer bindings by the same name
BL-641 Missing BIF - CSRFGenerateToken is now supplied with the bx-csrf
module
BL-669 Difference in args vs local variables handling
BL-677 Incompat: metadata annotations from inherited sub classses added to top level class
BL-679 cfloop collection with an array throws casting exception
BL-697 argument collection optional param is null
BL-711 dot access not chaining to static access
BL-712 NPE when calling non-existent Java method
BL-715 Duplicate of cfc instance presenting as struct
BL-718 Key access in StructMapWrapper not working
BL-719 GetTagData(), GetFunctionData() function not implemented, implement in the COMPAT module
BL-724 import name restrictions too strict
BL-726 Assignment not working on static fields of an imported class
BL-727 Adding two ints uneccessarily returns a long
Add Your Comment