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

From Legacy Risk to Modern Agility: A Phased Modernization Roadmap for CFML Teams

From Legacy Risk to Modern Agility: A Phased Modernization Roadmap for CFML Teams

Many organizations running CFML applications today face the same challenge.

Their systems still work.

They support core business processes.

They generate revenue.

But at the same time, those platforms are increasingly exposed to risk.

Unsupported runtimes, operational fragility, security exposure, and difficulty integrating with modern systems are becoming more common in environments still running older versions of Adobe ColdFusion or Lucee.

The quest...

Cristobal Escobar
Cristobal Escobar
March 16, 2026
Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great — until you need more expressiveness. FreeMarker is powerful — until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?

Meet the BoxLang Spring Boot Starter.

Luis Majano
Luis Majano
March 13, 2026
Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

The growing need to evolve legacy financial platforms safely

Many Swiss banks and financial institutions still operate important systems built on ColdFusion and CFML platforms.

These systems manage a wide range of functions, including:

  • internal banking workflows
  • reporting systems
  • client portals
  • data integration platforms
  • compliance and risk management tools

In many cases, thes...

Cristobal Escobar
Cristobal Escobar
March 13, 2026