Till the end of 2017 (ca. 2017-11-14, release of FF v57) add-ons need to be rewr…itten as WebExtensions.
This affects which Firefox version VTR will be able to support, please read: https://github.com/Croydon/vertical-tabs-reloaded/issues/13#issuecomment-271294600 for more information. When the porting to WebExtensions is done I will declare this add-on for the first time as stable, since it's eliminating all kind of crazy behavior, which wouldn't be easy till impossible in the legacy add-on form.
**Timeline:**
* FFv53 (2017-04-19; 0.8.3): Make WebExt main settings manager, remove old settings
* FFv55 (2017-08-08, 0.8.4): Opt-in for the new tab sidebar
* FFv56 (2017-10-03, 0.8.5): Opt-in for the new tab sidebar
* FFv57 (2017-11-14, 0.9.0): Not possible to use the old tab sidebar anymore
**Using the development version:**
There is already an experimental, feature incomplete WebExtension-only version [on the development channel on AMO ](https://addons.mozilla.org/en-US/firefox/addon/vertical-tabs-reloaded/) (at the end of the page). Nightly users might want to use that in the meantime.
**Roadmap:**
- [x] Embed a WebExtensions https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions (99136868, 0.8.0)
- [x] Sync SDK add-on settings with WebExt add-on settings (99136868, v0.8.0)
- [x] Manage add-on settings UI by WebExt (6f2abed, 0.8.1)
- [x] Give settings UI again a Firefox native look&feel (80b7a51, 0.8.1)
- [x] Re-apply when Firefox's invisible checkbox bug is fixed (and the rest works as well..)
- [x] Add hidden add-on settings in the UI since about:config won't be possible (e896df0, 0.8.3)
- [x] Manage add-on settings by WebExt (6ad76c0, 0.8.3)
- [x] Remove settings from SDK
- [x] VTR prefs (90d9dab, 0.8.3)
- [x] Firefox prefs manipulation (5961484, 0.9.0)
- [x] Remove theme setting "None / Firefox default" which makes no sense anymore due to sandboxing (27bfb17, 0.8.5 + 627e93c, 0.9.0)
- [x] CSS/theme/templates
- [x] Load templates/themes/any other css by WebExt
- [x] Move data/ to WebExt (8b2db1c, 0.8.3)
- [x] Remove legacy CSS like splitter (cf5c17f, 0.9.0)
- [x] Manage hotkey by WebExt (329adea, 0.8.4)
- [x] Manage Events by WebExt
- [x] Window Events (6dcf9e0, 0.8.4)
- [x] ~~Mouse Events~~
- [x] Manage windows by WebExt (904409b, 0.9.0)
- [x] Introduce hidden experiment add-on flag (91cd1e5, 0.8.4)
- [x] Enforce debugging, hidden settings and experiment flag to true for Firefox Nightly (2a9a61ded, 0.8.4)
- [x] Enforce debugging and hidden settings for Firefox Beta (80bcaea, 0.8.4)
- [x] Install, uninstall, update management regarding user data migration
- [x] Create information page with changes in VTR and show to user once when updating to WE-only version (7bcf0ae, 0.9.0)
- [x] Add toolbar button to toggle sidebar (8f72143, 0.8.4)
- [x] Add tab browser sidebar
- [x] Implement all visible tab features
- [x] text label, icon, pinned tabs indication (548ec70, 6263090, 9cd36d8, 0.8.4)
- [x] close button (ffb7f0b, 0.8.5)
- [x] loading indication (#85, ad22ad2, 0.9.0)
- [x] sound indication with possibility to mute/unmute (9c0a439, 0.9.0)
- [x] Implement correct sorting of tabs - keep it dynamically up to date on tab moves (83d1e9e, 0.8.4)
- [x] Correct tab order when opening links in new tabs (ba974b4, 0.9.0)
- [x] Implement basic tab context menu features
- [x] Reload, Mute, Pin Tab (3b7d7c8, 0.8.5)
- [x] Close Tab (f3d8771, 0.8.5)
- [x] Implement drag&drop of tabs (9417e34, 0.9.0)
- [x] Implement tab toolbar with a new tab button (customization is a post-FFv57 issue) (0a75025, 0.8.4)
- [x] Make it possible to place it at top, bottom and hide it completely (#57, 5b97710, 0.8.4)
- [x] Creating new tab by clicking on free space within the tab browser (#17, 9cd36d8, 0.8.4)
- [x] Scroll selected tabs automatically into view (789c06f, 0.8.4)
- [x] ~~Fix #53~~
- [x] ~~Open sidebar automatically if experiment flag is set - not possible https://bugzilla.mozilla.org/show_bug.cgi?id=1343817#c12~~~~
- [x] ~~Hide default tab browser https://bugzilla.mozilla.org/show_bug.cgi?id=1332447 -> #128~~
- [x] Look into creating an optional WebExtension experiment for Unbranded Builds, Dev Edition and Nightly to counter combat some of the limitions of the WebExtensions APIs
- [x] ~~Investigate if such an experiment can be installed in Beta, Nightly & Unbranded before FF57 release automatically~~
**Tracking:**
- File read/write https://bugzilla.mozilla.org/show_bug.cgi?id=1246236
**Post-57-jobs:**
- Hide default tab browser #128
- Toggling of sidebar doesn't always work due to Firefox API limitations #134
- Complete context menu options #120
- Discover opportunities to support ~~Firefox for Android, Chrome,~~ Opera ~~and Edge~~ #117
- Provide API #74
- Rewrite some parts to use newer JavaScript (classes, modules (https://bugzilla.mozilla.org/show_bug.cgi?id=568953)
**Original:**
> ~~In order to make the code pain free and more reliable I plan to remove all XBL/XUL/XPCOM stuff and migrate it fully to SDK.~~
> ~~XBL/XUL/XPCOM will become deprecated anyway as soon as WebExtensions are more stable.~~
> ~~I am not sure yet, if the SDKs will provide all necessary functions to make something equal to the current functionality, but Mozilla will enforce to go this way in the long run anyway.~~