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

BoxLang AI: The Foundation for Real-World AI Systems!

BoxLang AI: The Foundation for Real-World AI Systems!

BoxLang AI: From AI Experiments to Real-World Systems!

Why we built BoxLang AI?

AI is everywhere. New models, new tools, new announcements every week. But for most teams, the real challenge isn’t choosing ...

Victor Campos
Victor Campos
January 30, 2026
Speaker Featuring - Round 1

Speaker Featuring - Round 1

Every conference is more than the talks we see on stage it’s also the story of the people who make it possible.

With the first round of Into the Box 2026 sessions and workshops now live, we’re excited to introduce some of the speakers who will be joining us this year. These community members, practitioners, and Ortus team experts bring decades of real-world experience across CFML, BoxLang, JVM modernization, testing, AI, and cloud-native development.

Victor Campos
Victor Campos
January 26, 2026
First Round of the Into the Box 2026 Agenda Is Live

First Round of the Into the Box 2026 Agenda Is Live

Into the Box 2026 marks an important moment for the CFML and BoxLang community not just because of what’s on the agenda, but because of what it represents: 20 years of Ortus Solutions helping teams move forward, modernize, and build with confidence.

Victor Campos
Victor Campos
January 21, 2026