Firebug Roadmap

From FirebugWiki
Revision as of 10:20, 12 February 2013 by Sroussey (Talk | contribs) (Regular Tasks)

Jump to: navigation, search
  • This page is intended to summarize plans and directions for
  • Provide any feedback on Firebug newsgroup


This section describes the strategy and goals that keep Firebug a competitive in-browser tool and leader in space of in-browser developer tools.

Version Numbering

The next planned version number is: 1.12

Development happens on master branch (currently alpha).

If a significant new feature (or set of features) is introduced in new release, the version numbering can move into 2.* scheme. An example of such feature can be support for remote debugging.


The goal is to introduce new Firebug release till April 2013

Phase Start Date
Alpha Started
Beta -
Final Release -
  • The entire release cycle (from the first alpha to the final release) should target 4-5 months
  • The beta phase should be at least 4 weeks
  • The new release should introduce 8-10 new features (or significant bug fixes)

Suggested Features

Use this section to suggest any feature you'd like to see in

  • JSD2 Adoption
  • Remote Debugging
  • Undo/redo option in HTML panel (+ CSS + DOM if possible) (issue 54, issue 2569)
  • Cut option in HTML panel (issue 6217)

Planned Features / Changes

This section summarizes all features that are planned for Every feature in this section must have an owner.

Regular Tasks

Feature Overview

Feature Developers Related Issues Status
Adopt JSD2 Honza, Sebastian, Farshid Issue 5421: Adopt JSD2 started
Syntax highlighting for JavaScript Honza Issue 4823: Native javascript code color/highlight (without FireRainbow extension)
Issue 5175: Integrate Orion as replacement for the Script panel UI
Group console messages Sebastian Issue 4979: Group console messages started
Mutation events removal Simon Issue 5490: Get rid of mutation events started
Auto-completion for Command Editor Simon Issue 55: Auto-completion for Command Editor
issue 5741: Auto-completion within expression in Command Line
not started
Closure Inspector Simon Issue 5873: Integrate FireClosure
Issue 6183: Closure Inspector: some variables are treated as DOM properties
Issue 6184: Closure Inspector: named function expression scopes are duplicated
Issue 6185: Closure Inspector: .% syntax doesn't work when execution is stopped in frame
Event types filter Sebastian Issue 229: Allow event types to be filtered with "Log Events" started
Libraries code rewrite Florent Issue 6164: Libraries code rewrite started
Line numbers in CSS Edit Mode - Issue 2153: Show line numbers in Edit mode not started
Cache options - Issue 4536: Cache options not started

Feature planning should keep in mind the suggested release schedule above

Feature Description

This section provides detailed description of all planned features.

Adopt JSD2

Firebug script debugger and all related features like BON (break on ...) should be based on new JSD2 API. Using JSD2 API will also enable remote debugging.

Part of this task is also internal Firebug architecture refactoring so it's ready for remote debugging features. Note that adopting JSD2 doesn't automatically mean that Firebug is remote-debugging-ready. This is covered by issue 5837

Note that this task doesn't have to make it into, but it could be possible (if useful) to at least merge code changes.


Source Repository: Development happens on JSD2 branch

Syntax highlighting for JavaScript

The Script Panel should have syntax highlighting enabled for the displayed JavaScript code.


  • Replace SourceBox code by Orion
  • Re-add context menu options
  • Adjust CSS to match the Firebug UI

Group console messages

Console messages optionally need to be grouped to avoid spamming the Console Panel.


  • Group error messages
  • Group messages produced by the console object

Mutation events removal

Mutation events are replaced by mutation observers. So we need to move to them.


  • Replace mutation events by mutation observers in HTML panel
  • Replace mutation events by mutation observers in CSS panel
  • Remove "mutation" event type
  • Replace mutation events by mutation observers in FBTest


Auto-completion for Command Editor

Add the Command Line auto-completion to the (multi-line) Command Editor inside the Console Panel.


  • Allow auto-completion within an expression
  • Add auto-completion to the Command Editor
  • Enhance positioning of the Completion List Popup

Closure Inspector

Closure variables should be displayed inside the DOM Panel and be accesssible via the Command Line.


  • Integrate FireClosure
  • Improve UI
  • Fix issues of FireClosure


Event types filter

The user should have the possibility to choose certain event types to be logged to the Console Panel.


  • Create menu items for the different event groups
  • Refactor setting the event types to work together with the ones set via monitorEvents().

Libraries code rewrite

The APIs inside the /lib should be refactored to simplify and optimize them. Because extensions are also using these functions, it is important to keep the backward compatibility as far as possible.


  • Rewrite the functions
  • Add JSDocs to all functions

Line numbers in CSS Edit Mode

The Source Edit Mode of the CSS Panel should have line numbers for easier navigation.


  • Integrate Orion into the Source Edit Mode
  • Ajust the display to fit to the Firebug UI

Cache options

Reading the Firebug preferences from the Firefox preferences should just happen once to avoid unnecessary disk accesses.


  • Adjust getPref()
  • Adjust setPref()