Releases: piroor/treestyletab
Releases · piroor/treestyletab
4.0.15
4.0.15 (2024.5.21):
- Treat drag and drop of a parent tab to its descendant as a dragging of an individual tab and attach it to the drop position, even if the default action is configured to drag the whole tree. You can deactivate this behavior and prevent dropping of a parent tab to its descendant to turn the hidden option
moveSoloTabOnDropParentToDescendant
tofalse
. - Don't inherit container to an opened tab if it is opened by "Open in Container Tab" => "No Container" inin the native tab context menu.
- Never use
overflow
andunderflow
events to become compatible with Firefox 128 and later. - Add new keyboard shortcut slots for "Toggle Tree Collapsed" and "Toggle Tree Collapsed Recursively" commands.
- Add a new option to show/hide TST's context menu commands on the native tab bar.
- Become more robust for cases that tabs are opened while the initialization process.
- Fix odd behavior after rendering error when the sidebar panel is shown with zero-width.
- Show container marker with thin width even if tabs are shown with expanded height.
4.0.14 (2024.4.17):
- Allow to detach tab from window even if the source window is maximized or fullscreen. (regression on 4.0.13)
- Prevent unexpected jumping of tabs on scrolling, when tab height is expanded by extra tab contents above/below tabs provided by helper addons.
4.0.13 (2024.4.10):
- Apply new-tab-command-tab behavior correctly. (regression on 4.0.12)
- Use
GrayText
instead ofButtonText
as the tabs border color in the "High Contrast" theme, to reduce stresses from too high contrast. - "Move Tab" => "Move to New Window" in the context menu on the sidebar now moves whole tree always.
- "Move Tab" => "Move to New Window" opens a new window shifted from the source window a little.
- Don't deactivate unrelated options even if
<all_urls>
permission is not granted. - Fix unexpected reloading of the sidebar panel on tab attaching/detaching.
- Add a new secret option
syncActiveStateToBundledTabs
to suppress expanding of the tree and scrolling to it for group tabs bundled to a pinned tab, when the pinned tab become active.
4.0.12
4.0.12 (2024.4.5):
- Calculate tab dimensions more correctly. (regression on 4.0.11)
- Fix ability to override tab size with
--tab-size
. - Use
ButtonText
instead ofButtonShadow
as the tabs border color in the "High Contrast" theme, for better visibility. - Don't apply new-tab-command-tab behavior for non-new-tab-command-tabs accidentally, e.g. tabs opened by other applications.
4.0.11 (2024.4.3):
- Optimize tab rendering more.
- Optimize updating of tab indentations on animation-disabled mode.
- Never show different "extra tab contents" in reused tab elements.
- Show favicon of a tab correctly when a favicon-less page is loaded.
- Apply the behavior option correctly to group tabs opened for tabs from bookmarks.
- Allow to set details options about tab rendering per each device.
- API: Cache tabs returned via API for better performance. It is disabled by default via an option
cacheAPITreeItems
. - API: Show extra tab contents on the target pinned tab correctly.
4.0.10 (2024.3.21):
- Don't shift tree structure after a restart for a major update of Firefox (See also: how to restore correct tree from shifted tree)
- Show context menu items enabled by the option correctly.
4.0.9 (2024.3.20):
- Middle-click on the "New Tab" button opens a blank new tab if the clipboard is not accessible due to some reasons.
- Fix incompatibility with other addons closing initial tabs while TST is initializing (ex. Tab Session Manager and Firefox Multi-Account Containers).
- Apply user style sheets prior to built-in style rules correctly.
- Introduce new expert option to expose hidden tabs by other addons, and add expert options UI for the number of pre-rendered pages and visibility of hidden tabs.
- Suppress some non-critical errors while initializations.
- Update
zh_CN
locale by NightSharp. Thanks!
4.0.8
- 4.0.8 (2024.3.18)
- Fix unexpected "scrolled to top" behavior on new tabs are opened.
- Completely clear old states and attributes of tabs reused on the virtual scrolling mode.
- Optimize scrolling on the static rendering (physical scrolling with
outOfScreenTabsRenderingPages
=-1
) mode more. - Tabs opened from pinned parent are grouped automatically by default. (regression on recent versions)
- 4.0.7 (2024.3.16)
- Apply
outOfScreenTabsRenderingPages
correctly.
- Apply
- 4.0.6 (2024.3.16)
- Optimize operations of virtual scrolling.
- Fix mismatched highlighted state of tabs when a tab is activated with an operation in the sidebar and another tab is activated from outside of TST sidebar like keyboard shortcuts or operations in Firefox's tab bar.
- 4.0.5 (2024.3.15)
- Introduce a secret option
outOfScreenTabsRenderingPages
to change performance balance of the virtual scrolling. Setting it to a negative value like-1
will work almost same as TST 3.x: no virtual scrolling. - Optimize operations of virtual scrolling.
- Add ability to open URL in the clipboard by middle-click on the "New Tab" button: this aims to simulate Firefox's
browser.tabs.searchclipboardfor.middleclick
option enabled by default on Linux, and there are some requirements: grant the clipboard access permission and setdom.events.asyncClipboard.clipboardItem
totrue
. - Fix regressions about scrollbar's appearance on Windows 10.
- Fix some user style sheet incompatibility about setting tab height.
- Update
zh_CN
locale by NightSharp. Thanks!
- Introduce a secret option
- 4.0.4 (2024.3.14)
- Fix miscalculation of scrollable area and drop position on tabs with margins added to both top and bottom.
- API:
sidebar-show
notifications are sent more certainly. - Update
zh_CN
locale by NightSharp. Thanks!
4.0.3
- 4.0.3 (2024.3.13)
- Fix miscalculation of drop position on tabs on the "Photon" theme.
- Expand height of the container of pinned tabs more correctly on edge cases.
- 4.0.2 (2024.3.13)
- Fix performance degression around detection of tab label overflow state.
- Fix needless blank space below last tab on the "Photon" theme.
- Fix blank dialogs when the "Access your data for all websites" permission is not granted.
- Hide unexpectedly shown menu items in the context menu.
- More respect labels of menu commands in the context menu on blank area of the tab bar.
- Update
zh_CN
locale by NightSharp. Thanks!
4.0.1
- 4.0.1 (2024.3.8)
- Tabs containing sticky tabs are kept expanded when another tree is expanded, even if those tabs are sticked via API.
- 4.0 (2024.3.7)
- Improved performance on cases with large number of tabs. Now tabs only in the viewport are rendered.
- Pinned tabs and unpinned (normal) tabs are now placed under separate container elements:
#pinned-tabs-container > .tabs.pinned
and#normal-tabs-container > .virtual-scroll-container > .tabs.normal
. - Each rendered tab element now has
data-index
attribute corresponding totabs.Tab.index
. - Due to this design change, customization with CSS
counter
won't be work as expected anymore. You'll need to create something helper addon to do such customizations.
- Pinned tabs and unpinned (normal) tabs are now placed under separate container elements:
- Introduce new context menu commands and other triggers to stick arbitrary tabs to edges of the tab bar. It is similar to "Pin/Unpin Tab" but sticked tab keeps its tree.
- Indicate sharing state of tabs (camera, microphone and/or screen) with icons.
- Show dropshadow before normal tabs when the tab bar is scrolled.
- Show dropshadow after normal tabs when the tab bar is not fully scrolled.
- Use cached tree structure information more aggressively on Firefox startup, if the number of tabs, pinned status, and containers are matched.
- Add ability to control tabs opened from Firefox View.
- Suppress bookmarks folder auto creation for bookmarks from tabs, when multiple bookmarks are copied via the Library or something way.
- Move descendant tabs also correctly following to their parent, when a parent tab is moved to the top level via Firefox's horizontal tab bar.
- Apply the option to place opened tabs next to the last related child correctly, when multiple tabs are opened from a pinned tab.
- Avoid unexpected restoration of blank dialog windows by Ctrl-Shift-T on Firefox 116 and later.
- Restore tree structure more correctly for reopened tabs which were closed at a time.
- Lock scroll position temporary when a tree near the tab bar end is collapsed, just like as the case when tabs are closed.
- Open local files in tabs with blob: URL when they are dropped to the tab bar, instead of simply ignored.
- Never create needless multiple folders for bookmarks created from tabs tree.
- Most options are now treated as expert options and hidden by default.
- Many API improvements.
- Introduce a new message type
get-version
to know the version of TST itself. - Introduce new notification types
tabs-rendered
andtabs-unrendered
to observe tabs' rendered state. - Introduce a new message type
get-light-tree
to get minimal tree item information. - Introduce new values of
states
to know detection result determined by TST internally. - Introduce new message types
stick-tab
,unstick-tab
andtoggle-sticky-state
to control tabs' sticky state at tab bar edges. - Introduce new message types
register-auto-sticky-states
andunregister-auto-sticky-states
to stick tabs with specific state to tab bar adges automaitcally. - Introduce a new notification type
tab-sticky-state-changed
to observe a tab is sticked or unsticked. - Introduce a new option
rendered:true
for the message typesget-tree
andget-light-tree
, to get information only about rendered tabs. - Support bulk messaging to TST (sending multiple messages at once) and bulk messaging from TST (receiving multiple messages at once for better performance.
- Add ability to minimize tree item information contained in notification type messages, to reduce messaging cost.
- Introduce new keywords
allVisibles
andnormalVisibles
for message typesget-tree
andget-light-tree
, to get specific state tree items. - Introduce new options
states
andstatesNot
for message typesget-tree
andget-light-tree
, to get specific tree items. - New insertion place of extra tab contents:
tab-above
andtab-below
are now available. - Introduce new message types
set-tooltip-text
andclear-tooltip-text
to set arbitrary tooltip text for each tab. - Notification messages of
try-expand-tree-from-attached-child
now has an extra propertychild
corresponding to the added child tab.
- Introduce a new message type
- Most of improvements at this version is sponsored by the Waterfox project / BrowserWorks Ltd. Many thanks to Alex Kontos! (Announcement blog entry at Waterfox project)
- Improved performance on cases with large number of tabs. Now tabs only in the viewport are rendered.
3.9.22
3.9.22 (2024.1.31):
- Fix failed initialization when an optional permission "Read and modify bookmarks" is not granted. (regression on 3.9.21)
3.9.21 (2024.1.26):
- Fix performance regression on 3.9.20 with on-memory cache.
- Prevent unexpected slicing of built-in icons in group tabs.
3.9.20 (2024.1.18):
- Drop support of Firefox older than 115.
- Restructure options about new tab position control, to reduce overlapped effects of multiple options. Now you can choose "open tab as a first/last child" for each option directly.
- Expose expert options to control behavior of new tabs opened from links and the "New Tab" command in the simulated tab context menu.
- Use on-memory storage for the cache of sidebar contents, to prevent bloating of Firefox's session file. This means that initialization on the browser startup takes more time, and you can take the old behavior back by a new advanced option.
- Guess tabs opened by the "New Tab" command more certainly.
- Suppress too much RAM usage problem with some themes with animations. (See also the bug 1875100.)
- Store device ID more safely for the simulated Sync feature.
- Update
zh_CN
locale by NightSharp. Thanks!
3.9.19
3.9.19 (2023.11.20):
- Don't reopen tabs with URL unopenable with addon's permission (local file, about: URL and so on) even for container inheritance.
- Deactivate "Open in New Container Tab" context menu command for tabs with unreopenable URL.
- Use icon color same to Firefox 120.
3.9.18 (2023.11.10):
- Add context menu commands and keyboard shortcut slots "Mute/Unmute this Tree" and "Mute/Unmute Descendants".
- Increase default interval of the heartbeat between sidebar pages and the background page from 1sec to 5sec for less CPU usage.
- Optimize performance of updating maximum tree level on situations with disabled animation.
- Determine color of SVG icons for the platform color mode (dark or bright), based on the CSS prefers-color-scheme feature.
- Update
fr
locale by cayenne17. Thanks!
3.9.17 (2023.9.8):
- Handle tabs internally moved by TST itself more correctly. Reduced wrong placements of tabs opened from a pinned parent on some situations.
- Optimize initialization process of the tab context menu on the sidebar page. Reduced delayed update of menu items after the menu appears on the screen.
- Reduced visual gap between the last tab and the new tab button in a scrollable tab bar with the Proton theme.
- Successfully detach a tab to a new window when a tab is dragged, moved to streight left or right and dropped at undroppable location, more certainly. The operation was unexpectedly blocked by a workaround for an old issue already fixed at Firefox 71.
- Treat dropped multiselected tabs from Firefox's native tab bar as dropped tree items.
- Update link to the list of known helper addons: now it is an wiki page.
- Introduce a workaround for a platform specific problem: unexpected reaction for drag events is triggered after a finished drag-and-drop actions.
- API: Add new notification type
try-collapse-tree-from-collapse-command
andtry-collapse-tree-from-collapse-all-command
to allow blocing of collaption of tree by commands. - Updated style definition of tree twisties: now their positioning can be customized with
margin
andpadding
more easily. - Uniform to label the feature to apply custom user style definitions as "User Style Sheet".
- Update
ru
locale by wvxwxvw. Thanks!
3.9.18
* Add context menu commands and keyboard shortcut slots "Mute/Unmute this Tree" and "Mute/Unmute Descendants". * Increase default interval of the heartbeat between sidebar pages and the background page from 1sec to 5sec for less CPU usage. * Optimize performance of updating maximum tree level on situations with disabled animation. * Determine color of SVG icons for the platform color mode (dark or bright), based on the CSS prefers-color-scheme feature. * [Update `fr` locale by cayenne17](https://github.com/piroor/treestyletab/pull/3406). Thanks!
3.9.16
3.9.16 (2023.7.21):
- Reduce RAM usage around favicons.
- Right-click on the "new tab" button now opens containers selector like recent versions of Firefox.
- Expand ancestors tree while a tab is moved by Ctrl-PageUp/PageDown for better usability.
- Keep tabs scroll-locked even if the cursor is moved while the last tab is being removed.
- Keyboard shortcuts to move focus to next/previous sibling now cycles focus between sibling tabs.
- Add a new expert option to put tabs under a group tab always, even if they are opened from a bookmark folder and already organized as a tree. On such situations TST suppresses opening a group tab, because the group tab was initially introduced just to organize flat tabs opened from a bookmark folder as a tree.
- Attach child tab to the opener tab correctly even if the opener had no child and "when a tab is opened from existing tab, open it as: a child of the parent tab, next to the recently opened child" is chosen.
- Create bookmark item for the first group tab correctly, if there are multiple root level group tabs in the selection.
- Use bright border color for "drag and drop" options on the dark mode.
- Match styling of active and highlighted tabs on Proton theme, for Firefox 102 and later.
- Render box-shadow of the active tab on Proton theme more similar to Firefox's native tabs.
- Update
de
locale by juwbr. Thanks!
3.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.
3.9.14
3.9.14 (2023.3.13):
- Better simulation of
browser.tabs.selectOwnerOnClose
on slow environment.
3.9.13 (2023.3.12):
- 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!
3.9.12 (2023.1.7):
- 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!)
3.9.11 (2022.12.6):
- Group tabs not from bookmarks with user's choice correctly. (regression on 3.9.8)
- Enlarge input fields for some options to input numbers.