ColdBox 5.5.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:
The major libraries updated in this release are ColdBox MVC and WireBox.
If you are using annotations for component aliases you will have to tell WireBox explicitly to process those mappings. As by default, we no longer process mappings on startup.
// Process a single mapping immediatelymap( name ).process();// Process all mappings in the mapDiretory() callmapDirectory( packagePath="my.path", process=true )mapDirectory( "my.path" ).process();// Map all models in a module via the this.autoProcessModels in the ModuleConfig.cfcthis.autoProcessModels = true
This release is a big performance boost for two areas of operation: modules, and models. The Module Service has been completely revised to make it as fast as possible when registering and activating modules. If you have an extensive usage of modules, you will feel the difference when booting up or re-initing the framework.
The other area is the inspection of models that has been lazy evaluated. This allows for faster bootups and reinits as models are only inspected on demand or when explicitly marked.
Our environment functions have now been added to the Framework SuperType and thus all objects in the ColdBox eco-system receive it:
getEnv(), getSystemSetting() and getSystemProperty()
As resources have become more mainstream in ColdBox, we now give you the ability to choose the URL pattern you want to attach to the resource. This allows you to create a-la-carte resource patterns and also allow you to nest resources via patterns.
[COLDBOX-786] - HTMLHelper typo on
getSetting call via
[COLDBOX-788] - Private method in handler is accessible from public ( direct link )
[COLDBOX-783] - New module directive:
autoProcessModels which defaults to false to defer to lazy processing of models
[COLDBOX-789] - Added
getEnv(), getSystemSetting() and getSystemProperty() to super type for easier environment setting retrievals
[COLDBOX-790] - Added much more logging and info when booting up the Module Service
buildLink(), relocate() now will translate raw
: to / in URL with appropriate module entry points thanks to richard herbert
[COLDBOX-792] - Allow nested resources and the ability for custom URL patterns for resources
[COLDBOX-782] - Add TestBox 3 and code coverage to the core
[COLDBOX-785] - Module service performance optimizations for module activations.
[COLDBOX-787] - Update RequestContext.cfc
getFullUrl() to include port number
[WIREBOX-84] - Remove auto processing of all mappings defer to lazy loading
MapDirectory new boolean argument
process which defers to false, if true, the mappings will be auto processed
[WIREBOX-86] - New binder method:
process() if chained from a mapping, it will process the mapping's metadata automatically.
[WIREBOX-87] - AOP debug logging as serialized CFCs which clogs log files