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.

-

Current status of Firebug development.

+

-

=== Firebug 1.8 ===

+

== Schedule ==

-

Development frozen on this branch.

+

The goal is to introduce new Firebug release till April 2013

-

=== Firebug 1.9 ===

+

{| class="wikitable" style=""

-

[https://addons.mozilla.org/en-US/firefox/addon/firebug/ Firebug 1.9] is the last released version (available on AMO and getfirebug.com) compatible with Firefox 5-13. Selected patches will be back-ported from 1.10.

+

|-

+

! style="width:200px" | Phase || style="width:200px" | Start Date

+

|-

+

| Alpha || Started

+

|-

+

| Beta || -

+

|-

+

| Final Release || -

+

|}

-

=== Firebug 1.10 ===

+

* The entire release cycle (from the first alpha to the final release) should target 4-5 months

Firebug UI & Logic is mostly running inside an iframe (chrome://firebug/content/firebugFrame.xul). The goal here is to load the content of the iframe on demand at soon as the user needs Firebug the first time.

+

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.

-

However there are some pieces that are running within the global Firefox UI (browser.xul) and must be loaded immediately after the browser window is loaded.

+

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 [http://code.google.com/p/fbug/issues/detail?id=5837 issue 5837]

-

* Page context menu (inspector, open with editor)

+

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

-

* Firebug global menu (tool, view, web developer, ...)

+

-

* Firebug start button (Firefox toolbar)

+

-

* Firebug iframe and a splitter

+

-

Firebug iframe content should be automatically loaded when the user presses F12 or uses any command available through an existing menu or a keyboard shortcut. Such functionality requires all global parts to be clearly separated and independent for the Firebug UI itself (the one running in the iframe).

The Net panel should use [https://wiki.mozilla.org/Remote_Debugging_Protocol Remote Debugging Protocol] (RDP) to communicate with the server side that is performing HTTP monitoring. This should enabled remote HTTP monitoring e.g. for mobile devices.

+

* 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

-

The server side script should be using the following interfaces (to monitor HTTP):

There should be a way how to install Firebug and extensions without Firefox restart. Some API related to dynamic registration are already available.

+

-

+

-

Tasks:

+

-

* Review API for dynamic adding/removal of panels

+

-

* Review API for dynamic adding/removal of modules

+

-

* Review extension example

+

-

* Update documentation/tutorial

+

-

+

-

Resources:

+

-

* http://code.google.com/p/fbug/issues/detail?id=4686

+

-

* https://github.com/cadorn/jetpack-firebug

+

-

+

-

=== JSD2 ===

+

-

JSD2 (also known as JSDBG2 or JSDBGAPI) represents new API for JS debugging in Firefox.

+

-

+

-

Jim Blandy and Jason Orendorff are working on a JS implementation of JSD built on top of the JSDBG2 API (a wrapper). This wrapper should be injected into Firebug and make it compatible with JSDBG2. Prototype implementation [http://hg.mozilla.org/users/jblandy_mozilla.com/firebug-on-jsdbg2/ is available] (Firebug 1.9 fork).

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

+

-

+

-

Tasks:

+

-

* Group error messages

+

-

* Group messages produced by the 'console' object

+

-

== Further Suggestions ==

+

==== Closure Inspector ====

-

Please append further suggestions for new 1.10 features in this section so. We'll yet discuss all these suggestions.

+

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

-

=== Better user feedback ===

+

'''Tasks:'''

-

This has been already discussed before. It could be useful to have more feedback from Firebug users and use it for targeted improvements. The feedback should be collected using Testpilot and its related infrustructure and/or through a Firebug extension.

Firebug currently doesn't have any connection to the server files. Many people don't understand that and they are asking how to achieve that.

+

* Create menu items for the different event groups

-

This change would at least allow mapping between local server URLs and the file system.

+

* Refactor setting the event types to work together with the ones set via <code>[[monitorEvents()]]</code>.

-

Questions:

+

==== Libraries code rewrite ====

-

* How is this related to Firediff?

+

The APIs inside the <code>/lib</code> 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.

-

Resources:

+

'''Tasks:'''

-

* [http://code.google.com/p/fbug/issues/detail?id=5035 issue 5035]

+

* Rewrite the functions

+

* Add JSDocs to all functions

-

=== Integrate more extensions into Firebug ===

+

==== Line numbers in CSS Edit Mode ====

-

Apart from Firecookie integration, [http://code.google.com/p/fbug/issues/detail?id=5440 EventBug was asked to be integrated into Firebug].

+

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

-

Question was also if further extensions should be integrated:

+

-

* FireStarter: No, because it just enhances the current activation model.

Feature Description

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 Firebug.next, but it could be possible (if useful) to at least merge code changes.