All notable changes to the Rango extension will be documented in this file.
0.7.0 - 2024-06-17
- Add setting to always compute hintables.
- Add command for performing action on an element fuzzy searching its text.
- Add ability to customize custom selectors from the settings page.
- Add setting for notifying or not when toggling hints.
- Add command for hiding a specific hint.
- Add command to save a reference to the active element.
- Fix issue with elements not triggering intersection when within
positioned: fixed
element. - Fix hints being read out when using Microsoft Edge Read Aloud function.
- Make hints and keys to exclude settings case insensitive.
- Fix crown not taking account sticky headers with smooth scrolling.
- Fix Discord's internal links opening in a new tab.
- Fix "go input" not working when the hints are off.
- Fix slowness on startup caused by having to reload discarded tabs for refreshing tab marker.
- Allow smaller hint font size.
0.6.3 - 2024-2-2
- Log to the console the selectors used when showing references.
- Fix some reference not working when the unique selector uses
href
. - Fix some instances of hints within tables breaking layout.
- Fix weird behavior displaying hints in contenteditable in https://pad.cogneon.io/.
0.6.2 - 2023-12-8
- Add setting to hide tab markers when the hints global toggle is off (#253)
- Add command to get the title of the currently focused tab without including the decorations
- Fix includeTabMarkers being altered by clicking the browser action button
- Fix buggy behavior when changing the title of a bookmark manually (#254)
- Handle focus change and update shouldBeHinted for all hintables. Fixes some instances of hints not displaying on menus that open when certain element is focused. (#256)
- Fix hints not being shown with new color spaces in CSS Colors v4 (#257)
- Improve include or exclude custom hints highlighting for better accessibility (#258)
- Fix focus not being called for all HTMLElements (#255)
0.6.0 - 2023-11-13
- Clicking the action button also toggles the tab markers keeping them in sync with global hints toggle.
- Change the way preferences are declared in rango-talon. Now tags are used instead of settings.
- Add commands for saving references to hints/elements for scripting.
- Add command
exclude all
to exclude all hints for the current host. - Add command to toggle tab markers.
- Add commands to store custom scroll positions and scroll to them.
- Add command
visit {user.website}
to focus a given tab by URL or create a new one. - Add command
tab hunt <user.text>
, to focus a tab matching a text in the title or URL using fuzzy search. Add commandstab ahead
andtab behind
to cycle through the results. - Add setting to use numbers instead of letters for hints.
- Add setting to change the viewport margin that determines where hints are drawn.
- Add setting to exclude certain strings from being used for hints.
- Add setting for excluding keys for certain URL patterns when using keyboard clicking.
- Add browser action context menu
Add Keys to Exclude
. This adds the host pattern of the current URL to thekeys to exclude
setting and opens the settings page. - Add
cursor: text
to the elements to show when using hint extra.
- Fix toggle buttons in settings being invisible in high contrast mode.
- Fix invalid tab markers when restoring previous tabs on startup in Firefox.
- Fix some issues where hints for button elements failed to hide when those did.
- Fix an issue where reattaching hints would cause the tab to crash.
- Check if there is an offscreen document before creating one. This tries to fix a rare and difficult to reproduce issue where reading from the clipboard would fail.
- Remove the decorations added by Rango when saving bookmarks (except in Safari as it doesn't support the bookmarks API).
- Avoid the hints being included when printing.
- Fix some discord links opening in a new tab when they shouldn't.
- Fix some instances where direct clicking would be triggered when editing text and keyboard clicking on.
- Remove commands
rango direct
andrango explicit
. You can still specify which mode you prefer with the taguser.rango_direct_clicking
.
0.5.1 - 2023-08-13
- Add "Settings" and "Help" context menu items to the browser action button.
0.5.0 - 2023-08-06
- Improve the behavior of commands that place the cursor within or manipulate input text.
- Only show "What's New" page for major or minor version updates, not patch updates.
- Improvements to toast notifications.
- Improve performance when refreshing hints.
- Improve accessibility of hints (changing the hint size limit from 16px to 72px).
- Improve accessibility of the settings page.
- Add keyboard shortcut to enable hints.
- Add command
go input
to focus the first input found on the page. - Implement tab markers and the ability to focus tabs using them.
- Add additional info to the settings page.
- Add setting for deciding where to open new tabs.
- Add settings to decide when to perform direct clicking.
- Add setting for notifications duration.
- Create keyboard clicking context menu in the browser action button.
- Create onboarding page that shows up on install.
- Fix hints appearance being affected by
letter-spacing
of a parent element. - Fix tooltip not working properly on some pages.
- Fix hints marked for inclusion or exclusion not being cleared after
hints refresh
. - Fix
custom hints reset
not clearing hints marked for inclusion or exclusion. - Fix
tab back
sometimes failing. - Fix custom selectors not working in iframes.
- Fix keyboard clicking failing in some situations.
- Fix wrongly positioned hint for some
contenteditable
elements. - Fix some hints being partially hidden in OneNote.
- Fix hint not displaying properly with inherited
text-indent
. - Fix performance issue when calculating if a hintable is redundant.
- Fix wrong stacking context of hints in some situations.
- Fix an issue reclaiming hints from other frames that would cause not all hints
to be shown when using
hint extra
.
0.4.2 - 2023-04-
- Fix bug introduced in v0.4.1 where no command is able to run if there is no content script.
0.4.1 - 2023-04-25
- Fix hints toggle status displaying without using any of the hint toggle commands.
0.4.0 - 2023-04-25
- Add toast notifications to provide better user feedback.
- Create a settings page to enable users to manage their preferences.
- Add command
rango settings
to open the setting page. - Add command
rango open {page}
to quickly open some pages related to Rango like the readme, issues, new issue or sponsors. - Add page What's New to show the user the new features and changes when the extension updates.
- Remove commands for changing the hint weight and style (boxed or subtle) as this can be now accomplished using the settings page.
- Fix hints sometimes not reacting to commands after navigating back or forward in the page history.
- Fix allocation of hints in Safari when the user has the option "Preload Top Hit in the background" enabled.
- Fix some checkboxes and toggle buttons not receiving hints, considering cases where the input/button element is hidden and replaced with a stylized sibling.
- Handle cases where hints are deleted by the page.
- Fix scrolling behavior to ensure the correct scroll amount in various pages. Issue #94.
- Fix issue with hints modifying the aspect of tables with
table-layout: fixed
. Issue #92. - Fix keyboard clicking not working in iframes.
- Fix tooltip not always displaying correctly.
- Fix some editable elements not receiving focus when clicked or having the
cursor placed in the wrong position when using the
post
command.
0.3.4 - 2023-02-24
- Fix regression with not being able to type one or two characters when there is no content script
0.3.3 - 2023-02-22
- Use offscreen document to read the clipboard in manifest v3 to fix buggy behavior when reading the request.
- Fix sometimes the response not being copied to the clipboard as the offscreen document closes too fast.
- Fix timeout error when executing a command that affects all tabs, e.g. "hint bigger".
0.3.2 - 2023-02-20
- Add command for focus and include blur of the current active element in dismiss.
- Fix some elements becoming taller when the hints are rendered.
- Fix clicking on
<select>
elements not always working - Fix elements not receiving focus if the page wasn't focused.
- Fix regression where clicking on anchor element with target="_blank" is blocked by the browser.
- Fix wrong detection of duplicates when the parent is the
<label>
for the element.
0.3.1 - 2023-01-30
- Change scroll command behavior to follow the user's reduced motion settings.
- Modify the command to delete the contents of a field so that the user is able to undo it.
- Make links inside contenteditable open in a new tab.
- Fix some hints displaying even after disabling them with
hints off
0.3.0 - 2023-01-27
- Complete rewrite of the hint rendering logic to implement static hints so that the hints always stay with their target element, even when scrolling.
- Include a 1000px viewport margin where the hints are rendered. Serving for a nicer scrolling experience.
- Implement fade-in transition effect for the hints when first rendered for a smoother experience.
- Render hints using shadow DOM which provides better encapsulation and avoids some issues like in #20.
- Improve the positioning of the hints so that more elements are accessible.
- Simplify the logic for detecting what is a hintable element. This improves performance and reduces duplicates. A tradeoff is that now, if the element is not minimally accessible, it won't display a hint (see custom hints for a solution to this).
- Improve page scroll commands so that if the page doesn't scroll it uses the scroll container at the center.
- Add
pointer-events: none
to the hint style to prevent it from swallowing clicks when using a mouse. - Include source maps also in production.
- Make the default hotkey
ctrl-shift-insert
for all the browsers except for Safari. - The command
copy text <user.rango_target>
will now also copy the content of an input field. - Disconnect all observers when the hints are off to avoid unnecessary load.
- Batch measuring and writing to the DOM to minimize reflow and avoid potential performance issues.
- Implement custom hints: include mechanism to display more hints when the
target element doesn't display one. New commands:
hint extra
: Display hints for more elements.hint more
: Display hints for previously excluded elements.hint less
: Only display the default hints.include <user.rango_target>
: Mark the selected hints for inclusion.exclude <user.rango_target>
: Mark the selected hints for exclusion.some more
: Mark more hints for inclusion/exclusion.some less
: Mark less hints for inclusion/exclusion.custom hints save
: Save the currently selected hints marked for inclusion/exclusion so that they render by default.custom hints reset
: Remove any previously included/excluded custom hints.
- Implement new commands
page next
andpage last
to navigate to the next or previous page in paginated sites. - Implement new command
go root
to navigate to the root of the page. - Implement new scroll commands:
upper/downer <number>
: Scroll up/down a certain amount of pages.upper/downer all
: Scroll to the top.scroll left/right
: Scroll to the left/right.scroll left/right all
: Scroll all the way to the left/right.tiny left/right
: Scroll to the left/right a small amount.upper/downer left/right
: Scroll the left/right aside upwards/downwards.upper/downer left/right all
: Scroll the left/right aside to the top/bottom.scroll left/right <user.rango_target>
: Scroll the container with the hinted element to the left/right.tiny left/right <user.rango_target>
: Scroll the container with the hinted element a small amount to the left/right.left/right again
: Repeat the previous scroll to the left/right.
- New command
paste to <user.rango_target>
to paste the contents of the clipboard to an input field. - New commands
pre <user.rango_target>
andpost <user.rango_target>
to focus an input field and please the caret a the start or the end. - New command
change <user.rango_target>
to focus an input field and remove its contents. - New commands
insert <user.text> to <user.rango_target>
andenter <user.text> to <user.rango_target>
to enter text to a text field. The latter also presses enter.
- Improve the events dispatched to fix some elements not reacting to Rango clicks.
- Dynamically retrieve the pointer target so that we click the same element that we would if we used the mouse. Fixing some issues of the wrong element being clicked.
- Fix regression of commands
up again
anddown again
not working. - Reimplement the actions
browser.go_back
andbrowser.go_forward
in the context of Rango to improve their reliability and fix their behavior in Chromium browsers due to the history entry being marked as skippable when there's no user intervention. - Fix multiple URLs being added to the end of the document title when the URL changes but the title doesn't.
- Fix clicking on
<select>
elements so that it directly opens the menu of options.
0.2.3 - 2022-09-02
- Fix issue where opening a link with target="_blank" with same domain is blocked in Firefox.
0.2.2 - 2022-08-24
- Avoid direct clicking if the user is in the address bar or in the devtools
- Most hint commands now accept multiple targets, including direct clicking.
- Added command
tab split
to move current tab to new window. - Added command
tab back
to switch between the two most recent tabs. - Added detection of more clickable elements using attribute "jsaction" and style "cursor: pointer".
0.2.1 - 2022-07-04
- Changed hints size and positioning so they get less in the way.
- Hide hints when scrolling unless they scroll with the page.
- Don't show hints on disabled elements.
- Added commands for scrolling element to top, center and bottom.
- Added additional parameter to the API for custom scroll amount.
- Added role="menuitemradio" to clickable elements.
- Added keyboard clicking.
- Added element title to "show" command.
- Added ability to click on multiple targets.
- Fixed occurrences of duplicated hints.
- Fixed some elements not reacting to clicks by also dispatching "mousedown" and "mouseup" events.
- Fixed some elements not reacting to hover by also dispatching "mouseenter" event.
- Fixed url in title sometimes removing the title and leaving only the url.
- Fixed url in title not updating with hash changes.
- Fixed command dismiss buggy behavior.
- Fix error calling "new Color" with empty string which resulted in hints not showing in some pages (issue #28)
- Fixed jittery hints after v0.2.0
0.2.0 - 2022-06-22
- Use a different tab than the current one to use as copy-paste area in Chromium to minimize the issue where the clipboard textarea steals focus.
- Return the focus to the previous active element in Chromium clipboard.
- Improve the appearance and placement of the hints.
- Change hotkey to ctrl-shift-3 as some users were having issues with ctrl-shift-insert. Leave the latter as a fallback for backwards compatibility.
- Improved performance by caching hint background color and first text node element.
- Improved performance by checking if an element is visible only when necessary.
- Improved hints toggle responsiveness by first updating the active tabs and then the rest using window.requestIdleCallback.
- Implement adaptable hints. If part of the element being hinted is still visible it will try to place the hint at the bottom left corner.
- Added command to open one or more links in a new tab without focusing it.
- Added multiple commands for closing tabs.
- Added command for cloning the current tab.
- Added commands for scrolling the current page and the scroll container of a particular hint.
- Added command to copy the text content of a hinted element.
- Added command to copy the address of a particular hinted link in markdown format.
- Added commands to copy the location information of the current page (host, origin, address, ...).
- Added command to copy the address of the current page in markdown format.
- Added commands to change between "boxed" and "subtle" hint style.
- Added command to change the weight of the hint font between "bold", "normal" and "auto".
- Added command to refresh the hints without needing to reload the page.
- Added commands to show or hide the hints in five levels of priority (now, page, host, tab, global).
- Added commands to include or exclude single letters from hints. Useful to minimize misclicks when using direct clicking.
- Added URL in the title (useful so that talon knows the current URL) and commands to enable or disable this option.
- Added flashing hint when using the command
hover
. - Added elements with contenteditable to the elements that need to be hinted.
- Added shortcut to disable the hints.
- Removed command
hover fixed
and leavehover
without a timeout.
- Fixed issue #20 regarding the editor TinyMCE. Now, if the whole body is contentEditable, hints won't be displayed.
- In direct clicking mode, if there is no hint or the hints are off, now it will type the characters.
- Fixed an issue when some hints would remain even after the hinted element wasn't visible in the viewport.
- Fixed hints not including combinations of the same letter.
0.1.9 - 2022-05-25
- Go back to sending response with every request but change the order in Chromium to avoid the issue where the clipboard textarea steals focus
0.1.8 - 2022-05-24
- Support both manifests v2 and v3 to be also able to publish to the Chrome Web Store
- Fix hints sometimes changing after initial page load
- Don't wait for page load to start drawing hints, improving speed. I don't even know why I waited for page load to begin with 🤷
- Only send response back to talon when absolutely necessary to avoid Chromium clipboard sometimes stealing focus
0.1.7 - 2022-05-12
- Web Components/Shadow DOM support
- Add missing input types that focus on click
- Fix extension starting with the hints off after new install
0.1.6 - 2022-05-11
- Now
hints toggle
works in already opened tabs
- Fix regression with
hints toggle
not working globally
0.1.5 - 2022-05-10
If you update to this version remember to update rango-talon