What's New With 5.4.0
ColdBox 5.4.0 is a minor version update with lots of fixes, improvements, performance enhancements and some nice new features. Below are the major areas of improvement and the full release notes. To update your ColdBox installation just leverage CommandBox:
update coldbox
update logbox
update wirebox
update cachebox
Box Namespace
In our initiative to make all Modules sharable between ColdBox, CommandBox and whatever other boxes we make in the future. We created the box
alias for injections. In our case any injection with the prefix coldbox
can be used as box
RunRoute()
We have created a new internal runner called runRoute()
which is similar to runEvent()
but it allows you to abstract your events by leveraging named routes. So just like you can create links based on named routes and params, you can execute named routes and params as well internally via runRoute()
CacheBox Rewritten
This should have been a major release on its own. The entire CacheBox framework was re-written in script and modernized from top to bottom. We removed all implicit variable access which gave us huge performance boosts and we streamlined all operations with modern techniques. The results are great and our maintenance will be much less in the future. A part from those optimizations we managed to add a few nice items:
Adobe 2018 certified
New setting
resetTimeoutOnAccess
which allows you to simulate session scopes on any CacheBox cache. Every time aget()
operation is done, that item's timeout will be reset.All cache providers get some multi function goodness:
setMulti(), getMulti(), lookupMulti(), clearMulti(),getCachedObjectMetadataMulti()
LogBox Improvements
There are two major improvements we did with LogBox in this release:
1) The file locking operations on file appenders have been streamlined to avoid high i/o operations.
2) The console appender uses an asynchronous streaming technique which makes it extremely efficient and fast.
ColdBox Release Notes
Bugs
[COLDBOX-556] -
prePostExempt
doesn't skip around advices[COLDBOX-755] - Core interceptors in coldbox.cfc do not listen or register custom interception points that are contributed by modules
[COLDBOX-761] -
invalidEventHandler
gets in to an infinite loop when theinvalidEventHandler
isn't a full event[COLDBOX-766] - ColdBox shutdown errors
onApplicationEnd
due to lack of application scope[COLDBOX-770] - Use of
event.sendFile
delivers a file with single quotes in the name[COLDBOX-773] - Remove default defaultValue as it never will throw an exception if missing on requestcontext on
getHTTPHeader()
New Features
[COLDBOX-765] - Update all elixir methods to match new version
[COLDBOX-771] - Add Elixir version 3 path methods
[COLDBOX-775] - Added
`:`
as a delimiter for theroute()
method when using modules to be consistent with run event[COLDBOX-776] - new runner:
runRoute()
that allows you to run routes internally with param passing
Improvements
[COLDBOX-767] - Change "module already registered" from warn to debug
[COLDBOX-774] - Introduce generic "box" namespace for Wirebox injections
CacheBox Release Notes
Bugs
[CACHEBOX-46] - CacheboxProvider metadata and stores: use CFML functions on java hash maps breaks concurrency
[CACHEBOX-50] - getOrSet() provider method doesn't work with full null support
[CACHEBOX-52] - getQuiet(), clearQuiet(), getSize(), clearAll(), expireAll() broken in acf providers
New Features
[CACHEBOX-48] - New setting: `resetTimeoutOnAccess` to allow the ability to reset timeout access for entries
[CACHEBOX-49] - Global script conversion and code optimizations
[CACHEBOX-53] - lookup operations on ACF providers updated to leverage cacheIdExists() improves operation by over 50x
[CACHEBOX-54] - setMulti(), getMulti(), lookupMulti(), clearMulti(),getCachedObjectMetadataMulti() is now available on all cache providers
Improvements
[CACHEBOX-47] - Increased timeout on `getOrSet` lock
[CACHEBOX-51] - Consolidated usages of the abstract cache provider to all providers to avoid redundancy
WireBox Release Notes
Bugs
[WIREBOX-82] -
builder.toVirtualInheritance()
: scoping issues[WIREBOX-83] - When using sandbox security, and using a provider DSL the file existence checks blow up
LogBox Release Notes
New Features
[LOGBOX-34] - Console appender completely rewritten to support asynchronous streaming
Improvements
[LOGBOX-33] - Improve file exists usage on file appenders to avoid i/o operations
Last updated