blog
discuss
releases
documentation

Archive for April, 2014

Firebug 2.0 beta 3

Friday, April 25th, 2014

getfirebug.com has Firebug 2.0 beta 3

Firebug 2.0b3 fixes 15 issues
Firebug 2.0b3 is compatible with Firefox 30-31

 

Highlights from this release

Apart from regular bug fixes and patches one new feature made it into this release. It’s now possible to search in the HTML panel using regular expressions (issue 6713)

 

All you need to do is to check Use Regular Expression option in the search panel options dialog and type a regular expression in the search box.

 


 

Code Auto-completion

One of the things improved in Firebug 2 is related to code auto-completion. This feature has been improved on several places in Firebug. First, let’s see the Command Editor in the Console panel (issue 55)

 

 

You can open the auto-completion popup window by pressing the <tab> key. The screenshot shows a case where the key is pressed after typing: document.get

 

Another place where auto-completion has been improved is breakpoint condition dialog. It now offers variables in scope. Check out the following screenshot.

 

 

You can read about other auto-completion features in previous blog post.

 

Please post feedback in the newsgroup, thanks.

Jan ‘Honza’ Odvarko

 

Firebug 2.0 beta 2

Thursday, April 17th, 2014

getfirebug.com has Firebug 2.0 beta 2

Firebug 2.0b2 fixes 9 issues
Firebug 2.0b2 is compatible with Firefox 30-31

 

A few more reported issues have been fixed in this release and we also created some more automated tests to ensure stability.

Show/hide Firebug panels

One change we introduced in Firebug 2 is the way how to hide/show individual panels. Check out the next screenshot that depicts how it’s done in Firebug 1

 

The panel selector button is presented on the main Firebug toolbar. We believe that this feature doesn’t deserve so much attention and in order to clean up the UI and make it simper we decided to move it into Firebug menu in Firebug 2.

 

There are many other little improvements in Firebug 2 that make the overall user experience better and we’ll be explaining them here step by step, so stay tuned!

 

Please post feedback in the newsgroup, thanks.

Jan ‘Honza’ Odvarko

 

Firebug 2.0 beta 1

Friday, April 11th, 2014

getfirebug.com has Firebug 2.0 beta 1

Firebug 2.0b1 fixes 13 issues
Firebug 2.0b1 is compatible with Firefox 30-31

 

The feedback we have got for Firebug 2 so far has been positive, some issues reported and fixed. We feel strong and in order to get more feedback we decided to move forward and start beta phase. Beta releases will also be uploaded on AMO to update the beta channel.

Highlights from this release

One little improvement made it into this release. If you deal with Cookies you can now export all cookies for the current page using new Export as JSON to Clipboard action (issue 7197).

In order to have this action available you need to set the following preference to true: extensions.firebug.cookies.jsonClipboardExport
(use about:config)

 


 

One useful concept improved in Firebug 2 is related to JavaScript errors and the debugger. Thanks to JSD2 API Firebug could finally implement it correctly. So, let’s take a look at four scenarios that explains how you can identify JS errors in your code and fix it.

Break On Next Error

This feature is part of Break On … concept in Firebug. This time we are interested in Break On Next Error related to the Console panel.

This features allows to break on an error that happens next. It’s useful in cases where the user knows when the error happens.

The use case is (try live example):

  • Open Firebug and enable the Console and Script panel
  • Switch to the Console panel and click Break On All Errors
  • Operate your page to cause JS error
  • Firebug should switch to the Script panel and break in the debugger
    at the line where the error happened

Error Breakpoint

In this case Firebug integrates JS errors an breakpoints within the Console panel.

This features allows to break on particular error that the user created a breakpoint for.

The use case is (try live example):

  • Open Firebug and enable the Console and Script panel
  • Operate your page to cause an error
  • You should see an error log in the Console panel allowing to set a breakpoint on it
  • Operate your page to cause the same error
  • Firebug should switch to the Script panel and break in the debugger
    at the line where the error happened

Break On Exceptions

In this case we move into the Script panel and use one of its options.

This feature allows to break on any exception that happens in your app. It works as an option and you don’t need to reactivate it after it happens.

