Labs/Jetpack/JEP
Contents
Introduction
JEP stands for Jetpack Enhancement Proposal. A JEP is a proposal for an enhancement to the Jetpack add-ons development platform. JEPs are a mechanism for collecting ideas and influencing Jetpack development.
Each JEP has a champion who is responsible for writing the proposal and driving the discussion of its merits. Any Jetpack project participant can be a champion. JEPs are numbered by increasing consecutive integers, listed on this page, and discussed in the Jetpack discussion forum.
JEPs are not the only mechanism for influencing Jetpack development, and they're often not the best one. Consider proposing and discussing new APIs and enhancements to existing ones in the Jetpack discussion forum without writing a JEP, since most changes can be proposed, discussed, agreed upon, and implemented without the heavyweight formal process of a JEP. Other options include:
- file bug reports about bugs;
- go ahead and implement APIs that don't need to be in the core Jetpack library (or for which it's not clear whether or not they belong in the core), then distribute them to add-on developers via your own website (or, once available, via FlightDeck).
Process
To champion a JEP, assign it the next available integer and create a wiki page for it. Name the page after its number, and put it in the /Labs/Jetpack/JEP/ namespace. Refer to existing JEPs for guidance on formatting. Reference the page in the list below.
Assign the new JEP the initial status [PROPOSED] . Announce it and solicit feedback in the Jetpack discussion forum. Revise it as appropriate in response to feedback.
After discussion of the proposal, if it is approved by Jetpack leads, mark it [APPROVED] . Otherwise, mark it [DECLINED] . Reference bugs tracking the implementation status of an approved proposal in the list of proposals below. Once an approved proposal has been implemented (which may uncover issues that necessitate changes to the proposal), mark it [IMPLEMENTED] .
Proposals
# | Title | Owner | Status | Version | Bug |
101 | No-Restarts | Atul | [IMPLEMENTED] | Firefox 3.7a5 | bug 542385 |
102 | Single UI Element | Aza | [IMPLEMENTED] | SDK 0.4/SDK 0.5 | bug 543585 |
102.1 | Extension Auto-Detection | Daniel | [PROPOSED] | ||
103 | Panel | Myk | [IMPLEMENTED] | SDK 0.5 | bug 494238 |
104 | Simple Storage | Drew | [IMPLEMENTED] | SDK 0.4 | bug 548589 |
105 | Life-cycle | Aza | [IMPLEMENTED] | SDK 0.5 | bug 549324 |
106 | Registered Jetpack URLs | Atul | [DECLINED] | bug 549319 | |
107 | Page Mods | Daniel | [PROPOSED] | SDK 0.5 | bug 546739 |
108 | Page Worker | Daniel | [IMPLEMENTED] | SDK 0.4 | bug 546740 |
109 | Request | Myk | [IMPLEMENTED] | SDK 0.5 | bug 547091 |
110 | Tabs | Myk | [IMPLEMENTED] | SDK 0.5 | bug 549317 |
111 | Selection | Myk | [IMPLEMENTED] | SDK 0.5 | bug 547092 |
112 | Context Menu | Drew | [IMPLEMENTED] | SDK 0.3 | bug 548590 |
113 | Localization | Gandalf | [IMPLEMENTED] | SDK 0.5 | bug 549315 |
114 | Places | Ddahl | [PROPOSED] | SDK 0.5 | bug 545700 |
115 | Content Frames | Brian | [IMPLEMENTED] | SDK 0.5 | bug 549316 |
116 | Private Browsing | Ehsan | [IMPLEMENTED] | SDK 0.4 | bug 503233 |
117 | URL | Myk | [IMPLEMENTED] | SDK 0.4 | bug 564524 |
118 | JetpackID | Brian | [IMPLEMENTED] | SDK 0.4 | bug 553020 |
119 | ctypes | Dan Witte | [PROPOSED] | ||
120 | Audio | Garrison | [PROPOSED] | bug 553020 |
Archive
These JEPs were written during the experimental phase of the project, when we were developing the prototype. Now that we are no longer working on the prototype, these JEPs are no longer applicable. They are archived here for reference purposes.
- JEP 10 - Clipboard Support
- JEP 11 - Simple Persistent Storage
- JEP 11B - Simple Persistent Storage Alternate
- JEP 12 - Selections
- JEP 13 - Enabling Experimental Jetpack Features
- JEP 14 - Menus
- JEP 16 - SlideBar
- JEP 17 - Page Mods
- JEP 18 - Audio
- JEP 19 - JavaScript Injection Toolkit
- JEP 20 - System Information
- JEP 21 - Toolbar
- JEP 22 - Places (bookmarks and history)
- JEP 23 - Panels
- JEP 24 - Settings
- JEP 25 - Boosters
- JEP 26 - Music
- JEP 27 - Video
- JEP 28 - The Cuddlefish Minilib
- JEP 29 - Jetpack Security Model
- JEP 30 - First-run Pages
- JEP 30A - onInstall Hook
- JEP 31 - CFX, the Cuddlefish Build/Packaging System
- JEP 32 - Awesomebar
- JEP 33 - Gadget
- JEP 34 - Notification Boxes
- JEP 35 - Localization API
- JEP 36 - L10n environment
- JEP 37 - JPX, the Jetpack build tool
- JEP 38 - IconJet
- JEP 39 - DNS support