Qb 14 Beta Is Ready for Testing!

We’re getting close to the final release of qb 14, and we’d love your help testing it in real-world applications.

New Features and Improvements

Highlights include:

  • Named and custom return formatters
  • Cross-database JSON paths and JSON where methods
  • New whereInBulk and parameter-aware insertBulk
  • Null-safe upserts with matchNulls
  • Improved numeric type inference
  • New SchemaBuilder features, including portable binary columns
  • Numerous query compilation, binding, and full-null fixes

Performance Improvements

qb 14 also brings with it performance and memory improvements across query construction and compilation. Focused microbenchmarks measured the following improvements:

Operation Lucee (6.2.8) Adobe ColdFusion (2021.0.19) BoxLang (1.16)
SQL type normalization 52.6% faster 34.0% faster 39.3% faster
Array type inference 16.1% faster 34.6% faster 29.7% faster
Scalar binding collection 30.3% faster 48.3% faster 19.6% faster
Single-column normalization 39.5% faster 21.6% faster 14.2% faster
Simple table-name wrapping 5.0% faster 43.6% faster Effectively unchanged

These figures compare median elapsed times for fixed batches of isolated qb operations before and after optimization. They demonstrate improvements to specific hot paths, not equivalent reductions in total application request time.

Breaking Changes

As a major release, qb 14 includes a few breaking changes to review while testing:

  • Native queryExecute options such as returntype, columnkey, and columnKey are no longer honored. Use qb’s named or custom return formatters instead.
  • Custom grammars that override compileUpsert must accept the new trailing matchNulls boolean argument.
  • The obsolete numericSQLType setting has been removed. Use integerSQLType, bigIntegerSQLType, and decimalSQLType instead.
  • Whole-number bindings outside the signed 32-bit range now infer BIGINT.

See the qb 14 Migration Guide for examples and upgrade instructions.

Help Us Test

Try the beta, explore the qb 14 documentation, and let us know what works, what breaks, or what could be clearer.

Thanks, and happy querying!