Blog

CBWIRE 2.1 Released

Grant Copley October 28, 2022

Spread the word

Grant Copley

October 28, 2022

Spread the word


Share your thoughts

CBWIRE, our ColdBox module that makes building reactive, modern CFML apps delightfully easy, just dropped its 2.1 release. This release contains mostly bug fixes and also the ability to create your UI templates directly within your CBWIRE component using the onRender() method.

We've added an example of using onRender() to our ever growing CBWIRE-Examples Repo that you can run on your machine locally. https://github.com/grantcopley/cbwire-examples

The complete documentation for CBWIRE is available at https://cbwire.ortusbooks.com/.

onRender

Instead of creating a .cfm template, you can define an onRender() method on your component. This method accepts an args argument where data properties and rendered computed properties are passed in.

component extends="cbwire.models.Component" {

    // Data properties
    data = {
        "firstname": "Grant",
        "lastname": "Copley"
    };

    // Computed Properties
    computed = {
        "fullName": function( data ) {
            return data.firstname & " " & data.lastname;
        }
    }

    function onRender( args ) {
        // 'args' contains our rendered data and computed properties
        return "
            <div>
                <h1>Welcome #args.fullName#</h1>
                <h2>Your first name is #args.firstname#</h2>
            </div>
        ";
    }
}

Enhancements

CBWIRE-111 Ability to output component template direct from onRender() method instead of defining a .cfm tempale in views/wires.

Bugs

CBWIRE-119 Computed properties that do not return a value result in error 'variable [VALUE] doesn't exist'

CBWIRE-118 Nested components are causing the template rendering to only render the last nested template

CBWIRE-117 Struct values are not being passed to template and are instead being replaced with an empty string

CBWIRE-116 CBWIRE doesn't work when ColdBox app is in a subdirectory

CBWIRE-115 Getting errors when rendering component templates in latest version of ColdBox

CBWIRE-96 Nested components are not rendering

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