Skip to content

1.2.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 29 May 14:58
· 250 commits to development since this release

New Features

  • BL-1453 Maven pom.xml for the BoxLang Home so you can integrate with any Java library
  • BL-1464 implement nested grouped output/looping
  • BL-1474 Logger appenders in the boxlang.json can now chose their own encoder: text or json
  • BL-1476 Added ability for loggers to chose between file and console appenders
  • BL-1482 new event ON_FUNCTION_EXCEPTION
  • BL-1485 Update the error template to include a section where the user can contact us if the error is not good enough or we can improve it.

Improvements

  • BL-1393 Add executionTime to result object of bx:http
  • BL-1397 FileCopy( source, targetDirectory ) when using a target directory doesn't work on BoxLang but works on Lucee
  • BL-1400 File bifs have too many casts, do one cast for performance
  • BL-1404 Add a unique request id metadata header when making requests in http so it can track easily
  • BL-1405 Add missing contexts to data interceptors
  • BL-1406 Add a `request` struct to the bxhttp result object
  • BL-1417 Add Allow Arguments to FileCopy and FileMove for granular extension security overrides
  • BL-1419 server.java.defaultLocale, server.java.availableLocales
  • BL-1420 New bif: BoxModuleReload( [name] ) to easily reload modules for testing purposes
  • BL-1421 optimize when LocalizationUtil string casts
  • BL-1422 optimize Struct.putAll()
  • BL-1423 optimize when basescope creates lockname to on demand
  • BL-1424 optimize string compare check for unicode
  • BL-1425 optimize case insensitive instanceof check
  • BL-1426 optimize isNumeric locale parsing and casting
  • BL-1427 optimize file detection/reading from disk unless needed
  • BL-1428 optimize getConfig() by caching at request context
  • BL-1429 Improve performance of string lowercasing and key creation
  • BL-1433 Only include source lines in exceptions when in debug mode
  • BL-1434 Optimize hash base 64 encoding
  • BL-1435 Optimize regex cache key generation
  • BL-1436 Move/Copy BIFs should all default to an overwrite value of true
  • BL-1437 Update the way loggers are setup and retrieved to avoid string and key lookups and accelerate the runtime
  • BL-1438 bif invocation interceptors missing the actual bif
  • BL-1439 BIF Interceptors hot code, only create events if they are states for it
  • BL-1443 order keys in struct dump alphabetically
  • BL-1445 DateTime and Duration Math Should Represent Fractional Days in Math Operations
  • BL-1446 Compat: DateAdd Should accept numeric fractional days as date argument
  • BL-1450 Exclude javaparser and other debug libraries from final jar
  • BL-1454 Optimize FQN class by removing regex usage in hot code
  • BL-1455 optimize generated setter by caching resolved file path
  • BL-1456 Optimize dynamic object by converting stream to loop in hot code
  • BL-1457 optimize output check by caching recursive lookups
  • BL-1458 optimize isEmpty code paths
  • BL-1459 optimize getting function enclosing class by caching
  • BL-1460 optimize number caster true/false string checks
  • BL-1461 optimize BoxStructSerializer class by avoiding struct.entrySet()
  • BL-1462 optimize string compare by removing unnecessary string to lower case
  • BL-1473 Update to use StatusPrinter2 from deprecated StatusPrinter using LogBack
  • BL-1481 Speed improvements for function invocation on hot code
  • BL-1486 Better handle low level parsing errors like java.util.EmptyStackException
  • BL-1489 Improve error messages when registering interceptors using the registration bifs when sending things other than interceptors
  • BL-1490 Add function name to interceptor data for ease of use
  • BL-1493 Accelerate dynamic object method handle executions

Bugs

  • BL-1356 postBIFInvocation event
  • BL-1357 Simple preFunctionInvoke interceptor throws errors due to recursing into itself
  • BL-1385 Module that defines an interceptor has to specify "too much" for the class path
  • BL-1386 ModuleService reload and reloadAll() methods to provide ability for module reloading on development
  • BL-1394 forgot to populate the `populateServerSystemScope` from the override boxlang.json
  • BL-1396 isValid Boolean Returning Incorrect Result on Struct
  • BL-1398 Move default disallowed file extensions to web support and keep CLI open
  • BL-1399 Compat: CreateTime Should Support 0 hour argument
  • BL-1401 FileSystemUtil not absoluting paths when checking existence
  • BL-1402 `replaceNoCase` does not handle `null` strings like Lucee or ACF
  • BL-1403 http not using the user agent if passed by the user
  • BL-1409 Compat: add `server.coldfusion.supportedLocales`
  • BL-1412 Add Application.bx/cfc support for overriding allowed and disallowed extensions
  • BL-1414 this.logger is null in when getting an attempt() from a box future
  • BL-1416 Compat: Support ACF/Lucee `blockedExtForFileUpload` Application Setting
  • BL-1418 parameterized QoQ with maxLength errors
  • BL-1431 function dump template doesn't work in compat
  • BL-1432 CF transpiler not turning off accessors for child classes
  • BL-1441 getPageContext().getRequest() has no getScheme()
  • BL-1442 empty file fields in forms throw error on submit
  • BL-1444 Boxlang does not pickup custom tags that are in the same folder as the file that calls them
  • BL-1447 Compat: DateDiff should support fractional days as date argument
  • BL-1449 when doing a boxlang {action} command it should break and execute
  • BL-1451 Custom tag search is case-sensitive
  • BL-1452 inline annotation errors when literal value is a negative number
  • BL-1463 parser errors on class annotation called abstract
  • BL-1466 self-closing defaultcase tag not parsing
  • BL-1467 if you use options or params that include file extensions, the runner explodes
  • BL-1468 cfqueryparam tag not allowed outside of cfquery tag
  • BL-1469 Building query fails when part of the query is build inside function that outputs directly
  • BL-1470 query escaping of single quotes only escapes the first one, not all
  • BL-1475 `this.sessionStorage` assignment with Application-defined cache throws error.
  • BL-1477 Errors within application startup leave app in unusable state
  • BL-1479 Compat: Error thrown in QueryCompat interception when null param is encountered
  • BL-1483 calling java method with invoke() and no args fails
  • BL-1484 filewrite operations on existing files were not truncating it and leaving content behind.
  • BL-1488 isSimpleValue doesn't work with Keys