1.0.0-RC.2
March 4th, 2025
Last updated
Was this helpful?
March 4th, 2025
Last updated
Was this helpful?
🚀 BoxLang Release Candidate 2 is Here! 🚀
We’re entering the final stretch of our pre-releases, and we couldn’t be more excited to introduce RC2! 🚀 This release marks a major leap in performance and compatibility, the result of over six months of intensive development. Beyond enhanced stability and seamless integration, RC2 delivers game-changing performance optimizations that push the boundaries of efficiency. Get ready for our fastest, most refined release yet!
RC2 is blazing fast! 🚀 Our latest release delivers unmatched performance in both parsing and runtime execution, outperforming Adobe ColdFusion 2021 and 2023 by 25-37% in many scenarios. These results are backed by rigorous certification testing across TestBox, ColdBox, and over 35 modules, ensuring real-world speed and reliability. You can now check all of our repos and see the performance for yourself.
This means you can seamlessly migrate your Adobe ColdFusion or Lucee applications to BoxLang with no code changes—and they’ll run faster, smoother, and across multiple runtimes! 🚀
But that’s not all—our subscription-based licensing can save you over 70% compared to Adobe ColdFusion, with no restrictions on cores or limitations on SaaS and multi-tenant applications. No restrictions. Just pure freedom to scale. 🔥
We’re excited to welcome Raymond Camden, a renowned leader in the CFML community, as a BoxLang Advocate! 🎉
Raymond, currently collaborating with us as a contractor, brings deep expertise in web development and a passion for making complex technologies more accessible. His insights and experience make him the perfect advocate to explore and champion BoxLang—our modern, CFML-compatible programming language. 🚀
We have now our first premium module for BoxLang +/++ subscribers: BX-REDIS. Our bx-redis
module is now available for you to use if you have a subscription. You can also try it out free of charge by installing it today:
Giving you great capabilities for caching, distributed sessions, pub-subscribe and much more. You can find out about this initial release here (https://forgebox.io/view/bx-redis)
Remember that our support license subscriptions (https://www.boxlang.io/plans) for BoxLang +/++ are available now. Offering enterprise-grade support, priority fixes, premium modules, and exclusive benefits. As an introductory offer, all licenses are available at 25% off for March.
We encourage you to pre-compile your applications using our BoxLang compiler for incredibly safe and high-performance deployments since no parsing is involved. Combined with our new trusted cache settings, your applications will fly and be highly performant.
BL-1021 Explore speed improvements to parser
BL-1084 Support CF syntax of space inside elvis operator
BL-1089 allow getSystemSetting() to default to a non-simple value
BL-1090 bx-compat - Client Scope Listener should not start up or look for cache if client management is disabled
BL-1093 Make miniserver bind to 0.0.0.0 by default
BL-1143 Change order of app shutdown
BL-1147 boxAnnounce() and boxAnnounceAsync() get a poolname so you can announce globally or to the request pools
BL-1148 missing bif: BoxRegisterInterceptionPoints() to register interception points for global or request pools
BL-1149 In BL files, only default output=false in tag-based UDFs
BL-1153 Setup the hikari defaults for connection pooling to modern standards
BL-1155 Update query object to return array of structs into a consolidated method: toArrayOfStructs()
BL-1158 Attempts needed remail of left over isSimplevalue evaluations
BL-1159 Rename bx:module to be bx:component
BL-1018 esapiEncode does not allow an zero length input string
BL-1024 BX-ORM: Datasource with name [defaultDatasource] not found in the application or globally
BL-1026 `try`/`finally` doesn't always run `finally`
BL-1036 ASM regression - break exiting out of more than just the loop
BL-1056 LinkedHashMap right-hand assignments are always null.
BL-1063 ReEscape result doesn't match ACF
BL-1064 Classes getting cleared in debug mode
BL-1077 Simplify CLI to install modules
BL-1078 cgi items not being found until you access them
BL-1079 encrypt not working with AES and UU
BL-1080 Encrypt Fails when salt is below 16 bytes in length
BL-1082 bx-mail not reading mail configurations
BL-1085 HTTP - Ensure all exceptions are caught and handled
BL-1086 Mail Module not Loading root-level boxlang.json Mail Server Settings
BL-1087 StructUtil.deepMerge wraps arrays in nested array if left hand side contains the same array
BL-1088 Can't set cookies using a struct
BL-1092 Mail: Classloader issues when sending MultiPart email in Servlet Context
BL-1094 `.duplicate()` Member Method Not Available on Struct,DateTime objects, Queries and Arrays
BL-1095 DirectoryCopy Does not Allow Closure for Filter Arg
BL-1096 QueryNew Does not accept array of Columns as only first arg
BL-1097 Compat: CachePut does not allow numeric decimal number of days for timeSpan or idleTime
BL-1099 String Hash Result Different Between Text and Byte Array
BL-1100 Compat: HTTP result.statusCode Does not Include the status text.
BL-1101 HTTP Request for Binary Object casts fileContent to String
BL-1102 Integer caster not always consistent
BL-1103 HTTP Component getAsBinary attribute does not support `true` and `false` boolean arguments
BL-1104 HTTP Component throws an error when `Host` is explicitly passed as a header
BL-1105 HTTP Component Throws Error when sending Binary Content
BL-1106 HTTP getAsBinary should be treated as an explicit request for binary content unless `never` is passed.
BL-1109 HTTP: Query Params Are Being Double Encoded Even When Encode=false
BL-1110 Within a cfmodule, the variables scope is not available within a .each() loop if the .each loop is called in a function within the module.
BL-1111 When a form is submitted but none of the inputs have names and the form scope is dumped, an error is thrown
BL-1112 Type coercion of an numeric argument passed to java constructor is not being done
BL-1113 Function NOT not found
BL-1114 bx-orm - 'Datasource with name [defaultDatasource] not found ...'
BL-1115 bx-orm - Unable to call generated methods from within class
BL-1116 bx-orm - Generated method hasX() is missing support for value comparison
BL-1117 bx-orm - AddX() method fails on many-to-many relationship properties with "bag is null" error
BL-1118 HMAC Method not supporting binary keys
BL-1120 HTTP `file` attribute not implemented
BL-1121 Math Operations Leave trailing zeros after operation when result is whole number
BL-1122 HTTP ACF and Lucee Treat all Unknown or malformed `Content-Type` Headers as a string response
BL-1124 Compat: Default throw error not a type of `Application`
BL-1125 Error compiling - 'in' was unexpected expecting one of ...
BL-1126 this.customtagpaths not respected - Could not find custom tag
BL-1128 Common Text Cert/Key extensions are being read as Binary data
BL-1129 for loop using var and in throws parsing error
BL-1130 Custom Error Thrown Is Being Wrapped in "Error invoking Supplier" exception
BL-1132 FileRead should only ever return strings
BL-1133 DateTime Comparison equals/isEqual discrepancies
BL-1134 DateCompare Issues when Time units are specified
BL-1135 DateAdd No Longer Allowing Decimals
BL-1137 Allow customTagPaths to be relative
BL-1138 EqualsEquals operator should use `equalTo` method of DateTime in compat mode
BL-1139 Cannot pass BoxLang Functions into ScheduledTask
BL-1140 Nested config values for modules do not get replaced by environment variables
BL-1142 thread safety issue in feature audit
BL-1144 Custom setter that assigns to this scope causes stack overflow with implicit accessor invocation
BL-1146 return type of function not always parsing
BL-1150 Invalid stack height when using a ternary in a context that doesn't expect a return value
BL-1151 semicolon not allowed after pre annotation
BL-1152 `variablename` is not supported as a type
BL-1156 Compat: Date Comparisons in Compat should only be precise to the second
BL-1157 len() BIF needs to treat byte arrays as an array, not a string
BL-1160 return not expr parsing error
BL-814 CBSecurity Certification
BL-1076 isWDDX BIF missing from wddx module