126 KiB
Tridactyl changelog
Release 1.24.6 / 2026-05-17
Emergency release to work around broken themes in FF152+ (we did get a couple of months of prior warning, but I forgot :( )
-
New features
:keyfeed --pagefor sending fake keypresses to pages (which they may decide to ignore)
-
Bug fixes
:coloursworks again in FF152+ (#5368)blacklistkeysnow works more reliably (for e.g. using/on GitHub) (#906)- scrolling jitter on HiDPI screens (#5392)
- extending
visualselection now works more reliably across DOM nodes (#5366) - selection should no longer collapse when changing direction with
{l,h}in visual mode (#5362) :findshould no longer hang on certain pages (#5394)- mode indicator flicker (#5265)
:set visualenterauto truenow works on more text (#5306):js -d[delim]now only consumes the last delimiter (#5385)text.transpose_charsno longer crosses newlines (#5385):gobbleno longer sends its last keypress to the page (#5385)- hints should display more reliably (#5323)
-
Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, gholk, repparw, Arjan, Chic-Tweetz and Matei Stroia.
Extra special thanks go to Arjan and Matei Stroia who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.24.5 / 2026-02-24
-
New features
:profile{create,launch,rename}added for those using the native messenger (#5252):unbind --recursivewill unbind all binds starting with the given prefix (#5249):colourscheme --module=readeradded for theming the reader (#5296):help -{B,o,t,w}added for opening help in a new tab, the current tab, a background tab or a new window (#1972)ginow supports counts for going to the nth input (#3053):saveasnow supports%as a filename placeholder (#5304)- hints can now use overlays instead of directly styling elements, use
:hintstyles{overlays,direct,nohighlights}to toggle between them (#5276) :tab{nex,prev} --nowrapto prevent wrapping round when hitting the start/end of your tabs (#4704)
-
Bug fixes
- Hints now work in nested shadow DOMs (#5262)
- Commandline resilience improved on sites using React (#5260)
- Hint styles are now reset properly when using rapid hints (#5253)
- Tridactyl now works on XHTML pages (#5269)
gishould now work in more places (#5270):tabdetachgives focus to the new tab once more (#5274)ysshould work on YouTube (sometimes) (#5284):readernow retains favicons (#5281):readernow works on big web pages (#5291)- binds once again show up in help (#3333)
- Commandline should no longer flash up white on dark websites (#5258)
:autocmdno longer fails silently and will correctly overwrite existing autocmds (#5235)- obtuse shadow DOM errors when hinting on some pages fixed (#5334)
- Commandline buffer works again so fewer keystrokes should get lost (#5331)
- Firefox profile detection improved on Windows (#5321)
-
Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, Chic-Tweetz, Julyanna Francesca C. Huang, Zak Stroud, Babil G. Sarwar, Colin Caine, RJM, bennyyip, D. Debnath, Wyatt Jordan, boriselec, glacambre and repparw.
Extra special thanks go to boriselec, D. Debnath, repparw, RJM, Wyatt Jordan and Zak Stroud who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.24.4 / 2025-08-04
- Bug fixes
:set smoothscroll trueworks again (#5240)
Thanks to all of our contributors for this release: oldshensheep, Oliver Blanthorn
Extra special thanks go to oldshensheep who contributed for the first time and fixed a very annoying bug :)
Release 1.24.3 / 2025-07-25
-
New features
:bmark{s,}now completes folders (#5145)- Some commands for interacting with Treestyle Tabs added -
:tst{move, moveafter, attach}(#377) :seturl ... commandlineterriblewebsitefix trueto get the commandline back on nextjs pages that vandalise Tridactyl (#5050):tabmove #now works (#5195)- new quickmarks will make now also make
gp[character]bind for opening in new private windows (#5204) - Hint characters can now be themed as they are typed (#5226)
-
Bug fixes
:set smoothscroll trueis ignored in FF141+ because it was almost totally broken (#5240)- Hints now work within SVGs (#5205)
:editorshould now work on more sites. Use:seturl ... editorusehtml trueon sites where it has got worse (#3900)- Tridactyl no longer tries to inject its iframe into SVGs and XML documents (#343)
noiframeshould now never stop non-iframe binds from working (#5143)- Commandline can no longer be focused when off-screen (#5231)
:js{,b} -rnow trims filenames (#5222):backcompletions should be more robust against edge cases (#5187)--tridactyl-cmplt-font-sizeshould now work in themes (#5152)
Thanks to all of our contributors for this release: Oliver Blanthorn, Vsevolod Chernetskyi, dependabot[bot], Benoit de Chezelles, Chic-Tweetz, Colin Caine, FugueSoft, Julyanna Francesca C. Huang, Mikhail Gaile, Eleanor Clifford, Elijah Yajaman, Thomas Dy, cassepipe, gholk, paris
Extra special thanks go to cassepipe, Eleanor Clifford, Elijah Yajaman, FugueSoft, Julyanna Francesca C. Huang, Mikhail Gaile, paris, Thomas Dy, Vsevolod Chernetskyi who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.24.2 / 2024-12-15
-
New features
:set hintstyles.{bg, fg, outline}(#4106):tabdiscardadded to unload a tab from memory (#4798):tabopen -popens a pinned tab (#5000)- adding
/to the end of a URL forces:openand friends to treat it as a URL (#4998) noneproxy added as override for autocontain (#5015):pinnow accepts and index and has completionscolemaklayout added for:set keyboardlayoutbase(#4995)
-
Bug fixes
:guiset gui noneworks again in Firefox 133 (#5098)- Tridactyl reinserts itself when server-side rendered React websites remove it (#5053)
- JS hints (grey ones) now work again (#5039)
:aproposwill now work even if you have created a custom setting (#5076)Dnow throws an error if used with a count rather than closing a seemingly random tab:followpagenow searches all<a>tags (#5031):focusinputnow works in shadow roots (#5025)- switching focus in input mode now works in shadow roots (#5073)
:open [number]will now search for the number rather than trying to interpret the 32-bit integer as an IP address (#5084);rfor text-to-speech now hints all text correctly:zoomnow only tries to zoom to 300% (#5018)
-
Miscellaneous
- Most
searchurlshave been removed because people (especially me) found them annoying (#3925) - CI kinda works most of the time again (#5058)
- Added bovine3dom's mastodon account to the new tab page so people can hear him talk about trains
- Most
Thanks to all of our contributors for this release: Oliver Blanthorn, Cooper Pellaton, dependabot[bot], Chic-Tweetz, Alexis Daboville, gholk, Alan Pearce, George Gemousakakis, Johannes Löthberg, Maxim Pavlenko, Nils Wireklint, Sakari, bennyyip, glacambre, leaty, pvs and zorzem32.
Extra special thanks go to Alan Pearce, Alexis Daboville, bennyyip, Chic-Tweetz, Cooper Pellaton, George Gemousakakis, Johannes Löthberg, leaty, Maxim Pavlenko, Nils Wireklint, Sakari and zorzem32 who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.24.1 / 2024-04-07
-
New features
;cand;:hint modes for context menu and mouse hover added for Linux, both require:nativeto be installed withxdotoolon the$PATHworkmankeyboard layout added for:set keyboardlayoutbase(#4928):readeris now a toggle (#4930)text.{next_,previous_}lineadded for use withinsertmode (#4831):set markjumpnoisy true|falseadded to suppress jump notifications (#4946)
-
Bug fixes
- The command line now buffers character keypresses while it opens so fast typists on slow machines should lose fewer keys (#4809)
:set hintnames shortshould now skip the right number of hints (#4924)- The command line will no longer close automatically if it has focus (#4467)
:tabopen [blah]will now no longer open a tab in the current container (#4791)- Windows contained pinned tabs can now be merged (#4956)
-
Miscellaneous
tri.bgandtri.tabsadded for easy communication between tab and background contexts in:jsband:js, see their help pages for more information (#4891)- Non-portable sed usage fixed and added to test suite (#4889)
window.QRCodeis now exported on our qr code generation page (:text2qr) for intrepid users (#4910)- Tridactyl should build on MacOS again (#4896)
- More font sizes in Tridactyl are now based on the variable
--tridactyl-font-sizeto make changing all sizes at once easier (#2127)
Thanks to all of our contributors for this release: Oliver Blanthorn, petoncle, dependabot[bot], glacambre, RoeyFuchs, gholk, Chris Holland, Danny Zhu, Dmitrii Pshonko, Joseph, Mathieu Ablasou and Valentin Boettcher.
Extra special thanks go to Chris Holland, Danny Zhu, Dmitrii Pshonko, Joseph, Mathieu Ablasou, RoeyFuchs and Valentin Boettcher who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.24.0 / 2023-12-12
-
New features
- A new
:readermode has been added which Tridactyl binds can run on. If you prefer the old mode, it is accessible with:reader --old. We've leftgrbound to the old mode for now but you can update it with:bind gr reader - With
:set tabsort mru, tab IDs within Tridactyl are now determined by recency of use almost everywhere. This means, e.g. that you can use2gtto switch to the second most recently used tab (so identical to<C-^>),3gtto the third most recently used tab, etc. (#4595) yqbind added to display current URL as a QR code, withqbind in visual mode. See:text2qrfor details (#4728):set keyboardlayoutforce truewill now force Tridactyl to use, by default, the US keyboard layout for keybinds, even if you're using a different layout. Useful if you use multiple layouts but don't want Tridactyl binds to move, or if you use a layout such as a Cyrillic one where the default binds are difficult to use. Change the forced layout with:set keyboardlayoutbase(#4532)- Experimental support for opening arbitrary pages in the sidebar has been added. See
:help sidebartoggleand:help sidebaropenfor more details :autocmdand related commands now have completions (#4604):openand related commands now have completions for searchurls and previous searches (#4562)- Quality of life improvements for tab groups (#4539)
-xflag added to:hintto exclude CSS selectors from hints (#4453)- With the command line open,
<C-o>topens a new tab in the background for the selected completion - especially useful with:backcompletions :hint -C [selectors]added for custom hint modes while including the default selectors (#4781);gdrapid hint mode with discarded tabs added (#4694):undonow has fuzzy matching (#4344):sourcecan now read from the command line and the clipboard with--stringsand--clipboard(#4821):tab{grab,push}now respecttabopenpos(#4867)
- A new
-
Bug fixes
:findwill now find start from the current viewport (#4486)- Comments now work in multiline commands in RC files (#4555)
:editornow works on Gradio apps (please spare me when AI takes over the world) (#4643):winmergecompletions are more readable with many windows (#4639):urlincrementnow operates on the decoded URI so e.g.%20doesn't become%21(#4616);mand;Mfor Google reverse-image search now work again (#4591)- The midnight theme no longer has a white background in FF102+ (#4576)
- Container colours fixed for FF108+ (#4546)
gino longer goes to the start of the search box on Google (#4706)modeindicatorborder is now configurable (#4751)- Unbindable default binds should no longer be possible (#1922)
- Config should no longer reset when interacting with help page (#4670)
-
Miscellaneous
:jsuacommand added to preserve "user action" intent when using browser binds, needed for triggering certain Web Extension APIs such asbrowser.sidebarAction.open(). See:help jsuafor more informationtri.hinting_content.hintElementsfunction added for advanced usage in:js- see the source for documentation- Groundwork for multi-browser support added (#4768)
- All tests now run using GitHub actions (#4769)
- Docs are now built and hosted on our website (#4732)
- Native messenger now supports Arm-based Macs with
:nativeversion at least 0.4.0 - Native messenger 0.4.1 checks
%XDG_CONFIG_HOME%on Windows when_feature.sh [feature]helper script added to repo to find the earliest possible version a feature appeared in Tridactyl
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], R. David Dunphy, Denis Revunov, gholk, satyamk, Pascal Jufer, Gold Holk, glacambre, treapster, Tushar, petoncle, Aditya Prakash Gupta, Amir Hossein, Daniel Caixinha, Dhruva Sambrani, Imran Khan, Michael Joseph Rosenthal, Raffaele Mancuso, Richard Mathieson, Satyam Kumar, Simon, frikdt, josh, monirzadeh, nfd (aka alex), pataquets and themaherdev.
Extra special thanks go to Aditya Prakash Gupta, Amir Hossein, Daniel Caixinha, frikdt, monirzadeh, nfd (aka alex), Pascal Jufer, pataquets, petoncle, Raffaele Mancuso, R. David Dunphy, Richard Mathieson, satyamk, Satyam Kumar, Simon, themaherdev, treapster and Tushar who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.23.0 / 2022-11-28
-
New features
:backand:forwardtab completions with tree style history (#242)- Local and global marks added.
m[a-zA-Z]to add a mark, lowercase makes a local mark (unique to that page), uppercase makes a global mark. Global marks are preserved between browser restarts. Press backtick followed by a key to go to a mark. See the eighth page of the:tutorfor more information (#604) :tgroup*functionality added for "tab groups" for showing/hiding groups of tabs and switching between them. See:help tgroupcreateand:help tgroupswitchfor usage tips (#2359)- Proxy support added with
:proxyadd,:set proxyand:autocontainsupport (#4036) :tabcompletions now shows whether tabs are pinned (P), audible (A), muted (M), or discarded (D) and allows filtering by these characters.:set statusstylepretty trueto display emojis instead (but always use the same characters for filtering)- If bookmarking the current URL,
:bmarkwill now use the tab's title if one is not provided, even if a folder path is provided (#4457) :gobblemode now accepts key combinations as terminators rather than just counts of key presses to accept. This lays the groundwork for making Tridactyl friendlier to more keyboard layouts (#4440):set jsurls.[keyword]added which work likesearchurlsbut provide js functions whose return value is called by{,tab,win}open. See:help jsurlsfor more information (#4193)searchurlsnow support array slicing with%s[n:m](#4194):tabopen --focus-address-baradded to open a new tab and give focus to the address bar (#4259){search,js}urlnow support aliases (#4363):autocmdnow lets you modify requestHeaders and responseHeaders, for example if you want to change your User-Agent (#4438)ex.insert_spacecommand added to insert a space in the command line, bound to<C-Space>by default (#4176)
-
Bug fixes
visualmode will now exit erroneously less often (#4339)- Hint mode will now open more links in new tabs when requested, rather than falling back to opening things in the current tab (#4430)
:openshould now work with bookmarklets (#4188):findnow searches from view and gains some new arguments to control its behaviour (#4378):issueshould now prefill its fields correctly (#3927)- You can no longer attempt to save files to illegal filenames (#4126)
- Flickering when opening a new tab with dark mode enabled has been reduced (#4414)
forced-colorCSS support improved (#4283):mktridactylrcdoesn't make:seturls into global settings (#4289):set tabsort mrunow displays the current tab at the bottom (#4169)
-
Miscellaneous
- More
:bind --mode=browserbind slots added (#4275) - We've added the
argargument parsing library so excmd arguments might become more consistent one day :) - Documentation of
:allowautofocusand:unfocusimproved - Documentation of
:nativefor containerised (Snap, Flatpak, etc) installations of Firefox improved (#4406) - Documentation for
:autocmdimproved (#4320) :bind [key]now returns a valid:bindcommand that you can edit (#4409):get [setting]no longer returns an equals sign so it can be more easily changed into a:set(#4410):tutoris now viewable directly on GitHub (#4381)
- More
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], gholk, ivcz, pvs, Mariusz Kaczmarczyk, Michael Joseph Rosenthal, Denis Revunov, Gold Holk, Janek, Fox Kiester, Nicolas Ganz, Babil G. Sarwar, David Scotson, Eric, Eugene, Igor, Luka Markušić, Nicolas, Robin Ekman, badcold, fluem and mariuszdb.
Extra special thanks go to badcold, Denis Revunov, Eric, Fox Kiester, gholk, Gold Holk, Igor, Janek, Luka Markušić, mariuszdb, Michael Joseph Rosenthal, Nicolas, Nicolas Ganz and Robin Ekman who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.22.1 / 2022-03-23
-
New features
- Tridactyl will prompt you if you try to leave a page while
:editoris running (#3915) - Tridactyl pages will not flash white if your system theme is set to dark mode (#2510)
:gotoadded to jump to a heading on a page, see:help gotoselectorfor configuration (#4116):wintitlecommand added to add a prefix to the current window title (#4049)
- Tridactyl will prompt you if you try to leave a page while
-
Bug fixes
- The mode indicator should no longer show up on printed pages (#453)
- The changelog is more readable on dark themes (#4005)
:tabpushwill no longer show the current window (#4114)- nor will
:tabgrab(#3283) :autocontainwill now pick the longest regex that matches a container if multiple filters match (#3545):elementunhideworks again (#4069)- The mode indicator can reappear after leaving a mode in which it was disabled with
:set modeindicatormodes.[mode] false(#2690) - The
:editoricon should now be correctly removed when finished (#3909) :set newtab about:newtabwill no longer cause two tabs to be opened (#3656)
-
Miscellaneous
- The hacker news comment toggler in the exemplar RC file has been fixed (#4124)
- Warnings added to the new tab page about upcoming permission requests
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot[bot], pvs, David Scotson, Calvin T. Nesbitt, Colin Caine, Gerard Bosch, Icelk, Liam Hupfer, Mo, Mo Hijazi and glacambre
Extra special thanks go to Calvin T. Nesbitt, David Scotson, Gerard Bosch, Icelk, Liam Hupfer, Mo and Mo Hijazi who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.22.0 / 2021-11-29
-
New features
- A
superignoresetting has been added which nearly totally disables Tridactyl, per page. Use it with:seturlonly. If you break Tridactyl with it, remember that you can always use thetrikeyword in the address bar to execute ex-commands (#3497) :drawing{start,stop,erasertoggle}added to scribble on pages:hint -Vhint mode added, bound to;V, which adds hints to all matching elements on the page, including ones outside the viewport (#3534):set completionfuzziness [0-1]added to control strictness of completion matches (#3556)- The cursor is no longer shown in no mouse mode (#3891)
- For our own
:findmode, there is now afindhighlighttimeoutsetting (in milliseconds) which allows you to control how long text stays highlighted after a search (#3854) - Tabs may now be renamed with
:tabrename(#3577) - Hint mode now tidies up any previous hints when it is entered
:colours midnightadded - a dark theme based on shydactyl (#3750):urlmodifycan now accept a URL as an argument (#3748):tabpushnow pushes to the next most recently used window if no other argument is given:colourscheme autotheme added which follows your system's dark/light mode setting (#3923):setmode [mode] allowautofocus [true|false]added, currently only for theallowautofocussetting, to control the setting per-mode (#3740)
- A
-
Bug fixes
-
The new tab page no longer has invisible links on it when set to
about:blank(#1743) -
:viewconfigmight now work more reliably but we are not sure (#3653)- it also works from Tridactyl pages now, at least some of the time
-
:nmodeis now shown in the mode indicator -
:openwill now always run in its own tab (#3583) -
Hint modes now accept a much wider array of arguments (#3534)
-
:source --urlnow works on data URIs (#3540) -
:guisetnow gives a more useful error on reading a malformed userChrome.css (#3541) -
:mpvsafenow leaves MPV running after Firefox exits on all platforms (#3538) -
:viewcontainersuses:jsonviewinternally which should fix how it is displayed from Tridactyl pages (#3539) -
:containerdeleteno longer closes all normal tabs if an invalid container is given (#3536) -
:set auconcreatecontainer falesis now respected (#3537) -
GitHub and other SVG favicons should appear in the tab completions (#3892)
-
:editornow correctly returns a value (#3800)
-
-
Miscellaneous
- We've switched from webpack to esbuild which has reduced dev-build times from 40 seconds to about 1 second (#3645)
- Tridactyl can now be built from ~5MB of source, down from ~100MB (#3632)
- We've switched from ramda to rambda which is a bit faster (#3628)
- We've switched from web-ext-types to definitely typed types, which are a bit better maintained
- We update the DOM in place a bit less, which could speed up
:tabcompletions - Hint mode is a bit faster (#3582)
- Dev builds of Tridactyl now open a new tab page when Tridactyl code is updated (#3564)
- We're now using
firenvims web-editor library which means that CodeMirror, Monaco and other in-browser code editors now work with:editor(#3851) - Native messenger bumped to version 0.3.6 from 0.3.4; fixes .tridactylrc search paths on windows and saving files to directories without specifying a filename
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, dependabot[bot], Vincent Tavernier, Rummskartoffel, Dhruva Sambrani, karizma, Jay Kamat, Aaron Rancsik, Simon H Moore, glacambre, ivcz, Caleb Maclennan, Eugene, Ivan Oleynikov, Søren Knudsen, meep, mozbug and slmb3.
Extra special thanks go to Aaron Rancsik, Eugene, Ivan Oleynikov, ivcz, karizma, meep, slmb3, Søren Knudsen and Vincent Tavernier who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.21.1 / 2021-03-19
-
New features
-
Bug fixes
:nativeinstallnow correctly bypasses execution policy on Windowsginow supports "textbox" ARIA roles - i.e. it works on Twitter now (#3459)win visual mode now selects the first character of the next word (#3455)- Native messenger doesn't get stuck in an infinite loop on Windows for non-Firefox Firefox-derivate browsers (e.g. Waterfox) (#3443)
:nativenow behaves better when reading non-existent files (#3418):nativeupdatenow works on Windows and elsewhere (#3404)- NB: the success/failure messages are no longer meaningful; improving these again is a work in progress.
text.backward_kill_wordcommand fixed on single characters (#3405)
-
Miscellaneous
- CI linting now works (#3477)
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Dhruva Sambrani, Rummskartoffel, Jez Cope, Babil G. Sarwar, Babil Golam Sarwar, Hosein Naghdbishi, Laura, William, WorldCodeCentral and fluem.
Extra special thanks go to Babil G. Sarwar, Dhruva Sambrani, Hosein Naghdbishi, Jez Cope, Laura and William who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.21.0 / 2021-02-22
-
New features
:tabclosenow acceptswindow_number.tab_numberarguments; this is particularly useful for use with<S-Del>to close:taballcompletions:tabcompletions now show which tabs are playing audio:tabaudiotab withgadefault bind takes you to the window and tab which is currently playing audio (#3184)- Favicons are lazy loaded in
:tabcompletions :urlincrementbinds now accept numeric prefixes, e.g.10<C-a>increments the URL by 10 (#3145):seturlnow checks that you have entered a valid RegEx (#3134)- previously, failing to do so broke Tridactyl
:coloursnow accepts a--urloption to load a theme from the internet with no need for:native(#3148):coloursnow has completions for default and installed themes (i.e. themes for which you have already run:coloursonce):colourswill fall back to loading custom themes from the Tridactyl storage if they cannot be found on diskyobind added to yank URLs and titles in an Emacs-compatible org-mode format:tab [string]now switches to the first tab that matches that string (#3263)- predominantly for non-interactive use. If you wish to use it interactively run
:set completions.Tab.autoselect falsefirst.
- predominantly for non-interactive use. If you wish to use it interactively run
:reloaddeadcommand added to force all tabs which Tridactyl is not running in to load. Useful for making tab switching more pleasurable (#3260):mkt --clipboardadded to put a Tridactyl RC file in your clipboard. Use with e.g. GitHub Gist and:source --urlto avoid needing:nativeinstalled- Custom themes no longer require special classnames - see
:help coloursto see current requirements (there are essentially none) (#3288) :set hintautoselect [true|false]added to determine whether hints are automatically followed if there is only one (#3097):set logging.autocmds debug|info|warning|erroradded to make debugging autocmds easier (#3381):set tabclosepinned true|falseadded to preventdfrom closing pinned tabs (#3363):tabsortcommand added to sort tabs according to titles, URLs or container (#3364):winopen -c [container]added for opening containers in new windows (#3326):set completions.TabAll.autoselect true|falseadded to allow spaces to be used when filtering (#1835):scrollpagebinds now accept counts (#3319)
-
Bug fixes
- We now queue up commands that interact with completions alongside those completions (#3196)
- this means in practice that, once the command line has loaded, you can type as quickly as you like and still get the results you expect
- Profile directory detection has been improved on Windows (#3191)
- Speed of
:editorselection on Windows has improved (#3170) - The command line no longer has a blue outline on OSX (#3123)
:yankimagenow accepts more MIME types (#3127):quickmarksshould now be a little more reliable (#3299):mktnow no longer breaks with custom themes (#2535):firefoxsyncpushno longer breaks with custom themes (#3050):bmarkcompletions no longer interfere with flags (#3274):zoomworks with negative relative increments (#3031):undocompletions now show negative times more gracefully (#3339):tabopen .thingnow searches for.thing(#3398):winopenno longer puts focus in the URL bar
- We now queue up commands that interact with completions alongside those completions (#3196)
-
Miscellaneous
- The native messenger is now written in
Nimand is much faster (especially noticeable on:editor). You may need to run:nativeupateto update it - the latest:nativeversion is0.2.5- We have removed
pyevalsupport from this version - you are very unlikely to have used this since it was an internal Tridactyl command.:exclaimis unaffected.
- We have removed
:taballnow internally uses:tab(#3262)- We no longer load all default themes into every tab (#3288)
<C-c>and<C-a>binds have been removed from the command line as they were widely disliked (#3229):colours shydactylnow uses more CSS variables (#3390)- Type checking has been tightened a little (#3386)
- Privacy policy added (summary: we don't collect anything outside of IP logs on our servers) (#3375)
:nativeis now cached for a few milliseconds to speed up repeated version checks (#3366)no-throw-literaleslint rule added to ensure Tridactyl errors get to the user usefully
- The native messenger is now written in
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Rummskartoffel, fluem, Benoit de Chezelles, Bruno Garcia, Jay Kamat, Babil Golam Sarwar, Elliott Shugerman, Annie Zhang, Tiago Epifânio, glacambre and yellowmoneybank.
Extra special thanks go to Annie Zhang, Benoit de Chezelles, Bruno Garcia, Elliott Shugerman, Jay Kamat, Tiago Epifânio and yellowmoneybank who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.20.4 / 2020-12-21
-
New features
;Yimage-to-clipboard hint mode (#3085):viewconfigcan now accept a dot-delimited path like:set, e.g.:viewconfig completions.Tab;xand;X"emergency" hint modes added. They usexdotooland:nativeto move the mouse and click on the hinted element - if you don't havexdotoolor:nativeinstalled they won't work. (#3077)- Duplicates are now skipped in command history (#3042)
-
Bug fixes
:viewconfignow gets completions and:viewconfig --{user,default}now accept a key to examine (#3098)#comments are now skipped in RC files (#3100):bind --mode=browsernow works with binds involvingSpace(#3101)<C-Enter>on the command line no longer inserts a space before its invocation (#3089)- All "normal" clipboard operations now use the newer Clipboard API, fixing various bugs (#3078)
- web.whatsapp.com now has a special default hint mode so that hints actually work (#1567)
:nativeintallcan now run on POSIX-y systems without needingbash(#3020);#hint mode now throws no errors if no anchors are found (#2964)
-
Miscellaneous
- Fix linter errors on src/excmds.ts by switching to
no-unused-vars-experimental(#3111)
- Fix linter errors on src/excmds.ts by switching to
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, Rummskartoffel and Timothy Robert Bednarzyk.
Extra special thanks go to Timothy Robert Bednarzyk who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.20.3 / 2020-11-28
-
New features
g!jumbles all text on the page, inspired by this letter (#2913):set modeindicatormodes.[mode] true|falsecontrols whether the mode indicator should show in a specific mode (#2690)- New theme,
quakelight, essentially identical to the default theme but with the command line at the top of the page. - Whether a completion autoselects the closest match is now configurable with
:set completions.[CompletionSource].autoselect true|false. The completion sources are the ones Tridactyl uses internally - use:get completionsto see the list (#2901) :bmarksnow autoselects its completion by default.:set completions.Bmark.autoselect falseto disable (#2863):undo tab_strictonly restores tabs in the current window (#2883):jsnow accepts a flag,-d, to specify an EOF character which allows space-separated arguments to be given to it, stored in the arrayJS_ARGS(#2859)- for example,
composite command only_second js -d% window.alert(JS_ARGS[1])%; only_second ignoreme SHOW_THIS! ignoreme ignoreme
- for example,
UriChangeevent has been added for:autocmd, for use on modern web applications which update their URI without navigating to a new page (#3003)- this should only be used as a last resort as it uses a timer which can reduce battery life
;Khint mode added to reversibly hide elements from the page; hidden elements can be restored with:elementunhide(#2934)
-
Bug fixes
:undoand:rssexeccompletions now autoselect the closest match, as was always intended (#2901):creditsno longer disappears before showing all authors (#665):js -rnow works on Windows (#3017):hintnow can operate onHTMLDetailsElements(#2984):helpand:tutornow follow the Tridactyl theme (#2895)
-
Miscellaneous
- Various improvements to docs from a few different contributors
nativeinstallon Windows now installs the native messenger corresponding to your version of Tridactyl, meaning that we can finally make breaking changes to the native messenger! (#3027)git hooksno longer prevent committing from Windows (#3033)
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, fluem, Rummskartoffel, R Primus, Morgan Connolly, Sayan, Espen Henriksen, Mariusz Kaczmarczyk, glacambre and trixxo.
Extra special thanks go to Espen Henriksen, fluem, Mariusz Kaczmarczyk, R Primus, Rummskartoffel, Sayan and trixxo who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.20.2 / 2020-09-27
-
New features
:set escapehatchsidebarhack falsestops<C-,>from closing the sidebar (usually Tree Style Tab) at the expense of not being able to grab focus back from the address bar (#2775):autocmdnow provides magic variables for many events (so, e.g. you can tell an ex command which tab it should close). See:help autocmdand scroll down to the...excmdparameter for more information (#2814):zoomnow accepts a tab ID to tell it which tab to zoom (#2809)
-
Bug fixes
- Normal mode now waits for user configuration to load before accepting any keypresses (#2839)
- Browser-wide maps now show up in
:bindcompletions
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn and Simon H Moore
Extra special thanks go to Simon H Moore who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.20.1 / 2020-08-17
- Bug fixes
- Tridactyl should now display the right version number on the new tab page and elsewhere (#2262)
- RC files will again be sourced at startup (#2726)
- ex-command logs now use the right name:
excmd(#2727) - the no-new-tab build no longer shows our new tab page with
:tabopen(#1571) <C-[>now takes you to normal mode in more modes (#2723)
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn and xi.
Extra special thanks go to xi who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.20.0 / 2020-08-06
-
New features
<C-,>browser-wide bind added to new ex-command,:escapehatchwhich returns focus to the page and returns you to a tab where Tridactyl can run.- User-configurable browser-wide binds added with lots of caveats. See
:help bindand:bind --mode=browserfor more details.<C-6>and<CS-6>are now bound to:tab #browser-wide, except on Windows, where the previous behaviour remains, with a new<A-6>bind instead.
- Autocommands now support
WebRequestevents - see:help autocmdfor more details. Particularly useful for e.g. redirecting sites. - Callback hintmode on
hint -Fadded for running arbitrary JS on an element you select. (#2552) :blacklistdeletealias added as the inverse of:blacklistadd- Hints on elements due to JavaScript
onclickevents now appear grey. If an element has a grey hint and a normal hint, the normal hint is probably the right one. (#2259) - Hints can no longer overlap. (#2534)
:winmergeex-command added to merge windows (#404):tabgrabandtabpushex-commands added to move tabs between windows (#2540):ex.copy_completionex-mode command added to copy the currently selected completion, bound to<C-o>yywhile the command line is open:tabopennow never puts focus in the address bar (#2490)- The little pop-up telling you the address of a link you are hovering over is now hidden when the command line is opened (#1896)
:tabopen -c firefox-defaultopens a new tab in the default container (handy withset tabopencontaineraware true)<S-Delete>closes the tab corresponding to the highlighted completion in the commandline (#2617)<C-Enter>executes the highlighted completion and keeps the window open (useful for, e.g.:winopenor:tabopen -b):set downloadsskiphistory trueprevents downloads via Tridactyl (e.g.;shint mode) from being stored in your download history- NB: Tridactyl must be allowed to run in private mode for this to work
:autocontain -s [url] [container]added with a bug fix -:autocontainwith no flags is deprecated (#2629)
-
Removed features
-
Bug fixes
:tabopenworks again in FF80+ (#2695)- Scrolling should now work on more pages (#2583)
- Some errors should be more informative (#2585)
- Ex-aliases now have correct help text in completions (#2483)
:guisetno longer claims to work if it has not (#2210)- Pressing
<Tab>in completions is now a bit more reliable (but not much :)) :findnow works in private windows (#2520):containerdeletewith no arguments is now a no-op (#2239)insertmode now works better on some sites (#2696)text.functions are now more readline compliant (#2679)- Form labels may now be clicked (#2646)
yyshould no longer give spurious errors (#1239):helpnow takes you to the right page (#2707)- Tridactyl is now ~30% smaller (#2710)
-
Miscellaneous
- We have switched from tslint to eslint (#2477)
- Our E2E tests now actually work most of the time
- Unit tests for our excmds added (#2449)
- There should be slightly less latency on keypresses (#2440)
- Our settings tutorial is slightly more comprehensive (#2465)
- Default settings can now be platform specific (#2664)
- It is now easier to replicate CI tests locally (#2591)
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Michael Kaufman, MatiasStorm, glacambre, Dranaxel, Christian Heinrich, Csaba Henk, Morgan Connolly, mozbug, Aurélien Ooms, David Ludovino, Imran Khan, Jakub Okoński, Josehkn, Luke Granger-Brown, Makkonan, and dependabot[bot].
Extra special thanks go to Aurélien Ooms, Christian Heinrich, Csaba Henk, David Ludovino, Imran Khan, Josehkn, Luke Granger-Brown, Makkonan, Michael Kaufman and Morgan Connolly who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.19.1 / 29-05-2020
-
New features
- All of our scrolling commands (e.g. j/k) now scroll the focused element (#2417)
- The bind focus hint mode,
;;, now hints more selectors to make it easier to select an element to scroll :recontaincommand to change the container of the current tab added- See
:help recontainbefore use as it has potentially surprising privacy implications
- See
-
Bug fixes
- The commandline history works again, but for real this time (#2236)
g;works again (#2407)- We no longer enter insert mode on readonly elements (#2389)
mktnow works even if you have usedsetnullorunbind(#2415)- We ensure nothing is written to local storage in private windows (#2423)
- (very little was being written - namely the last ex string you executed and the tab ID of the last input you used; both of these would be overwritten regularly so the danger is low)
- this does mean that
repeatwill no longer function in private windows
winopen -private [url]is no longer stored forrepeat(#2424)- We now accurately attach hints to more elements (#487)
-
Miscellaneous
- Our config updater no longer uses a while loop which could spin forever in certain circumstances (#2349)
- Our E2E tests fail less often (by retrying a few times) (#2387)
- There is now less duplication between lib/state and content/state_content (#2422)
- Our scrolling code is now a little easier to read (#2384)
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Matias Ammentorp Storm, MatiasStorm, Dranaxel, glacambre, Alexandre, Robert Günzler and Tanath.
Extra special thanks go to Alexandre, Dranaxel, Matias Ammentorp Storm, MatiasStorm and Tanath who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.19.0 / 10-05-2020
-
New features
-
"passthrough" mode has been added - press
<C-v>in normal mode to send the next key combination to the page (#57)- similarly,
<C-o>in ignore mode will execute a single key sequence in normal mode - this is accomplished with a new mode called
nmodewhich executes a number of key sequences in a specified mode and then executes an ex-command. See:help nmodefor more details.
- similarly,
-
oin visual mode moves the (invisible) cursor to the other end of the selection -
:tabqueueallows you to open a series of tabs, opening the next one in the background every time one is viewed. See:help tabqueuefor suggested usage. -
:set hintshift true(which only works with non-vimperator hint modes) tries to predict which links you are pressing in rapid hint modes and allows you to repeatedly press the same key to open the next link once it has worked it out. See:help -s hintshiftfor more details.
-
-
Bug fixes
-
Miscellaneous
- Our locks library has been removed since it was causing so many issues
- The commandline completions now call
config.getmuch less often (#2353)
Thanks to all of our contributors for this release: Oliver Blanthorn, Torsten Schmits, dependabot-preview[bot], glacambre and Simon Lydell.
Extra special thanks go to Simon Lydell and Torsten Schmits who were both first-time contributors.
Last, but not least - thank you to everyone who reported issues.
Release 1.18.1 / 26-04-2020
-
Bug fixes
- Configuration was occasionally broken by
nulls appearing in unexpected places: (#2324)
- Configuration was occasionally broken by
Release 1.18.0 / 23-04-2020
-
New features
- Rudimentary visual mode!
- Enter it by selecting text: e.g. with the mouse, with text-selection
;hhint mode, by searching with/, or by using Firefox's "caret" mode onF7. - Yank selected text with
y - Search for selected text with
sandS
- Enter it by selecting text: e.g. with the mouse, with text-selection
- Select text hint mode added, bound to
;hby default aproposcommand which searches through help text - very handy for finding settings or commands you didn't know about (#1980)- Known issue: on some machines, this command doesn't work.
- RC files can have escaped newlines with backslashes (#2003)
:setnullex-cmd added to delete a default setting, e.g.setnull searchurls.githubto remove thegithubsearchurl- Tab completions now list all tabs starting with a numeric filter (#2010)
- The default
editorcmdis now more resilient to user mappings and starts with the correct column (#2237) - Vimperator-style hinting can now be overridden with a custom filtering function (#2212)
set historyresults [n]now shows younresults in tabopen (#2159)
- Rudimentary visual mode!
-
Bug fixes
- Smooth scroll is now much smoother (#2016)
- Counts work with scrollline (#1984)
- Reading RC files might now be a bit more reliable (#1983)
containerupdatewas broken (#2294)- Performance improvement to
config: we no longer save theconfigevery time we load it (#2272) - The mode indicator now displays "insert" mode more reliably (#2232)
- Key events are now reset on mode change (#1769)
hint -qpipenow actually works (#2224)- Commandline history is more reliable (#2236)
- Hinting is now a bit faster (#2215)
mktridactylrcnow works for nested keys (#2211)repeatnow works more reliably (#1538)
-
Miscellaneous
- Our internal
urlutilsobject is now attached to thetriobject and accessible throughjs - We no longer add a
namespaceto userChrome inguiset - Our messaging system now has type checking
- We have a
lockslibrary which we are using to synchronise some state between the content and background scripts. We'd like to moveconfigto using this approach but have some bugs to iron out first (#2137) - Our pre-commit hook is finally fixed! (#2231)
- Our internal
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], mozbug, Jakub Okoński, Saul Reynolds-Haertle, glacambre, Ingo Karkat, Caleb Maclennan, Colin Caine, Spindlyskit, josh, user753 and yuri.
Extra special thanks go to Caleb Maclennan, Ingo Karkat, josh, mozbug, Spindlyskit, user753 and yuri who were all first time contributors. I think we can afford to thank mozbug, aka mozbugbox, in particular for opening a whopping fourteen pull requests, earning a well-deserved 9th place on :credits.
Last, but not least - thank you to everyone who reported issues.
Release 1.17.1 / 2019-11-06
-
Reversions requested by Mozilla reviewers
- Automatically revert any changes made which could have been made by
fixamoto therestricedDomainsandblock_mozAddonManagersettings inuser.js(#1800)
- Automatically revert any changes made which could have been made by
-
New features
hint -qynow merges yanked hints (#1945)- Known issues: it ignores all other flags
set autocontainmode strict|relaxedcontrols whether links opened in the current tab are forced to enter the "correct" container in a new tab (#1902)autocontain -uadded, allowing you to match on an entire URL (#1901)prefremoveex-mode command added to remove a setting from user.js if you have the native messenger installed
-
Bug fixes
- Some default binds which couldn't be unbound can now be unbound (#1923)
<C-i>and<C-o>fixed and more performant (#1816)sourceshould have fewer race conditions (#1764)- this was quite a big change to the way we handle configuration so please keep an eye out for bugs and report them
- New quickmarks with multiple URLs no longer have
[object Object]appended to them. If any of your quickmarks are currently affected, re-adding them with:quickmark [key] [url1] [url2] [url3] ...should fix them.
-
Miscellaneous
- Readme now has sections for different installation steps (#1947)
-
Under the bonnet
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], arcnmx, Jakub Okoński, notJerl, Dylan Lloyd, Kelly Stannard and SRGOM.
Extra special thanks go to Dylan Lloyd, Kelly Stannard and SRGOM who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.17.0 / 2019-10-03
-
Reversions requested by Mozilla reviewers
- The
cspsetting is now inactive - Automatically revert any changes made by
fixamoto therestricedDomainssetting inuser.js
- The
-
New features
-
Bug fixes
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], rektrex, Colin Caine, glacambre, ELLIOTTCABLE, avalonv, pvs, Chris, Daniel Schmid
Extra special thanks go to avalonv, Chris, Daniel Schmid, ELLIOTTCABLE, pvs, rektrex who have contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.16.3 / 2019-08-14
-
New features
- Bookmarks are now listed in
*opencompletions.set bmarkweightto change how prominently they are listed. (#214)
- Bookmarks are now listed in
-
Bug fixes
-
Miscellaneous
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Colin Caine, GiulioCentorame, Jakub Okoński and glacambre.
Extra special thanks go to GiulioCentorame and Jakub Okoński who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.16.2 / 2019-07-11
-
New features
- New setting
urlparenttrailingslashwhich allows you to choose whetherurlparentadds a trailing slash or not (#1565)
- New setting
-
Bug fixes
-
Miscellaneous
- Link to
textfunctions added to:bindhelp
- Link to
Thanks to all of our contributors for this release: Oliver Blanthorn, dependabot-preview[bot], Joao Sa, Robert Boyd III, and Guillermo R. Palavecino.
Extra special thanks go to Guillermo R. Palavecino and Robert Boyd III who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.16.1 / 2019-06-15
-
New features
;vnow escapes the hrefs you choose (seeget exaliases.mpvsafeto see how it does it)
-
Bug fixes
shellescapewill now actually properly escape stuff on Windows
Release 1.16.0 / 2019-06-14
-
New features
keyfeedcommand for feeding fake keys to Tridactyl (not the web page) added- mostly a precursor to
mapbutkeyfeed g?g?g?g?g?g?g?g?g?g?g?g?g?now for a good time
- mostly a precursor to
- User-definable modes added: just do
bind --mode=[newmode] ...and thenmode [newmode] - Added
tabmandtaboex-aliases (hat-tip to this blog for pointing out that they were missing) guisetnow usessetprefto flip the preference which will soon be needed to read userChrome (#1572)shellescapecommand added for use withcomposite(#1485)- Hint mode now has user-configurable binds (e.g.
bind --mode=hint <C-[> hint.reset) (#304) - Error notifications will no longer steal focus
no_mouse_modeis now more sober; original mode renamed toneo_mouse_mode(#1303)hint -f [text]prefilters hints with the provided text (#1580)- ditto for
hint -fr [regex]
- ditto for
blacklistkeyssetting to specify which keys to prevent pages from ever stealing from Firefox (#1185)- e.g.
set blacklistkeys ["/","'"]
- e.g.
bmarkwith no arguments will now use the current page title as the bookmark name- Beta builds now have versions that look more like the filenames served by our build bot and the version shown on
about:addons(#930) preventautofocusjackhammersetting added for use withseturlfor sites that steal autofocus even afterset allowautofocus false- use sparingly as it will use 2-3pp of CPU per tab it is activated in
urlmodify -sadds a query to a URL (#1584)ebg13shapgvbanyvgl nqqrq:- bound to
g?by default
- bound to
viewconfig --{user,default}will show you your changes to the config or the default configmktridactylrcwill make an RC file with your current settings. Usemktridactylrc!to overwrite an existing file.
-
Bug fixes
- Websites can no longer feed Tridactyl fake key events (see the security advisory)
- Persist history completion selection if it is still valid on source update
- Make
;vsafer bmarkis less fussy about URLs now (#1600)- Smooth scrolling made a bit less bad (but it's still quite bad)
autocontainshould now co-exist with other addons more peacefully (#953)- Our
findmode is pretty useable now - seehelp findto see how to bind it (#1608) repeatshould work a bit better but it's still quite broken (#1609)followpagenow works on Google via a site-specifc overridetaballshould now always move to the right tab- 'new features' highlight on the changelog is now never shown in private windows (#749)
- Scrolling should no longer cause infinite loops (#1247)
- Profile-finding should be more resilient (#1585)
- Fixed some bugs with numeric prefixes (#1606)
set findcase smartshould actually work now (hat-tip to burntsushi for pointing this out in his RC file)- It should be much harder for the command line to swap the order of keys pressed, especially
<Space>(#1655)
-
Under the bonnet
- Compile-time inheritance to inputmaps from imaps added
- ideally we'd like runtime inheritance but that's trickier
- Support for TypeScript 3.5
get_current_urlis now an ex-aliasconfig.getis now typed, meaning that it's harder for us to add undocumented settingsconfig.getURLnow merges site-specific defaults- webpack now exits with non-zero exit code on build errors (#869)
- We're no longer using a deprecated API for determining our own extension page URLs (#1593)
- We've switched from
npmtoyarnas we got fed up withnpmfighting with itself over package-lock.json. Hopefully this will make development a little less painful. :native{install,update}will now install the version of the native messenger that existed at the same time as your version of Tridactyl- Added Mithril (currently unused) to make redevelopment of the commandline frame easier
- Compile-time inheritance to inputmaps from imaps added
Thanks to all of our contributors for this release: Oliver Blanthorn, Colin Caine, glacambre, Anton Vilhelm Ásgeirsson, dependabot-preview[bot], Vladimír Marek, Saul Reynolds-Haertle, Vince Au, Russell Cheung, WorldCodeCentral, reversebreak
Extra special thanks go to dependabot-preview[bot], reversebreak, Russell Cheung, Vince Au, Vladimír Marek
Last, but not least - thank you to everyone who reported issues.
Release 1.15.0 / 2019-05-23
-
New features
- Numeric prefixes to binds are now appended to the end of the command, e.g.
1gtgoes to the first tab.- This isn't strictly a new feature as we had it about 18 months ago, but it fell down a plot hole.
- We now have special builds that don't have the new tab page - see the new tab page for how to install them.
- The internal
getclipfunction has now been exposed as an ex-command by popular demand, for use with, e.g.bind --mode=insert <C-v> composite getclip | text.insert_text. - You can now select hints using the arrow keys if you are so inclined
- You can now execute ex-commands from the "awesome bar" (i.e. Firefox's URL bar) by prefixing them with
tri
- Numeric prefixes to binds are now appended to the end of the command, e.g.
-
Bug fixes
- A few weird bugs fixed on NetBSD (#1562)
gishould now work on our help pagesrepeatnow waits for the execution of each command to finish before starting another oneset hintnames uniformwon't give you a spurious error any more
-
Under the bonnet
- Added end-to-end testing for a few functions using Selenium and CircleCI
- Calls to the internal getProfile() used for a variety of native messaging functions are now cached to improve performance
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, dependabot[bot], Marvin Ewald, Saul Reynolds-Haertle, Colin Caine, PHO, Evgeny Kurnevsky, and Jan Hruban.
Extra special thanks go to Evgeny Kurnevsky, Jan Hruban, Marvin Ewald, and PHO who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.10 / 2019-05-04
-
New features
:editornow listens to the exit code of your editor so, e.g.:cqin Vim should prevent the text field from being changed; it also can provide line and column information - see:help editorfor more details- A new
:issueexcmd opens a new issue on our GitHub page with your system information pre-filled
-
Bug fixes
DocStartautocmdsin the exemplar .tridactylrc will no longer run under:viewconfigupdatecheckshould actually run now as it has been added to the new-tab page- its relevant settings may now be found under the
update.*namespace
- its relevant settings may now be found under the
- Private windows opened with the native messenger now work, e.g.
winopen -private about:addons :saveascompletions fixed
-
Under the bonnet
- Added
tslintandshellcheckchecks to Travis CI for GitHub PRs and changed source to conform to their standards - Swapped
prettierfortslintfor most cases - excmds are now run from the content scripts which should hopefully reduce the number of round trips and generally improve responsiveness
- Minor changes to codebase made as suggested by sonarcloud and lgtm
- We've merged (#953) which will eventually allow Tridactyl's
autocontainand Mozilla's "Multi Account Containers" to co-exist peacefully once we enable a permission. We don't do that until theupdatecheckhas been out in the wild for a month or so first - see (#708). - Fixed
wine-pyinstaller.shon some systems
- Added
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, dependabot, Saul Reynolds-Haertle, and Shahzeb Imran.
Extra special thanks go to dependabot and Shahzeb Imran who both contributed for the first time. (dependabot is a bot, but that does not make his contributions any the less valued).
Last, but not least - thank you to everyone who reported issues.
Release 1.14.9 / 2019-03-21
-
New features
-
We now support Firefox's built-in
OpenSearchsearch engines- This is distinct from the "keyword" search engines - see this page
-
Hint modes changes:
-
guisetnow has completions -
helpnow accepts the following flags:help -{a,b,e,s}to specify whether you are looking for an alias, a binding, an ex-command, or a setting. -
You will now be warned when adding a binding that is shadowed by other bind (#1309)
- i.e, since
xis bound tostop, you will now be warned when you bind something toxx
- i.e, since
-
The new tab page now begs for donations to fund our coding-retreat (#1373)
-
ex.deselect_completionex-mode command added (#1393) -
winopen -popupadded to open a URL in the "pop-up" style without the address bar etc showing.
-
-
Bug fixes
-
Completions no longer get stuck showing you the command you just typed (#1295)
-
findnextno longer highlights invisible elements (#1340) -
Command history search works again (#1329)
-
nativeopennow automatically detects which profile you're using and can open URLs with spaces in (#1355) -
leavegithubaloneis now a documented setting -
keyupevents are no longer sent to the page for keys which are bound in Tridactyl (#234) -
terminatorwill now work as a terminal foreditorcmd -
The native install command will now tell you if it didn't manage to install the native messenger (#1099)
-
helpcompletions will now be deselected properly (#1344) -
viewsourcenow works on thehelppage
-
-
Miscellaneous
- Various documentation improvements
-
Under the bonnet
-
Dno longer has a sleep in it -
Build process should be more portable now
-
Build should be a bit more robust, too
-
Removed
native_background.ts- the editor is now all done in content scripts -
Removed commandline_background
-
contributing.mdhas been improved with more documentation of our architecture
-
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Tadeas Uhlir, Nuno Santos, Anton Vilhelm Ásgeirsson, Colin Caine, Manny Schneck, Maximilian Roos, Robert Günzler, Rodrigo, Vik Ramanujam, heshamsafi, and pinusc.
Extra special thanks go to heshamsafi, Manny Schneck, Maximilian Roos, Nuno Santos, pinusc, Robert Günzler, Rodrigo, Tadeas Uhlir, and Vik Ramanujam who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.8 / 2019-01-31
-
New features
winclosenow accepts arguments and completions
-
Bug fixes
-
We've explained the ramifications of adding return values to lots of ex-commands in 1.14.7 for composite on the new tab page
-
All URLs pointing to the repository should now point to the new repository, tridactyl/tridactyl.
-
Release 1.14.7 / 2019-01-30
-
New features
-
Find mode is back, but still doesn't support incsearch. See
help findfor details on how to bind it if you value muscle-memory over stability :) -
rssexecadded with completions to help you find RSS feeds that exist on the current page. By default, it executesyank, but this can be changed withrsscmdto interface with your favourite feed reader, e.g,set rsscmd ! echo %u >> ~/.newsbeuter/urls. -
setwill now let you set complex objects such asset searchurls {"google":"https://www.bing.com"}(#1289) -
undonow comes with completions so you can pick an older tab or window to restore (#1286) -
no_mouse_modeadded to help users force themselves to use hints by preventing mouse clicks from reaching the page.- What, we have 1337 stars on GitHub? I hadn't noticed ; )
snow_mouse_modealso added to help people get into the Christmas spirit
-
The exceptionally well-hidden settings page now has a very well-hidden "reset your configuration button" at the very bottom of the page (#1271).
-
The horrendously named
modeindicatorshowkeyssetting now allows you to see which fragments of valid key sequences you have typed.
-
-
Bug fixes
-
Hints are now slightly chubbier in solidarity with people who use bad fonts (#1280)
-
Favicons are back on
:tabcompletions! (#986) -
nativeopennow checks for the presence of the native messenger rather thantabopen. -
tridactylrcshould now execute more reliably (#1197) -
setnow refuses to let you set objects such assearchurlsto simple strings (#1288) -
Completions should show slightly faster (#1259)
-
Minor documentation fixes.
-
The Tridactyl logo is now not placed on text boxes if we fail to find your editor.
-
Ctrl-6 is now bound to
buffer #in all the modes it claims to be bound in. -
guisetno longer fiddles withtitlebaras this breaks quite a lot of Firefox. You might need to delete / fix your own userChrome.css manually.
-
-
Under the hood
-
The native messenger should now give more useful errors (#1287)
-
We do slightly fewer mad things with promises (#1262)
-
We remember to use our nice little vanity wrappers on ugly messaging more often (#1257)
-
Try to prevent more race conditions in the background code (#1248)
-
Prevent multiple commandlines from being inserted in to pages (#1245) (#1243)
-
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Milan Vancura, and Martin André.
Extra special thanks go to Martin André and Milan Vancura who both contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.6 / 2018-12-14
-
Bug fixes
updatenagnow checks the right date (code I was using for testing made it into a stable release...)winopen -privateis now documented
We're aware of a few issues introduced by 1.14.4+ and/or Firefox 64. Hopefully we'll get them fixed soon. In the meantime, please report any weirdness on our GitHub page as usual.
Release 1.14.5 / 2018-12-13
-
Bug fixes
hintfiltermode simpleshould no longer give you a useless error every time you click something- Rebinding
<Space>should actually work now- If you're having typing sentences into the command line and find spaces appear in the middle of words, you might want to
unbind --mode=ex <Space>.
- If you're having typing sentences into the command line and find spaces appear in the middle of words, you might want to
-
Under the bonnet
- We now have our own configuration listeners. See #1192 for more details.
This release was rushed out because I didn't test 1.14.4 well enough, so only glacambre and bovine3dom got to contribute to it. It feels more weird than usual to thank myself for coding when I'm 50% of the contributors, especially when the release was so speedy because I wasn't paying enough attention to the previous one, so I'll just pat glacambre instead. bovine3dom tapote glacambre.
Release 1.14.4 / 2018-12-12
-
New features
- You can now cycle the selected hint in hint mode by pressing
<Tab>or<S-Tab> - The native messenger now appends ".txt" to files it edits, hopefully making the experience better out of the box for most people
- You might need to run
:nativeupdateto get this feature
- You might need to run
- Tridactyl will check for a new stable version at launch and notify you once once a new version has been released and it is a week old
- You can change this behaviour with
set updatenag falseandset updatenagewait [days to wait before nagging] - Hopefully this will make it easier for users to notice when a new update has been blocked because it needs more permissions
- You can change this behaviour with
noiframeonhas been turned into a normal setting for use withseturl [url] noiframe true
- You can now cycle the selected hint in hint mode by pressing
-
Bug fixes
alias tab bufferno longer breaks completionshint -c [selectors]can now accept selectors with spacesatags now have higher priority than (often spurious) elements JavaScript events attached. This makes hinting on YouTube usable :)- Themes are now properly applied to tabs opened in the background
- Editor functions (
text.*) should now work in email inputs, and others if you're lucky.
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Fabian Furger, and arcnmx.
Extra special thanks go to arcnmx who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.3 / 2018-12-03
-
Bug fixes
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, and scde.
Extra special thanks go to scde who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.2 / 2018-12-02
-
New features
- New theme:
colours halloween - New command
clipboard xselpastepastes from primary selection into focused input field - New editors added to
editor(#1162) - You can now rebind key sequences in the commandline:
viewconfig exmapsandbind --mode=ex text.*commands have been added for insert mode operations
- New theme:
-
Bug fixes
- getURL now merges site-specific config objects (e.g, "example" and "example.org")
- Tridactyl now scrolls on non-html pages (#1165)
- Various broken links fixed
- Fewer errors when using the command line (#1168)
setgives more helpful error messages (#1166)tabnext/prevnow only cycles through visible tabs (#1084)- Commands requiring the native messenger now give more helpful error messages if there is a problem
- Internal commands are no longer shown in completions (#1154)
- It is now possible to insert spaces in the middle of words in the commandline (#1147)
- scrolling.ts: Fix sticky scrolling
- tabprev/tabnext is more robust (#1148)
-
Miscellaneous
- Documentation improvements
- Various tutorial improvements
-
Under the bonnet
- Fewer bashisms in build process
- Rename buffers to tabs
- Tridactyl uses approximately 0.03MB less RAM per tab (#1187)
tab{first,last}are now simple aliases- Numerical config settings are now numbers rather than strings
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ásgeirsson, Abraham White, Nathan Collins, Colin Caine, Keegan Carruthers-Smith, and pale3.
Extra special thanks go to Abraham White, Keegan Carruthers-Smith, Nathan Collins, and pale3 who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.1 / 2018-10-28
-
New features
- URL-specific settings:
bindurl,seturl,unseturl,unbindurl, andreseturlallow you to change settings per site. Seehelp bindurlfor more details.
- New tab page now steals focus from the address bar (but not on Windows):
- if you want the old behaviour back,
set newtabfocus urlbar
- if you want the old behaviour back,
set editorcmdnow has%fas a magic argument to specify the filename- You can now load themes from disk. See
help colourscheme - Insert-mode readline style commands added but left unbound. See
im_*on the help page. saveasadded: you can provide a filename to specify where the document will be saved if you have the native messenger installed- New
stopcommand bound to x by default <C-6>is now bound tobuffer #in ignore modeset searchurlsnow supports multiple%sand numbered%1,%2etc. magic arguments for the search querytabnewalias added fortabopenstopcommand bound tox:help config_optionnow works, with completions- A few more
z*binds have been added for zooming. See the help page for more details. - Inputs now get the Tridactyl logo on them while you edit them in an external editor
bmarksis now a proper excmd and allows you to open bookmarks in tabs if you give it a-tflag- New
setprefcommand allows you to write touser.jsfor changing settings inabout:config saveasnow allows you to specify file save location if you have the native messenger- Filesystem completion for
sourceandsaveas googleluckyis now a valid search engineguiset tabs countandguiset tabs nocountreloadallbutcommand reloads everything but the active tabIis unbound again. Bind it back withbind I mode ignoreandbind --mode=ignore I mode normal
- URL-specific settings:
-
Bug fixes
- Command line is much less likely to secretly steal focus from the page - i.e, Tridactyl is less janky now.
- Scrolling fixes:
- Scrolling left or right can no longer send you to the top of the page
- Scrolling beyond the top or bottom of a page no longer makes you get stuck there
- Some people report that smooth scrolling has improved.
viewconfignow shows you default and user-specified config rather than just user-specified in some circumstancesset noiframeonfixedtabmove +1no longer requires a leading space when typed interactivelysetclip/getclipnow provide error messagesguisetshould be a bit better at finding profiles now- The mode indicator should now always have the correct colour at startup
set historyresults 0now worksexclaimshould give more helpful errors if the native messenger is not installed#inbuffer #and others will now refer to the current tab if you only have a single tab open
-
Under the bonnet
- Completions are now more asynchronous - hopefully this will help performance on slow computers.
- Performance monitoring now possible if you turn it on: see
help perfdump- No data is sent back to us.
editornow returns afilepath, contenttuple- Update a bunch of dependencies
- Build steps now work OK if you have spaces in your directory names
-
Miscellaneous
- Documentation improvements
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Saul Reynolds-Haertle, Anton Vilhelm Ásgeirsson, Joao Sa, notJerl, Colin Caine, WorldCodeCentral, Alex Griffin, FrankEular, Ivan Solyankin, Lorenz Leutgeb, and Shou Ya.
Extra special thanks go to Alex Griffin, FrankEular, Ivan Solyankin, Joao Sa, Lorenz Leutgeb, notJerl, and Shou Ya who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.14.0 / 2018-09-05
-
New features:
-
Mode is now per-tab
- Having two windows with one in ignore mode is now bearable
- This opens the door to proper per-tab settings, e.g, per site binds
- This is a big change so please report any bugs on GitHub
-
Configuration now has a help page
- Accessible from the link to the binds on the normal help page
- We'll add a better way of accessing it soon
-
Configuration completions now show their permitted values and set checks for these
-
You can now map keys to keys for Tridactyl modes with
keymap key1 key2. The purpose of this is for our international users who switch keyboard layouts.
-
-
Bug fixes:
Thanks to all of our contributors for this release: Oliver Blanthorn, Saul Reynolds-Haertle, glacambre, Colin Caine, William G Hatch, Noah Birnel, Roman Bogorodskiy, and quinoa42.
Extra special thanks go to Noah Birnel, quinoa42, Roman Bogorodskiy, and William G Hatch who all contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.13.3 / 2018-08-21
-
New features:
-
Our command line now has more completions:
- Ex commands and ex aliases with a little bit of help for each command.
- Settings, showing their current value (currently does not support options within options)
-
Rapid hint mode improvements:
- Less jank (particularly if you hold a key down)
- Most hint modes now have a rapid mode with
hint -q[flag]and bound to;g[key]- The divergence from Pentadactyl is because we already have
g;bound to "switch to tab containing last used input field and focus it", which is my pet favourite command.
- The divergence from Pentadactyl is because we already have
-
tabis now an alias forbuffer(I meant to add this months ago)
-
-
Old features:
- More hint modes from Pentadactyl that no-one missed added:
;O,;W, and;Tpre-fill the command line with the hinted URL and open/tabopen/winopen.
- Added I, Shift-Escape ignore binds back
- You can unbind them with
unbind --mode=... [key]
- You can unbind them with
- More hint modes from Pentadactyl that no-one missed added:
-
Bug fixes:
- Yank element text hint mode was broken (
;p) and we fixed it by accident - You can now unbind keys which were bound to
Escby default (#921) - Less console spam: fixed "1.1" error if config was at latest version
- Our command line now plays nicely with left scrollbars (#909)
guiset gui nonenow pads maximised windows to fix a bug on Windows where the top of the page is cut off
- Yank element text hint mode was broken (
-
Boring internal changes:
- All hint modes now use a newfangled method with less message passing
- We're now using Typescript 3
- We now generate a bunch of metadata about Tridactyl for use with introspection
- As an added bonus, build times are now a bit slower.
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ásgeirsson, and Henré Botha.
Extra special thanks go to Henré Botha, who contributed for the first time.
Last, but not least - thank you to everyone who reported issues.
Release 1.13.2 / 2018-08-15
-
New features:
-
Rapid hinting bound to
gF. One of our most requested features. -
Add
DocLoadautocmd which triggers after all HTML is downloaded (it fires on DOMContentLoaded). -
All clipboard commands on Linux now support X-selection if you have the native messenger installed. Simply set
yanktoandputfromtoselection. -
Add private window indicator to
bufferall; add container icons tobuffer{,all}. -
Add
fillcmdline_tmp, useful for temporary messages. A few commands now use this (e.g,yy). -
tabmovebound to<<and>>à la Vimium.tabmovenow wraps tabs around if you reach the beginning or end.
-
Add
muteto mute tabs. Bound to<A-m>by default. -
Add
<A-p>bind forpin. -
Add
{fixamo,guiset}_quietfor non-interactive use; normal{fixamo,guiset}now inform you that you must restart. -
Add
url2argsex-command to retrieve search terms from Tridactyl search engines, for use withO.help url2argsfor more information. -
Add
autocmddeleteto delete an autocmd. -
Add
hintdelaysetting (measured in milliseconds) to add a short pause before hint mode is left after choosing a link (#386) with thehintfiltermode vimperator*hint modes so that one has time to stop typing before Tridactyl returns to normal mode. -
Add binds for yankmd and yanktitle to
ytandymirrespectively. -
Our GitHub has a new troublehooting guide and issue template (#522).
-
Websites can no longer steal
/from Firefox. If you are unhappy with this state of affairs, tryset leavegithubalone true.
-
-
Bug fixes:
-
Fix race condition in state.mode synchronization (#613).
-
set newtab about:blankshould work once again (#678). -
Make
tabprevsynchronous: it now works better incompositecommands (i.e,Dis less janky). -
Fix
guiset hoverlink *in Firefox 61 (#763). -
Make
sourceignore visually empty lines. -
Completions will now be properly deselected upon typing (#833).
-
guisetnow gives helpful errors if given the wrong arguments (#844). -
History completion insertion with space no longer inserts an extra space (#838).
-
Ctrl-y actually scrolls up now
-
Arguments now ignored on history completions (
-private, -c, -betc.). -
Native messenger:
-
Windows install script now complains if you do not have the requisite PowerShell version.
-
Windows install script should now work if you have a non-ASCII username/directory
-
Windows install script no longer rage-quits if Python is not found.
- This means that the compiled executable will actually be used. It's much slower than the normal Python script, so we strongly recommend that you use that instead by installing Python 3, making sure it is on your PATH, and running
installnativeagain.
- This means that the compiled executable will actually be used. It's much slower than the normal Python script, so we strongly recommend that you use that instead by installing Python 3, making sure it is on your PATH, and running
-
-
Fix focus hijacking again (#768).
-
Fix scrolling on bugzilla.mozilla.org (#762).
-
Fix race condition in :sanitise (#724).
-
Make sure bind/unbind use the same binding format: previously, modifiers on binds were case-sensitive for some commands.
-
Container commands are now more case-insensitive.
-
Fix jumplist not being correctly restored on reloads (#680).
-
Update 1.13.1 release date in time for 1.13.2
-
-
Boring internal stuff
- Move most of hinting to content script (this may have broken some stuff - please report it if it has).
Thanks to all of our contributors for this release: Oliver Blanthorn, glacambre, Anton Vilhelm Ásgeirsson, Babil Golam Sarwar, Colin Caine, Jeff King, Bzly, WorldCodeCentral, Mohammad AlSaleh, Vladimir Macko, André Klausnitzer, Bodo Graumann, Chris Pickard, Lucian Poston, Matt Friedman, Susexe, and jcrowgey.
Extra special thanks go to André Klausnitzer, Chris Pickard, Lucian Poston, Matt Friedman, Susexe, Vladimir Macko, and WorldCodeCentral, all of whom were first time contributors.
Last, but not least - thank you to everyone who reported issues.
Release 1.13.1 / 2018-06-20
-
New features
bufferallbound toBby default shows you tabs in all windows.- Container management with
container{create,close,update,delete},viewcontainersandtabopen -c [container name] URL- see
help containercreatefor more information - Mode indicator's border now uses the current container colour
- see
set hintnames numericfor sequential numeric hints. Best used withset hintfiltermode vimperator-reflow.- Changelog now tells you when there's a new changelog that you haven't read.
guiset navbar noneremoves the navbar totally. Not for the faint-of-heart: you could potentially get trapped if Tridactyl stops working.
-
Bug fixes
nativeopennow puts tabs in the same place thattabopenwouldsantise tridactyllocal tridactylsyncnow works in RC files- Missing ;w hint winopen bind added
- Fixed minor error with themes not being properly applied on some sites
- Fixed reload bug on :help when there's no hash
<C-i>editor will now always update the field you started in, not just the one you currently have focused.- "email" input elements can now be focused without errors.
urlincrementno longer throws errors if a link cannot be found.
Release 1.13.0 / 2018-06-08
-
Potentially breaking changes
- Pipes in
compositenow send return values to the following ex command. Use semi-colons if you want the old behaviour back (seebind D). - The
DocStartautocommand now usesString.prototype.searchfor matching, so you can use regular expressions such as/www\.amazon\.co.*/.
- Pipes in
-
editornow includes the hostname of the site you are on in the temporary filename.- this is mostly so that you can set up syntax highlighting in Vim, e.g,
au BufReadPost *github.com* set syntax=pandoc
- this is mostly so that you can set up syntax highlighting in Vim, e.g,
-
nativesupport for Windows: just do whatinstallnativetells you to.- You'll probably want to make sure
gvimis on your path.
- You'll probably want to make sure
-
New autocommand events:
- TriStart: Triggered when you start firefox.
- TabEnter/TabLeft: Triggered when you enter and leave a tab.
-
New commands:
:jsand:jsblet you execute arbitrary javascript.:restartwill restart Firefox if you have installed Tridactyl's native executable.:fixamowill make Tridactyl work on addons.mozilla.org. Requires a:restart.
-
Hint improvements:
- You can select title/alt text of elements using
:hint -P. hint -;now accepts selectors.- Uppercase hints are now supported.
- You can select title/alt text of elements using
-
Multiple improvements for the mode indicator. It will:
- Disappear when you hover your mouse over it.
- Go purple in private windows.
- Be invisible on printed pages.
-
There is now a jumplist:
<C-o>or:jumpprevwill go to your previous location.<C-i>or:jumpnextwill go to the next location in your jumplist.
-
Themes:
shydactyl,greenmat,quakewere added.- The dark theme has been updated.
- themes apply to {newtab, mode indicator, tutor}.
-
Add new internal structure for themes - check out contributing.md on the repository if you want to add your own
- Adding themes at runtime is planned but some way off.
-
The long awaited blacklist to automatically enter ignore mode on some websites is now available! See
:h blacklistadd. -
Ignore mode can now also be toggled with <CA-`>.
-
A colon is shown at the beginning of the command line.
-
:set settingwill now display the setting's value. -
The command line should work again on image documents.
-
Urlmodify doesn't add the websites you're leaving to your history anymore.
-
An experimental
smoothscrollsetting has been added. You can turn it on by using:set smoothscroll true. Be warned, this can make scrolling slower on some websites. -
creditsadded to show off all the wonderful contributors we have. -
helpnow displays relevant aliases and key bindings, andhelp [key sequence / alias]will take you to the relevant help.
Release 1.12.0 / 2018-05-13
- Add container support
hintwill now open links in the current container- there is a new setting,
set tabopencontaineraware [false|true], which will maketabopenopen new tabs in the current container
- Add extra
<CA-Esc>bind to toggle ignore mode by popular demand - Fix errors related to missing native messenger on Firefox launch
Release 1.11.2 / 2018-05-11
- Hotfix to prevent "config undefined" errors on browser start if no rc file was found
- It was mysteriously only reproducible sometimes...
- Make newtab changelog a bit wider
Release 1.11.1 / 2018-05-11
-
Add "tridactylrc" support
- Stick a bunch of commands you want to run at startup in one of:
$XDG_CONFIG_DIR/tridactyl/tridactylrc~/.config/tridactyl/tridactylrc~/.tridactylrc
- Example file available here
- You can run any file you want with
source [absolute path to file]. Bonus points if you can think of something sensible to do withsourcein anautocmd. - If you want vim-style configuration where nothing persists except that which is in the rc file, simply add
sanitise tridactyllocal tridactylsyncto the top of your rc file. - Only whole-line comments are supported at the moment, in the VimL style where lines start with a quote mark: "
- Stick a bunch of commands you want to run at startup in one of:
-
Native messenger updated to 0.1.3
- Add rc file reader
- Add ability to read environment variables
- Make read understand ~ and environment variables (used in
source)
-
Readme updated
- Add statistics page and
guiset
- Add statistics page and
-
Bug fixes
guisetcan now cope with multiple Firefox instances running simultaneously provided they are started with profiles explicitly via the command line.
-
Deprecations
- Remove buffers,tabs as promised
- Inform people pressing
Iof the new bind
Release 1.11.0 / 2018-05-09
-
You can now edit the Firefox GUI from Tridactyl with
guiset. You must restart Firefox after usingguisetto see the effects.- e.g,
guiset gui noneorguiset gui full. - see all the options with
help guisetand following the links. - Only minimally tested. Back up your precious userChrome.css if you care about it!
- e.g,
-
You can now choose to bypass CSP on all sites with
set csp clobber. If you change your mind, justunset csp, and restart your browser.- This, for example, allows Tridactyl to run on pages such as https://raw.githubusercontent.com/cmcaine/tridactyl/master/CHANGELOG.md, but it could also allow other scripts to run on pages, making the Internet as dangerous as it was about 2 or 3 years ago before CSP was introduced.
- Once this bug in Firefox is fixed, you won't have to clobber CSP.
-
Tridactyl will no longer update while the browser is running in an attempt to fix issues where the add-on would be unresponsive after an update; instead, it will only update on browser launch.
- This includes manual updates via
about:addons. You'll need to restart the browser after clicking "Check for updates".
- This includes manual updates via
-
set newtab news.bbc.co.uketc. now looks much less janky -
Minor new features
- Add !s alias for silent exclaim
termiteandterminatorsupport withset editorcmd auto- Allow binding (not recommended...)
- AMO explains why we need each new permission
- Native messenger documentation improved, making it clear that we haven't reimplemented IRC in the browser.
-
Minor bug fixes
- Remove pixel gap under command bar (#442)
- Native installer no longer requires pip and supports Debian's
which - Help page links are more legible on rubbish screens
- Turn 'q' and 'qall' into aliases
- Fix typo regarding binding of special keys on help page
focusinputis now better at finding elements to focus
Release 1.10.1 / 2018-05-04
- Add tabcloseallto{right,left} bound to
gx0andgx$ - Update tab page and other documentation to reflect new ignore mode binding
- Fix #474: you can open a handful of about:* pages without the native messenger again
- Improve feedback when native messenger is not correctly installed
Release 1.10.0 / 2018-05-03
-
Native messenger (for OSX/Linux only, for now)! On Linux/OSXRun
:installnativeto install, then:<Ctrl-I>in a text field will open Vim, probably. Set it withset editorcmdbut make sure that the command stays in the foreground till the programme is exited.- Not all text fields work yet (esp CodeMirror), so make sure you test it before writing war and peace.
:! [shell command]or:exclaim [shell command]will run the command and give you STDOUT/STDERR back in the command line.- You can't use composite and shell pipes together yet.
- Anything that works in
/bin/shshould work- If you want to use a different shell, just make your own alias:
command ! exclaim fish -c(but be aware that some shells require quotes around arguments given to -c)
- If you want to use a different shell, just make your own alias:
- Requires a new permission to use the native messenger (and to use Tridactyl at all, unfortunately)
nativeopenwill try to open a new tab or window using the native messenger. It is used in{,win,tab}openautomatically when you try to open about:_ or file:_ URIs.
-
Add
hint -W [exstr]to execute exstr on hint's hrefhint -W exclaim_quiet mpvworks particularly well.
-
Breaking change: change ignore mode binds to be symmetric and resolve Jupyter conflict
- Ignore mode is now bound to
<S-Insert>to enter and leave it. - Previous binds of
Iand<S-Esc>are unbound
- Ignore mode is now bound to
-
More scrolling fixes
G/ggwill now work on more sites
-
Completion improvements
- History completion performance improved
- If you find you are getting worse results than usual, increase
set historyresultsto, e.g, 500.
- If you find you are getting worse results than usual, increase
- Fix #446: you can now edit completions you select with space
- Completions will now pan to show you what you have selected
- History completion performance improved
-
Mode indicator is now print friendly (#453)!
-
Fiddled with
helptheme- We've tried to make it look a bit more like the old Vimperator help pages and have hidden some useless or misleading bits that TypeDoc produced, such as the return values.
-
viewsourceimproved- Now bound to
gfby default - Fix viewsource elem not always covering the whole page
- Remove viewsource elem on spa history changes
- Now bound to
-
Bind help to F1
-
Changelog changelog:
- Change changelog date format
- Changelog: use standard case: changelog.md -> CHANGELOG.md
- Changelog: move to the standard location
- Changelog: add dates
-
Misc fixes
- Fix :open . Fixes #421
- Filter AltGraph keys. Fixes #430
- Explain that the hint tags are typed in lowercase even though they are displayed in uppercase
Release 1.9.8 / 2018-04-26
- Make error reporting to command line less fussy
- Fix error reporting loop with
noiframeon
Release 1.9.7 / 2018-04-25
- Load iframe more lazily to stop breakage on some sites
- Add setting
noiframeonfor websites that are still broken by our iframe ("ServiceNow", for example: #279)- Simply
set noiframeon [space separated URLs]to blacklist URLs
- Simply
- This will hopefully be our final release before the native messenger for OSX and Linux is merged.
- If you'd like to help test it out, download our latest betas from here and run
:installnativeonce you are in.
- If you'd like to help test it out, download our latest betas from here and run
Release 1.9.6 / 2018-04-25
- Scrolling improvements
- Mode indicator improvements
- Can be disabled with
set modeindicator false - Text is not selectable to improve the lives of people who "Select All" a lot
- Can be disabled with
- Internal error messages are now displayed in the command line
- New default alias
:hfor:help - Bug fixes
- Fix #418: keyseq is better at realising when a key combination is invalid
Release 1.9.5 / 2018-04-22
- Add mode indicator
- Fix #337: Make
compositeand ex-parser more sequential- Add
Dbinding: close current tab andtabprev
- Add
- Bug fixes
- Fix
tabin inputmode - Catch CSP exception when hijacking
- Fix
Release 1.9.4 / 2018-04-20
- Add jumplist for inputs bound to
g;- Editor's impartial note: this is pretty cool
- Add
hint -W [exstr]to execute exstr on hint's href - Update new tab page:
- Add changelog
- Remove welcome to new users as we have
tutorfor that now - Fix newtab redirection on
set newtab [url]set newtab about:blanknow works thanks to a Mozilla bug fix!
- Warn users about native messenger update
- Bug fixes
- input-mode now correctly exits to normal mode on focus loss
- Stop treating "std::map" or "Error: foo" as URIs: searching for them will now work.
Release 1.9.3 / 2018-04-19
- Fix unbind issues
- Add more default binds from Vimperator
- Change the
^bind to<c-6>(matches vim) - :bmark now supports folders
Release 1.9.2 / 2018-04-16
- Fix #392 (bug with keyseq)
Release 1.9.1 / 2018-04-15
- Fix buffer switch bind
Release 1.9.0 / 2018-04-15
- Allow binds with modifiers (e.g.
<C-u>) and binds of special keys (e.g.<F1>) and both together (e.g.<SA-Escape>) - Normal mode now only hides keypresses that you've told it to listen to from the web page
- Improve documentation
- Update readme
- Improve help on excmds.ts
- Update AMO text (includes explanation of why various permissions are demanded)
- Add tutorial on
tutor- Shown on first install of Tridactyl
- Add
viewconfigcommand to open the current configuration in Firefox's native JSON viewer (which Tridactyl doesn't work in)
- Move betas to our own site as addons.mozilla.org stopped supporting them (#307)
- Add automatic updates for betas
- If you downloaded a beta before pre778, you will need to update manually to a later beta.
- Add automatic updates for betas
- Small new features
- Fix #370: add
clipboard yanktitle|yankmd - Add
fullscreencommand (not quite #376) - Add
viewsourcecommand set allowautofocus falseto stop pages stealing focus on load (#266, #369)^now switches to last used tab by default- In command mode,
Spacenow puts the URL from the selected completion into the command line (#224) - Add find mode, left unbound by default
- Not ready for widespread usage: slow and probably buggy.
hint -wpto open hint in a private window (#317)- Configuration can now upgrade itself to allow us to rename settings
- Add dark theme:
set theme dark(#230) - Tab opening settings for
tabopen(#342)set {related,tab}openpos next|last
- Fix #370: add
- Stuff only collaborators will care about
- Code is now run through the prettier formatter before each commit
- Moderately large bug fixes
- Fix scrolling on sites that use frames (#372, #63, #107, #273, #218)
- Fix hinting on sites with frames (#67)
- Hijack event listeners to put hints on more JavaScript links (#204, #163, #215)
- Small bug fixes
- Fix #276: ]] on Hacker News
- Support #/% index for tabs everywhere internally
- Fix #341:
tabclose #now works
- Fix #341:
- Reduce logging
- Rename some config:
- Rename vimium-gi to gimode, default to firefox, version to configversion
- Fix hinting following JavaScript links because they look the same
- Introduce new bugs
- Show useless hints on some sites (#225)
- and more!
Release 1.8.2 / 2018-03-07
- Improve config API
set key.subkey.subsubkey valuenow works- Add user feedback to
bindandget
- Add save link/img hint submode (;s, ;S, ;a, ;A) (#148)
- Add
autocmd [event] [filter] [ex command]- Currently, only supports the event
DocStart - Most useful for entering ignore mode on certain websites:
autocmd DocStart mail.google.com mode ignore
- Currently, only supports the event
- Add exmode aliases with
command [alias] [ex_command]. Many aliases have been ported from Pentadactyl. (#236) - Add urlmodify command (#286, #298)
- Support Emacs-style C-(a|e|k|u) in cmdline (#277)
- Support changing followpage pattern used in
]]and[[to allow use with foreign languages - Add logging levels and make logging less verbose by default (#206)
- Support %s magic string for search providers (#253)
- Add hintfiltermode config and new "vimperator, vimperator-reflow" hinting modes
- Make hintPage follow link if there's only 1 option
- Fix high resource usage when typing under some circumstances (#311)
set newtab foo.barnow changes all new tab pages (#235)- Fix hints on some sites via cleanslate.css (#220)
- Fix new config system (#321)
- followpage now falls back to urlincrement
tabopennow opens tabs to the right of the current tab- Fix floating commandline iframe on some sites (#289)
- Enter insert mode on drop down menus (#281)
- Support hinting on some dodgy old websites (#287)
- Make :reloadall only refresh current window tabs (#288)
- Remove
xxbinding (#262) - Fix gu in directories (#256)
- Fix various typos (#247, #228)
- Add FAQ and other updates to readme.md (#232)
Release 1.7.3 / 2017-12-21
- Hint tags are much better:
- Hint tags are now as short as possible
- Remove now disused
hintordersetting
- Add
.to repeat last action - Add inputmode:
giand thenTabwill cycle you between all input fields on a page - Add hint kill submode
;kfor removing elements of a webpage such as dickbars - Add relative zoom and
z{i,z,o}binds - Add
sanitizeexcmd for deleting browsing/Tridactyl data - Search engines:
- Fix problems where ignore mode would revert to normal mode on some websites with iframes (#176)
- Add ^ and $ in normal mode for navigation to 0% or 100% in x-direction
- Buffer completion fixes
- Use tab ID even if buffer has a trailing space (#223)
- completions: passthrough # in buffercompletion
- Support multiple URLs for quickmarks
- Blacklist default newtab url from history completions
- Fix
set newtabfailing to set newtab - Add
q,qa, andquitsynonyms - Fix
unsetfailing to take effect without reloading page - Minor improvements to
helppreface - Add
tags to standard hinting - Log an error to browser console if no TTS voices are found
Release 1.7.0 / 2017-12-01
- History completion is massively improved: much faster, more relevant results, and less janky as you type.
- User configuration
- set [setting] without a value will inform you of the current value
- Add configuration options for hinting:
hintcharsandhintorder - Add unset for resetting a bind to default
- You can now change default search engine with e.g,
set searchengine bing(#60) - The default new tab page can be replaced with any URL via
set newtab [url](#59) - Add
ghandgHand "homepages" setting (#96)
- Shift-tab and tab now will cycle around completions correctly
ysnow works on some older pages- Add bmarks command for searching through bookmarks (#167)
- Add
hint -c [selector]: add hints that match CSS selector - Add text-to-speech hint mode on
;r - Allow
;pto yank any element which contains text - Add
;#hint yank anchor mode - Improve hint CSS by adding a border and making background semi-transparent
- Add
tabonlycommand - Fix hinting mysteriously not working on some pages (#168)
- Fix issue where command line would invisibly cover up part of the screen (#170)
- Bookmarks can now have spaces in their titles
- Fix some hints on sites such as pcgamer.co.uk
- Long page titles will no longer appear after URLs in completions