3 - Fixed: The blinking text caret now always appears correctly when focusing text
8 - Fixed: The scrolling commands should now “just work” when using non-default
9 zoom or DPI settings, most notably on Google Groups.
11 ### 0.7.0 (2015-11-19)
13 - Changed: Instead of using system notifications, which turned out to be a bit
14 too intrusive, [notifications] are now similar to the “URL popup” (shown when
15 hovering or focusing links) but are placed on the opposite side,.
16 - Changed: The “Focus next element” and “Focus previous element” commands have
17 been removed. The reason they existed was to let `<tab>` and `<s-tab>` only
18 cycle between text inputs (as opposed to _all_ focusable elements) after
19 you’ve pressed `gi`. Now, `<tab>` and `<s-tab>` are handled specially instead,
20 and _only_ after pressing `gi`. The reason for this change is that the now
21 removed commands were too intrusive, breaking user habits. One of VimFx’s main
22 goal is _not_ to do that. (You can turn the special handling of `<tab>` and
23 `<s-tab>` off using the the new [`focus_previous_key` and `focus_next_key`]
25 - Fixed: The scrolling commands should now “just work” in a lot more situations,
26 most notably on Gmail and Google Groups. More scrollable elements are also
27 recognized by the `f` and `zf` commands.
28 - Improved: The right border of hint markers for scrollable elements is now
29 styled to remind of a scroll bar, making them easier to recognize among hints
31 - Improved/Changed: `J` and `gJ` now allow a count on the first tab.
32 Consequently, `K` and `gK` now allow a count on the _last_ tab.
33 - Changed: `gJ` and `gK` can no longer be used to pin or unpin tabs. They now
34 only wrap around tabs of the same pinned state. Use `gp` to toggle between
35 pinned and non-pinned.
36 - Fixed: Many elements that got a hint before VimFx 0.6.0 now do again.
37 - Improved: Comment fields on Facebook can now be focused using `f` and blurred
39 - Improved: VimFx’s toolbar button is no greyed out when you focus a text input.
40 This is to show that your key presses will be passed into the text input
41 rather than activating VimFx commands.
42 - Added: [`g0`, `g^` and `g$` now accept counts][tab-index-counts], allowing you
43 to go to tab number _count._
44 - Improved: `gi` now finds text inputs inside frames.
45 - Fixed: “gi mode” is now exited properly when blurring a text input.
46 - Fixed: `<select>` elements are no longer considered to be text inputs when
47 using `<tab>` and `<s-tab>` in “gi mode.”
48 - Fixed: Using `<force>` or `<late>` in a shortcut no longer applies to _every_
49 shortcut for the command, but only that shortcut.
50 - Fixed: The order of the Previous/Next page patterns is now respected. This
51 caused the wrong link to be picked by the `[` and `]` commands on some pages.
53 [`focus_previous_key` and `focus_next_key`]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/options.md#focus_previous_key-and-focus_next_key
54 [notifications]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/notifications.md
55 [tab-index-counts]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/commands.md#g0-g-g
57 ### 0.6.2 (2015-11-11)
59 - Improved: If the entire page isn’t scrollable, the largest scrollable element
61 - Fixed: VimFx’s keyboard shortcuts now works on slowly loading pages.
62 - Fixed: Numbers may now be used as shortcut keys (overriding counts).
63 - Fixed: The toolbar button’s icon is now correctly sized in high DPI.
64 - Fixed: Hint markers are now correctly positioned when zooming using the “Zoom
66 - Fixed: The `P` command now works with the InstantFox add-on.
68 ### 0.6.1 (2015-11-10)
70 - Fixed: If you customized the “esc” command before VimFx 0.6.0 it should now
72 - Fixed: `<tab>` now works as expected in the address bar and in the dev tools.
73 - Fixed: Light-weight themes can no longer make VimFx’s Keyboard Shortcuts help
74 dialog and hint markers unreadable.
75 - Added: The [notifications\_enabled] option.
77 [notifications\_enabled]: https://github.com/akhodakivskiy/VimFx/blob/56c4b7c514ea8b58d2cdcecf3d2654648c48ca31/documentation/options.md#notifications_enabled
79 ### 0.6.0 (2015-11-09)
81 ##### Most important (breaking) changes
83 - VimFx now works properly with **any keyboard layout.** Users of **multiple
84 layouts** should enable the **[ignore keyboard layout] option.** #249 #259
86 - Features related to disabling VimFx, and to the [toolbar button]:
88 - **Insert Mode** has been renamed to **_Ignore_ mode.**
89 - **[Blacklisted][blacklist] sites** now **enter Ignore mode automatically,**
90 instead of being specially handled.
91 - The feature to click the toolbar button (or press `<a-V>`) to **disable
92 VimFx** has been **removed.** Use **Ignore mode** (`i`) and the
93 **[blacklist] instead.**
94 - The **toolbar button** is now **red in Ignore mode** (which also means that
95 it is red on blacklisted sites) and green otherwise (never grey anymore).
96 - The toolbar button no longer offers to (un-)blacklist the current domain.
97 (Head into VimFx’s settings page in the Add-ons Manager and add
98 `*currentdomain.com*` to the [blacklist] option yourself instead.)
100 (See [commit 3552282] for more information.)
102 - **Some default shortcuts have changed,** mostly because they conflicted with
103 standard Firefox shortcuts: #308
109 - `g^` and `gH` → `g0`
111 `g^` now selects the first _non pinned_ tab instead, while `g0`
112 selects the first tab regardless of whether it is pinned or not. #317
114 - `<c-e>` (alias for `j`) and `<c-y>` (alias for `k`) have been removed.
116 - `<c-f>` → `<space>` and `<c-b>` → `<s-space>`
120 This frees up `v` for future shortcuts (instead making `z` a
121 “namespace” key, just like in Vim).
123 - To **exit Ignore mode:** `<escape>` → `<s-escape>`. This is because Ignore
124 mode has replaced the disable feature, as well as the special blacklist
125 state (see above). Sites are likely to use `<escape>` but not `<s-escape>`.
126 (In a way, this new role of Ignore mode also means that the old (many times
127 broken) shortcut to disable VimFx (`<a-V>`) has been replaced by `i`.) #64
130 - VimFx’s Keyboard Shortcuts help dialog is now help only, and more accessible.
131 To **customize keyboard shortcuts,** go to VimFx’s settings page **in the
132 Add-ons Manager,** just like you would to customize other settings. Also,
133 **commas** between every key are **no longer needed:** Type `gJ` instead of
136 - For performance reasons, **Hint markers** are now placed vertically **centered
137 instead of at the top** of the element. Don’t be surprised if you see the same
138 hint repeated several times**—links that go to the same place now get the same
139 hint.** The “Smart hints” option has been removed—hints are _always_ smart
140 now, and a lot smarter than before. Finally, hints now also work in the new
141 tab page, the Add-ons Manager and the preferences page. If you want to, you
142 can read more about [the `f` commands]. \#51 #60 #176 #320 #325 #468 #471 #475
144 - The **`F`** command now _always_ opens tabs in new **background** tabs, while
145 **`gf`** has been added to open tabs in new **foreground** tabs. #227 #464
147 - **Autofocus prevention** is now **off by default.** One of VimFx’s core
148 philosophies is to be nice to your browser habits. Some find autofocus
149 prevention too big a change. Turn it on again if you like it! By the way,
150 autofocus prevention now works much more reliably and should not cause issues
151 with other extensions. #497 #541
153 - The **“Scroll step”** option has been **removed**. The scrolling commands that
154 used it now **work like the arrow keys instead,** and are customized just like
155 them. See [scrolling prefs] for more information.
157 - Speaking of scrolling, **which elements scrolls** when you use VimFx’s
158 scrolling commands **has changed.** See [scrolling commands] for more
165 - `gp` pins or unpins the current tab. (Also see `g^` and `g0` mentioned
167 - `yt` duplicates the current tab. #121
168 - `0` and `^` scroll to the far left, and `$` scrolls to the far right.
169 - [`gi`] has finally been implemented. #47
170 - [Ignore mode `<s-f1>`] let you run a Normal mode command without exiting
173 - In Hints mode you can now hold ctrl and alt to change behavior of the matched
174 marker. Hold shift to temporarily make the hints see-through. See [the `f`
175 commands] for more information. #220 #421 #484
177 - Some commands now accept [counts]. #374
179 - It is now possible to create shortcuts that work inside text inputs. See the
180 [`<force>`] key for more information. #258
182 - It is now possible to create shortcuts that the page can override. See the
183 [`<late>`] key for more information.
185 - A number of [advanced options] have been added. Rather than listing everything
186 regarding them here, follow that link if you’re interested. #452 #489
188 - You may now, if you want to, configure VimFx through a [config file], using
189 the new [public API]. Customizing VimFx through a config file also gives extra
190 abilites, such as [site-specific options][option-overrides] and [disabling
191 certain commands on certain sites][key-overrides]. It also allows to add
192 [custom commands] \(and other extensions to extend VimFx). #158 #235 #255 #261
193 \#300 #408 #445 #490 #515
195 - It is now easier to customize VimFx through custom [styling]. An example is
196 changing the way hint markers look. #220 #233 #424 #432 #465
198 - VimFx now has [documentation] and a [wiki].
200 - A few new locales were added:
202 - fr. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r)!
203 - pt-BR. Thanks to Átila Camurça Alves (@atilacamurca)!
204 - sv-SE. Thanks to Andreas Lindhé (@lindhe)!
208 - VimFx is now multi-process/Electrolysis/e10s compatible! This means that you
209 can run VimFx on a version of Firefox with multi-process enabled without
210 issues, and that we’re future proof for the day when Firefox becomes
211 multi-process by default. Best of all, it also made VimFx more reliable in
212 non-multi-process (“regular”) Firefox. #378
214 - The `[` and `]` commands are now smarter, recognizing more links to the
215 previous/next page correctly. You may read more about [previous/next page
218 - The `n` and `N` commands now notify you when they wrap around the page, or the
219 phrase you searched for could not be found. #398
221 - _All_ shortcuts in _all modes_ can now be customized. For example, this allows
222 you to disable VimFx’s Vim-style `<enter>` behavior in the find bar. #222 #390
225 - The `p` and `P` commands are now smarter regarding whether to treat the
226 clipboard contents as a URL or a search, by working exactly like pasting in
227 the address bar. They also now read the selection clipboard, if available.
230 - VimFx’s toolbar button is now properly implemented. #303 #349 #383
232 - Most locales were updated. Thanks to our awesome [translators]!
234 ##### Minor bug fixes
236 - VimFx now works correctly in tabs dragged to other windows. #57
237 - The `p` command is no longer broken. #494
238 - Non-ASCII shortcut keys now work properly. #433
239 - The Keyboard Shortcuts help dialog can no longer be covered by page elements.
241 - Hint markers can no longer be covered by page elements.
242 - VimFx no longer causes scripts on icloud.com to get stuck in an infinite loop.
245 [advanced options]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#advanced-options
246 [blacklist]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#blacklist
247 [ignore keyboard layout]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#ignore-keyboard-layout
248 [previous/next page patterns]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#previousnext-page-patterns
249 [scrolling prefs]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#scrolling-prefs
250 [counts]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#counts
251 [`gi`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#gi-1
252 [Ignore mode `<s-f1>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#ignore-mode-s-f1
253 [scrolling commands]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#scrolling-commands-1
254 [the `f` commands]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#the-f-commands-1
255 [`<force>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/shortcuts.md#force
256 [`<late>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/shortcuts.md#late
257 [config file]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/config-file.md
258 [public api]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md
259 [option-overrides]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md#vimfxaddoptionoverridesrules
260 [key-overrides]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md#vimfxaddkeyoverridesrules
261 [styling]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/styling.md
262 [toolbar button]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/styling.md
263 [translators]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/PEOPLE.md#translators
264 [documentation]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/
265 [wiki]: https://github.com/akhodakivskiy/VimFx/wiki/
266 [custom commands]: https://github.com/akhodakivskiy/VimFx/wiki/Custom-Commands
267 [commit 3552282]: https://github.com/akhodakivskiy/VimFx/commit/355228217d7e7a61f5e1edbb9efbfb0f3e4ef81c
269 ### 0.5.17 (2015-01-23)
271 - Fixed: The hints generation no longer crashes on some pages (regression since
274 ### 0.5.16 (2015-01-22)
276 - Fixed: The toolbar button no longer throws errors. (This fix should have been
277 in 0.5.15 but was forgotten. Luckily an AMO reviewer found it.)
279 ### 0.5.15 (2015-01-21)
281 - Improved: This version is now forwards-compatible with the upcoming version
282 0.6.0. Downgrading from 0.6.0 to 0.5.14 or older might cause VimFx to crash,
283 but downgrading from 0.6.0 to 0.5.15 is safe.
284 - Fixed: Non-hintchars key presses in hints mode are now suppressed. They used
285 to be passed along to the browser, which could confusingly activate site
287 - Fixed: The 'f' command now always opens links in the same tab. Links used to
288 be able to force a new tab or window.
289 - Fixed: Pressing 'Esc' in the location bar now restores the URL, as is the
290 default behaviour of Firefox. You may now also close Firefox dialogs using
292 - Improved: Updated the de locale. Thanks to Alexander Haeussler!
293 - Improved: Updated the pl locale. Thanks to morethanoneanimal!
295 ### 0.5.14 (2014-08-16)
297 - Fixed: Locales should now work properly.
298 - Improved: Updated the zh-CN locale (@mozillazg).
299 - Improved: Updated the de locale (@Kambfhase).
300 - Added: Japanese locale (@pluser).
301 - Fixed: If you switched to another tab or window while an `<input>` element
302 was focused and then switched back, the `<input>` element got blurred, while
303 it should have stayed focused. This caused the auto-type feature of KeePassX
306 ### 0.5.13 (2014-08-02)
308 - Fixed: The vote button on StackExchange sites are now markable again.
309 - Improved: Detection of previous/next links. Should work better on gmail now.
310 - Fixed: It is now possible to use Enter/Return in keyboard shortcuts.
311 - Improved: The n/N commands (etc.) now work even if you didn’t open the finbar
312 using the VimFx command (such as the default key binding ctrl+f, or by
313 clicking a menu item).
314 - Improved: It is now possible to blur text inputs without sending Esc to the
315 page, which could cause dialogs etc. to annoyingly close.
316 - Improved: Updated the el-GR locale (@sirodoht).
317 - Fixed: Autofocus prevention sometimes made text inputs impossible to focus
318 until you reloaded the page.
319 - Improved: Autofocus prevention now works on more sites than before.
320 - Improved: Autofocus prevention now prevents _all_ automatic focusing (not
321 just when the page loads). This makes devdocs.io much easier to use.
322 - Added: When viewing images directly and the image has been resized to fit the
323 screen the image is now markable, allowing you to toggle zoom on it using the
325 - Fixed: It is no longer possible to add conflicting shortcuts (such as adding
326 'a' when 'af' and 'as' are already present).
328 ### 0.5.12 (2014-06-01)
330 - Fixed: Autofocus preventiton got stuck sometimes, making it impossible to
333 ### 0.5.11 (2014-06-01)
335 - Fixed: The focus search bar command was broken.
336 - Fixed: Autofocus prevention was broken.
337 - Fixed: The top bar on YouTube could not be accessed by VimFx.
338 - Fixed: You can no longer add blank hotkeys.
339 - Improved: Tab Groups are supported.
340 - Improved: Matching of previous/next links should be more reliable.
341 - Improved: A few minor things.
343 ### 0.5.10 (2014-05-07)
345 - Fixed yet another bug related to the default pereferences
347 ### 0.5.9 (2014-05-04)
349 - Fixed a bug with default preferences not being set
350 - Fixed gg and G to be faster
352 ### 0.5.8 (2014-04-18)
354 - AMO Preliminary Review bug fix (sorry for such long delay)
356 ### 0.5.7 (2014-03-03)
360 ### 0.5.6 (2014-02-26)
362 - Updated some translations
363 - Updated pagination patterns and logic
365 ### 0.5.5 (2014-01-03)
367 - Hotfix release to address a bug that has been introduced in 0.5.4
369 ### 0.5.4 (2014-01-03)
371 - Fix for popup passthrough mode stucking
372 - Make toolbar button click depend on current mode
373 - Higher weight markers should not be overlapped
374 - Refactor find mode to use Firefox native search bar
375 - Bump minimum requred Firefox version to 25
376 - Added commands to go in the URL path
377 - Added commands to navigate previous and next links with customizable link
379 - Use Firefox 24+ native console API
380 - Update zh-CN localization
382 ### 0.5.3 (2013-10-16)
384 - Lots of refactoring
385 - Insert mode (`i` command)
386 - Follow multiple links with `af` command
387 - Hint marker rotation with `space` while in hints mode
389 ### 0.5.1 (2013-08-21)
391 - Fixed regression with stylesheets
396 - Added command to focus search bar: `O`
397 - Added commands to stop loading current page and all pages: `s` and `as`
398 - Invisible elements will not get hint markers
399 - Compatibility with Firefox 25
400 - Simple shortcut customization with UI in Help dialog
401 - Use huffman coding algorithm for hint markers generation which results in
403 - Implemented Bloom filters to achieve shorter hints for those shortcuts that
405 - Reimplemented scrolling - now works with pages wihere window is not scrollable
406 - Find disabled on non HTML documents
407 - Find string is now global for all windows.
408 - Fixed logic of locale discovery. Now we rely on general.useragent.locale
409 Firefox preference for current locale
411 ### 0.4.8 (2013-06-12)
413 - `embed` and `object` tags will now have their own hints
414 - Bug fixes related to custom hint chars (@LordJZ)
415 - Fixed `t` - now it will be nice to other extensions
416 - Updated Chineese translations (@mozillazg)
417 - Reenter Normal mode on page reloads to avoid getting stuck in Hints mode
419 - Search will focus element that contains matching text
420 - Fixed hint markers for iframes
421 - Marker bug fixes (@LordJZ)
423 ### 0.4.6 (2013-03-27)
425 - Reimplemented find mode: CJK support, performace boost
426 - `a/` or `a.` to highlight all matches of the search string on the page
427 - Hint markers will now reach into iframes
428 - Key handling is disabled when a popupmenu or panel are shown
429 - `yf` will now also focus links and copy values from text/textarea element
430 - `vf` will show hit markers to focus the underlying element
432 ### 0.4.5 (2013-03-12)
434 - `:` to open Firefox Developer Toolbar, `Esc` to close it.
435 - Add Hungarian locale (@thenonameguy).
436 - Add Polish locale (@grn).
437 - Don't close pinned tabs when pressing x (@grn).
438 - Switched to Makefile for building the extension release (@carno).
439 - Mrakers CSS tweaks (@helmuthdu)
441 ### 0.4.4 (2013-01-30)
443 - Thanks to @mozillazg and @mcomella for translation contributions.
444 - Added `gh` command that will navigate to the home page.
445 - Added `o` command to focus address bar.
446 - `p` and `P` will parse the contents of the clipboard. If the string in the
447 clipboard appears to be a url then it will navigate to this url. Otherwise it
448 will search for the string in the clipboard using currently selected search
450 - Now hint markers for links will stay on top of all the markers for different
452 - Esc will now also close the focused default search bar.
453 - Fixed bugs related to keyboard events handling, XUL documents, and some other
455 - Bug fixed where not all the commands could be disabled via the Help dialog.
457 ### 0.4.3 (2012-12-27)
459 - Toolbar button bugfix
460 - Added an option to disable individual commands via the help dialog
462 ### 0.4.1, 0.4.2 (2012-12-12)
464 - Small tweaks of the find feature.
465 - Bugfix for keyboard handling on non-english keyboard layouts
469 - Implemented find with `/` and `n/N`
470 - Added `ar` and `aR` commands to reload pages in all open tabs.
471 - Added a preference that enables bluring from any element that has input focus
472 in the browser on Esc keydown (on by default)
473 - Fixed bug where markers and help dialog would blow up some of the pages.
474 - Marker hints are now sorted with respect to the underlying element area.
475 Elements with larger area get shorter hints
476 - Added *mail.google.com* to the default black list
477 - Various bug fixed and improvements.
479 ### 0.3.2, 0.3.2, 0.3.3 (2012-11-20)
481 - Hotfixes for the build script to include localization related files and folders
485 - Fixed [Desktop](https://addons.mozilla.org/en-us/firefox/addon/desktop/)
486 extension compatibility problem
487 - Removed c-b/c-f for now. c-f is a standard search hotkey. Will put c-f back
488 when proper Vim-like search with / is implemented
489 - Scrolling with G will now reach the bottom of the page
490 - Implemented localization, currently there is only Russian localization.
491 Community is welcome [to contribute your localizations](https://github.com/akhodakivskiy/VimFx/tree/master/extension/locale)!
492 - Implemented simple smooth scolling
496 - document.designMode='on' is now honored. Will also provide hint markers for
498 - Bug fixed where it would completely reset the toolbar while installing the
500 - Bug fixed where it's not possible to change the text in the blaclisting
502 - Changed u/d to scroll half a page, added c-f/c-b to scroll full page
503 - Added tab movement commands: c-J and c-K.
504 - Invisible markers bug fixed.
505 - Global hotkey to disable the commands (equal to the toolbar button click):
507 - ^u and ^d are removed from the command list. ^u is commonly used to show the
509 - Opening new tab with now focuses the Address Bar
510 - Other small bugs nailed down.
512 ### 0.1.1 (2012-10-27)
514 - Just to deal with AMO - no changes