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