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

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