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

BX-AI 1.2 Released: Claude 4 Support, New Tooling API, CFML Compatibility & More!

BX-AI 1.2 Released: Claude 4 Support, New Tooling API, CFML Compatibility & More!

We’re excited to announce the release of BoxLang AI v1.2, a major update to the BoxLang AI module that powers intelligent applications with a unified AI abstraction layer across even more providers: OpenAI, Claude, Grok, Gemini, and more. This release packs new features for providers, tools, debugging, and customization — making it easier than ever to build multi-runtime, AI-driven BoxLang and CFML applications.

Luis Majano
Luis Majano
June 19, 2025
Ortus Solutions invited at America Digital 2025

Ortus Solutions invited at America Digital 2025

Our participation is more than a presence, it is a commitment to represent El Salvador’s growing influence in the global tech ecosystem and to inspire others to embrace modern software practices.

This invitation is a recognition of our contributions to open source and a reminder of the importance of building with purpose. Whether through BoxLang, ColdBox, or any of our other tools, our focus remains the same: to empower developers, elevate teams, and enable the future of digital transformation.

Maria Jose Herrera
Maria Jose Herrera
June 18, 2025
Introducing the BoxLang Version Manager!

Introducing the BoxLang Version Manager!

We're excited to announce the release of BVM (BoxLang Version Manager), a powerful new tool that makes managing multiple BoxLang installations effortless across Mac, Linux, and Windows Subsystem for Linux (WSL). Whether you're a BoxLang developer working on multiple projects or testing across different versions, BVM is designed to streamline your workflow.

Luis Majano
Luis Majano
June 17, 2025