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

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

Why BoxLang When You Have Kotlin, Groovy, Scala, and more…

As we approach a stable release of BoxLang and our continued marketing reaches more folks, many have asked about its purpose. Why create a new language when the JVM ecosystem already includes established languages like Kotlin, Groovy, and Scala, to name a few.

Luis Majano
Luis Majano
December 18, 2024
ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox Free Tip 6 - Using Routing with Wildcard Domains!

ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain() method to create routes that match specific domains or sub-domains.

Maria Jose Herrera
Maria Jose Herrera
December 18, 2024