githubEdit

1.0.0

May 1, 2025

This was our first stable release of the BoxLang language. It grouped the entire betas and release candidate features and fixes. This specific version included the following release notes from issues that changed between release candidate 3.

New Features

BL-1319arrow-up-right Create the config `runtimes` struct so any runtime can store their settings there by convention

BL-1327arrow-up-right Add simple rewrites to miniserver

Improvements

BL-1199arrow-up-right Add a `version` key to the boxlang.json to track the current version of the runtime.

BL-1275arrow-up-right expandPath(".") when running boxlang as a shell script does not point to the current working directory

BL-1278arrow-up-right Possible minor bug in Mail

BL-1285arrow-up-right Can we improve URL to PDF support?

BL-1286arrow-up-right Pre-compiled matchers for exception stack builds for performance

BL-1287arrow-up-right LineNumber alias on exception traces for multiple Box tools in the open

BL-1293arrow-up-right Upate isObject, isArray and IsStruct to have more edge cases and consistencies across engines

BL-1296arrow-up-right looping over XMLNode as collection only loops over child nodes

BL-1310arrow-up-right BoxLang file with no extension should try to determine if it's an executable class

BL-1311arrow-up-right Expand relative this.mappings in application class

BL-1323arrow-up-right change extract() BIF so filter argument works the same as directoryList()

BL-1324arrow-up-right make missing template error use relative path, not absolute path

BL-1334arrow-up-right Support samesite and expires in servlet

BL-1336arrow-up-right change compress() BIF so filter argument works the same as directoryList()

BL-1337arrow-up-right generatePBKDFKey() compat issues

BL-1339arrow-up-right SCryptVerify() doesn't support hashes generated in Adobe ColdFusion

Bugs

BL-1098arrow-up-right Compat: FileMove in ACF/Lucee automatically overwrites the destination file

BL-1123arrow-up-right Use of compat-transpiled name in scoped variable throws error

BL-1131arrow-up-right Compat: Error parsing date with zero month

BL-1218arrow-up-right Cookie with Quoted Value Intermittently comes back with URL-Escaped quotes

BL-1266arrow-up-right Rethrown Exception Inside Transaction Being Wrapped In Application Exception

BL-1267arrow-up-right Elvis using nullValue on right hand side throws error

BL-1271arrow-up-right Using BIFS in CLI schedulers throws an error that request context is empty

BL-1272arrow-up-right Dumping class with top argument results in Struct template error.

BL-1273arrow-up-right Class which implements IReferenceable alone throws errors when Attempting Serialize to JSON

BL-1274arrow-up-right Error with parseDateTime on ISO with fully numeric offset

BL-1279arrow-up-right relative include with ../../ can result in illegal class name

BL-1280arrow-up-right caches set operations relies on timeouts being Objects, do stricter validation and conversion to avoid can't cast string to longs

BL-1281arrow-up-right hash CFML compatability

BL-1282arrow-up-right cfml compat: returnformat is case sensitive for remote methods

BL-1283arrow-up-right cfml compat - cfinclude with non cfml files

BL-1284arrow-up-right CFML compat. Undefined query values are strings in ACF / Lucee

BL-1289arrow-up-right CacheLocator cache is too aggressive on same name but different location classes

BL-1290arrow-up-right dump templates for Function, Map and XML missing expand null checks

BL-1291arrow-up-right XML structkeyExists returns false when objects are there but isNull returns false

BL-1292arrow-up-right jsonSerialize() or deserialize with cookie setting is adding extra "

BL-1294arrow-up-right static initializer above properties is giving a syntax error

BL-1297arrow-up-right Update session storage key removal interceptor so it can detect if the clear is a session or not, as it could be in a cache that holds much more data

BL-1299arrow-up-right Serializing queries to JSON compatibility

BL-1301arrow-up-right DynamicObject.hasMethodNoCase() is returning false for methods that clearly exist and are invokable

BL-1302arrow-up-right JDBC - Missing support for no connection limit

BL-1303arrow-up-right Static access is not a valid construct for array access

BL-1304arrow-up-right featureAudit incorrectly reports the valueList() BIF as missing

BL-1306arrow-up-right cfhtmlhead does not work properly

BL-1307arrow-up-right Implement CFCookie Expires

BL-1308arrow-up-right cfcookie samesite attribute not honored

BL-1309arrow-up-right CFML Compat - cfcookie encodevalue attribute not honored

BL-1312arrow-up-right overriding `/` mapping in this.mappings not working

BL-1313arrow-up-right dump/abort doesn't always default response content type in servlet

BL-1317arrow-up-right ASM Boxpiler is not generating the correct bytecode when dealing with abstract classes

BL-1321arrow-up-right bx:location throws error in console

BL-1325arrow-up-right BX-PDF - Issue with PDF support and document section, specifically Acrobat Reader

BL-1326arrow-up-right documentsection name not properly setting bookmark name

BL-1328arrow-up-right Relax default permissions of bx:document

BL-1331arrow-up-right Compat: dateTimeFormat "h" mask

BL-1340arrow-up-right SCryptVerify() function aliases

BL-1341arrow-up-right hash() returns lower case from CFM pages

BL-1343arrow-up-right Schedulers defined in Application.bx do not have access to application scope values defined in onApplicationStart

BL-1345arrow-up-right cliread was closing the system.in instead of sharing across the cli

BL-1346arrow-up-right bitwise complement doesn't work with variable

BL-1348arrow-up-right Expansion of "/tmp" resolves to relative path.

BL-1349arrow-up-right elvis doesn't work in lambda

Tasks

BL-179arrow-up-right TimeBox Certification

BL-1136arrow-up-right Compat: Document DateAdd Behavior with Decimal Number Difference from ACF/Lucee

Last updated

Was this helpful?