]> git.gir.st - VimFx.git/blob - CHANGELOG.md
VimFx v0.17.0
[VimFx.git] / CHANGELOG.md
1 ### 0.17.0 (2016-06-08)
2
3 - Fixed: VimFx no longer scrolls smaller elements on a page instead of the
4 entire page on some sites.
5 - Improved: The `/`, `n` and `N` have been drastically sped up (when
6 [`find_from_top_of_viewport`][find_from_top_of_viewport-1] is on). Previously,
7 they appeared to freeze on some sites, but not anymore.
8 - Improved: You can no longer accidentally trigger VimFx between pressing `/`
9 and the find bar input being is focused.
10 - Improved: The `n` and `N` commands are now more robust.
11 - Improved: “Fullscreen” buttons and “Copy to clipboard” buttons can now be
12 activated the `f` command. Thanks to Alan Wu (@XrXr)!
13 - Changed: After having pressed `m` or `` ` `` VimFx no longer waits
14 indefinitely for you to press a mark key. Instead, the [timeout] option is
15 honored.
16 - Changed: After having pressed `m` or `` ` `` you can now press `<escape>` to
17 abort those commands.
18 - Changed: Find mode is no longer shown in VimFx’s Keyboard Shortcuts help
19 dialog, to reduce clutter. (This can be changed through custom
20 [styling][styling-1].)
21 - Changed: The `?` command as well as the toolbar button now _toggle_ VimFx’s
22 Keyboard Shortcuts help dialog (instead of always showing it, even if it was
23 already shown.)
24 - Changed: Counts are now ignored in Ignore mode. Previously, pressing number
25 keys would both send those key presses to the page _and_ contribute to the
26 count for commands (showing up in the bottom-right corner). This is no longer
27 the case.
28 - Updated locales: fr, zh-CN and zh-TW. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r),
29 @av2000ii and Robert Wang (@cyberrob)!
30
31 [find_from_top_of_viewport-1]: https://github.com/akhodakivskiy/VimFx/blob/288bd3317cbed3a57e42a754099b96efe6c1e38d/documentation/options.md#find_from_top_of_viewport
32 [timeout]: https://github.com/akhodakivskiy/VimFx/blob/288bd3317cbed3a57e42a754099b96efe6c1e38d/documentation/options.md#timeout
33 [styling-1]: https://github.com/akhodakivskiy/VimFx/blob/288bd3317cbed3a57e42a754099b96efe6c1e38d/documentation/styling.md
34
35 ### 0.16.1 (2016-05-29)
36
37 - Fixed: The `zF` command no longer crashes (regression since 0.16.0).
38
39 ### 0.16.0 (2016-05-29)
40
41 - Fixed: The text input focus detection problems introduced in 0.15.1, which
42 sometimes caused VimFx commands to be triggered while typing in text inputs,
43 have been fixed.
44 - Improved: If you press `n` or `N` when there are are no matches for your
45 search, the find bar is no longer opened. Only a notification is shown. The
46 reliability of those notifications has also been improved.
47 - Improved: Hints mode now finds more links.
48 - Improved: Pressing `<c-enter>` in Hints mode now includes more elements.
49 - Updated locales: es, zh-CN. Thanks to @strel and @av2000ii!
50
51 ### 0.15.1 (2016-05-22)
52
53 - Improved: Better hints on Twitter.
54 - Improved: Compatibility with the [Evernote Web Clipper] add-on (and
55 potentially other add-ons with similar UI).
56 - Updated locale: ja. Thanks to Kaoru Esashika (@pluser)!
57
58 [Evernote Web Clipper]: https://addons.mozilla.org/firefox/addon/evernote-web-clipper/
59
60 ### 0.15.0 (2016-05-18)
61
62 - Improved: Hint markers now appear up to twice as fast on many pages. This is
63 done by creating the hint markers in two phases. Most are created in the
64 first, fast, phase. The rest take the same time as older VimFx versions to
65 show up.
66 - Fixed: VimFx no longer triggers commands while typing in fancy text inputs on
67 some sites, such as when composing a new tweet on Twitter. (See also the
68 [`blur_timeout`] pref.)
69 - Changed: The `<c-enter>` Hints mode command no longer _replaces_ all hint
70 markers on screen (with new ones for all elements on screen). Instead, it
71 _toggles_ your current hint markers with ones for all _other_ elements on
72 screen.
73 - Changed: There was a breaking change to the [`vimfx.setHintMatcher`] function
74 of the `frame.js` config file API. It no longer receives and returns an object
75 (of the shape `{type, semantic}`), but instead simply receives and returns the
76 `type` of the element.
77 - Improved: Some internal robustness refactoring.
78 - Updated locales: de, id, nl and zh-CN. Thanks to @just-barcodes, Yoppy
79 Halilintar (@comepradz), @HJTP, @av2000ii and @mozillazg.
80
81 [`blur_timeout`]: https://github.com/akhodakivskiy/VimFx/blob/4a1d2468ee558ad1fdf9a4ab60f942d81bbc0b57/documentation/options.md#blur_timeout
82 [`vimfx.setHintMatcher`]: https://github.com/akhodakivskiy/VimFx/blob/4a1d2468ee558ad1fdf9a4ab60f942d81bbc0b57/documentation/api.md#vimfxsethintmatcherhintmatcher
83
84 ### 0.14.3 (2016-05-08)
85
86 - Fixed: Version 0.14.2 attempted to fix smooth scrolling speed in newer Firefox
87 versions. However, there was a tiny typo that caused the fix not to work. That
88 typo has been corrected.
89
90 ### 0.14.2 (2016-05-08)
91
92 - Fixed: Smooth scrolling speed is now correct again in newer Firefox versions.
93 - Fixed: The `yv` Caret mode command now only copies text that you can see on
94 screen (not any hidden text that might be on the page), making it truly work
95 like `zv` followed by `y`, as intended. This problem was very noticeable on
96 Slack. This also improves copying of 'contenteditable' elements using `yf`.
97 - Fixed: `<escape>` and arrow key handling as well as hint markers in the
98 devtools now work correctly again in newer Firefox versions.
99 - Fixed: VimFx no longer makes it impossible to open the Developer Toolbar.
100 - Improved: VimFx now ignores `<numlock>` and `<capslock>`. If your keyboard
101 sends `<numlock>` before some symbols, such as `<numlock>$` instead of just
102 `$`, shortcuts like `gx$` now work out of the box. This also means that you
103 can use `<capslock>` instead of `<shift>` when typing the `J` in `gJ`, for
104 example.
105 - Improved: Some minor cosmetic tweaks in VimFx’s Keyboard Shortcuts help
106 dialog.
107
108 ### 0.14.1 (2016-04-30)
109
110 - Fixed: The Find commands (such as `/`, `n` and `N`) no longer crash on some
111 sites (regression since 0.14.0).
112
113 ### 0.14.0 (2016-04-29)
114
115 - Added: [Caret mode], which lets you copy text from web pages using the
116 keyboard.
117 - Improved: The Find commands (such as `/`, `n` and `N`) now search from the top
118 of the viewport, instead of from the top of the document, which is more
119 Vim-like and less disorienting. To read more about it (or to return to the
120 Firefox default behavior) please see the [`find_from_top_of_viewport`] pref.
121 - Improved: Compatibility with the [BackTrack Tab History] add-on.
122 - Added: The `<c-enter>` Hints mode command, which creates hint markers for
123 _all_ elements.
124 - Fixed: `__dirname` inside config files now works on Windows. Thanks to
125 Zhong Jianxin (@azuwis)!
126 - Fixed: Unnecessary full-page hint markers on some sites, such as Hackernews,
127 no longer appear.
128
129 [Caret mode]: https://github.com/akhodakivskiy/VimFx/blob/4ffda62560096f91244f3f7731171002ed174f05/documentation/commands.md#the-v-commands--caret-mode
130 [`find_from_top_of_viewport`]: https://github.com/akhodakivskiy/VimFx/blob/4ffda62560096f91244f3f7731171002ed174f05/documentation/options.md#find_from_top_of_viewport
131 [BackTrack Tab History]: https://addons.mozilla.org/firefox/addon/backtrack-tab-history/
132
133 ### 0.13.2 (2016-04-08)
134
135 - Improved: The “last position mark” `` ` `` now works more reliably.
136 - Improved: More video players are now recognized. Many video players lets you
137 press `<space>` while focused to toggle play/pause. VimFx tries to detect if
138 the currently focused element is a video player. If so, `<space>` is passed to
139 the video player instead of scrolling the page. (For those interested, see
140 also the [`adjustable_element_keys`] pref.)
141
142 [`adjustable_element_keys`]: https://github.com/akhodakivskiy/VimFx/blob/645e35d7d82019b0551534c43926bc126e7105bd/documentation/options.md#adjustable_element_keys
143
144 ### 0.13.1 (2016-04-01)
145
146 - Fixed: Blacklisting of some XUL pages.
147 - Fixed: The current mode is no longer lost when a page loads. For example, if
148 you press `zF` while a page is loading, the markers no longer disappear.
149 - Fixed: Elements that you have focused using an `f` command no longer get stuck
150 appearing as if you’d put the mouse pointer.
151 - Updated locale: zh-CN. Thanks to @mozillazg!
152
153 ### 0.13.0 (2016-03-19)
154
155 - Added: The `T` command, which opens a new tab after the current.
156 - Changed: The `gl` command now deals with _visited_ tabs only.
157 - Added: The [`gL`] command, which deals with <em>un</em>visited tabs only, in
158 oldest-first order. Use this to step through your unvisited background tabs in
159 the order you opened them (for example using the `F` command).
160 - Improved: The `gi` command no longer tries to focus the last focused text
161 input if it has been removed from the page. If so, it finds a new one instead.
162 - Fixed: You can now type in sidebar text inputs (such as in the history
163 sidebar) without having to switch to Ignore mode.
164 - Changed: If you enter Ignore mode you will now stay in Ignore mode in that tab
165 until you explicitly exit it (by pressing `<s-escape>`), even if you reload
166 the page or follow a link. If Ignore mode was entered automatically because of
167 the [blacklist][blacklist-2], though, you will be automatically returned to
168 Normal mode if
169 the URL changes to a non-blacklisted page.
170 - Added: VimFx can now automatically enter and exit Ignore mode based on the
171 currently focused element. Currently, the [wasavi] extension as well as
172 [CodeMirror] in Vim mode are detected. Both of those provide Vim-style
173 editors. This allows sending `<escape>` to those editors in order to exit
174 their Insert mode, without blurring the editor.
175 - Improved: CodeMirror editors now get better hints, keeping the cursor where
176 you left it.
177 - Improved: The [blacklist][blacklist-2] is now applied faster on some pages.
178 - Improved: Many audio and video elements are now recognized as “adjustable”,
179 allowing you to press for example `<space>` on them to toggle play/pause,
180 without scrolling the page.
181 - Improved: Scrolling by pages, such as using the `<space>` command, now takes
182 fixed heaears and footers into account, just like Firefox does.
183 - Fixed: Access keys now work correctly in context menus in the devtools and
184 `about:config`.
185 - Improved: The arrow keys now Just Work in the devtools, even if you have bound
186 them to VimFx commands.
187 - Changed: The public API has been removed, and turned into the Config file API.
188 If you were already using a config file, it will no longer work. You need to
189 set up a new one, but you should be able to simply copy and paste the contents
190 of the old one into the new one. Read the [config file] documentation for more
191 information.
192 - Changed: There are a few minor breaking changes to the API, though I doubt it
193 will affect anyone.
194 - If you use [`vimfx.on`], you probably need to adjust the arguments of the
195 your callbacks. They are now _always_ passed an object of data, instead of
196 sometimes passing the data directly.
197 - `match.focus` of [match object]s has been removed, and replaced by
198 `vim.focusType` of [vim object]s.
199 - Fixed: The toolbar button’s icon is now correctly sized when setting
200 `layout.css.devPixelsPerPx` to `2`. Thanks to Robert Ma (@Hexcles) and Dale
201 Whinham (@dwhinham)!
202 - Fixed: Find commands now work when the find bar was opened before the page had
203 finished loading.
204 - Improved: Lots of internal improvements. This should make VimFx faster, more
205 reliable and more responsive.
206 - All keyboard event handling (except `<late>` shortcuts) are now handled in
207 the UI process, instead of mostly in each tab’s web page content process.
208 This should make VimFx’s shortcuts more reliable and responsive.
209 - Removed all synchronous message passing (execpt for `<late>` keypresses).
210 Mozilla recommends using them only where absolutely necessary. Turns out
211 VimFx doesn’t need them anymore!
212 - The `f` commands are now more reliable. Before, they could crash on rare
213 occasions (on certain web pages), but that is less likely now.
214 - Less `MutationObserver`s are now used. This should improve performance.
215 - Less uncaught errors (especially on shutdown).
216 - Lots of minor improvements.
217 - Updated locale: ja. Thanks to Kaoru Esashika (@pluser)!
218
219 [`gL`]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/commands.md#gl-1
220 [blacklist-2]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/options.md#blacklist
221 [wasavi]: http://appsweets.net/wasavi/
222 [CodeMirror]: https://codemirror.net/demo/vim.html
223 [config file]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/config-file.md
224 [`vimfx.on`]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/api.md#vimfxoneventname-listener-and-vimfxoffeventname-listener
225 [match object]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/api.md#match-object
226 [vim object]: https://github.com/akhodakivskiy/VimFx/blob/44b3e1bc350ceb1560176ee5b4ae97d9671a04db/documentation/api.md#vim-object
227
228 ### 0.12.0 (2016-02-03)
229
230 - Improved: More clickable elements are now recognized. Most notably, elements
231 with click event listeners added by JavaScript now get hints.
232 - Improved: Autofocus prevention after using the `[` and `]` commands.
233 - Added: In VimFx’s Keyboard Shortcuts help dialog (which can be opened by
234 pressing `?`) you can now click on any command to open VimFx’s settings page
235 in the Add-ons Manager and automatically select the text input for that
236 command, letting you edit its shortcuts. Tip: Use the `zF` command to click
237 without using the mouse.
238 - Changed: Autofocus is no longer prevented in Firefox internal pages, such as
239 `about:preferences`, `about:addons` and `about:config` (as well as other XUL
240 pages).
241 - Fixed: VimFx and the Beyond Australis extension do not conflict with each
242 other anymore.
243 - Fixed: The `gH` command no longer nags you about “No back/forward history”
244 even though there is.
245 - Added: The `gl` command now takes a [count][gl-count].
246 - Improved: Optimized CPU usage in Hints mode. (See also the [`hints_sleep`]
247 pref.)
248 - Improved: The `H` and `L` commands should now be more reliable in Firefox 43
249 and later.
250 - Changed: There was a tiny breaking change to the Public API, though I doubt it
251 will affect anyone. (See [commit 0ca807605e] if you’re especially interested.)
252 - Improved: _Several_ minor things, and some really nice internal refactoring.
253 - Updated locale: de. Thanks to @just-barcodes!
254
255 [`hints_sleep`]: https://github.com/akhodakivskiy/VimFx/blob/92b483c4a4f6da0b2c998267e0f01d3d999f93b6/documentation/options.md#hints_sleep
256 [gl-count]: https://github.com/akhodakivskiy/VimFx/blob/92b483c4a4f6da0b2c998267e0f01d3d999f93b6/documentation/commands.md#gl
257 [commit 0ca807605e]: https://github.com/akhodakivskiy/VimFx/commit/0ca807605e8d69fdc01ef9ce5d539cf66ce7d96f
258
259 ### 0.11.0 (2016-01-15)
260
261 - Fixed: The `` ` `` command is no longer broken.
262 - Fixed: Memory leak.
263 - Added: The `gl` command, which takes you to the most recent tab.
264 - Improved: The Keyboard Shortcuts help dialog is now scrollable using VimFx’s
265 scrolling commands. To allow for this, the search field is no longer
266 autofocused. Instead, press `/` to open it.
267 - Improved: Using the `f` commands, such as `f` and `zf`, now works like
268 actually moving your mouse onto the link, making hover menus and such-like
269 appear.
270 - Improved: VimFx should now work better with Google Drive Documents, Etherpad
271 and a few other fancy text editors.
272 - Improved: The `]` command now works on google.com.
273 - Improved: Checkboxes and menu items on gmail.com are now given hints by the
274 `f` command.
275 - Improved: The `gi` command now also recognizes 'contenteditable' elements.
276 - Improved: Hint markers now move along together with their elements.
277 - Fixed: Hint markers should now be correctly positioned when zooming.
278 - Fixed: The toolbar button icon should now look correctly on Retina screens.
279 - Added: You may now disable counts by using toggling the [`counts_enabled`]
280 pref.
281 - Updated locale: de. Thanks to @just-barcodes!
282 - Improved: Several minor things.
283
284 [`counts_enabled`]: https://github.com/akhodakivskiy/VimFx/blob/8dae7aec9008595da31b939d5ae2d239849cf6dc/documentation/options.md#counts_enabled
285
286 ### 0.10.0 (2015-12-09)
287
288 - Added: The `zF` command, which lets you click browser elements.
289 - Improved: The scrolling commands can now scroll browser elements (in other
290 words, not only web page content), by first selecting the scollable element
291 using `zF`.
292 - Added: The `gr` command, which toggles [Reader View].
293 - Added: The `gX` command, which opens the Recently Closed Tabs menu at the
294 middle of the screen.
295 - Added: The keys you’ve typed so far of a command, as well the count, are now
296 shown in a [notification]. (You may disable this using the
297 [`notify_entered_keys`] pref.)
298 - Improved: When commands don’t do anything, they show a [notification] instead,
299 letting you know that you actually pressed the right keys. For example, if you
300 press `f` but there are no markable elements visible, a notification is shown
301 telling you so, instead of silently doing nothing.
302 - Improved: `<space>` now scrolls _about a line less_ than a full page, just
303 like Firefox does by default. `d` scroll about _half_ a line less (by
304 default), so that pressing `d` twice works like pressing `<space>` once. (See
305 the [`scroll.full_page_adjustment` and `scroll.half_page_adjustment`] prefs
306 for more information.)
307 - Improved: `gi` now only selects all text in its text input if you haven’t
308 focused a text input yet (allowing you to easily replace pre-filled text),
309 instead of _always_ doing so. Otherwise, it now puts the cursor where you left
310 off typing the last time.
311 - Fixed: The `f` commands now put the cursor where you left off typing the last
312 time when focusing a text input. Previously, they accidentally selected all
313 text in the text input (use `zf` for that behavior).
314 - Fixed: Yet a scrolling fix. VimFx’s scrolling commands should now “just work”
315 on even more sites.
316 - Fixed: AltGr should now work out of the box on Windows. (See the
317 [`ignore_ctrl_alt`] pref for more information.)
318 - Removed: The el-GR, hu and pl locales were sadly too out of date to be useful,
319 and nobody has shown interest in updating them, so they were removed.
320 - Updated locales: id, de and zh-CN. Thanks to Yoppy Halilintar, @just-barcodes
321 and @mozillazg!
322 - Fixed: Several tiny bugs.
323
324 [Reader View]: https://support.mozilla.org/kb/firefox-reader-view-clutter-free-web-pages
325 [notification]: https://github.com/akhodakivskiy/VimFx/blob/ba9d4675e19ce315e6855b64400aae092e727975/documentation/notifications.md
326 [`notify_entered_keys`]: https://github.com/akhodakivskiy/VimFx/blob/ba9d4675e19ce315e6855b64400aae092e727975/documentation/options.md#notify_entered_keys
327 [`scroll.full_page_adjustment` and `scroll.half_page_adjustment`]: https://github.com/akhodakivskiy/VimFx/blob/ba9d4675e19ce315e6855b64400aae092e727975/documentation/options.md#scrollfull_page_adjustment-and-scrollhalf_page_adjustment
328 [`ignore_ctrl_alt`]: https://github.com/akhodakivskiy/VimFx/blob/ba9d4675e19ce315e6855b64400aae092e727975/documentation/options.md#ignore_ctrl_alt
329
330 ### 0.9.0 (2015-12-02)
331
332 - Fixed: Links with the `onclick` attribute can now be opened in new tabs again.
333 (Regression since 0.8.0.)
334 - Fixed: The text size in VimFx’s Keyboard Shortcuts help dialog is now
335 correctly resized.
336 - Added: The `gH` command. It opens the back/forward button context menu in the
337 middle of the window, allowing you to choose a history entry with the arrow
338 keys and `<enter>`.
339
340 ### 0.8.0 (2015-12-01)
341
342 - Fixed: VimFx now works properly in tabs moved to other windows.
343 - Fixed: An unreliable check for multi-process mode has been eliminated, fixing
344 various problems for some users.
345 - Fixed: VimFx’s toolbar button now changes color correctly when switching
346 between blacklisted and non-blacklisted tabs.
347 - Fixed: Dead keys now work out of the box on Windows.
348 - Improved: Links with the `onclick` attribute (abused as buttons) can no longer
349 get the same hint as another link.
350 - Added: The Keyboard Shortcuts help dialog (shown by pressing `?`) is now
351 searchable.
352 - Added: The `g/` command. It’s like `/` but searches links only.
353
354 - Added: [Marks].
355
356 - Use `ma` to mark the current scroll position and `` `a `` to return to it.
357 (You may substitute `a` with any key press.)
358 - Use ``` `` ``` to return to the position before the last `gg`, `G`, `0`,
359 `$`, `/`, `n`, `N` or `` ` ``. (You can change this mark using the
360 [`last_scroll_position_mark`] pref.)
361
362 - Added: Window commands.
363
364 - `w`: Open new window.
365 - `W`: Open new private window.
366 - `gw`: Move tab to new window.
367 - `gF`: Follow link in new window.
368
369 [Marks]: https://github.com/akhodakivskiy/VimFx/blob/47fc699ce8217ee90af4d12e81f102f2bea09d61/documentation/commands.md#marks-m-and-
370 [`last_scroll_position_mark`]: https://github.com/akhodakivskiy/VimFx/blob/47fc699ce8217ee90af4d12e81f102f2bea09d61/documentation/options.md#last_scroll_position_mark
371
372 ### 0.7.3 (2015-11-22)
373
374 - Fixed: Scrolling now works correctly in pages in quirks mode (lacking a
375 doctype), such as Hackernews.
376 - Improved: The largest scrollable element is now detected better in frames.
377 - Fixed: Hints mode now exits correctly when focusing a text input using `af`,
378 or `f` with a count.
379
380 ### 0.7.2 (2015-11-21)
381
382 - Fixed: The blinking text caret now always appears correctly when focusing text
383 inputs.
384
385 ### 0.7.1 (2015-11-21)
386
387 - Fixed: The scrolling commands should now “just work” when using non-default
388 zoom or DPI settings, most notably on Google Groups.
389
390 ### 0.7.0 (2015-11-19)
391
392 - Changed: Instead of using system notifications, which turned out to be a bit
393 too intrusive, [notifications] are now similar to the “URL popup” (shown when
394 hovering or focusing links) but are placed on the opposite side,.
395 - Changed: The “Focus next element” and “Focus previous element” commands have
396 been removed. The reason they existed was to let `<tab>` and `<s-tab>` only
397 cycle between text inputs (as opposed to _all_ focusable elements) after
398 you’ve pressed `gi`. Now, `<tab>` and `<s-tab>` are handled specially instead,
399 and _only_ after pressing `gi`. The reason for this change is that the now
400 removed commands were too intrusive, breaking user habits. One of VimFx’s main
401 goal is _not_ to do that. (You can turn the special handling of `<tab>` and
402 `<s-tab>` off using the the new [`focus_previous_key` and `focus_next_key`]
403 prefs.)
404 - Fixed: The scrolling commands should now “just work” in a lot more situations,
405 most notably on Gmail and Google Groups. More scrollable elements are also
406 recognized by the `f` and `zf` commands.
407 - Improved: The right border of hint markers for scrollable elements is now
408 styled to remind of a scroll bar, making them easier to recognize among hints
409 for links.
410 - Improved/Changed: `J` and `gJ` now allow a count on the first tab.
411 Consequently, `K` and `gK` now allow a count on the _last_ tab.
412 - Changed: `gJ` and `gK` can no longer be used to pin or unpin tabs. They now
413 only wrap around tabs of the same pinned state. Use `gp` to toggle between
414 pinned and non-pinned.
415 - Fixed: Many elements that got a hint before VimFx 0.6.0 now do again.
416 - Improved: Comment fields on Facebook can now be focused using `f` and blurred
417 using `<escape>`.
418 - Improved: VimFx’s toolbar button is no greyed out when you focus a text input.
419 This is to show that your key presses will be passed into the text input
420 rather than activating VimFx commands.
421 - Added: [`g0`, `g^` and `g$` now accept counts][tab-index-counts], allowing you
422 to go to tab number _count._
423 - Improved: `gi` now finds text inputs inside frames.
424 - Fixed: “gi mode” is now exited properly when blurring a text input.
425 - Fixed: `<select>` elements are no longer considered to be text inputs when
426 using `<tab>` and `<s-tab>` in “gi mode.”
427 - Fixed: Using `<force>` or `<late>` in a shortcut no longer applies to _every_
428 shortcut for the command, but only that shortcut.
429 - Fixed: The order of the Previous/Next page patterns is now respected. This
430 caused the wrong link to be picked by the `[` and `]` commands on some pages.
431
432 [`focus_previous_key` and `focus_next_key`]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/options.md#focus_previous_key-and-focus_next_key
433 [notifications]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/notifications.md
434 [tab-index-counts]: https://github.com/akhodakivskiy/VimFx/blob/d70b5bb14be89d9ce52138b0e9abdef1b31ad337/documentation/commands.md#g0-g-g
435
436 ### 0.6.2 (2015-11-11)
437
438 - Improved: If the entire page isn’t scrollable, the largest scrollable element
439 is scrolled instead.
440 - Fixed: VimFx’s keyboard shortcuts now works on slowly loading pages.
441 - Fixed: Numbers may now be used as shortcut keys (overriding counts).
442 - Fixed: The toolbar button’s icon is now correctly sized in high DPI.
443 - Fixed: Hint markers are now correctly positioned when zooming using the “Zoom
444 text only” option.
445 - Fixed: The `P` command now works with the InstantFox add-on.
446
447 ### 0.6.1 (2015-11-10)
448
449 - Fixed: If you customized the “esc” command before VimFx 0.6.0 it should now
450 work as expected.
451 - Fixed: `<tab>` now works as expected in the location bar and in the dev tools.
452 - Fixed: Light-weight themes can no longer make VimFx’s Keyboard Shortcuts help
453 dialog and hint markers unreadable.
454 - Added: The [notifications\_enabled] option.
455
456 [notifications\_enabled]: https://github.com/akhodakivskiy/VimFx/blob/56c4b7c514ea8b58d2cdcecf3d2654648c48ca31/documentation/options.md#notifications_enabled
457
458 ### 0.6.0 (2015-11-09)
459
460 ##### Most important (breaking) changes
461
462 - VimFx now works properly with **any keyboard layout.** Users of **multiple
463 layouts** should enable the **[ignore keyboard layout] option.** #249 #259
464
465 - Features related to disabling VimFx, and to the [toolbar button]:
466
467 - **Insert Mode** has been renamed to **_Ignore_ mode.**
468 - **[Blacklisted][blacklist] sites** now **enter Ignore mode automatically,**
469 instead of being specially handled.
470 - The feature to click the toolbar button (or press `<a-V>`) to **disable
471 VimFx** has been **removed.** Use **Ignore mode** (`i`) and the
472 **[blacklist] instead.**
473 - The **toolbar button** is now **red in Ignore mode** (which also means that
474 it is red on blacklisted sites) and green otherwise (never grey anymore).
475 - The toolbar button no longer offers to (un-)blacklist the current domain.
476 (Head into VimFx’s settings page in the Add-ons Manager and add
477 `*currentdomain.com*` to the [blacklist] option yourself instead.)
478
479 (See [commit 3552282] for more information.)
480
481 - **Some default shortcuts have changed,** mostly because they conflicted with
482 standard Firefox shortcuts: #308
483
484 - `<c-J>` → `gJ`
485
486 - `<c-K>` → `gK`
487
488 - `g^` and `gH` → `g0`
489
490 `g^` now selects the first _non pinned_ tab instead, while `g0`
491 selects the first tab regardless of whether it is pinned or not. #317
492
493 - `<c-e>` (alias for `j`) and `<c-y>` (alias for `k`) have been removed.
494
495 - `<c-f>` → `<space>` and `<c-b>` → `<s-space>`
496
497 - `vf` → `zf`
498
499 This frees up `v` for future shortcuts (instead making `z` a
500 “namespace” key, just like in Vim).
501
502 - To **exit Ignore mode:** `<escape>` → `<s-escape>`. This is because Ignore
503 mode has replaced the disable feature, as well as the special blacklist
504 state (see above). Sites are likely to use `<escape>` but not `<s-escape>`.
505 (In a way, this new role of Ignore mode also means that the old (many times
506 broken) shortcut to disable VimFx (`<a-V>`) has been replaced by `i`.) #64
507 \#375 #432
508
509 - VimFx’s Keyboard Shortcuts help dialog is now help only, and more accessible.
510 To **customize keyboard shortcuts,** go to VimFx’s settings page **in the
511 Add-ons Manager,** just like you would to customize other settings. Also,
512 **commas** between every key are **no longer needed:** Type `gJ` instead of
513 `g,J`.
514
515 - For performance reasons, **Hint markers** are now placed vertically **centered
516 instead of at the top** of the element. Don’t be surprised if you see the same
517 hint repeated several times**—links that go to the same place now get the same
518 hint.** The “Smart hints” option has been removed—hints are _always_ smart
519 now, and a lot smarter than before. Finally, hints now also work in the new
520 tab page, the Add-ons Manager and the preferences page. If you want to, you
521 can read more about [the `f` commands]. \#51 #60 #176 #320 #325 #468 #471 #475
522
523 - The **`F`** command now _always_ opens tabs in new **background** tabs, while
524 **`gf`** has been added to open tabs in new **foreground** tabs. #227 #464
525
526 - **Autofocus prevention** is now **off by default.** One of VimFx’s core
527 philosophies is to be nice to your browser habits. Some find autofocus
528 prevention too big a change. Turn it on again if you like it! By the way,
529 autofocus prevention now works much more reliably and should not cause issues
530 with other extensions. #497 #541
531
532 - The **“Scroll step”** option has been **removed**. The scrolling commands that
533 used it now **work like the arrow keys instead,** and are customized just like
534 them. See [scrolling prefs] for more information.
535
536 - Speaking of scrolling, **which elements scrolls** when you use VimFx’s
537 scrolling commands **has changed.** See [scrolling commands] for more
538 information.
539
540 ##### New features
541
542 - New commands:
543
544 - `gp` pins or unpins the current tab. (Also see `g^` and `g0` mentioned
545 above.) #121
546 - `yt` duplicates the current tab. #121
547 - `0` and `^` scroll to the far left, and `$` scrolls to the far right.
548 - [`gi`] has finally been implemented. #47
549 - [Ignore mode `<s-f1>`] let you run a Normal mode command without exiting
550 Ignore mode.
551
552 - In Hints mode you can now hold ctrl and alt to change behavior of the matched
553 marker. Hold shift to temporarily make the hints see-through. See [the `f`
554 commands] for more information. #220 #421 #484
555
556 - Some commands now accept [counts]. #374
557
558 - It is now possible to create shortcuts that work inside text inputs. See the
559 [`<force>`] key for more information. #258
560
561 - It is now possible to create shortcuts that the page can override. See the
562 [`<late>`] key for more information.
563
564 - A number of [advanced options] have been added. Rather than listing everything
565 regarding them here, follow that link if you’re interested. #452 #489
566
567 - You may now, if you want to, configure VimFx through a [config file], using
568 the new [public API]. Customizing VimFx through a config file also gives extra
569 abilities, such as [site-specific options][option-overrides] and [disabling
570 certain commands on certain sites][key-overrides]. It also allows to add
571 [custom commands] \(and other extensions to extend VimFx). #158 #235 #255 #261
572 \#300 #408 #445 #490 #515
573
574 - It is now easier to customize VimFx through custom [styling]. An example is
575 changing the way hint markers look. #220 #233 #424 #432 #465
576
577 - VimFx now has [documentation] and a [wiki].
578
579 - A few new locales were added:
580
581 - fr. Thanks to Mickaël RAYBAUD-ROIG (@m-r-r)!
582 - pt-BR. Thanks to Átila Camurça Alves (@atilacamurca)!
583 - sv-SE. Thanks to Andreas Lindhé (@lindhe)!
584
585 ##### Improvements
586
587 - VimFx is now multi-process/Electrolysis/e10s compatible! This means that you
588 can run VimFx on a version of Firefox with multi-process enabled without
589 issues, and that we’re future proof for the day when Firefox becomes
590 multi-process by default. Best of all, it also made VimFx more reliable in
591 non-multi-process (“regular”) Firefox. #378
592
593 - The `[` and `]` commands are now smarter, recognizing more links to the
594 previous/next page correctly. You may read more about [previous/next page
595 patterns]. #396
596
597 - The `n` and `N` commands now notify you when they wrap around the page, or the
598 phrase you searched for could not be found. #398
599
600 - _All_ shortcuts in _all modes_ can now be customized. For example, this allows
601 you to disable VimFx’s Vim-style `<enter>` behavior in the find bar. #222 #390
602 \#421
603
604 - The `p` and `P` commands are now smarter regarding whether to treat the
605 clipboard contents as a URL or a search, by working exactly like pasting in
606 the location bar. They also now read the selection clipboard, if available.
607 \#353 #382
608
609 - VimFx’s toolbar button is now properly implemented. #303 #349 #383
610
611 - Most locales were updated. Thanks to our awesome [translators]!
612
613 ##### Minor bug fixes
614
615 - VimFx now works correctly in tabs dragged to other windows. #57
616 - The `p` command is no longer broken. #494
617 - Non-ASCII shortcut keys now work properly. #433
618 - The Keyboard Shortcuts help dialog can no longer be covered by page elements.
619 \#477
620 - Hint markers can no longer be covered by page elements.
621 - VimFx no longer causes scripts on icloud.com to get stuck in an infinite loop.
622 \#389
623
624 [advanced options]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#advanced-options
625 [blacklist]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#blacklist
626 [ignore keyboard layout]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#ignore-keyboard-layout
627 [previous/next page patterns]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#previousnext-page-patterns
628 [scrolling prefs]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/options.md#scrolling-prefs
629 [counts]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#counts
630 [`gi`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#gi-1
631 [Ignore mode `<s-f1>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#ignore-mode-s-f1
632 [scrolling commands]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#scrolling-commands-1
633 [the `f` commands]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/commands.md#the-f-commands-1
634 [`<force>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/shortcuts.md#force
635 [`<late>`]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/shortcuts.md#late
636 [config file]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/config-file.md
637 [public api]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md
638 [option-overrides]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md#vimfxaddoptionoverridesrules
639 [key-overrides]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/api.md#vimfxaddkeyoverridesrules
640 [styling]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/styling.md
641 [toolbar button]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/styling.md
642 [translators]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/PEOPLE.md#translators
643 [documentation]: https://github.com/akhodakivskiy/VimFx/blob/c790b0fc1127c66bb7b33ccbaf4c0e8090e5530b/documentation/
644 [wiki]: https://github.com/akhodakivskiy/VimFx/wiki/
645 [custom commands]: https://github.com/akhodakivskiy/VimFx/wiki/Custom-Commands
646 [commit 3552282]: https://github.com/akhodakivskiy/VimFx/commit/355228217d7e7a61f5e1edbb9efbfb0f3e4ef81c
647
648 ### 0.5.17 (2015-01-23)
649
650 - Fixed: The hints generation no longer crashes on some pages (regression since
651 version 0.5.15).
652
653 ### 0.5.16 (2015-01-22)
654
655 - Fixed: The toolbar button no longer throws errors. (This fix should have been
656 in 0.5.15 but was forgotten. Luckily an AMO reviewer found it.)
657
658 ### 0.5.15 (2015-01-21)
659
660 - Improved: This version is now forwards-compatible with the upcoming version
661 0.6.0. Downgrading from 0.6.0 to 0.5.14 or older might cause VimFx to crash,
662 but downgrading from 0.6.0 to 0.5.15 is safe.
663 - Fixed: Non-hintchars key presses in hints mode are now suppressed. They used
664 to be passed along to the browser, which could confusingly activate site
665 commands.
666 - Fixed: The 'f' command now always opens links in the same tab. Links used to
667 be able to force a new tab or window.
668 - Fixed: Pressing 'Esc' in the location bar now restores the URL, as is the
669 default behaviour of Firefox. You may now also close Firefox dialogs using
670 'Esc'.
671 - Improved: Updated the de locale. Thanks to Alexander Haeussler!
672 - Improved: Updated the pl locale. Thanks to morethanoneanimal!
673
674 ### 0.5.14 (2014-08-16)
675
676 - Fixed: Locales should now work properly.
677 - Improved: Updated the zh-CN locale (@mozillazg).
678 - Improved: Updated the de locale (@Kambfhase).
679 - Added: Japanese locale (@pluser).
680 - Fixed: If you switched to another tab or window while an `<input>` element
681 was focused and then switched back, the `<input>` element got blurred, while
682 it should have stayed focused. This caused the auto-type feature of KeePassX
683 to break.
684
685 ### 0.5.13 (2014-08-02)
686
687 - Fixed: The vote button on StackExchange sites are now markable again.
688 - Improved: Detection of previous/next links. Should work better on gmail now.
689 - Fixed: It is now possible to use Enter/Return in keyboard shortcuts.
690 - Improved: The n/N commands (etc.) now work even if you didn’t open the finbar
691 using the VimFx command (such as the default key binding ctrl+f, or by
692 clicking a menu item).
693 - Improved: It is now possible to blur text inputs without sending Esc to the
694 page, which could cause dialogs etc. to annoyingly close.
695 - Improved: Updated the el-GR locale (@sirodoht).
696 - Fixed: Autofocus prevention sometimes made text inputs impossible to focus
697 until you reloaded the page.
698 - Improved: Autofocus prevention now works on more sites than before.
699 - Improved: Autofocus prevention now prevents _all_ automatic focusing (not
700 just when the page loads). This makes devdocs.io much easier to use.
701 - Added: When viewing images directly and the image has been resized to fit the
702 screen the image is now markable, allowing you to toggle zoom on it using the
703 keyboard.
704 - Fixed: It is no longer possible to add conflicting shortcuts (such as adding
705 'a' when 'af' and 'as' are already present).
706
707 ### 0.5.12 (2014-06-01)
708
709 - Fixed: Autofocus prevention got stuck sometimes, making it impossible to
710 focus inputs.
711
712 ### 0.5.11 (2014-06-01)
713
714 - Fixed: The focus search bar command was broken.
715 - Fixed: Autofocus prevention was broken.
716 - Fixed: The top bar on YouTube could not be accessed by VimFx.
717 - Fixed: You can no longer add blank hotkeys.
718 - Improved: Tab Groups are supported.
719 - Improved: Matching of previous/next links should be more reliable.
720 - Improved: A few minor things.
721
722 ### 0.5.10 (2014-05-07)
723
724 - Fixed yet another bug related to the default preferences
725
726 ### 0.5.9 (2014-05-04)
727
728 - Fixed a bug with default preferences not being set
729 - Fixed gg and G to be faster
730
731 ### 0.5.8 (2014-04-18)
732
733 - AMO Preliminary Review bug fix (sorry for such long delay)
734
735 ### 0.5.7 (2014-03-03)
736
737 - Bug fix
738
739 ### 0.5.6 (2014-02-26)
740
741 - Updated some translations
742 - Updated pagination patterns and logic
743
744 ### 0.5.5 (2014-01-03)
745
746 - Hotfix release to address a bug that has been introduced in 0.5.4
747
748 ### 0.5.4 (2014-01-03)
749
750 - Fix for popup passthrough mode stucking
751 - Make toolbar button click depend on current mode
752 - Higher weight markers should not be overlapped
753 - Refactor find mode to use Firefox native search bar
754 - Bump minimum required Firefox version to 25
755 - Added commands to go in the URL path
756 - Added commands to navigate previous and next links with customizable link
757 patterns
758 - Use Firefox 24+ native console API
759 - Update zh-CN localization
760
761 ### 0.5.3 (2013-10-16)
762
763 - Lots of refactoring
764 - Insert mode (`i` command)
765 - Follow multiple links with `af` command
766 - Hint marker rotation with `space` while in hints mode
767
768 ### 0.5.1 (2013-08-21)
769
770 - Fixed regression with stylesheets
771 - Updated icon
772
773 ### 0.5 (2013-08-19)
774
775 - Added command to focus search bar: `O`
776 - Added commands to stop loading current page and all pages: `s` and `as`
777 - Invisible elements will not get hint markers
778 - Compatibility with Firefox 25
779 - Simple shortcut customization with UI in Help dialog
780 - Use Huffman coding algorithm for hint markers generation which results in
781 shorter links
782 - Implemented Bloom filters to achieve shorter hints for those shortcuts that
783 are used often
784 - Reimplemented scrolling - now works with pages where window is not scrollable
785 - Find disabled on non HTML documents
786 - Find string is now global for all windows.
787 - Fixed logic of locale discovery. Now we rely on general.useragent.locale
788 Firefox preference for current locale
789
790 ### 0.4.8 (2013-06-12)
791
792 - `embed` and `object` tags will now have their own hints
793 - Bug fixes related to custom hint chars (@LordJZ)
794 - Fixed `t` - now it will be nice to other extensions
795 - Updated Chinese translations (@mozillazg)
796 - Reenter Normal mode on page reloads to avoid getting stuck in Hints mode
797 without any hints
798 - Search will focus element that contains matching text
799 - Fixed hint markers for iframes
800 - Marker bug fixes (@LordJZ)
801
802 ### 0.4.6 (2013-03-27)
803
804 - Reimplemented find mode: CJK support, performance boost
805 - `a/` or `a.` to highlight all matches of the search string on the page
806 - Hint markers will now reach into iframes
807 - Key handling is disabled when a popupmenu or panel are shown
808 - `yf` will now also focus links and copy values from text/textarea element
809 - `vf` will show hit markers to focus the underlying element
810
811 ### 0.4.5 (2013-03-12)
812
813 - `:` to open Firefox Developer Toolbar, `Esc` to close it.
814 - Add Hungarian locale (@thenonameguy).
815 - Add Polish locale (@grn).
816 - Don't close pinned tabs when pressing x (@grn).
817 - Switched to Makefile for building the extension release (@carno).
818 - Mrakers CSS tweaks (@helmuthdu)
819
820 ### 0.4.4 (2013-01-30)
821
822 - Thanks to @mozillazg and @mcomella for translation contributions.
823 - Added `gh` command that will navigate to the home page.
824 - Added `o` command to focus location bar.
825 - `p` and `P` will parse the contents of the clipboard. If the string in the
826 clipboard appears to be a URL then it will navigate to this URL. Otherwise it
827 will search for the string in the clipboard using currently selected search
828 provider.
829 - Now hint markers for links will stay on top of all the markers for different
830 kinds of elements.
831 - Esc will now also close the focused default search bar.
832 - Fixed bugs related to keyboard events handling, XUL documents, and some other
833 issues.
834 - Bug fixed where not all the commands could be disabled via the Help dialog.
835
836 ### 0.4.3 (2012-12-27)
837
838 - Toolbar button bugfix
839 - Added an option to disable individual commands via the help dialog
840
841 ### 0.4.1, 0.4.2 (2012-12-12)
842
843 - Small tweaks of the find feature.
844 - Bugfix for keyboard handling on non-english keyboard layouts
845
846 ### 0.4 (2012-12-09)
847
848 - Implemented find with `/` and `n/N`
849 - Added `ar` and `aR` commands to reload pages in all open tabs.
850 - Added a preference that enables blurring from any element that has input focus
851 in the browser on Esc keydown (on by default)
852 - Fixed bug where markers and help dialog would blow up some of the pages.
853 - Marker hints are now sorted with respect to the underlying element area.
854 Elements with larger area get shorter hints
855 - Added *mail.google.com* to the default black list
856 - Various bug fixed and improvements.
857
858 ### 0.3.2, 0.3.2, 0.3.3 (2012-11-20)
859
860 - Hotfixes for the build script to include localization related files and folders
861
862 ### 0.3 (2012-11-19)
863
864 - Fixed [Desktop](https://addons.mozilla.org/en-us/firefox/addon/desktop/)
865 extension compatibility problem
866 - Removed c-b/c-f for now. c-f is a standard search hotkey. Will put c-f back
867 when proper Vim-like search with / is implemented
868 - Scrolling with G will now reach the bottom of the page
869 - Implemented localization, currently there is only Russian localization.
870 Community is welcome [to contribute your localizations](https://github.com/akhodakivskiy/VimFx/tree/master/extension/locale)!
871 - Implemented simple smooth scrolling
872
873 ### 0.2 (2012-11-05)
874
875 - document.designMode='on' is now honored. Will also provide hint markers for
876 iframes on the page.
877 - Bug fixed where it would completely reset the toolbar while installing the
878 toolbar button.
879 - Bug fixed where it's not possible to change the text in the blacklisting
880 textbox
881 - Changed u/d to scroll half a page, added c-f/c-b to scroll full page
882 - Added tab movement commands: c-J and c-K.
883 - Invisible markers bug fixed.
884 - Global hotkey to disable the commands (equal to the toolbar button click):
885 Alt-Shift V
886 - ^u and ^d are removed from the command list. ^u is commonly used to show the
887 page source code
888 - Opening new tab with now focuses the location bar
889 - Other small bugs nailed down.
890
891 ### 0.1.1 (2012-10-27)
892
893 - Just to deal with AMO - no changes
894
895 ### 0.1 (2012-10-26)
896
897 - Initial Release
Imprint / Impressum