Blog

CBWIRE 3.1 Released

Grant Copley September 25, 2023

Spread the word

Grant Copley

September 25, 2023

Spread the word


Share your thoughts

CBWIRE 3.1 Released

I'm very excited to announce the latest release of CBWIRE, version 3.1. This release contains a couple of bug fixes, but mostly new features that you can start using right away in your applications.

For starters, you no longer need to add wireStyles() or wireScripts() to your layout file because now there is an autoInjectAssets configuration property that you can enable which does this automatically. 

Lifecycle hooks provide event-driven programming for CBWIRE, and we've added two new lifecycle hooks: onUpdate() and onUpdateProperty(). The methods will fire anytime a data property is being updated.

If you have custom UDFs defined for your ColdBox application, such as an ApplicationHelper.cfm file, those methods are now available to all your component templates.

In prior versions of CBWIRE, your component consisted of a CFC and a separate CFM template. In 3.0, we added the ability to define your component and its template entirely in a single .CFM file. This has made working with CBWIRE much more enjoyable from a development perspective, but it did add some overhead when rendering the components. We've added the ability to cache single-file components, allowing you to enable caching in production to speed up UI rendering.

In the bugs, we unfortunately found scenarios where child components were not rendering correctly, as well as instances of HTML comments causing rendering issues. These have been resolved.

There's lots packed into 3.1 and we highly recommend upgrading, even if it's just for the bug fixes.

Enjoy and please let us know your thoughts on CBWIRE!

Changelog

Enhancements

  • CBWIRE 81: Add configuration property to include CBWIRE styling and JavaScript assets automatically. Remove the need to add wireScripts() and wireStyles() to templateBugs

  • CBWIRE 116: Add onUpdate() and onUpdateProperty() lifecycle hooks

  • CBWIRE 117: Add the ability to refresh all child components from the parent component when an action is called

  • CBWIRE 118: Add the ability to call CBWIRE UDFs from the cbwire template as computed properties are too limiting.

  • CBWIRE 119: Single file components file names are not unique and could create conflicts in high-traffic applications

  • CBWIRE 120: Clear any compiled single file components on ColdBox fwreinit

  • CBWIRE 121: Add params arguments as a substitute for parameters argument when calling onMount

  • CBWIRE 123: Add 'cacheSingleFileComponents' setting to control if single file components are cached

  • CBWIRE 126: Cleanup unnecessary variables available to templates to avoid potential collisions

  • CBWIRE 127: Add the ability to call application helpers defined in ColdBox.cfc or any installed modules from CBWIRE templates.

Bug Fixes

  • CBWIRE 124: Fix child components not re-rendering properly on subsequent requests

  • CBWIRE 122: HTML comments in component templates cause re-renders not to work.

Add Your Comment

Recent Entries

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026