Tree Style Tab version history - 23 versions
Tree Style Tab by Piro (piro_or)
Be careful with old versions! These versions are displayed for testing and reference purposes.You should always use the latest version of an add-on.
Latest version
Version 3.9.15
Released Mar 24, 2023 - 1,004.46 KBWorks with firefox 67.0 and later3.9.15 (2023.3.24):- Never reload infinitely after tabs are detached from a regular window to a popup window (by Popup window or someone).
- New blank tabs reoepend with the container inherited from the active tab are activated correctly.
- Increase heartbeat interval automatically between sidebars and the controller, to prevent unexpected disconnection on cases where very large number of tabs. This introduces a side effect: the toolbar button and the keyboard shortcut to toggle the sidbar visibility may requrie more delay when there are large number of tabs.
Source code released under Custom License
Download Firefox and get the extensionYou’ll need Firefox to use this extensionOlder versions
Version 3.9.14
Released Mar 13, 2023 - 1,003.87 KBWorks with firefox 67.0 and later3.9.14 (2023.3.13):- Better simulation of
browser.tabs.selectOwnerOnClose
on slow environment.
- Better handling of new blank tabs opened as a child of an active pinned tab, when child tabs from pinned parent are controlled.
- Better simulation of
browser.tabs.selectOwnerOnClose
for tabs opened by other applications. - Add a new simulated option for Firefox's built-in "When you open a link, image or media in a new tab, switch to it immediately" about dropped links.
- On Windows 11 and other environments, shift sidebar contents without hovering by default to avoid covering scrollbar on tab UI.
- API: Add new notification types
try-expand-tree-from-expand-command
andtry-expand-tree-from-expand-all-command
to allow blocking of expansion of tree by context menu commands "Expand this Tree recursively" and "Expand All". - Update
ru
locale by wvxwxvw. Thanks!
- Allow to close tabs via group tab pages (middle-click or closeboxes.)
- Reduce flicker while updating tab list in group tab pages.
- Accept multiple URLs for new tabs (to support new tabs on both regular and private browsing windows.)
- Better synchronization of loading throbbers (by Lej77, thanks!)
- Group tabs not from bookmarks with user's choice correctly. (regression on 3.9.8)
- Enlarge input fields for some options to input numbers.
Source code released under Custom License
- Better simulation of
Version 3.8.26
Released Jul 14, 2022 - 992.39 KBWorks with firefox 67.0 and later3.8.26 (2022.7.15):- Make some user styles written for old versions of TST effective. See the related issue also for more details.
- Prevent zoom-in/out by pinch-in/out on macOS.
- Add a secret option
enableWorkaroundForBug1763420_reloadMaskImage
for an ability to deactivate a workaround for the missing icons problem. - Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.8.25
Released Jul 7, 2022 - 991.72 KBWorks with firefox 67.0 and later3.8.25 (2022.7.8):- Restructure options about new tabs behavior to make more understandable.
- Introduce workaround for missing icons problem.
- Add special favicons for blocked pages.
- Update
fr
locale by tbertels. Thanks!
- Shift twisties in tabs to avoid covered by the scrollbar, on macOS, Linux and Windows 11.
- Keep label of group tabs correctly after they are moved.
- Send
tab-mouseover
and other notifications to helper addons correctly after the sidebar is reopened. - Better auto-sizing of the dialog for confirmation on grouping of tabs.
- Deactivate a workaround of problems around wrong coordinates of
dragend
events on Firefox 99 and 100 (the bug 1767165) on other versions. - API improvement: Add a new notification message type
new-tab-processed
to handle new independent tabs.
- Introduce a workaround of problems around wrong coordinates of
dragend
events on Firefox 99 and later (the bug 1767165). It reduces unexpected detaching of tabs especially on a rightside placed sidebar. This workaround can be disabled by uncheckingenableWorkaroundForBug1767165_fixDragEndCoordinates
via TST Options - "Development" - "All Configs".
- Now you can search bookmark folder items incrementally by key inputs, on the bookmarks folder chooser UI.
- Better auto-sizing of the dialog for confirmation of closing tabs.
- Match appearance of multiselected tabs in the Proton theme to Firefox 99's one (follow to changes introduced at the bug 1751807).
- Don't open dialogs as modal, on the debug mode.
- API improvement: Add a new notification message type
try-collapse-tree-from-other-expansion
to block collapsion of tabs from expansion of another tree.
- Accept dragged items from TST Bookmarks Subpanel 1.2.4 and later.
- Fix odd behaviors around drag operations on Firefox 97 and later.
- Inherit container from the active tab to new tabs more safely by reopening, without losing their URL.
- Accept double quotations in tab titles for a bookmark title.
- Don't expand tree by long-press of the Ctrl key, when Ctrl-Tab handling is not granted.
- Show "gear" favicon for "about:config" tabs (follow-up of a change on Firefox 98).
- Update
de
locale by SammysHP. Thanks!
- Show tabs with readable background color on the combination of "High Contrast" theme and the dark color scheme of Windows 10, on Firefox 96.0 and later.
- Update
ru
locale by wvxwxvw. Thanks!
- Keep TST's sidebar page loaded in regular tabs even if tabs are dropped on some situations, for example a combination with Tree Style Tab in Separate Window and TST's option to deactivate tab detaching.
- Add a secret option to deactivate sync configs across devices via Firefox Sync (TST's options => Development => All Configs =>
syncEnabled
). This was introduced for a workaround about high CPU usage problem triggered by sync.
- Attach tabs sent from other devices to the tree correctly, even if they are sent while the receiver Firefox is not running and
browser.tabs.insertAfterCurrent
istrue
. - Put a set of tabs from other device together in a place instead of jumped positions if possible, when
browser.tabs.insertAfterCurrent
istrue
. (Set a secret optionfixupOrderOfTabsFromOtherDevice
tofalse
when you want to deactivate the behavior.) - Respect the right-to-left mark at the beginning of a page title.
- Better appearance of the counter for collapsed descendant tabs in the Sidebar theme.
- Don't collapse tree by double-click on tab closeboxes. It accidentally collapsed the closing tree and closed all descendant tabs unexpectedly.
- Treat middle-click and accel-click actions on the "New Tab" command in the context menu on tabs same to actions on the "New Tab" button, in the sidebar.
<tab-item-substance>
,<tab-label>
and<span class="label-content">
now inheritdata-tab-id
anddata-window-id
attributes from the parent element (<tab-item>
) for more customizability with custom user styles.- Highlight tabs with "attention" class same as Firefox's native tabs even if they are not faviconized.
- Use highly-visible (darker) background certainly with the "High Contrast" theme on Linux.
- Fade-out long tab labels to left or right, only based on the direction of the label text themselves instead of a global option.
- Remove an option to set global text direction of tab labels.
- Update
ko
locale by OctopusET. Thanks!
- Apply container information saved by Container Bookmarks correctly for tabs opened from a bookmark folder by the "Open All as Tree" context menu command.
- Collapse tabs dropped onto a collapsed tree correctly, when the drop target parent tab is kept collapsed by TST Lock Tree Collapsed.
- Add a secret option to deactivate API for other addons:
APIEnabled
- Update
zh_TW
locale by SiderealArt. Thanks!
- Apply given colors to the toolbar button icon, menu icons and the sidebar header icon, if the theme provides rich information (ex. Colorways of Firefox 95 and later).
- Fix unexpectedly invisible children when a parent tab is restored and collapsed tabs are re-attached to the restored parent.
- Outdent tab via API correctly when a child tab is outdented to the root level with its descendants.
- Update
zh_CN
locale by NightSharp. Thanks!
- Update scrollability status of the tab bar even if there are some "hidden via WebExtensions API, but visible by CSS hack" tabs.
- Reduce (deactivate) mis-detection of the sidebar position on some unstable cases: leftside non-primary and high-dpi screen.
- Use an info icon same to the one in the Proton theme of Firefox itself, for network error pages.
- Suppress unexpected expansion after a parent tab lost its focus, while tab swhiching via Ctrl-Tab.
- Open the options page when some drag-and-drop options are chosen in the shorthand menu on the toolbar icon.
- Reload the sidebar automatically for unexpected fatal error while its initialization, to reduce failing of sidebar initialization.
- Update
ru
locale by wvxwxvw. Thanks! - Update
ko
locale by OctopusET. Thanks! - Update
zh_CN
locale by NightSharp. Thanks!
- Show a confirmation to apply "Right Side" appearance for the sidebar panel shown at the right side when it is initially detected.
- Show a confirmation to apply "Right Side" appearance for the sidebar panel shown at the right side when it is initially detected.
- Apply appearance matching to sidebar position (left or right) automatically by default. After you switch the siderbar position, you need to reopen TST's sidebar panel to apply matching apperance.
- Introduce an expert option to allow detach dragged tab from the window even if it is dropped near the sidebar, for people using
privacy.resistFingerprinting
=true
. - Better tree restoration on browser startup, if the delay to detect duplicated tabs is configured for recent versions of Firefox.
- Better compatibility with addons which reopen the initial tab of a new window immediately (e.g. Temporary Containers).
- Import and export all configs more safely with sanitization of device specific config keys.
- API improvement: introduce new notifications
tabbar-overflow
andtabbar-underflow
. - API improvement:
scrolled
notification now provides new propertyoverflow
indicating overflow state of the tab bar. - Update
ru
locale by wvxwxvw. Thanks!
- Clear indentation of left tabs correctly after multiple ancestors are closed at a time.
- Allow to drop Firefox's native tabs to TST's sidebar. (regression on recent versions)
- Give static
aria-label
for in-tab button elements. This change should improve compatibility with some voice recognition systems including Dragon.
- Fix odd appearance of the Photon theme. (regression on 3.8.5)
- Calculate total height of visible tabs more safely.
- Fix visual corruption on very old versions of Firefox. (regression on 3.8.5)
- Breaking change around DOM structure of tabs:
- Each tab now has
tab-item-substance
as a mid-level container betweentab-item
and tab content elements liketab-favicon
. If you use any custom user styles,>
(child combinator) aftertab-item
in selectors need to be removed. Here are more hints to update selectors. - Helper addons depending DOM structure of TST 3.8.4 or older versions may not work.
- Each tab now has
- Open bookmarks including
about:newtab
correctly. - Init list of external addons for permissions correctly.
- Reduce annoying errors in the error console.
- API improvement: introduce a new place
indent
to insert extra tab contents. - API improvement: introduce
parent
,parent-of-<id>
,root
androot-of-<id>
keywords to get tabs based on tree structures.
Source code released under Custom License
Version 3.8.4
Released Jun 20, 2021 - 957.82 KBWorks with firefox 67.0 and later3.8.4 (2021.6.20):- Update overflow state of tabs more correctly to avoid unexpected covering of the bottom most tab with the new tab button.
- Update visibility of tab context menu items correctly even if it the initial run.
- Restore tree structure more correctly for tabs reopened via Shift-Ctrl-T after closing of multiple tabs at a time.
- Allow to override size of pinned tabs area (
--pinned-tabs-area-size
), subpanel area (--subpanel-area-size
), and new tab button area (--after-tabs-area-size
) easily by overriding these variables with custom user style. - Rescue errors of options UI initialization, and reveal options UI even if some options don't work.
- Don't close the new tab button long-press menu on mouseup. (regression on 3.8.2)
- Restore lost compatibility with user styles containing
--multiselected-color
. (regression on 3.8.2)
- Recontstruct "Proton" theme for better compatibility with Firefox's themes, dark mode of the platform, and GTK theme.
- Avoid needless 1sec delay of confirmation dialogs.
- Update
ru
locale by wvxwxvw. Thanks!
- More natural appearance of the theme "Proton" matching to Firefox's Proton theme.
- The new tab button is now draggable as a link to the URI
about:newtab
, with the Shift key. This means that you can open a new tab at arbitrary position in the sidebar via drag and drop. - Add icons to the new tab action selector panel for better user experience.
- Accessible labels of faviconized tabs from screen readers and voice recognition systems.
- Allow to open
about:newtab
links dropped in the sidebar. - Show confirmation dialogs in the sidebar more safely even if they are triggered by quick actions.
- Never open new tab by middle click on confirmation dialogs shown in the sidebar.
- Never show invalid "undefined" item in the list of other devices.
- Apply the height of the user style editor immediately when a different value is imported.
- Open new blank tab as a child correctly, even if the insertion position is configured as "no control" or "next to the recently opened".
- Re-introduce an option to change the color of the toolbar icon, for better accessibility.
- Don't clear drop position marker while dragging, on Linux environment.
- Save changed config of the new tab insertion position via the right click menu on the toolbar button correctly.
- Try applying the background color to the sidebar ASAP.
- Allow to toggle muted state of tabs even if it is not sound-playing (if the mute button is shown forced by custom user styles).
- Subpanel contents now have its owner window's ID as the
windowId
URL parameter, by NiklasGollenstede. Thanks! - Subpanel is now restricted to a page contained in the provider extension itself, by NiklasGollenstede. Thanks!
- API improvement: Add ability to handle and override events on the new tab button via notification messages with types
new-tab-button-mousedown
,new-tab-button-mouseup
andnew-tab-button-clicked
. - API improvement: Add ability to control extra contents in the new tab button via messages with types
set-extra-new-tab-button-contents
andclear-extra-new-tab-button-contents
. - API behavior change:
tab-clicked
type message is now delivered only when bothtab-mousedown
andtab-mouseup
are not canceled. - Update
de
locale by SammysHP. Thanks! - Update
ko
locale by BoredSomeone. Thanks!
- Prevent inifinite toggling of the sidebar scrollbar on macOS, when there are enough number of tabs which triggers overflowing. The fix was unexpectedly lost on the released version 3.8.0.
- Update
ru
locale by wvxwxvw. Thanks!
- Restructure behaviors about closing and moving of a parent tab.
- In the sidebar, now there are some permanently fixed behaviors and some configurable presets:
- Closing a parent tab with collapsed tree: closes the entire tree.
- Moving a parent tab with collapsed tree: moves the entire tree.
- Moving a parent tab with expanded tree: behaves according to configurations under the section "Drag and Drop".
- There is a preset for people using Firefox's native tab bar as an UI to operate solo tab. In this case all tab operations done outside of the sidebar (Firefox's native tab bar, keyboard shortcuts, or other addons) are treated as operations for solo tabs, not tree of tabs.
- There is a preset for people desireing TST to control tabs as trees always. In this case all tab operations are treated same as operations in the sidebar, even if it is done on Firefox's native tab bar, keyboard shortcuts, or other addons.
- Otherwise you can configure behaviors for each case: closing of a parent with expanded tree in the sidebar, closing of a parent with collapsed/expanded tree outside of the sidebar, moving of a parent with collapsed/expanded tree outside of the sidebar, and more options for cases with closed sidebar.
- In the sidebar, now there are some permanently fixed behaviors and some configurable presets:
- Better accessibility information for the sidebar. This change should help controlling of the sidebar via speech recognition.
- Add the simulated "New Tab" context menu command on tabs.
- "Close Tabs to the Bottom" and "Close Other Tabs" context menu commands now skips collapsed descendants of the context tab.
- Open tabs from a bookmark folder with correct order. (This looks to be a regression on recent versions.)
- Prevent inifinite toggling of the sidebar scrollbar on macOS, when there are enough number of tabs which triggers overflowing.
- On macOS, in-tab padding is correctly applied avoiding the scrollbar covers clickable UIs. (It was applied to wrong side.)
- Proton theme: Show container identifier line at top of pinned tabs.
- Proton theme: Remove separator border between pinned tabs and regular tabs.
- Apply the icon color or the text color defined by the active theme to TST's toolbar button icon, context menu icon, and the sidebar panel switcher.
- Rebuild sidebar contents more certainly when mis-synchronization between the main process and the sidebar contents is detected.
- Becomes to more robust around tabs reopened immediately by other addons like Temporary Containers.
- Becomes to more robust around closing/moving of parent tabs as solo tabs.
- Don't show needless "Send Tab to Device" simulated context menu item in the context menu on non-tab area.
- Open duplicated tabs based on the configuration more correctly.
- Expose an expert option UI to control the number of scroll lines for keyboard shortcuts.
- The height of the subpanel is now saved and restored for each provider addon.
- Better appearance for the subpanel switcher: more easily recognized as a switcher UI.
- Accept icon images with non 16px size for the subpanel switcher.
- API improvement: now you can specify
initialHeight
orfixedHeight
for your subpanel. - API improvement: custom state of tabs are added/removed safely even if they are given as any type value not a string.
- API improvement: Support CSS length
delta
andposition
parameters for thescroll
API. - API improvement: Support
duration
parameter for thescroll
API. - API improvement: Add new API
stop-scroll
to cancel in-progress scroll animations. - Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.7.4
Released Mar 30, 2021 - 931.68 KBWorks with firefox 67.0 and later3.7.4 (2021.3.31):- Add a theme like Proton experimentally. Proton is the next UI theme of Firefox itself.
- Rename the theme "Plain" to "Photon". Photon is the current UI theme of Firefox itself.
- Restructure tab context menu items to match to the one on Nightly 89.0a1.
- Add a new expert option to close a parent tab as a solo tab by triggers outside of TST, even if it has collapsed children, with visible sidebar.
- Increase the maximum size of the user styles about 12KB.
- Add a debug option to configure the delay to detect duplicated tabs.
- API improvement: introduce
create
which creates a new tab bypassing TST's tab position control behaviors. - Update
ru
locale by wvxwxvw. Thanks!
- Add support for Firefox 88+ compatible "Close Tabs to the Left (Top)" context menu command.
- Prevent the cached helper addon IDs to be synchronized via Firefox Sync. This should solve problems around initialization of helper addons after TST is updated dynamically.
- Don't apply "Tabs from any other trigger" option for new tabs opened from TST's new tab button and the new tab action menu.
- Show tab drag feedback images at bottom-right of the cursor like Firefox does, for better visibility of drop targets.
- Update
ru
locale by wvxwxvw. Thanks!
- Limit maximum rows of pinned tabs (50% height of the sidebar by default) and allow to scroll pinned tab rows with the wheel.
- Keep tree structure more robustly for tabs immediately closed and reopened with different contaienr by any other addon.
- Don't restore closed tabs doubledly on a restoration with Ctrl-Shift-T.
- Restore root level tabs to their original position correctly, even if "new tabs from any other trigger" option is changed. (regression on recent versions)
- Clean up only dummy group tabs even if "Close descendants too" is chosen for options under the "When a parent tab is closed or moved just as a solo tab" => "Custom" section.
- Apply "When a parent tab is closed or moved just as a solo tab" => "Recommended behavior for people who still use the native tab bar of Firefox itself also" => "Replace closed parent with a dummy tab and keep the tree" behavior correctly. (regression on recent versions)
- Show confirmation for closing descendants when a collapsed tree is closed via keyboard shortcuts. (regression on recent versions)
- Move detached descendants after all other existing descendants automatically, to keep correct tree structure. (regression on recent versions)
- Add an expert option to change acceptable accelerator key to match the one on Firefox itself modified via
ui.key.accelKey
.
- Consistent the position of the new tab action selector button in both regular and private windows.
- Update
ru
locale by wvxwxvw. Thanks!
- Show in-tab container indicators (colored bars) with a styling more similar to Firefox's native one.
- Introduce syntax highlighing in the user styles editor (based on the CodeMirror.)
- Remember the height of the user styles editor.
- Cancel the visual gap of tabs produced with dynamically showing/hiding toolbars only when it is triggered by mouse operations on the sidebar in regular windows (not fullscreen mode), by default.
- Add a new expert option to control how tabs to be opened for any other cases not covered by existing options.
- Deactivate "Reopen in Container" and other container tab related features for private windows, like as Firefox itself does.
- API improvement: introduce
*-of-<id>
suffixed keywords to get tabs based on relations from any arbitrary tab. - API improvement: introduce
lastDescendant
keyword to get tabs based on tree structures. - Update
ru
locale by wvxwxvw. Thanks! - Update
de
locale by SammysHP. Thanks!
Source code released under Custom License
Version 3.6.5
Released Jan 8, 2021 - 652.98 KBWorks with firefox 65.0 and later3.6.5 (2021.1.8):- Show favicons same to Firefox's built-in for
about:logins
,about:profiling
,about:protections
andabout:robots
tabs. - Detect tabs opened from external applications correctly. (The detection result was wrong: only new tabs opened with
openerTabId
while all Firefox windows were inactive were detected as "opened by external applications".) - Don't show not-initialized-yet menu elements while the startup process.
- Update
ru
locale by wvxwxvw. Thanks!
- Prevent to mis-shift the sidebar content with regular tabs, non-fullscreen windows placed at coordinates like (*, 0).
- Expose an expert option to deactivate shifting of the sidebar contents with temporarily shown toolbars.
- Fix incompatibility with Tree Style Tab Mouse Wheel on Firefox 84 and later. (Thanks to @MISONLN41!)
- Ensure moved active tab visible even if it is moved via keyboard shortcuts Ctrl-Shift-PageUp/PageDown.
- Turn moved active tab visible even if it is moved from an collapsed tree to the top level via keyboard shortcuts.
- Hide the dummy tab behind the background carten completely.
- Provide custom properties for theme colors with different opacity, with a numeric suffix like
-10
per 10%. For example--theme-colors-tab_background_text-30
means "the color ame totab_background_text
but 30% opacity". - Update
ru
locale by wvxwxvw. Thanks!
- Cancel the visual gap of the sidebar contents when visibility of Firefox's toolbar is toggled for some special cases: about the bookmarks toolbar for new tabs on Firefox 84 and later, and about the navigation toolbar in the fullscreen mode. You can access invisible tabs top of the sidebar with hovering on the top edge of the sidebar contents.
- Context menu commands "Close Other Tabs" and "Close Tabs to Bottom" now don't close hidden tabs like Firefox's native commands.
- Better compatibility with other addons around tabs moved across windows by other players like Simple Tab Groups. TST now don't clear
openerTabId
of such tabs. - Better response for F1 key or the toolbar button to toggle the sidebar on Firefox 73 and later.
- Reduce the timeout to kill zombie connections for an already closed sidebar, from 5 seconds to 0.5 seconds.
- Restore tree strucutre correctly for a tab which was a parent and reopened via Ctrl-Shift-T.
- Network error pages now have the warning favicon rendered with visible color, like Firefox's native tabs.
- No drag session is started anymore for tabs when
Do nothing / Do nothing
is chosen for the drag action. - Prevent starting of accidental drag sessions for clicked tabs from Firefox's bugs around IPC more aggressively.
- Create bookmarks to the bookmarks toolbar by default like Firefox 84 and later.
- Guide to click the button in a desktop notification with the phrase "click the button" instead of "click here", on Linux environment.
- Avoid losing the cusror position of the input field for the user styles while typing, more certainly.
- Scroll the sidebar to newly opened tabs even if animation effects are disabled. (regression on 3.5.33)
- Indicate new tabs opened outside of the visible area with blue flash even if animation effects are disabled. (regression on 3.5.33)
- Stable toggling of the sidebar via F1 key or the toolbar button. (The action was sometimes broken unexpectedly due to zombie connections between closed sidebar pages and the background page.)
- Never lose the cusror position of the input field for the user styles while typing.
- Suppress unexpected detaching or moving of tabs from unexpectedly dispatched
dragend
, more aggressively. - Add new choice to disable drag-and-drop of tabs completely, for experts.
- Fix API error:
{ type: 'get-tree', windowId: (integer) }
now returns an array of root tree items (instead of just single tree item), as described at the API document.
- Fix broken custom confirmation dialogs. (regression on 3.6.0)
- Update
ru
locale by wvxwxvw. Thanks!
- Implement the "Send Tab to Device" context menu command based on Firefox Sync. It is just a workaround implementation based on the Sync Storage, because a genuine WebExtensios API to use Firefox Sync won't be implemented for now.
- Remove "Group Tabs", "Ungroup Tabs", "Indent" and "Outdent" menu commands and keyboard shortcuts. Now they are separated to a helper addon TST More Tree Commands.
- Better compatibility with addons providing features to move tabs across windows, e.g. Simple Tab Groups. Now TST keeps tree structure of moved tabs more safely.
- Update overflow status of the tab bar after tabs are moved across windows.
- On macOS, show custom dialogs in a temporary tab instead of a window if the browser window is in the fullscreen mode. (Because to avoid custom dialogs to be oepend as new fullscreen windows.)
- Support "toolbar" color for container icons.
- Support "fence" icon of Facebook Container addon for container icons, by maciekmm. Thanks!
- Add debug options to activate platform specific behaviors.
- Update
ru
locale by wvxwxvw. Thanks! - Rename intenral directory name of the Korean locale from
kr
toko
, by dfkdream. thanks!
Source code released under Custom License
- Show favicons same to Firefox's built-in for
Version 3.5.34
Released Oct 21, 2020 - 623.31 KBWorks with firefox 65.0 and later3.5.34 (2020.10.22):- Create group for tabs opened from a pinned tab correctly, even if "no control" is chosen for the insertion position of new child tabs. (regression on 3.5.33)
- Add an explicit choice to open new child tabs at the position next to the recently opened child or the opener parent tab, like Firefox does with the preference
browser.tabs.insertRelatedAfterCurrent
=true
. - Add an expert option to insert new child tabs at the top or the end, when they are dropped onto a parent.
- Add some expert options to configure checkbox status of group tabs created for each context.
- Simulate Firefox's focus control behavior like the combination
browser.tabs.insertRelatedAfterCurrent
=true
andbrowser.tabs.selectOwnerOnClose
=true
more correctly. (On old versions the parent tab was unexpectedly became the successor of a closed child tab even after manual focus changes.) - More stabilize behaviors around auto-grouping of tabs opened from a pinned tab.
- Don't reload tab inifinitely when a URL is loaded on a group tab (it was originally reported as the bug 1671500.)
- Update
ru
locale by wvxwxvw. Thanks!
- Save "Warn me when I attempt to close multiple tabs" checkbox state correctly for the confirmation dialog about closing multiple tabs via the closebox.
- Handle tabs which are immediately opened and closed more safely. It will improve compatibility with other tab addons which reopen new tabs, e.g. Temporary Containers.
- Handle closing of multiple tabs more safely for already closed tabs.
- Scroll the tab bar to expanded tree. (regression on recent versions)
- Scroll the tab bar to expanded tree even if animations are disabled.
- Restore closed tree with their original order and tree structure more correctly.
- Keep and restore checkbox state of group tabs correctly. (regression on recent versions)
- Fill the user styles field with imported configs immediately.
- Accept
ext+treestyletabi:sidebar
as an alias ofext+treestyletab:tabbar
.
- Restore group tab title correctly. (regression on 3.5.30)
- Add ability to specify arbitrary title for the sidebar page with the parameter
title
, likeext+treestyletab:tabbar?title=...
. This is for better compatibiliy with helper addons using TST's sidebar page e.g. Tree Style Tab in Separate Window. - Load sidebar page with the chosen builtin theme immediately when it is loaded via
ext+treestyletab:tabbar
URL. This is for better compatibiliy with helper addons using TST's sidebar page e.g. Tree Style Tab in Separate Window. - Apply browser theme and user styles to the sidebar page more safely when the builtin theme information is not specified via the URL parameter. Thank you Lej77!
- The "Load from File" button for the user styles now allows you to choose images and embed them as data: URIs.
- The user styles input field now accepts drag and drop of files (but this new behavior is available only when the options page is opened in a separate tab instead of embedded in the addons manager, due to the bug 1408756).
- Reopen new tab from external application with specific containers correctly.
- Never reopen a new tab with a container inherited from the current tab or the parent tab, when the tab is opened with non-default container.
- Never show needless vertical scrollbar in group tabs even if there are too many tree items.
- Never draw tree of tabs multiple times in a group tab. (regression on recent versions)
- Support two digits year with the placeholder
$SHORT_YEAR%
for names of generated bookmark folders. - Update
ru
locale by wvxwxvw. Thanks!
- Better visibility of active tabs and closeboxes on the high contrast mode.
- Fix regressions on 3.5.24 around auto-correcting of tabs order after multiple opened tabs.
- Fix wrong successor tab control around child tabs and their closed opener parent tabs: the next sibling of a closed child active tab will become active instead of the parent tab.
- Initialize restored group tabs more certainly.
- Search text dropped onto the sidebar with the default search engine correctly.
- Add regular choices for drag and drop options to prevent detaching of dropped tabs to a separate window.
- Add ability to control container of new tabs from three options: no inheritance, inherit from the current tab, or inherit from the tree parent.
- Show throbber with the color same to tab labels on a dark theme.
- Remove needless underline of tab labels on the "Sidebar" theme.
- Set "Plain" as the default theme on Windows and Linux correctly.
- Fix wrong behaviors of "All Configs" UI: apply imported configs to options UI immediately and treat decimal values as valid for some numeric options.
- Update
ru
locale by wvxwxvw. Thanks!
- Reduce more visual motions when they are reduced by platform configs.
- Add an expert option to activate animation effects regardless platform configs.
- Update
de
locale by SammysHP. Thanks!
- Deactivate animation effects globally when they are reduced by platform configs.
- Deactivate throbber animation when animation effects are reduced by platform configs.
- Optimize performance around the "lock scroll position" behavior.
- Add "Ungroup Tabs" context menu command.
- Open the changelog from the update notification popup.
- Update
ru
locale by wvxwxvw. Thanks! - Fix typo in Enghlish locale by reaverxai. Thanks!
- Simulate "lock scroll position of the tab bar while middle tabs are closed via mouse operations" behavior of Firefox's native tab bar.
- Shrink the width of the confirmation dialog for closing tabs with very long titles.
- Detect a tab is opened from a bookmark more certainly, even if its hostname starts with "www."
- Drop support for some built-in themes: "Vertigo" and "Mixed". They can be alternated with user styles.
- Simulate appearance of close boxes in Firefox's native tabs more, for hover and active state.
- Close the tab by click on the close box, even if the cursor has moved out from the close box and went back while the button is pressed, like close boxes in Firefox's native tabs.
- Set default color of icons for the "No Decoration" theme.
- Save cached tree state as a metadata related to each window instead of individual tab.
- Attach tabs opened from dropped links to existing tree based on their position. (regression on recent versions)
- Update
ru
locale by wvxwxvw. Thanks!
- Shift-click to multiselect tabs between the clicked tab and the active tab correctly, even if it happens after focus move from outside of TST.
- Restore closed tabs with their correct old position even if their visibility was switched by something other addons like Simple Tab Groups.
- Save very large user style rules more safely.
- Apply user style rules to group tabs again. (regression on 3.5.20)
- Update
ru
locale by wvxwxvw. Thanks!
- Use the SVG icon insetad of the PNG icon on all situations.
- Apply system colors by default only on Linux with non-dark platform theme.
- Extend the maximum size of the user style rules from 8KB to 48KB.
- Notify new features with a desktop notification instead of an annoying tab.
- Use the toolbar color defined in the theme as the background color of each tab surfaces.
- Accept themes with colors defined in various formats
hsl()
,hsla()
, and their variations.
- Safely restore tree for reopened tab even if its old parent was already closed. (regression on 3.5.16)
- Safely restore tree for reopened tab on the "Fix up tree structure with visible tabs automatically" mode. (regression on 3.5.17)
- Undo closed tab at its correct old position, even it it was restored as a hidden tab on the startup.
- Update
ru
locale by wvxwxvw. Thanks!
- Drop support for some built-in themes: "Metal" and "Plain Dark". They can be alternated with user styles.
- Fix too dark color for active tabs from combinations of the Dark color scheme and a bright theme.
- Apply a workaround for a problem: unreadable text color on the "High Contrast" mode of Windows 10.
- Respect tiling option specified by the browser theme, otherwise expand the background image as an un-repeatable when the aspect ratio of the image is wider than 4:1.
- Apply system colors on Linux environments by default again.
- Allow to attach restored hidden tab to other hidden tabs.
- Suppress errors around dragging of non-tab data.
- Expand the background image cited from the browser theme to cover the sidebar area, instead of repeating.
- Don't attach restored tab to its old hidden parent when TST is configured to fix trees based on visible tabs.
- Confirm to close tabs via context menu commands on the sidebar correctly. (regression on recent versions)
- Always apply the "Photon" color scheme on Linux environments.
- Always apply browser's theme to the sidebar (on Mixed, Plain and Vertigo).
- Keep the tab in the root level, when a tab is moved or opened before a root tab. This improves compatibility with the Facebook Container.
- Flexible width input field in the bookmark properties dialog.
- Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.5.13
Released Jul 20, 2020 - 683.68 KBWorks with firefox 65.0 and later3.5.13 (2020.7.21):- List tabs to be closed/grouped in the confirmation dialog to represent which tabs are going to be operated.
- Update tabs' activated, pinned/unpinned, hidden/shown, and collapsed/expanded states correctly. (regression on 3.5.12)
- Highlight multiselected tabs on "Metal" and "Sidebar" theme correctly. (regression on 3.5.12)
- Restore tree structure for "Undo Close Tabs" operation more correctly.
- Stabilize handling of asynchronously notified messages from the background page to the sidebar page. As the result, wrong indentation and collapsed/expanded state should disappear especially around session restoration.
- CSS selectors for container tabs like
tab-item[data-contextual-identity-name="Personal"]
is now available for user styles.
- Show confirmation for multiple tabs closing after a tab is completely closed from outside of TST instead of showing before the tab disappears, for better response on tab closing.
- Ignore click on the blank area if it is performed immediately after a click on a tab and at the same coordinates.
- Add ability to import/export user styles.
- Show fonts with normal weight on Windows 7 Classic theme.
- Define default keyboard shortcuts statically with the
manifest.json
. It should reduce unexpected disappearing of default shortcuts. You can unbind default shortcuts on Firefox 74 and later, but it is impossible on older versions. - Don't produce any scrolling for popup menus (on the new tab button and others) if the focused item is already visible in the view area.
- Update
ru
locale by wvxwxvw. Thanks!
- Constantly promote tab by drag and drop after its present parent tab. (regression on recent versions)
- Fix incompatibility with TST Hoverswitch and other addons using
tab-mouseover
API by Klemens Schölhorn, thanks! - Reduce needless confirmation about closing of multiple tabs triggered by actions from outside of TST.
- Fix unexpected missing centering of the startup tab.
- Update
ru
locale by wvxwxvw. Thanks!
- Process redirection of shorthand URI (
ext+treestyletab:*
) with query parameters correctly.
- Group "Close Tabs to the Bottom" and "Close Other Tabs" context menu items under a submenu "Close Multiple Tabs", like Firefox 78 does.
- Add ability to restore the recently closed set of tabs, triggerred with a restoration of tabs in the set.
- Activate/deactivate the animation effect for updating of indentation with the animation option.
- Deactivate all animations automatically when animation effects are disabled by the platform itself.
- Add ability to configure middle click on the new tab button same as Ctrl-click.
- Quicken detection and grouping of new tabs opened from a bookmark folder.
- Show the container name in the tooltip on container tabs, like Firefox does.
- Better container support in group tabs.
- Add ability to change column width in group tabs. Now custom style definition like
:root.group-tab { --column-width: 30em; }
does it. - Cancel TST's default action for click on tabs more correctly, via API notifications
tab-mousedown
andtab-mouseup
. - Add ability to open the sidebar in separate window with the URI
ext+treestyletab:tabbar?windowId=(Window.id)
. This change should help addons like the TST in Separate Window. - The count of opened tabbar pages are now notified to helper addons via the
sidebar-show
andsidebar-hide
notification APIs. - Better responses for tab switching on Firefox 79 and later, with the new API
browser.tabs.warmup()
. - Reduce the total amount of sync storage a little, and cleanup of needless sync data. It is limited until 100KB, and please remind that you cannot put data larger than 16KB for each option especially custom style rules.
- Update
ru
locale by wvxwxvw. Thanks!
- Fix broken appearance of the sidebar after window move across multiple screens with different DPI.
- Group new tabs automatically by default only when they are detected as tabs opened from bookmarks in one folder. As the result the configuration UI for auto-grouping feature is now very simplified.
- Shrink clickable area of checkboxes and radio buttons in the options page.
- Simuate Ctrl-click and Shift-click actions on the new tab button in Firefox's native tab bar. Now Ctrl-click opens a new next sibling tab with inherited container, and Shift-click opens a new window.
- Expand tree if a new tab is added into a collapsed tree as a next of a parent tab with
browser.tabs.insertAfterCurrent
=true
. - Unify the simulation option for
browser.tabs.closeTabByDblclick
=true
to the option for the double-click action on a tab. - Apply extra user styles to contents of group tabs also.
- Update
ru
locale by wvxwxvw. Thanks!
- Show semi-modal dialogs more smartly. The annoying flash from a small window before the dialog is finally shown goes away.
- Add an option to show dialogs in the sidebar, under the "Appearance" section of the options page. It takes back the old behavior around dialogs for confirmation and bookmarking.
- Reduce needless space below rendered columns of tabs tree in group tab pages.
- Better compatibility with recent versions of Firefox Multi-Account Containers.
- Better compatibility with Container Bookmarks: now TST respects container information stored to bookmarks when TST opens bookmarks as a tree.
- Support drag-and-drop between TST's tabs and subpanels. This improvement includes a new API
get-drag-data
. - Support native context menu on subpanels. This improvement includes a new API
override-context
. - Unprefix
fake-contextMenu-*
API tocontextMenu-*
. Butfake-
prefixed verisons are still available for backward compatibilitty. - Update
de
locale by SammysHP. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Handle dismissed semi-modal dialogs correctly.
- Optimize semi-modal dialogs a little.
- Optimize bookmark folder chooser UI for very large number of bookmarks.
- Set the "Other Bookmarks" folder as the default choice of the bookmark folder chooser UI if the configured default folder was removed.
- Update
ru
locale by wvxwxvw. Thanks!
- Show popup windows correctly on Firefox ESR68. (regression on 3.5.0)
- Show dialogs as semi-modal popup windows.
- Hide the context menu item "Reopen in Container" in private windows. This behavior is compatible to Firefox's one.
- Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.4.10
Released Apr 19, 2020 - 665.78 KBWorks with firefox 65.0 and later3.4.10 (2020.4.19):- Open bookmarks as tabs with their correct title, via the "Open All as a Tree" context menu command on a bookmark folder.
- Open bookmarks more correctly via the "Open All as a Tree", even if
browser.tabs.insertAfterCurrent
istrue
. - Introduce a new notification type API:
try-fixup-tree-on-tab-moved
.
- Put bookmarks undar a new folder with their tree structure information automatically, when they are created from tabs via drag and drop.
- Allow to move down a tree with the keyboard shortcut Ctrl-Shift-PageDown correctly.
- Don't leave invisible orphans after only their parent tab is moved via drag and drop or other operations.
- Show the fake context menu correctly even after any helper addon is unloaded.
- Return root tabs for an API call like
{type:"get-tree",windowId}
correctly. - Notify
try-redirect-focus-from-collaped-tab
andtry-expand-tree-from-focused-collapsed-tab
with correctfocusDirection
for the first time or cases with a circulation. - Make tabs visible automatically when tabs are attached/detached via APIs.
- Performance improvement around APIs by account-login. Thanks!
- Fix typo in English locale by jaens. Thanks!
- Update
zh_CN
locale by no1xsyzy: add an access key for the menu item "Tree of tabs". Thanks!
- Fix ghost "active, highlighted" state of newly opened tabs which lost its focus imediately.
- Fix accidental unregistration of helper addons from unhandled errors.
- Fix invalid
tab
property oftab-mouseup
andtab-clicked
notifications on mouseup after moving from non-tab element. - Suppress error ater the first regular (unpinned) tab restoration.
- Better description for drag and drop behavior options.
- Update
zh_CN
locale by NightSharp. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Fix undroppability of links and some objects to tabs. (regression on recent versions)
- Add a link to open the options page itself in a new tab, at the top of the page.
- Add "Reset All" button to the bottom of the options page.
- Update
de
locale by SammysHP. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Add "Collapse this Tree Recursively" and "Expand this Tree Recursively" commands for the context menu and keyboard shortcuts.
- Support inverted actions of some context menu commands with middle click: reload tree / reload descendants, close tree / close descendants, collapse tree one level / recursively, and expand tree one level / recursively.
- Support multiselected tabs by some context menu commands: reload tree, reload descendants, close tree, close descendants, close others except the tree, collapse tree, and expand tree.
- Add "Collapse this Tree Recursively" and "Expand this Tree Recursively" commands for the context menu and keyboard shortcuts.
- Add an expert option to control the behavior when the current tab is closed with collapsed descendants and hidden sidebar.
- Change the default behavior around closing tab without sidebar to "for people who use the native tab bar". It was unexpectedly overwritten by the auto migration mechanism.
- Add a new option
recursively
tocollapse-tree
andexpand-tree
APIs. - Add a new paremter
button
to parameters notified tofake-contextMenu-click
listeners. - Update
ru
locale by wvxwxvw. Thanks!
- Better compatibility to Firefox's native tabs around behavior and user experience about Ctrl-Click and Shift-Click on UI elements in tabs (twisties, sound playing buttons, and closeboxes). Now these actions just changes multizelection state of tabs.
- Better compatibility with the combination of TST Lock Tree Collapsed and TST Active Tab in Collapsed Tree.
- Add a new API notification message type:
try-redirect-focus-from-collaped-tab
.
- TST's tab is activated on a mousedown event. This behavior was unexpectedly lost at TST 3.1.0. (regression)
- Skip collapsed tree while tab switching via Ctrl-Tab/Ctrl-Shift-Tab, including cases they are lcoked as collapsed by some other helper addons.
tab-mouseup
andtab-clicked
are notified even iftab-mousedown
is canceled. I totally confused the spec about mouse events with key and input events. This fixes incompatibility regression with a helper addon Move unloaded tabs for Tree Style Tab.
- Better compatibility with known custom user styles.
- Fix confused color scheme with the "Plain Dark" theme on Linux. (regression on 3.4.0)
- Fix unclaickable sound playing indicator problem. (regression on 3.4.0)
- Remove "Lock as Collapsed" feature. Now it is available as a helper addon: TST Lock Tree Collapsed
- Remove "Tab Drag Handle" feature. Now it is available as a helper addon: TST Tab Drag Handle
- Remove keyboard shortcut customization UI from the options page, because Firefox ESR68 has it.
- Show in-content confirmations correctly (regression on lately versions of Firefox.)
- Toggle muted state of descendants of collapsed tree more certainly.
- Don't show throbber animation in a blank group tab if tree rendering is disabled.
- More safe for bookmarks with URLs impossible to be opened by an addon.
- More safe for non-tab drag data. (regression on recent versions)
- Add checkbox to grant a permission required to show in-content confirmation.
- Rename an option
autoExpandOnCollapsedChildActive
tounfocusableCollapsedTab
and make effective on cases tabs going to be collapsed by collapsing parent tree. - Better support for a special favicon about
about:devtools-toolbox
tabs. - Add new API message types:
set-extra-tab-contents
,clear-extra-tab-contents
andclear-all-extra-tab-contents
. - Add new API notification message types:
tab-dblclicked
,tree-collapsed-state-changed
,try-move-focus-from-collapsing-tree
,try-expand-tree-from-focused-parent
,try-expand-tree-from-focused-bundled-parent
,try-expand-tree-from-attached-child
,try-expand-tree-from-focused-collapsed-tab
,try-expand-tree-from-long-press-ctrl-key
andtry-expand-tree-from-end-tab-switch
. - Notifications and operations
tab-mouseup
,tab-clicked
andtab-dblclicked
following totab-mousedown
are now canceled by any leading notifications. - Don't deliver messages around incognito windows to other addons, if they are not allowed to access incognito windows.
- Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.3.6
Released Feb 21, 2020 - 658.15 KBWorks with firefox 65.0 and later3.3.6 (2020.2.21):- "Bookmark this Tree" context menu command now bookmarks all multiselected tabs and thier descendants.
- Open dummy group tab with loaded state always, when it is opened by "Open All as a Tree" context menu command on bookmark folders.
- Apply "Mute Tab" and "Unmute Tab" context menu commands to the tree recursively when the target tab has collapsed descendants. If you run these commands on an expanded tree, only target tabs are processed.
- Apply muted/unmuted state to the tree recursively by clicking of the sound playing button only on a collapsed tree. If you click buttons on expanded tabs, only clicked tabs are affected.
- Fix edge case problem of auto-tree-repair when tabs are switched to shown from hidden.
- Fix edge case problem of tree attaching with hidden tabs.
- Suppress needless reloading after some tabs are removed immediately after other tabs are moved.
- Don't skip peinding (unloaded) tabs on Ctrl-Shift-Tab.
- Skip collapsed tabs on Ctrl-Tab/Ctrl-Shift-Tab focus rotation more correctly, just after the active tab was closed.
- Pinned tab is now droppable before the first unpinned tab.
- Unnpinned tab is now droppable after the last pinned tab.
- Detect drop position on a tab as top or bottom for pinned but not-faviconized tabs.
- Add an expert option to control the behavior: collapse other trees when a collapsed tree is auto-expanded by a long-dragover.
- Update
ru
locale by wvxwxvw. Thanks!
- Fix unexpected error from cyclic references.
- Reduce accidental modifications of the tree structure after tabs are shown/hidden.
- Skip collapsed tabs on Ctrl-Tab/Ctrl-Shift-Tab focus rotation more correctly, just after the active tab was closed.
- Add
kr
locale by BoredSomeone. Thanks!
- Support Firefox versions after the bug 1565170 is fixed.
- Fix confused tab focus after some tabs are hidden and shown.
- Don't expand locked-collapsed tree with a long press of the Ctrl key while Ctrl-Tab/Ctrl-Shift-Tab tab switching is in progress.
- Allow to expand locked-collapsed tree when a descendant tab gets focus directly.
- Hide options and other tab contents until they are initialized.
- Ignore double click on any clickable UI in tabs except the closebox, to prevent accidental close or other reactions.
- Add ability to toggle locked-collapsed state of a tree by double click.
- Don't expand locked-collapsed tree when a new child tab is attached.
- Update counter of collapsed descendants correctly on tabs restored from the cache. (regression on recent versions)
- Update
ru
locale by wvxwxvw. Thanks!
- Introduce the "Lock as Collapsed" feature. When the state is locked via the context menu command or a keyboard shortcut, TST keeps the tree collapsed when it or its any descendant get focused.
- Show "Open All as a Tree" in the bookmarks context menu only when the context menu is opened on a folder.
- Add an option to avoid pending (discarded) tabs to be activated accidentally when the active tab is closed or an ancestor tree of the active tab is collapsed.
- Introduce a new option to activate/deactivate the confirmation for closing multiple tabs with a normal click on a closebox of a parent tab with its collapsed subtree.
- Change twisty's appearance to Photon-style one.
- The delay to ignore too short drag action produced by the bug 1561879 on macOS become configurable.
- Brush up options UI and hide expert options by default. And now more detailed options are exposed in the expert mode.
- Add new API message types:
toggle-tree-collapsed
,lock-tree-collapsed
,unlock-tree-collapsed
andtoggle-lock-tree-collapsed
. - Add more special tab aliases for some API messages:
nextVisible
,previousVisible
(prevVisible
), and versions with the suffixCyclic
. - Add support for a special window ID
active
for an API message typescroll
. - Reduce needless dependency to an outdated library webextensions-lib-tab-id-fixer, by adroitwhiz. Thanks!
- Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.2.6
Released Dec 27, 2019 - 629.45 KBWorks with firefox 65.0 and later3.2.6 (2019.12.27):- Apply dark color scheme to the sidebar only when the "Apply Browser Theme" option is active.
- Give higher priority to the color scheme defined by the theme.
- Don't break tree when multiple tabs are opened in the middle of an existing tree at just same time.
- Add a new context menu command "Open All as a Tree including subfolders" for bookmark folders to open them recursively.
- Don't open needless tabs for non-bookmark items by the "Open All as a Tree" command.
- Open tabs from the "Open All as a Tree" command as discarded by default.
- Update descendant tabs counter correctly when a child tab is detached from a window.
- Add
bundledTabId
property to the tab item returned/notified via the API. - Add new proxied properties
deltaX
anddeltaZ
to notifiedscrolled
messages via the API. - Unlocalize the name of this addon in Japanese, for better findability. As the result the parent context menu item for extra commands is renamed to "Tree of tabs".
- Don't finish title editing of a group tab by hitting the Enter key to finish a text composition.
- Don't refresh the subpanel when a helper addon is registered with no subpanel.
- Fill the list of subpanels correctly after the sidebar is reloaded.
- Pinned tab is now marked as "unread" only when their title is really changed in the background.
- Update
ru
locale by wvxwxvw. Thanks! - Update
zh_CN
locale by Siyuan Xu. Thanks!
- Show drop marker with visible color even when a dark color scheme is applied.
- Show the scrollbar in the sidebar with dark color when a dark color scheme is applied on some themes: Plain, (Plain Dark,) Vertigo and Mixed.
- Don't show accesskeys for command names on the keyboard shortcut manager of Firefox itself.
- Re-calculate some colors dyanmically when the system color scheme is changed.
- Return a tab object of the opened group tab for an API call of the
group-tab
command correctly. - Update
de
locale by SammysHP. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Apply dark color scheme for options in
about:addons
, when the default color sheme of the platform is dark. - Rearrange and relabel options for general New Tab actions and special actions for more understandability.
- Show attention color correctly on Vertigo and Mixed with the Dark color scheme. (regression on 3.2.3)
- Show default favicons in group tabs with the text color. (regression on 3.2.3)
- Apply system colors and Firefox theme correctly even if the default color scheme of the platform is dark on Linux. (regression on 3.2.3)
- Add a new API command
open-all-bookmarks-with-structure
to open bookmarks in the specified folder with tree structure.
- Apply dark color scheme on Plain, Vertigo and Mixed, when the default color sheme of the platform is dark.
- Apply dark color scheme for options in tab, group tab, and startup tab, when the default color sheme of the platform is dark.
- Update color scheme of Plain, Plain Dark, Vertigo and Mixed as more friendly for Photon Design System and Firefox's default color scheme.
- Apply last selected subpanel and its height after restart even if the session restoration is disabled.
- Show highlighter of hovered background tabs with Plain type themes correctly. (regression on 3.0.x)
- Update
zh-TW
locale by Bo-Sian Li. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Show notification when multiple tabs are closed by one action without any confirmation. It allows you to cancel the operation by clicking it.
- Duplicate tabs as a sibling of the source tab correctly even if the source tab was active.
- Highlight active tabs correctly on some edge cases.
- Allow to detach dragged tabs more ceratainly from the window when tabs are dropped outside the sidebar. This is based on a workaround for the bug 1548949, and as a trade-off this change introduced a new intentonal regression on a edge case: tabs are duplicated when tabs are dropped to another Firefox instance (tabs imported to the receiver Firefox and tabs are also detached to a new window on the source Firefox).
- Update overflow state of tab labels and tooltips more correctly. (regression on 3.2.0)
- Fix backward compatibility for old custom user styles. (regression on 3.2.0)
- Allow to close tabs after a tab close was canceled on a
beforeunload
event. (regression on recent versions) - Update
ru
locale by wvxwxvw. Thanks!
- Apply the option to control inheritance of the container from the current tab to a tab opened from outside Firefox.
- Separate an option to control new tabs from outside Firefox.
- Open search result tabs opened from
about:addons
tab as children. - Save tree structure to bookmarks when multiple bookmarks are created from a tree, via commands provided by TST itself.
- Add a new context menu command "Open All as a Tree" for bookmarks.
- Migrate bookmarked internal URLs (like
moz-extension://...
) to shorthand URLs (likeext+treestyletab:...
) automatically, for better mobility. - Restore collapsed state of tabs correctly even if they are placed under an expanded tree and the parent is placed under a collapsed tree.
- Reduce FPS of throbber animations from 60 to 30. (See also the bug 1511095.)
- Show group-tab items with folder icon, in the contents area of a group tab.
- Re-implement the view with custom elements (Web Components) for better maintainability. (Thanks to saneyuki!)
- Update
ru
locale by wvxwxvw. Thanks!
Source code released under Custom License
Version 3.1.8
Released Sep 13, 2019 - 595.55 KBWorks with firefox 65.0 and later3.1.8 (2019.9.13):- Optimize internal operations for better performance and less memory usage. (Some ideas are contributed by bb010g. Thanks!)
- Become more safe to accidental recursive references of tree structures.
- Reopen same site tab with the container inherited from the current tab correctly, when the tab is opened as a child of the current the.
- Don't apply special new tab behaviors (ex. auto-attach to the current tab) to restored single tabs.
- Don't apply special new tab behaviors for Ctrl-T or other commands, to tabs opened with URL (ex. opened from bookmarks or the location bar), even if the
about:blank
is choses for the default page of new tabs. - Don't invert children order for a restored parent tab.
- Apply custom behavior of closed parent tab correctly when a parent tab is closed as a solo tab by an action inside the sidebar.
- Accept dragged tabs from another Firefox instance as URLs.
- Treat a tab dragged from the native tab bar to the sidebar as is instead of as a URL string, if possible. (You can deactivate this new behavior with setting
guessDraggedNativeTabs
tofalse
.) - Refresh indent level of tabs detached from a window by drag and drop correctly.
- Update visibility of the scrollbar when tabs are shown or hidden, for better compatibility with other addons like the Simple Tab Groups.
- Brush up appearance of some UI elements in the options page.
- Restructure some options under the "New Tabs Behavior" section for better findability.
- URL like
ext+treestyletab:group?(title)
is available to open a group tab with specific title. - Show text-shadow with correct color for better readability of text with non-default theme.
- Update
de
locale by SammysHP. Thanks! - Update
fr
locale by ariasuni (and DarckCrystale.) Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Introduce guards for cyclic reference around restored parent tabs.
- Update
ru
locale by wvxwxvw. Thanks!
- Introduce new custom URI
ext+treestyletab:group
to open a blank dummy tab for grouping of tabs, which replacesabout:treestyletab-group
. - Restructure config UI for the behavior around closed parent tab.
- Optimize tree restoration on the startup.
- Don't try to "fix" tree structure when multiple tabs are moved at a time as a set. This should improve compatibility with other addons which switch visible tab sets.
- Introduce a guard for cyclic reference about the tree structure.
- Disallow to put unrelated tab inside a tree including hidden parent tabs.
- Remove obsolete codes deprecated on Firefox 70.
- Update
fr
locale by narzb. Thanks! - Update
ru
locale by wvxwxvw. Thanks!
- Make subpanels more secure.
- Provide
--throbber-animation-steps
custom property to allow customization for animation frames of throbbers.
- Use more safe combination of system colors on the "High Contrast" skin.
- Apply style rules for active/inactive windows on the "Sidebar" skin.
- Fill SVG icon with the color of tab labels correctly for
about:debugging
tabs. - Expose "(no control)" choice for options about new tab positions, and set it as the new default value for new tabs opened with the "New Tab" button or the Ctrl-T keyboard shortcut.
- Allow to import dragged tree from other Firefox instances.
- Respect option for treatment of new blank tabs opened from outside of TST, event when
browser.tabs.insertAfterCurrent
is configured totrue
by the user. - Restrict maximum height of the subpanel.
- Prevent too frequent detaching of clicked/dragged tab on Windows and macOS. This change is just a workaround, and we still need to wait for complete fix of the bug 1561522 and 1561879 on Firefox side.
- Store chache of tree to first tabs in windows instead of last tabs, to reduce bloated session data.
- Add ability to store cache of tree to windows instead of tabs to more reduce bloated session data, but disabled by default for safety.
- Prevent too much autoscroll while tab dragging. (If you see too slow autoscrolling and want more speedy scroll, please shake your mouse on the edge of the scrollable area.)
- Show favicons for new blank tabs correctly. (regression on 3.1.2)
- Go to the options page to help granting of the permission, when a notification message about missing permission is clicked.
- Hide the subpanel header when the last subpanel is unregistered.
- Keep tree structure after a tab is reopened by other addons like Temporary Containers.
- Keep tree structure of tabs moved between windows, even if they were moved across windows again and again.
- Don't open (or keep opened) needless group tabs for closed parent tabs, when all children are closed together with their parent.
- Optimize operations to update "sound playing" and "muted" state of tabs.
- Add a link to open the options page itself in a tab, under the "Development" section of the options page.
- API for other addons:
wait-for-shutdown
notification is now delivered. It allows helper addons to notify their uninstallation (or just disabled) to TST.
- Handle middle click on blank area of the sidebar correctly. (regression on 3.1.0)
- Don't close a tab with middle click on its indent area.
- Add ability to embed arbitary contents provided by helper addons as a "sub panel" in the sidebar, via the SubPanel API.
- Add commands to operate ths subpanel with custom keyboard shortcuts. By default
F2
is mapped to toggle the subpanel frame. - Treat clicking on the indent area as clicking on the corresponding tab. (regression)
- Synchronize order of tabs more correctly even if tabs are rearranged by other addons while synchronizing.
- Select contents of the title field in bookmarks dialog by default.
- API for other addons:
tab-clicked
notification is now delivered aftertab-mouseup
. (by xzn, thanks!)
Source code released under Custom License
Version 3.0.17
Released Jun 7, 2019 - 569.81 KBWorks with firefox 65.0 and laterIMPORTANT SECURITY NOTE: All versions TST 2.x and TST 3.x older than TST 3.0.14 had a data disclosure problem via API for other addons. Sensitive tab information including private window tabs were unintentionally exposed to untrusted addons, regardless they were not have permissions to access those information via WebExtensions API. I strongly recommend you to update to TST 3.0.14 and later. Please see detailed information also.
3.0.17 (2019.6.7):- Apply updated tab properties to sidebar tabs more correctly. (regression on 3.0.16)
- Update
de
locale by SammysHP. Thanks!
- Auto-group children of a tab with a temporary group tab, when it is going to be pinned.
- Bundle a pinned tab with a group tab for children of the pinned tab more tightly, and highlight (and treat similar to active) each other when one of them is active.
- Calculate tree structure for moved/inserted tabs more correctly when there is any hidden child tab. This is mainly environments with a Firefox preference
browser.tabs.insertAfterCurrent
=true. - Don't produce "forever loading" tab when loading of a tab is canceled immediately just after it is opened.
- Reveal deeply hidden debug options (including "Import" and "Export" buttons for all configs) just under the "Development" section of the options page directly.
- Show internal ID on each tab in the debug mode by default, without default user stylesheet.
- Unhighlight non-multiselected tabs on Sidebar, Metal and Vertigo theme correctly. (regression)
- Show active pinned faviconized tab with active background color on the Metal theme. (regression)
- Show confirmation dialog for closing multiple tabs more certainly.
- A new secret option:
scrollToExpandedTree
to deactivate scrolling of the sidebar contents when an expanded tree is larger than the height of the visible area. - API for other addons: Allow to call APIs from addons without registering. (regression)
- API for other addons: Send
ready
notifications for last registered addons correctly. If you have any uninitialized helper addons, you need to reload them manually to re-register. (regression)
- Re-activate context menu on the blank area in the sidebar. (regression on 3.0.12)
- Add an option to deactivate tree rendering in group tabs.
- Remove the option for the vibisility of scrollbar in the sidebar, and scrollbar is now shown with narrow width by default. (Please use a user stylesheet
#tabbar { scrollbar-width: auto; }
to show it with regular width, or#tabbar { scrollbar-width: none; }
to hide it.) - Remove the option for the positioning of scrollbar in the sidebar, and scrollbar is now shown at left edge by default for leftside sidebar. (Please use a user sytlesheet
:root.left #tabbar { direction: ltr; }
to show it at right edge.) - Duplicate tabs with the "Duplicate Tab" command in the context menu on the sidebar correctly.
- Don't block operations while tabs are duplicating on Firefox 68 and later.
- Ignore dropping of tabs to themselves.
- API for other addons: Send
fake-contextMenu-click
notifications correctly. (regression on recent versions)
- Remove obsolete information from the startup page.
- Add a new section in the options page and the startup page, for helper addons.
- API for other addons: Don't expose
effectiveFavIconUrl
by default.
- Close tabs with "Close Tabs to Bottom" and "Close Other Tabs" imitated context menu commands correctly. (regression on 3.0.12)
- Clearly declare the license of this addon: mixed licenses MPL1.1 and MPL2.0.
- Auto-expand tree while dragging of tabs correctly.
- Update tooltip of parent tabs correctly after it is collapsed/expanded.
- Show a confirmation dialog when multiple tabs are closed with commands in the context menu on the sidebar, before they are closed.
- Initialize indent of tree on the startup more correctly.
- Never attach tabs opened from a bookmark folder to existing tabs, even if the last existing tab was a child.
- Never group new tabs automatically if they are opened from a pinned tab in a different window.
- Never make group tabs
unread
. - Set title of the tab to the attribute
data-title
always for each tab. - Expose a custom property
--indent-size
. - API for other addons: Add new notification message types
tree-attached
andtree-detached
. - API for other addons: Notification messages from private windows won't be delivered to other addons by default. You may need to re-initialize your addon on
permissions-changed
notifications are delivered. - API for other addons: Sensitive information of tabs are not exposed anymore by default. If you need to get full information of tabs, you may need to request special permissions.
- Update
de
locale by SammysHP. Thanks!
- Prevent infinitly reloading when missynchronized tabs are detected.
- Show confirmation dialog in the sidebar for grouping, when a required permission is not granted.
- Restore tree structure around recycled active tab more correctly, on manual session restoration.
- Close temporary group tab when there is one or less child, if it was opened as a successor of a closed parent tab.
- Fix odd behavior of tabs after a tab is detached from its window by drag and drop.
- Don't produce multiple active tabs after a tab is attached to an existing window.
- Add example style rule for debugging.
- Update
de
locale by SammysHP. Thanks!
- Reduce wrong tab focus on clicked, caused with broken internal index of tabs.
- Reduce stuck on sidebar initialization triggered with timing issue.
- Show confirmation dialog correctly when multiple tabs are closed with operations inside the sidebar, even if TST is configured to treat tabs closed with operations outside of the sidebar as solo tabs.
- Show confirmation dialog correctly when multiple tabs are closed with operations outside of the sidebar, if TST is configured to handle them, due to a restriction of WebExtensions-based addon.
- Don't show confirmation dialog for closing multiple tabs when they are closed with any operation outside of TST and there is only one or less restorable tabs.
- Output timestamp of debug logs with more debuggable format:
(hours):(minutes):(seconds).(milliseconds)
. Years, months, days, and the timezone are omitted.
- Tree structure is restored after auto-fix triggered with corruption of tabs information.
- More stabilized initialization of sidebar contents.
- Prevent producing of untracked tabs more aggressively (including auto-fix feature proposed by Dan Moorehead), which are opened while TST is initializing. They might to cause various problems.
- Add ability to show all extra context menu commands as top level context menu items.
- Fix "never completely loaded" appearance of tabs opened while TST is initializing.
- Update layout of pinned tabs correctly after any pinned tab is detached from an window.
- Add new commands for user defined keyboard shortcuts: "Focus to Last Child Tab", "Focus to Previous Sibling Tab", and "Focus to Next Sibling Tab" (by Sinkerine, thanks!)
- Show color sampels of custom CSS properties more correctly.
- Open duplicated tab as an independent or a next sibling tab more correctly.
- Don't attach a tab to the current tab even if they have same domain, when those tabs are opened in a time.
- Clear "dragging" state and drop-position-marker more aggressively while drag-and-drop opeartions.
- Confusable checkboxes related to the color scheme of the browser theme now have description screenshots.
- Fix one of hanging up cases on the startup. (regression on 3.0)
- Select tabs with Shift-click correctly. (regression on recent versions)
- Open new blank tab as a child of the active tab, at the position next to the parent tab correctly, even if there is any tab marked as "hidden".
- Open tabs at correct position even if they are opened at a time, for example, Snap Links Plus.
- Add a hint to suppress auto-grouping for tabs opened at a time.
- Add confirmation to group tabs opened at a time.
- Add safeguard for tabs opened with wrong index, to avoid wrong tab focus. (See also the bug 1504775.)
- Don't group multiple tabs restored or duplicated at a time.
- Don't collapse other trees, with a dragover on an expanded tree.
- Make more compatible with themes including new color names.
- Fix "broken/mismatched index" problem of tabs triggered with a new tab opened before a pinned tab. Annoying behavior like focusing another tab with clicking on a tab is reduced.
- Determine positions to place new tabs considering existence of hidden tabs, for environments that hidden tabs are revealed by other addons or the user stylesheet.
- Add ability logging with timestamp at the debug mode.
- Add more error handling around the startup process, to reduce hanging up.
- Fix wrongly deep indent level of attached child tabs.
- Apply tab surface color on the "High Contrast" skin. (regression on 3.0.3)
- Highlight tabs more again, when they have collapsed but highlighted descendants. (regression on 3.0)
- Fix sidebar breakage on undoing close tab with
browser.tabs.closeWindowWithLastTab
=false
. - Add "Do nothing" as a choice of actions on tabs dropped outside the sidebar.
- Use
scrollbar-width
CSS property to control the scrollbar in the sidebar.
- Attach/detach tabs to/from existing windows correctly. (regression)
- Don't produce "invisible expanded children" with disabled animation effect. (regression)
- Apply the header image of the current browser theme more aggressively, on "Plain", "Vertigo" and "Mixed" theme.
- Define custom CSS properties to use the color scheme of the current browser theme, for user stylesheets.
- Clear needless cache data for tree restoration for closing or moved tabs, if possible.
- Open new tabs at correct position even if there is any hidden tab.
- Don't produce invisible/inaccessible tab after auto-fixing of tree for hidden tabs.
- Fix unclosability of the tab which notifies updated features of TST itself. (regression)
- Don't destroy sidebar after the last tab is closed with
browser.tabs.closeWindowWithLastTab
=false
. (regression)
- Update layout for pinned tabs correctly after pinnde tab is moved or detached (regression on 3.0)
- Apply burst animation correctly (regression on 3.0)
- Stabilize handling of tabs based on asynchronous WebExtensions API. At old versions, tabs were handled on both the background page and sidebar pages separately, so they were sometimes mis-synchronized. Now all tabs are always handled only on the background page, and a sidebar page works just like a canvas to show tabs.
- Restore tree of reopened window, even if there are large number of tabs and it takes very long time (until 10 minutes).
- Add an option to deactivate browser theme color.
- Show a
about:performance
tab with the favicon same to Firefox's native tab. - Restore tree structure for a reopened window more certainly.
- Add ability to collect logs about internal messages for future performance tuning.
- Drop support of migration about data from legacy versions.
Source code released under Custom License
Version 2.8.7
Released Mar 20, 2019 - 1.46 MBWorks with firefox 65.0 and later- 2.8.7 (2019.3.20)
* Optimize performance of messaging between the background page and sidebar contents.
* Optimize performance of initialization processes.
* Fix startup failure when the background page is initialized with cached tabs and the sidebar is initialized without cache.
* Show toolbar icons correctly when the option to show icons with theme color is active.
* Show "muted" and "sound playing" icon on the parent of a collapsed tree when any descendant has those status.
* Show progressbar on the sidebar while initialization.
- 2.8.6 (2019.3.16)
* Officially drop support for Firefox ESR60, and all 2.8.x versions are now marked as unsupported for ESR60.
* Fix unexpectedly visible (expanded) tabs under logically collapsed tree on the startup session restoration.
* Dragging of a parent tab now always move whole tree when it is dropped inside sidebar area, even if you configure TST to detach/drop only the dragged individual tab.
* Dragged multiselected tabs or individual tab are now safely detached from the original tree, when dragged tabs are going to be detached to a new window.
* Add preview images for some options.
- 2.8.5 (2019.3.14)
* Restore collapsed state of subtree more stably with large number of tabs.
* Optimize startup process with cached data.
* Prevent to move restored tabs to a place impossible to be placed. This sometimes produced permanently broken tree which was unfixable even if you disable the cache.
* Prevent to open needless group tab when a new blank tab is reopened with a container inherited from the active tab.
* Show throbber while waiting on group tabs.
* Reduce freezing while updating contents of group tabs.
- 2.8.4 (2019.3.12)
* Context menu on blank area in the sidebar came back. (regression on recent versions)
* Context menu commands work again on Firefox ESR60. (regression on recent versions)
* Extra context menu commands correctly work for multiselected tabs, not for all tabs. (regression on recent versions)
* New tab opened with Ctrl-T is correctly reopened with the container same to its parent tab. (regression on recent versions)
* New tab is opened as a child of the active tab as specified, on Firefox ESR60. (regression on recent versions)
* Control successor tabs for the active tab correctly, on Firefox ESR60. (regression on recent versions)
* Update tooltip of tabs correctly, on the "crop" mode. (regression on recent versions)
* On Firefox ESR60, focus to previously visible tab instead of previous sibling tab when the last child tab is closed. (This has been the new behavior at TST 2.8.0, on Firefox 65 and later.)
- 2.8.3 (2019.3.7)
* Tabs moved from any other window were misdetected as internally invisible and not used as a successor of other tabs. (regression on 2.8.0)
* Don't produce needless scrolling of the sidebar when a new tab is opened outside of the visible area and moved into the visible area immediately.
* Don't open needless duplicated group tabs to bind three or more child tabs opened from same pinned tab.
* Add a shortcut config menu item for the overflow style of tab label.
* Import/export configs via the common file dialog.
- 2.8.2 (2019.3.6)
* Fix ability to open new tab as a child of the current tab. (regression on 2.8.0)
* Fix ability to open context menu on the sidebar, at Firefox ESR60. (regression on 2.8.0)
* Don't attach new tab to the old current tab when they have same domain but the new tab is opened with position, for example a link dropped to the sidebar.
* Don't highlight two tabs on the initial startup: old active tab and newly opened notification tab.
- 2.8.1 (2019.3.6)
* Fix behavior around newly opened tabs depending on old active tab information. The previous active tab was unexpectedly misdetected. (regression on 2.8.0)
* Mute/unmute by clicking on the "sound playing" icon in each tab correctly. (regression on 2.8.0)
* Tree strucutre is correctly maintained when new tab is opened at middle of existing tree. (regression on 2.8.0)
* Update shortcut config menu items on the toolbar button, following to changes on 2.8.0.
- 2.8.0 (2019.3.5)
* Drop support for Firefox ESR60.
* Reconstruct tab management system based on JS objects instead of DOM elements. This aims to make future improvements more easy: performance optimization for too much number of tabs, and stabilization around multiple parallel asynchronous operations.
* Add ability to collect performance logs of tab queryings. It will help more future optimizations for too much number of tabs. (Please note that you need to activate logging manually, via the checkbox at the "Development" section in the options page.)
* Don't multiselect all tabs after the context menu command "Move to New Window" in "Move Tabs" is invoked.
* Add ability to change overflow style of too long tab label, for better performance.
* Add ability to fix up tree structure with visible tabs when tabs are hidden by other addons. (*Please remind that the option is disabled by default and you need to activate it manually.)
* Add ability to export and import all configurations except keyboard shortcuts. (TST's options => "Development" => "Debug mode" => "All Configs" => "Import/Export")
* Better compatibility with [Conex](https://addons.mozilla.org/firefox/addon/conex/).
* Add new APIs [`move-before` and `move-after`](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#move-tree-to-different-position) to move tabs safely.Source code released under Custom License
Version 2.7.23
Released Feb 22, 2019 - 1.34 MBWorks with firefox 60.0 and later- 2.7.23 (2019.2.22)
* Don't move focus to a tab in a collapsed tree and expand collapsed tree when a collapsed child is focused, when the session was restored.
- 2.7.22 (2019.2.20)
* Fix unavailable menu commands and shortcuts. (regression on 2.7.21)
- 2.7.21 (2019.2.20)
* Don't produce needless scrolling when new active tab is inserted at non-last position. (regression on 2.7.19)
* Move focus to a visible child tab instead of a visible next sibling tab at first, when the active tab is closed. (regression on 2.7.20)
- 2.7.20 (2019.2.19)
* Add ability to deactivate focus control based on Successor Tabs API by TST completely.
* Better simulation of `browser.tabs.selectOwnerOnClose`=`true` behavior on Firefox 65 and later.
* Use "Mixed" theme as the default theme on Linux.
- 2.7.19 (2019.2.19)
* Disallow to drop a pinned tab after any unpinned tab / disallow to drop an unpinned tab before any pinned tab.
* Restore original tree structure after a tree is moved to a new window via the "Move to New Window" command.
* Fix broken focus of tabs after a tab is detached from a window.
* Handle new tab opened as the active tab more correctly.
* Reduce needless operations around saving tree structure for a closing window.
* Give more highlighted appearance for multiselected tabs. This change respecs Firefox's new appearance introduced by [the bug 1515686](https://bugzilla.mozilla.org/show_bug.cgi?id=1515686).
* ru locale is updated by trueR3W1ND, thanks!
- 2.7.18 (2019.1.30)
* Fix odd tab focus behavior after duplicating of pinned tabs via middle-click on the "Reload" button.
- 2.7.17 (2019.1.30)
* Attach tabs opened from dropped links and bookmarks to existing tree correctly.
* Reduce needless margin around pinned but not faviconized tabs.
* Apply `discarded` status of restored tabs correctly.
* Cancel delayed scroll to specific tab, when the sidebar is scrolled by mouse wheel.
* Add screenshots for configs about drag and drop behavior.
* Track tabs opened with invalid (too large) index by other addons more safely.
* Update fade-out effect of too long tab labels, when tabs are expanded or restored.
* Show confirmation for closing multiple tabs on the active window when it is triggered with a keyboard shortcut.
* Introduce new API: [`wait-for-shutdown`](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#wait-for-shutdown-type-message).
- 2.7.16 (2019.1.13)
* Fix fatal error around API implementation. (regression on 2.7.15)
- 2.7.15 (2019.1.13)
* Add advanced option to support environments with Firefox's preference `browser.tabs.multiselect`=`false`.
* Show confirmation dialog for closing multiple tabs only on the target window.
* Send API messages to the listener addon correctly even if it is initially registered with some listening message types and re-registered without the information.
- 2.7.14 (2019.1.12)
* Fix inifinite recursion function call at synchronizing of tabs order.
* More optimize reindexing of synchronized tabs.
* Highlight tabs more when they have collapsed but highlighted descendants.
* Rename the class for the blue bar of active and highlighted tabs: `active-marker` to `highlighter`. You may need to update your custom user stylesheet.
- 2.7.13 (2019.1.11)
* More stabilize synchronizing of tabs order.
* Wait until confirmation for closing of multiple tabs is done correctly.
- 2.7.12 (2019.1.11)
* Optimize synchronizing of tabs order by sequence matcher.
- 2.7.11 (2019.1.11)
* Fix broken order and focus of tabs after multiple tabs are opened at a time. (regression)
* Fix broken order and focus of tabs reopened immediately after they are opened. (regression)
* Fix odd multiselection behavior on Ctrl/Shift-click on collapsed tree. (regression)
* Fix broken tree after "Close Other Tabs" command.
* Show confirmation for closing multiple tabs correctly for context menu commands on the sidebar. (regression)
- 2.7.10 (2019.1.7)
* Fix broken focus of tabs after closing of tabs on slow environments. (regression on recent versions)
* Fix broken order of multiple tabs opened at a time.
* Deactivate configuration UI around bookmarks when the permission to access bookmarks is not granted.
- 2.7.9 (2019.1.4)
* Fix broken focus of tabs after tabs are rearranged by others. (regression on recent versions)
- 2.7.8 (2019.1.3)
* Hide all imitation context menu commands when simulation of context menu is disabled, instead of disabling whole the context menu.
* Allow to drag already-multiselected tabs with long press even if Multiple Tab Handler is installed.
* Fix broken behavior around closing of tabs on Firefox ESR60.
* [Allow to cancel default behavior of clicking on twisty, sound button, and closebox on tabs via API.](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#when-a-tab-is-clicked)
- 2.7.7 (2018.12.28)
* Don't restore unrelated closed tabs in a rest window, when a window is closed with tabs.
* Fix broken handling of tabs updated after opened. (regression on 2.7.6)
* Activate top-level "Close Tree" and "Close Other Tree" commands in the context menu for tabs with no child.
- 2.7.6 (2018.12.26)
* Better handling of positioning for new tabs. On Firefox ESR60 running at a high-power PC, a tab moved by Firefox immediately after it was opened was placed to wrong position.
- 2.7.5 (2018.12.25)
* "Close Tree" and other top level extra context menu items work correctly again. (regression on recent versions)
* Better compatibility with other addons which modify `successorTabId` of tabs. (Note that you need to choose "Tree Behavior" => "When the current tab is closed as a last child" => "Focus to the next tab always (Firefox's default)" manually to deactivate controlling by TST.)
* Control visibility of extra context menu items more correctly.
- 2.7.4 (2018.12.22)
* Keep active tab while operations for multiselection.
* On Firefox ESR60, new tabs opened from links were wrongly placed at the end of the tab bar.
* Don't show needless separator in the context menu.
* "Bookmark Selected Tabs" and "Reload Selected Tabs" in the context menu on non-tab area work correcty.
- 2.7.3 (2018.12.20)
* Better restoration of tree structure for tabs restored by "Undo Close Tab" feature.
* Don't show confirmation multiple times for a set of closing tabs.
* Stabilize menu item position for Firefox 64 and later.
* Add new option to similate `browser.tabs.closeTabByDblclick`=`true` on Firefox 61 and later.
* Add new API `grant-to-remove-tabs` to suppress confirmation dialog.
- 2.7.2 (2018.12.18)
* Show colored icons for container selector on the new tab button again with Firefox 66 and later.
* Opened new tab from non-last tab were not attached to the opener tab unexlectedly. (regression on 2.7.0)
- 2.7.1 (2018.12.15)
* More optimization around tracking of tab updates and highlighitings (by Lej77, thanks!)
- 2.7.0 (2018.12.14)
* Add "Group Tabs" context menu item and keyboard shortcut command. They are moved from "Multiple Tab Handler".
* Better performance around multiselection of large number of tabs.
* Redune needlessly duplicated separator in the context menu on Firefox 64 and later.
* Reduce unexpected focusing to the next/previous when the current tab is closed, on Firefox 65 and later.
* Show "attention" mark for unpinned tabs.
* Optimize handling for updated "highlighted" status of tabs.
* Activate context menu commands for selected tabs: "Reopen in Container" and "Duplicate Tabs".
* Never detach dropped tabs to new window if the drag action is started just for bookmarks or links.
* Automatically re-discard accidentaly restored tabs for Ctrl-Tab/Ctrl-Shift-Tab.
* On Firefox 64 and later at macOS, new style context menu is available for Control-click. (Opening context menu with pressed ⌘ key will show old style context menu. On Windows or Linux, pression Ctrl key works as.)
* Activate last active tab correctly when multiple active tabs are opened at a time.
* Synchronize order of Firefox's native tabs and TST's sidebar more correctly when multiple tabs are opened at a time.
* Fix impossibility of logging in to giffgaff.com and some websites. (again)
* Tabs won't be detached to new window unexpectedly anymrore when tabs are dropped on the dragged tabs themselves.
* Open new tab as the next sibling correctly, even if the the active tab is a child tab and there is no more following tab.
* Use last effective favicon for discarded tabs in group tabs.
* Return last effective favicon information for discarded tabs, as a part of `get-tree` API responses.
* Show favicons with fixed size, in group tabs.
* Follow to changes of tab context menu introduced by the [bug 1502083](https://bugzilla.mozilla.org/show_bug.cgi?id=1502083).
* Add ability to change settings of TST from the context menu on the toolbar button.
* Suppress errors from blank context menu.
* Add new APIs for other addons: `move-to-start`, `move-to-end`, `open-in-new-window` and `reopen-in-container`. They will help you to implement imitated tab context menu compatible to TST.
* Add new aliases `highlighted` and `multiselected` to specify tabs via APIs (available only on Firefox 63 and later.)
* The `as` option of the `duplicate` API respects TST's configuration about duplicated tabs by default.
* Some APIs now return window's id as `windowId`. For backward compatibility `window` is still available for those APIs.Source code released under Custom License
Version 2.6.8
Released Nov 5, 2018 - 1.19 MBWorks with firefox 60.0 and later- 2.6.8 (2018.11.5)
* Add ability to append "Close Tree" and similar items to the "Close Tab Options" submenu on the sidebar.
* Hide needless "Tree Style Tab" item in the tab context menu if all items are deactivated.
* Don't highlight (multiselect) collapsed children of a parent tab, when it is activated as a successor of a closed current tab or activated from a to-be-collapsed descendant.
- 2.6.7 (2018.11.3)
* Toggle multiselection state of collapsed descendants under the active tab by Ctrl-click, when there is no selection in different tree.
* Select collapsed descendants under the active tab always, when non-active tab is Shift-clicked.
* Introduce timeout for waiting other addons initialized via API. This change will fix freezing of the startup triggered by illegal API responses from other addons.
- 2.6.6 (2018.10.31)
* Better compatibility with other addons using `documentUrlPatterns` with `moz-extension:` patterns.
* Fix wrong value of tabs' `highlighted` attribute gotten via TST's APIs.
- 2.6.5 (2018.10.30)
* Fix inaccessibility of "Reopen in Container" sub menu when there is only one container.
* Fix broken context menu "Tree Stye Tab" after visibility of custom menu items are changed.
* Fix impossibility of logging in to giffgaff.com and some websites.
* Don't detach tab to window when dragging operation is canceled by ESC key.
* Explain more details by the scrolling message, about what happens when dragged tabs are dropped.
* Fix compatibility problem of the API: remove menu items recirsively if it has any child item.
- 2.6.4 (2018.10.19)
* Reintroduce "Bookmark All Tabs" and "Reload All Tabs" for Firefox 62 and older. (They won't appear on Firefox 63 and later.)
* Apply theme color to toolbar button icon only when it is intentionally activated with `svg.context-properties.content.enabled` = `true`.
- 2.6.3 (2018.10.18)
* Show notification message at bottom of the sidebar to describe what will happen when you drop tabs outside of the sidebar, while you are dragging tabs.
* Deactivate tab drag handle by default.
* Match color of icon for toolbar button and sidebar panel switcher to the current theme on Firefox 62 and later.
- 2.6.2 (2018.10.18)
* Fix unavailability of context menu commands: duplicate tab, reopen in container, and move to new window. (regression on 2.6.0)
* Never show tab drag handle on the half left or right side of a faviconized tab.
* Never show tab drag handle after the tab is clicked before the handle is shown.
* Never show needless separater in bookmark folder chooser.
* Activate accesskey of context menu items if possible.
* Respect behavior for new tabs triggered by `browser.tabs.insertAfterCurrent`=`true` (introduced at Firefox 61): when a new tab is opened next to the current tab by the config, TST always ignores "new tab position" configs of TST itself.
- 2.6.1 (2018.10.17)
* Search dropped non-URL text by the default search engine, if possible.
* Hide [unexpectedly exposed dummy elements](https://github.com/piroor/treestyletab/issues/2050) correctly when any custom theme is applied.
- 2.6.0 (2018.10.16)
* [Better compatibility with extra context menu commands for tabs added by other addons, on Firefox 64 and later.](https://piro.sakura.ne.jp/latest/blosxom/mozilla/xul/2018-10-14_override-context-on-fx64.htm) And now imitated context menu have items compatible to Firefox 64 and later.
* Add ability to change behavior of dragged tab to outside of the sidebar for each case: regular drag and Shift-drag. Shfit-drag of a tab will create bookmarks or links from all tabs in the tree, by default.
* Add [tab drag handler to start dragging of tabs with specific purpose](https://github.com/piroor/treestyletab/issues/2033#issuecomment-422757008). It will appear by pointing for a while around edge of each tab.
* Show dialog for commands to create bookmarks.
* Add ability to change the default folder that new bookmarks are created in.
* Sidebar panel is reloaded immediately after the cache system is disabled.
* Deactivate a context menu command "Duplicate Tab" for multiselected tabs. This respects to the behavior of Firefox's native one.
* Open new tab as specified relation correctly.
* Faster sync for tab loading throbbers. (by Lej77, thanks!)
* Add "Reset All Shortcuts" button to the options page.
* Never apply cached indent definition for different direction.Source code released under Custom License
Version 2.5.4
Released Sep 9, 2018 - 1.1 MBWorks with firefox 60.0 and later- 2.5.4 (2018.9.10)
* Initialize tabs more safely on the startup.
* Allow to tear off dragged tree from the window by default, and now you need to do Shift-drag to create bookmarks/links from tabs dragged to outside.
* Default and shift-drag behavior for tabs dragged to outside are now switchable.
* [`tab-mouseover` and `tab-mouseout` API messages are now delivered correctly on edge cases, by klemens. Thanks!](https://github.com/piroor/treestyletab/pull/2008)
* Update `de` locale (by sicherist, thanks!)
- 2.5.3 (2018.8.30)
* Support native multiselection of tabs on Firefox 63 and later (after the [bug 1486050](https://bugzilla.mozilla.org/show_bug.cgi?id=1486050) is fixed).
* Support "Reopen in Container" in the fake context menu on the sidebar.
* Make tabs draggable on Firefox 63 and later (after the [bug 1453153](https://bugzilla.mozilla.org/show_bug.cgi?id=1453153) is fixed).
* Apply `attention` attribute of tabs to sidebar's contents, on Firefox 63 and later (after the [bug 1396684](https://bugzilla.mozilla.org/show_bug.cgi?id=1396684) is fixed).
* Fix gramatical mistake in en-US locale.
* Don't tear off dragged tab(s) from the window when the dropped position is very near to the sidebar area itself.
* Allow to drag a tree and drop it as a list of URLs.
* Allow to open dropped URIs as tabs on the tree sidebar.
* Load embedded SVG images correctly as favicon.
* [Allow to get permission without toolbar button, by Lej77. Thanks!](https://github.com/piroor/treestyletab/pull/2011)
* [`tab-mouseout` API message is now delivered at correct timing, by klemens. Thanks!](https://github.com/piroor/treestyletab/pull/2008)
* Add `soundButton` attribute to notified API messages of `tab-mousedown`, `tab-mouseup` and `tab-clicked`. It indicates that the mute/unmute button is clicked or not.
- 2.5.2 (2018.8.20)
* Some context menu commands become robust on slow situation.
- 2.5.1 (2018.8.19)
* Fix unexpected recursion around loading of favicons. (regression on 2.5.0)
* Remove default shortcuts to move focus around tree. Ctrl-Shift-Arrows are already used for general shortcuts to select words in text fields.
* All keyboard shortcuts are now deassignable by hitting the Escape key on each field.
* Fix misordernig of input fields to define keyboard shortcuts. (regression on 2.5.0)
* `tab-mouseout` API message is now delivered at correct timing.
* Updated zh-CN locale by YFdyh000, thanks!
- 2.5.0 (2018.8.17)
* Totally reconstructed as ES modules, for better maintainability.
* Don't treat click action on closing tabs as clicking on the blank area of the tab bar.
* New commands "Collapse this Tree" and "Expand this Tree" for the context menu on tabs.
* New commands "Collapse this Tree", "Expand this Tree", "Focus to Parent Tab" and "Focus to First Child Tab" are now available for keybaord shortcuts.
* "Focus to Previous Tab" and "Focus to Next Tab" commands (for keyboard shortcuts) circulate focus of tabs.
* "Focus to Previous Tab" and "Focus to Next Tab" commands (for keyboard shortcuts) focus to actual previous/next tabs, instead of previous/next sibling tabs.
* "Focus to Previous Tab" and "Focus to Next Tab" commands now have default keyboard shortcut.
* Place small favicon for group tabs from pinned tabs over "folder" icon correctly.
* The parent group tab won't be bookmarked by the "Bookmark this Tree" command anymore.
* Add ability to configure default bookmark folder name, and it includes the date created at by default.
* Any pinned tab is now possible to be dragged and dropped between unpinned tabs. Opposite is also available.
* Pinned tabs are now possible to be teared off from the window by drag and drop.
* Restore group tabs more safely. In old versions, restored group tab can lose its content.
* Updating of group tabs is now done without reloading of the tab itself.
* Unfocusing from the input field of the title of a group tab now applies the current value as its new title, instead of cancelling.
* Tabs opened from a bookmark folder are correctly grouped. (It was a regression on recent versions.)
* When a new tab is opened from a pinned tab, the tab bar will be scrolled to the new tab if possible.
* Focus to closest ancestor tab when the active tab is going to be collapsed correctly.
* Show specified favicon as the tab icon, for a tab with an image file.
* Apply more theme colors for "Plain", "Vertigo" and "Mixed" for other addons like "Firefox Color".
* Introduce 32px icons.
* Show toolbar button icons with opacity (by asamuzaK, thanks!)
* Clear "dragging" state of tabs more aggressively.
* Introduce a failsafe for unexpectedly visible descendant tabs under collapsed tree on restored sesssions.
* Add ability to output log for each module.
* Make more robust for asynchronously updated collapsed state of tabs. (In old versions, internal state and visible state can be mismatched.)
* Keep tree expanded after restoration, for restoration without cache.
* Support [checkbox and radio type context menu items](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#add-new-item-to-the-context-menu-on-tabs) and [`browser.menus.onShown`/`browser.menus.onHidden`-like APIs](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#update-existing-item).
* Remove non-free color profile from some image files.
* Update `de` locale (by sicherist, thanks!)
* Add `ru` and `uk` locales (by perdolka, thanks!)Source code released under Custom License
Version 2.4.24
Released Jun 2, 2018 - 896.58 KBWorks with firefox 57.0 and later- 2.4.24 (2018.6.3)
* Some context menu commands didn't work when animation effect is disabled, on 2.4.22 and 2.4.23. (regression)
* Fix 100% CPU usage problem on loading `about;treestyletab-group` on any existing group tab.
* Fix incompatibility with Conex. When Conex is installed, new tabs opened from dropped links were unexpectedly closed immediately.
- 2.4.23 (2018.6.1)
* Add [new API to notify sidebar is shown or hidden](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#when-the-tst-sidebar-is-shownhidden) for other addons.
* Apply correct favicon for restored tabs.
* Fix freezing after a tab is detached from a window by drag and drop.
* Make tabs more easily detachable by drag and drop.
- 2.4.22 (2018.5.30)
* Initialize sidebar more safely on browser's startup.
* Prevent needless flashing of the vertical scrollbar.
* Open new tabs from Ctrl-T as configured position more correctly.
* Don't attach new same site tab if it is originally opened as a blank tab intentionally.
* Close the fake context menu immediately when any item is clicked.
* Keyboard operations affects correctly for the fake context menu even if the cursor is on any separator.
* Refresh context menu automatically when items are modified while open.
* Remove extra context menu items if an external addon is unregistered.
* Make "Plain" theme more respectful of Firefox's default theme.
* More respect Firefox's default favicons for tabs without site-specific favicon.
* Add ability to collect logs while browser's startup process. You can print logs by running `log.logs.join('\n')` in the remote debugger, if you're running TST in the debug mode.
* Update `de` locale (by sicherist, thanks!)
- 2.4.21 (2018.5.16)
* Add ability to attach newly opened orphan tab to the current tab, when they have same website.
* Add ability to collapse/expand configuration sections.
* Execute command in the fake context menu, by an access key without Enter, when there is no other command with same access key.
* Keyboard shortcuts to scroll tab bar never affect to non-active windows anymore.
* Don't reload restored group tab until it is activated.
* Control next focused tab for closed current tab correctly (regression)
- 2.4.20 (2018.5.14)
* Apply specified color for tab label correctly with style rules written for old versions. (regression)
* New tabs reopened by [Conex](https://addons.mozilla.org/firefox/addon/conex/) appears in the tab bar correctly. (regression?)
* Don't show multiple "active" tabs at once when a new active tab is opened.
- 2.4.19 (2018.5.13)
* [New APIs for other addons to observe moving of mouse pointer on tabs.](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#when-the-pointer-is-moved-over-tabs)
* Add ability to change text direction in the sidebar.
* Add ability to change visibility of collapsed descendants in a tooltip on collapsed tree.
* Tooltip on a tab will appear only when it is necessary for too long title.
* Disable animation effect of the fake context menu and other menu-like UI, if animation effects in TST is disabled.
* Handle keyboard operations around the fake context menu and fake confirmation dialog on `keydown`. This behavior is same to native UI.
* Show confirmation dialog only once, when multiple tree are closed at a time. And it won't be shown by "Close Tabs to the Right" and "Close Other Tabs", because the action is already accepted by the user.
* Show confirmation dialog in the content area of the current tab if possible, when multiple tabs are closed by keyboard shortcut command.
* Apply "insert new child at first" configuration for tabs grouped for their pinned parent.
* Allow to drop tab before the first tab, when there is no pinned tab. (regression on recent versions)
* Detach moved tab from existing tree when it is moved by Ctrl-Shift-PageDown. (regression on recent versions)
* Unexpected bumping of scroll position is disappeared, for most cases around focued tabs.
* Don't re-focus to a dragged tab after it is dropped, to allow dragging of background tabs as is. (Inspired from codes by Lej77, thanks!)
* Allow to cancel closing of middle-clicked tab via API. (Inspired from codes by Lej77, thanks!)
* Mouseup and mouseup events on the sidebar are now handled as a pair with same button (by Lej77, thanks!)
* Fade out tab labels instead of ellipsis (by Keith94m thanks!)
* Update `de` locale (by sicherist, thanks!)
- 2.4.18 (2018.3.22)
* Support `enable` and `icons` parameters for extra menu items of the fake context menu.
* [Support `icons` parameter for the `register-self` API.](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#register-and-unregister)
* Newly opened child tabs are placed to the correct position.
* Expose detailed options for scrollbar and cache.
* Collapse large input fields in the "Advanced" section of the options.
- 2.4.17 (2018.3.7)
* Use default favicon of tabs same to Firexo 60.
* Use Firefox-compatible favicon for addon manager and options tabs.
* Add an option to deactivate fake context menu in the sidebar.
* Optimize internal processes to collect ancestor tabs from a tab.
* Synchronize title and favicon of a parent pinned tab to its related group tab.
* Open new independent tab correctly by the command, when new tab are configured to be opened as children or sibling.
* Don't cancel drag action on a tab for long press when there is no listener for "tab-dragready" API message.
* Accept extra context menu items added by other addons without the name of the addon.
* Set the value of `HTTP_USER_AGENT` to the `data-user-agent` attribute of the root element, for easy platform-specific styling.
* [`get-tree` API](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#data-format) now returns `ancestorTabIds` for each tab.
* Notify event messagess via the API only for addons which intentionally listens the message type. (However, all known message types on 2.4.16 are delivered to the addon if it doesn't declare listening event types, for backward compatibility.)
- 2.4.16 (2018.2.12)
* Make default shortcuts avoidable from Firefox's built-in shortcuts. Now you can scroll Tree Style Tab's sidebar by Alt-Shift-Up, Alt-Shift-Down, Alt-Shift-PageUp, Alt-Shift-PageDown, Alt-Shift-Home, and Alt-Shift-End.
* Shortcuts for "scroll sidebar by line" now scrolls for three lines on each time.
* Pinned tabs are now impossible to be collapsed. Even if they are collapsed accidentaly, the operation is safely blocked.
* "Close This Tree", "Close Descendant Tabs" and "Close Other Tabs except This Tree" now work again. (regression on 2.4.15)
* Better styling of extra buttons on the new tab button in the "Metal" theme.
* Update `de` locale (by sicherist, thanks!)
- 2.4.15 (2018.2.11)
* Keyboard shortcuts for commands are now customizable on Firefox 60 and later.
* Fix broken "Bookmark All Tabs" in the fake context menu. (regression on 2.4.11-13)
* Introduce new keyboard shortcuts to scroll Tree Style Tab's sidebar itself: Alt-Up, Alt-Down, Alt-PageUp, Alt-PageDown, Alt-Home, and Alt-End.
* Update `zh_TW` locale (by Bo-Sian Li, thanks!)
- 2.4.14 (2018.2.10)
* Tabs are duplicated or moved across windows correctly. (regression on 2.4.11)
- 2.4.13 (2018.2.10)
* Restore tree correctly for "Restore Previous Session". (regression on 2.4.12)
- 2.4.12 (2018.2.9)
* Respect "expand tree when a tab gets focus" configuration for finally focused tab via Ctrl-Tab/Ctrl-Shift-Tab.
* Fix missing menu label of extra context menu items. (regression on 2.4.11)
* Better performance around dragging something over tabs.
- 2.4.11 (2018.2.9)
* Reformat keys of localized messages matching to the [spec](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference#Member_details).
- 2.4.10 (2018.2.9)
* Match default behavior of long-press on the "New Tab" button to Firefox's one (it shows a menu to choose container).
* Place button to select new tab posiiton at right side for the new tab button, if the button to choose container is invisible.
* Respect `browser.tabs.selectOwnerOnClose` correctly when new child tabs are configured to be inserted to top of tree. (regression on 2.4.9)
* First child tab opened from a pinned tab is now placed at configured position. (regression on 2.4.9)
* Process initialization message from other addons via API more correctly.
* Better performance around dragging something over tabs.
* Better performance around collapse/expand tabs.
- 2.4.9 (2018.2.8)
* Introduce ability to open new tab specifying its position, by long-press on the "New Tab" button.
* Better appearance for the contaienr selector on the "New Tab" button.
* Warn before closing multiple tabs a a time.
* Better behavior and keyboard operation handling of fake context menu.
* Better compatibility with other addons which hide some tabs, like [Conex](https://addons.mozilla.org/firefox/addon/conex/). Now tabs hidden on the top tab bar are also hidden in the sidebar.
* Always scroll to the newly opened tab when it is opened as the active tab.
* Tabs opened from same pinned tab are grouped, only when there are multiple tabs to be grouped.
* Group-tab to bundle tabs opened from same pinned tab inherits the container of the parent pinned tab.
* Show descendant tabs as the content of a group tab. Clicking on an item will give focus to the tab.
* Don't break group tabs when Tree Style Tab is dynamically updated.
* Restore group tabs as-is when they are imported from different profile with session information.
* More meaningful label for "temporary group" checkbox of group tabs.
* Reduce mismatched tree structure between the internal master process and the visible sidebar contents.
* A new [alias to specify tabs via API](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#basics-to-specify-tabs): `senderTab` which is resolved to the owner tab for a content script.
* Update `de` locale (by sicherist, thanks!)
- 2.4.8 (2018.2.1)
* Fix fatal error on the startup process for tree restored from cache.
* Don't expand current tree by just hitting Ctrl key.
* Don't focus to collapsed children expectedly, after the tree of tabs are restored from cache.
* Don't open a new tab by right-click on the "New Tab" button. It was an unexpected behavior on Windows.
* Accept `about:treestyletab-startup` as a shorthand of the startup tab.
* APIs now return `indent` information as a part of extended `tabs.Tab`.
- 2.4.7 (2018.1.30)
* Fix fatal error on restoration of tabs from the cache.
* Show active and hover marker for tabs at the Mixed theme, to match tab style of Firefox itself.
* Use `Highlight` system color to highlight active and hover tabs at the Vertigo and the Mixed themes, on Linux.
* Apply background color correclty at the Vertigo theme.
* Update `en` locale (by Thomas Bertels, thanks!)
* Update `zh_TW` locale (by Bo-Sian Li, thanks!)
* Update `de` locale (by sicherist, thanks!)
- 2.4.6 (2018.1.26)
* Clear needless temporary group tabs correctly even if they are nested.
* Open pinned tabs at the end of the tab bar as configured, when pinned tabs are not grouped.
* Deactivate "auto discard" behavior for unexpectedly restored tabs by default.
* Suppress some fatal initialization errors.
- 2.4.5 (2018.1.26)
* Deactivate "hide inactive tabs" feature, because [a depending permission `tabHide` is rejected by Mozilla Add-ons website itself for now](https://github.com/mozilla/addons-linter/issues/1788).
- 2.4.4 (2018.1.25)
* Add a new option to hide inactive tabs from top tab bar. This feature works only on Firefox 59 and later, and require new extra permission. Moreover you need to activate the API manually by `extensions.webextensions.tabhide.enabled`, a secret preference of Firefox itself.
* Track tabs more correctly at cases multiple tabs are opened quickly.
* Ask how to open the dropped link on a tab, like legacy versions.
* Staying on a tab while dragging of a link will switch focus to the dragover tab correctly.
* Shift-drag on a parent tab now allows to drag the tab as an individual tab.
* Drag and drop operations of tabs between a regular window and a private browsing window are now blocked.
* "Move to New Window" and similar operation work correctly for tabs in a private browsing window.
* Treat Ctrl-PageUp and Ctrl-PaegDown as tab switch trigger, same to Ctrl-Tab/Ctrl-Shift-Tab.
* Activate "Close Tabs to Right" and "Close Other Tabs" context menu items, on pinned tabs (respecting Firefox 59's behavior.)
* Theme's background color is now applied ASAP.
* Synchronize title of a group tab with its first child tab, if it has just a default title.
* Title edit for dummy group tabs now works correctly.
* Don't focus to the group tab itself after multiple tabs are automatically grouped.
* New tabs from pinned tabs are placed at correct position as configured.
* Expand focused tab if it is an orphan but collapsed. This is just a failsafe.
* Reduce CPU usage from offscreen rendering of tabs' throbber.
* Add a new configuration to control the position of the scrollbar in the sidebar.
* Add a secret configuration `moveDroppedTabToNewWindowForUnhandledDragEvent` to deactivate "move tab to new window by drag and drop" behavior.
* Synchronize some configurations with Firefox Sync.
* Update `zh_TW` locale (by lycsjm, thanks!)
* Add `de` locale (by sicherist, thanks!)
* Accept [`current` and other special values](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#basics-to-specify-tabs) to specify tabs via APIs.
* Add new APIs to [indent](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#indent-demote-tab), [outdent](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#outdent-promote-tab), [move](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#move-tree-to-different-position), [duplicate](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#duplicate-tab-as-childsibling-tab), [focus](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#focus-to-the-nextprevious-sibling-tab), and [group](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#create-new-group-from-given-tabs) tabs.
- 2.4.3 (2017.12.12)
* Never group single orphan tab (regression on 2.4.2)
- 2.4.2 (2017.12.12)
* Keep group tabs open after restart of Firefox and reload/update of TST itself. (regression: group tabs were unexpectedly lost on such cases, at 2.4.x.)
* Add ability to group new tabs opened from pinned tabs automatically.
- 2.4.1 (2017.12.11)
* Fix regressions around SVG icons and throbber's animation on the simulation mode.
* Don't attach newly opened tab at the end of the tab bar to the previous tab.
- 2.4.0 (2017.12.9)
* Optimize tree restoration with cache. If you see broken tree from cache, please deactivate this feature by the checkbox under "Debug mode" in Tree Style Tab's configurations.
* Use SVG icons for closeboxes, "New Tab" button, and sound playing indicator. However, due to the [Bug 1377302](https://bugzilla.mozilla.org/show_bug.cgi?id=1377302) and [1421329](https://bugzilla.mozilla.org/show_bug.cgi?id=1421329), it is just a simulation and requires more CPU. If you want to reduce CPU usage, you need to activate `svg.context-properties.content.enabled` via `about:config` and deactivate the simulation by the checkbox under "Debug mode" in Tree Style Tab's configurations.
* Use system color instead Photon color scheme on Linux by default, on Plain, Flat, Vertigo, and Mixed theme.
* Add new theme "Hight Contrast" based on system color on any platform. (contributed by actionless, thanks!)
* Remove "Flat" theme. It was quite similar to "Plain".
* On "Plain" and similar themes, show top border of the tab bar only when there is any pinned tab.
* Keep tab's "unread" state after reloading of the sidebar.
* Reduce needless requests for tab icons. (contributed by UENO Katsuhiro, thanks!)
* Apply extra margin for overlay-scrollbar on macOS only for overflow tab bar.
* Title editor and checkbox to toggle "temporary" status are avialable on group tabs.
* Group tab won't be closed automatically if it is not marked as "temporary".
* Don't detach tab from window if it is dropped onto the bookmarks toolbar.
* Don't output log for keyboard events.Source code released under Custom License
Version 2.3.0
Released Nov 30, 2017 - 613.61 KBWorks with firefox 57.0 and later2.3.0 (2017.11.30):- Show scrollbar like narrowed by default, on Windows and Linux.
- Add extra space for overlay-scrollbar on macOS.
- Don't expand tree when the Shift key is pressed/released while tab switching by Ctrl-Tab/Ctrl-Shift-Tab.
- Add ability to prevent control for focusing of tabs when the current tab is focused.
- Discard accidentally restored tab automatically, on Firefox 58 and later.
- Detect
about:privatebrowsing
as a new blank tab, in the private browsing mode. - Always expand tree when a child is manually attached to a parent tab.
- Open new sibling tab at correct position for root level tab.
- Place attached tab to natural position more correctly.
- Detach tab from window more easily by drag and drop to outside of the window. In old versions, it was done if you move the mouse just left or right.
- Restore selection of the first tab after opened new tabs are automatically grouped.
- Restore tree structure from sessions more quickly for "Restore Previous Session".
- Add ability to inherit container (contextual identity) from its parent tab to newly opened child tabs.
- Add "Default" to the list of selectable containers, when container inheritance is activated.
- Allow to bookmark all tabs from the fake context menu. (regression)
- Cleanup tab element for closed tabs correctly. (regression)
- Calculate size of elements more correctly. (regression)
- Animation of throbber is now synchronized correctly on Firefox 57. (Many thanks to Lej77!)
- Recolor "Plain", "Flat", "Vertigo", "Mixed", and the startup page based on the color scheme of Firefox's default Photon theme.
- Recolor "Plain Dark" based on the color scheme of Firefox's builtin "Dark" theme.
- Use more larger closebox on macOS.
- Hide container selector on the new tab button by default.
- Add "No Decoration" theme as the base for customization.
- Use white icon for the toolbar button on the "Dark" theme.
- Disallow zooming of the sidebar contents by default. You can re-activate the old behavior by setting
zoomable
totrue
in the debug mode. - Notify both mousedown and mouseup for other addons via API.
- Handle middle-click on the new tab button correctly even if any other addon listens click events on the tab bar.
- Add zh_TW locale (by lycsjm, thanks!)
Source code released under Custom License
Version 2.2.11
Released Nov 18, 2017 - 568.22 KBWorks with firefox 57.0 and later- 2.2.11 (2017.11.18)
* Fix performance regression for many numbers of tabs, on 2.2.10.
- 2.2.10 (2017.11.18)
* Some permissions are now optional.
* Open plain text dropped onto the sidebar as a URI, if it seems to be formed like a host name.
* Tabs reopened by [Firefox Multi-Account Containers](https://addons.mozilla.org/firefox/addon/multi-account-containers) are treated as replacement of the original tab, if possible.
* While switching tabs by keyboard shortuts, staying on a collapsed tree expands the tree automatically.
* Add more descriptions and links from the configurations.
* Fix wrong tab focus when there are only tow child tabs and the last one is active and closed.
* [Add ability to deactivate auto-attaching of tabs.](https://github.com/piroor/treestyletab/issues/1544)
- 2.2.9 (2017.11.17)
* Don't apply indent for pinned tabs.
* Don't close initial message tab automatically.
- 2.2.8 (2017.11.16)
* Reduce width of elipsis for cropped long title of tabs.
* Close collapsed tree without expansion animation correctly. (regression)
* Update internal order of child tabs correctly, when they are just rearranged. (regression)
* Don't shrink close button for indented tabs, on the "Sidebar" skin.
- 2.2.7 (2017.11.15)
* Apply theme color for each window.
- 2.2.6 (2017.11.15)
* Skip collapsed tabs for focus switching via Ctrl-Tab/Ctrl-Shift-Tab. [But there are some restrictions.](https://github.com/piroor/treestyletab/issues/1531#issuecomment-344487289) (This feature was described at 2.2.4 but didn't work due to missing file.)
- 2.2.5 (2017.11.15)
* Isolate from unimplemented feature on Firefox 57.
- 2.2.4 (2017.11.15)
* Inherit theme colros applied by extensions like [VivaldiFox](https://addons.mozilla.org/firefox/addon/vivaldifox/), [Container Theme](https://addons.mozilla.org/firefox/addon/containers-theme/), and others. Due to limitations of WebExtensions APIs, non-extension theme colors won't be applied.
* Collapse other tree when new tree is created. (regression)
- 2.2.3 (2017.11.15)
* Add new APIs to work with other addons, especially Multiple Tab Handler.
- 2.2.2 (2017.11.14)
* Tabs are opened in correct order when new child tab is attached as a top of existing children. (regression)
- 2.2.1 (2017.11.14)
* Introduce new option to operate a parent tab just as a solo tab, by operations outside of the sidebar.
* Fix some odd behaviors around an window separated from another existing window. (regression)
- 2.2.0 (2017.11.14)
* Optimize initialization, retrieving tab relations based on tree, and collapsing/expanding of tree.Source code released under Custom License
Version 2.1.2
Released Nov 11, 2017 - 531.45 KBWorks with firefox 57.0a1 and later- 2.1.2 (2017.11.12)
* Keep tabs indented after deep level tab is closed. (regression)
* Link to instruction to migrate session information.
- 2.1.1 (2017.11.11)
* Optimize animation to collapse/expand tree.
* Collapse other auto-expanded tree when new tree is created. (regression)
* Dummy group tab now accept tab title specified without`title=`.
* Import tree from migration data correctly, including their URIs.
- 2.1.0 (2017.11.9)
* Better handling of restored tabs.
* Better handling of new tab opened by Ctrl-T.
* Redirect legacy `about:treestyletab-group` URI to new `moz-extensions://...` URL.
* Don't break tree when a member tab of the last tree is promoted by dropping below a paranet tab.
* Detect copy action for dragging correctly. (regression)
* Detect sidebar's open/close status more correctly again. (regression)
* Open tab as independent correctly based on configurations, for duplicated tabs.
* Move descendant tabs to the new window also by the "Move to New Window" command.
* Disallow to drop tab onto scrollbar.
* Keep tabs discarded after moved by "Move to New Window".
* Move tree to new window more safely from fake context menu.
* Close only right (below) tabs in the window correctly.
* Specify background color for dummy group tab.
* Accept tab ids changed by moving between windows, for API's input.Source code released under Custom License
Version 2.0.7
Released Oct 17, 2017 - 510.08 KBWorks with firefox 57.0a1 and later- 2.0.7 (2017.10.18)
* Better tree restoration for restored sessions.
- 2.0.6 (2017.10.17)
* Allow to open new active child tab under a parent tab which is internally collapsed. (regression on 2.0.3)
* Restore collapsed/expanded state of tree after crash recovery, if possible.
* `tabs.Tab.openerTabId` of each tab is now updated based on tree structure, for other addons.
* Tabs with updated `tabs.Tab.openerTabId` are now automatically attached to the opener's tree. (Due to [the bug 1409262](https://bugzilla.mozilla.org/show_bug.cgi?id=1409262 "1409262 - Updated openerTabId is not notified via tabs.onUpdated if it is changed by tabs.update()"), updated relation is not applied immediately.)
* Scroll to the focused tab correctly, when it is focued by Firefox's `browser.tabs.selectOwnerOnClose` feature.
- 2.0.5 (2017.10.14)
* Restore tree for tabs restored from crash, if possible.
* The tab bar is scrolled to newly attached child tab prior to its parent, if the parent is already out of the viewport.
* Animation effect for completely loaded tab won't be applied again and again for already loaded tabs anymore.
* Clicking on the tab bar itself is now cancelable by other addons. If any addon returns `true` for the notified message with the type `tabbar-clicked`, TST's default behavior (open new tab) is canceled.
* Apply macOS specific behavior on macOS correctly.
- 2.0.4 (2017.10.10)
* The current tab is never scrolled out when a new tab is opened and the tab bar turned to "overflow" mode.
* Never show blue gradient for notification when the window is resized.
- 2.0.3 (2017.10.10)
* Tree structure is restored when Firefox is started with some extra URLs (or files.)
* Sidebar UI is now rendered with the system font for message boxes (same to Firefox's tabs).
* "Max level of indentation" config works more correctly (including `0` case.)
* Focus redirection for closing current tab works more correctly.
* "Close Other Tabs" command in the fake context menu don't close pinned tabs anymore.
* Click actions on fake context menu items now work only on certain correct cases.
* The fake context menu is shown on the correct timing same to native context menu on the platform.
* Last scroll position of the tab bar is now restored.
* TST sidebar's initialization process is optimized and now it is opened more quickly.
* Add a new option to activate behaviors around tree when TST's sidebar is not shwon. The option is activated by default now.
* Tabs opened at startup (like "Home" with multiple URLs) aren't grouped anymroe. The maximum delay to detect "opened on startup" is customizable and it is 500msec by default.
* Sound indicator icon is correctly updated for changes. (regression on 2.0.2)
* "New Tab" button in the sidebar opens new next sibling tab correctly (if you configured).
* Collapse/expand tree by changing focus and closing current tab more correctly.
* Collapsed/expanded state of tree is restored more correctly.
* Infinitely animation throbbers are gone.
* Restore closed tabs with previous tree strucutre more correctly.
* Restoring of closed duplicated tabs unexpectedly broke tree structure.
* Too narrow height of tabs is corrected for the "Metal" theme.
* Tabs moved next to collapsed tree by Firefox or other addons won't be attached to the collapsed tree anymore.
* Invalid middle click (the mouse is moved out before mouseup) is correctly ignored for "close the tab" on a tab and "open new tab" on blank area.
* Focusing and positioning of duplicated/restored tabs are processed more correctly.
* Ghost tabs won't be produced anymore from tabs closed after opened immediately.
* Select tab immediately when mousedown event is fired on a tab, like legacy TST.
* Use more suitable term "end" instead of "last" for labels of some configurations.
* New tabs opened at the end of the tab bar is now completely shown (if possible) when the tab bar turns into "overflow" mode by the opened tab.
* [Simple `ping` API](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#uninit-special-features-for-tst-when-tst-is-going-to-be-disabled) to check TST's living status from other addons is now available.
* Tabs gotten with [`get-tree` API](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#get-tree-information) now have correct `active` status.
- 2.0.2 (2017.10.4)
* Open new tab by middle click on the blank area, like Firefox does.
* Synchronize animation of throbbers, like Firefox does.
* Apply "burst" animation for completely loaded tabs, like Firefox does.
* Show fake context menu with the system font for menu items.
* Process fake context menu commands correctly when the menu is opened on non-tab area.
* Fix invisible throbber on active tab with some themes.
* Open new tab as next sibling without breaking tree, when the current tab is a root tab.
* Group tabs by a dummy tab correctly on secondary and later windows.
* Don't open needless group tab in a rest window when another window is closed.
* Don't highlight unread pinned tabs when they are not faviconized.
* Respect Frirefox's behavior of `browser.tabs.selectOwnerOnClose` more correctly. Now the "owner" tab is focused when the current tab is closed. You need to disable the option via `about:config` if you want TST to control focusing of tabs completely.
* Don't create recursively grouped tabs from newly opened tabs.
* [New APIs to override the wheel scrolling behavior](https://github.com/piroor/treestyletab/wiki/API-for-other-addons#override-reaction-for-mouse-wheel-rotation-on-the-vertical-tab-bar) are now available.
* Updated zh-CN locale by YFdyh000, thanks!
- 2.0.1 (2017.9.29)
* "Middle click to close tab" behavior becomes same to Firefox's one (closed on mouseup).
* "Dragging" appearance of tabs are correctly cleared when the dragging is canceled.
* Tabs were too easily detached from the window by drag and drop of a tab onto itself. Now dropping of a tab onto itself is simply ignored.
* Fix missing translation in Japanese locale.
* Fix too large padding in tabs in the "Sidebar" theme (by Niklas Hambüchen. Thanks!)
* The option to control positioning of tabs opened by "New Tab" command is now applied for tabs opened by keyboard shortcut Ctrl-T (⌘-T), if they are opened with the URL "about:newtab". (But there are some problems. [See also technical details.](https://github.com/piroor/treestyletab/issues/1038#issuecomment-332711522))
* "Open as next sibling" choice for options to control new tab position works more correctly.
* Focusing of tabs is controlled more correctly for closing current tab.
* "Move Tab to New Window" in the sidebar context menu works correctly.
* Reduce CPU usage for throbber animation.
* WhatsApp Web tabs were unexpectedly eats CPU resource.
* Last effective icons are restored correctly after restart, for some websites including WhatsApp Web.
* Tabs are updated more correctly by events. For example, view-source tabs are shown with correct title more certainly.
* Restore tree structure when a parent tab is restored after it was replaced with a group tab.
* All collapsed descendant tabs are now shown in the tooltip.
* An announcement message is shown automatically, when TST is updated from legacy version to 2.x or later.
* Now pinned tabs are easily unfaviconized. (A new checkbox is added in TST's configurations.)
- 2.0 (2017.9.26)
* Rebuilt on WebExtensions.Source code released under Custom License