The use case is (try live example):

  • Open Firebug and enable the Script panel
  • Switch to the Script panel and check Break On Exceptions option in the panel tab options menu
  • Operate your page to cause an exception
  • Firebug should switch to the Script panel and break in the debugger
    at the line where the error happened

Ignore Caught Exceptions

This case is an extension of the previous one. In some cases the user is only interested in uncaught exceptions since the others are caught and known.

This features allows to break on any exception that happens and is *not* caught by catch clause. It works as an option you don’t need to reactivate it.

The use case is (try live example):

  • Open Firebug and enable the Script panel
  • Switch to the Script panel and check Break On Exceptions and Ignore Caught Exceptions option in the panel tab options menu
  • Operate your page to cause uncaught exception
  • Firebug should switch to the Script panel and break in the debugger
    at the line where the error happened

Please post feedback in the newsgroup, thanks.

Jan ‘Honza’ Odvarko

 

Firebug 1.12.8

Friday, April 11th, 2014

The Firebug team released Firebug 1.12.8. This version represents a maintenance release fixing compatibility issues with upcoming Firefox versions.

 

Firebug 1.12.8b1 has also been released to update users on AMO beta channel. This version is exactly the same as 1.12.8.

 

Firebug 1.12.8 is compatible with Firefox 23 – 30

Firebug 1.12.8 fixes 2 issues.

 

JSD1 vs. JSD2

This release is solving a compatibility problem related to the JavaScript Debugger Engine API (JSD) in Firefox. This API is going to be removed from Firefox 31 and any extension that is using it (including Firebug) needs to switch to JSD2 that has been around for a while.

The JavaScript debugger in Firebug 1.12.8 is based on the (old) JSD API, so the Script panel will be disabled if you’re running this Firebug version on Firefox 31.

The Script panel displays a message explaining why it’s disabled and a link to the Firebug 2 page. Firebug 2.0 is fully based on JSD2. Firebug 2.0 requires Firefox 30 as the minimum version and all users running it should check it out. Even when Firebug 2.0 is not finished yet, it’s already quite stable.

 

Here is a quick compatibility table:

  • Firefox 23-30 with Firebug 1.12.8
  • Firefox 30+ with Firebug 2.0 beta 1

Please post feedback in the newsgroup, thanks.

Jan ‘Honza’ Odvarko

 

Firebug 2.0 alpha 2

Friday, April 4th, 2014

getfirebug.com has Firebug 2.0 alpha 2

Firebug 2.0a2 fixes 20 issues
Firebug 2.0a2 is compatible with Firefox 30-31

 

The Firebug team is hardworking to make sure version 2.0 is ready when Firefox 30 is ready. Today’s alpha 2 is fixing reported issues and also finishing some features that have been in-progress for some time. We are planning to switch to beta phase soon to get yet more feedback.

Inspect JavaScript Function Return Value

issue 6857

 

This is a great feature that allows to examine and modify the return value of a JavaScript function. See this little example:

function myFunction()
{
    return foo();
}

 

The question is how to examine the return value of foo()? Firebug allows that by stepping through a return statement and displays it within the Watch side panel. It even allows you to modify the return value by double-clicking on it.

 

Let’s go through an example (available online) and see some screenshots describing the user experience.

The JS execution is halted at line 17 and the Watch panel shows some global scopes, but it isn’t clear what the return value is.

One of the new JSD2 features is stepping through the return statement, so if you step over once (F10), the debugger will sit at the same executable line (17), but the current return value will be available and displayed in the Watch panel at this time.

Now you can edit the return value (double clicking on number 100) just like any other variable in the Watch panel. You can even change the type to make the value a string or a JS object. Try it for yourself, install Firebug 2 alpha 2 and load the online test case.

 

Pretty Print

issue 6920 and 1238

 

Another nice feature introduced for the first time is source code prettifying. This feature is available for the Command Editor:

as well as the Script panel source:

 

 

We’d love to hear about how this version works for you.

 

Please post feedback in the newsgroup.

 

Jan ‘Honza’ Odvarko