ColdFire 1.2 Released

The new beta for Firebug was released over the weekend so I'm happy to say I'm releasing ColdFire 1.2 into the wild. Head over to the RIA Forge site to check it out.

The main update with this version is that uses the new Firebug Net Monitor listener interface to monitor network traffic. This probably doesn't mean much to most users, but in terms of the maintainability of the code base this is huge. To put it in perspective a little history on network monitoring in ColdFire may help. Prior to 1.1.51.59 ColdFire was doing it's own network monitoring. This was hard as there are a lot of subtle issues you have to deal with when inspecting traffic in Firefox and as a result ColdFire was only catching a subset of the network traffic that Firebug caught. This was causing Firebug/ColdFire to use more resources than necessary because ColdFire was basically duplicating what Firebug was already doing. It also meant that ColdFire wasn't really using Firebug for anything other than a UI container. ColdFire 1.1.51.59 fixed that by leveraging Firebug's network monitor, but in order to do this it used a closure:

...

if (context.netProgress)
{
context.netProgress.activatecf = function(panel){
this.cfpanel = panel;
}
context.netProgress.post = (function(old){
return function(handler, args){
old.apply(this,arguments);
if (this.cfpanel)
{
var file = handler.apply(this, args);
if (file)
{
this.cfpanel.updateFile(file);
}
}
}
})(context.netProgress.post);
}

...

This worked but was extremely brittle. That's why I was very happy to see the Firebug team add a listener interface to Firebug's network monitor. ColdFire is now able to listen to network events with a nice clean interface:

...

initializeUI: function(detachArgs)
{
Firebug.NetMonitor.addListener(this);
},

// NetMonitor listener interface method
onLoad: function(context, file) {
var panel = context.getPanel("coldfusion");
panel.updateFile(file);
},

...

Because ColdFire uses Firebug's Net Monitor the Net Panel must be enabled for the site you wish to debug. I mention this because Firebug 1.2 has some new options for enabling and disabling the Console, Script, and Net panels which some users have found confusing. Unlike previous versions of Firebug, these panels are disabled by default to conserve system resources, so make sure you have the Net panel enabled.

Also, the download contains xpi packages for both ColdFire 1.1 and 1.2. I did this because Firebug 1.2 is still in early beta and some people are having issues on FF 3. Firebug 1.2 will run on both Firefox 2 and 3, so once it is a little more stable I'll be dropping 1.1 from the release, but for now it is in the download in case anyone needs it. Just be sure you install the correct .xpi for your Firebug version. (If you do run into any issues with Firebug 1.2 be sure to report them to the Firebug team as they are working hard to make Firebug 1.2 the best Firebug yet.)

Enjoy!

Comments
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.