1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
8## [Unreleased]
9
10## [3.6.0] - 2020-01-02
11### Added
12* `:cleardata [listOfDataTypes] [timeSpan]` command to clear various types of
13  stored website data modified in the last _timeSpan_.
14* Setting `hint-match-element` to allow to disable the hinting to filter hints
15  by the elements text content. This is useful if 'hint-keys' are set the
16  chars instead of numbers.
17* New autocmd event `LoadStarting` to run auto commands before the first page
18  content is loaded (Thanks to Patrick Steinhardt).
19* Setting `geolocation` with values ('ask', 'always' and 'never') to allow the
20  user to permit or disable geolcation requests by default (Thanks to Alva).
21* Setting `dark-mode` to switch the webview into dark mode, which might be
22  picked up by pages media query to setup dark styling (Thanks to Alva).
23* Option `--cmd, -C` to run ex commands on startup.
24### Changed
25### Fixed
26### Removed
27* `:clearcache` was removed in favor of more advanced `:cleardata` command.
28  The previous behaviour of `:clearcache` could be replaces by
29  `:cleardata memory-cache,disk-cache`.
30
31## [3.5.0] - 2019-07-29
32### Added
33* Add external download command #543 #348.
34* Added ephemeral mode by new option `--incognito` #562.
35### Changed
36* Hinting shows the current focused elements URI in the statusbar.
37* Show error if printing with `:hardcopy` fails #564.
38### Fixed
39* Fixed compilation if source is not in a git repo (Thanks to Patrick Steinhardt).
40* Fixed partial hidden hint labels on top of screen.
41* Fix segfault on open in new tabe from context menu #556.
42* Fix "... (null)" shown in title during url sanitization.
43### Removed
44* Setting `private-browsing` was removed in favor of `--incognito` option.
45
46## [3.4.0] - 2019-03-26
47### Added
48* Allow to show video in fullscreen, without statusbar and inputbox, if requested.
49* Added option `--no-maximize` to no start with maximized window #483.
50* New setting `prevent-newwindow` to enforce opening links into same window
51  even if they are crafted by `target="_blank"` or using `window.open(...)` #544.
52### Changed
53* Increased min required webkit version to 2.20.x.
54* Use man page date instead of build date ot make reproducible builds.
55* URLs shown on statusbar and title are now shown as punicode if they contain
56  homographs.
57### Fixed
58* Fix out-of-bounds buffer access in parse_command (Thanks to Sören Tempel) #529.
59* Fixed none shown hint labels by Content-Security-Policy headers #531.
60* Fixed segfault on JavaScript `window.close()` call #537.
61* Fixed no char inserted in input mode after timeout and imap/inoremap
62  candidate #546.
63
64## [3.3.0] - 2018-11-06
65
66### Added
67* Allow to change following webkit settings during runtime
68  * allow-file-access-from-file-urls
69  * allow-universal-access-from-file-urls
70* Added `#define CHECK_WEBEXTENSION_ON_STARTUP 1` to config.def.h to enable
71  checks during runtime if the webextension file could be found. Hope that
72  this helps user to fix compile/installation issues easier.
73* Re-Added support for page marks to jump around within long single pages by
74  using names marks.
75  Set a marks by `m{a-z}` in normal mode. Jump to marks by `'{a-z}`.
76* Re-Added `gf` to show page source (Thanks to Leonardo Taccari) #361.
77  Webkit2 does not allow to show the page in the source view mode so the `gf`
78  writes the HTML to a temporary files and opens it in the editor configured
79  by `:set editor-command=...`
80### Changed
81* New created files in `$XDG_CONFIG_HOME/vimb` are generated with `0600`
82  permission to prevent cookies be observed on multi users systems. Existing
83  files are not affected by this change. It's a good advice to change the
84  permission of all the files in `$XDG_CONFIG_HOME/vimb` to `0600` by
85  hand.
86### Fixed
87* Fixed missing dependency in Makefile which possibly caused broken builds
88  (Thanks to Patrick Steinhardt).
89* Fixed weird scroll position values shown in scroll indicator on some pages #501.
90* Fixed wrong hint label position on xkcd.com #506.
91* Fixed wrong hint label position in case of hints within iframes.
92
93## [3.2.0] - 2018-06-16
94
95### Added
96* Allow basic motion commands for hinting too.
97* Show the numbers of search matches in status bar.
98* Show dialog if the page makes a permission request e.g. geolocation to allow
99  the user to make a decision.
100* new Setting `show-titlebar` to toggle window decorations.
101
102### Changed
103* Use sqlite as cookie storage #470 to prevent cookies lost on running many
104  vimb instances.
105* Start vimb with maximized window #483.
106* Hints are now styled based on the vimbhint attributes. The old additional set
107  classes are not set anymore to the hints. So customized css for the hints have
108  to be adapted to this.
109* Element ID is stored in case the editor was spawned. So it's now possible to
110  start the editor, load another page, come back and paste the editor contents
111  (thanks to Sven Speckmaier).
112
113### Fixed
114* Fixed none cleaned webextension object files on `make clean`.
115* Remove none used gui styling for completion.
116
117### Removed
118* Removed webkit1 combat code.
119
120## [3.1.0] - 2017-12-18
121
122### Added
123
124* Added completion of bookmarked URIs for `:bmr` to allow to easily remove
125  bookmarks without loading the page first.
126* Refresh hints after scrolling the page or resizing the window which makes
127  extended hint mode more comfortable.
128* Reintroduce the automatic commands from vimb2. An automatic command is
129  executed automatically in response to some event, such as a URI being opened.
130
131### Changed
132
133* Number of webprocesses in no longer limited to one.
134* Treat hint label generation depending on the first hint-key char.
135  If first char is '0' generate numeric style labels else the labels start with
136  the first char (thanks to Yoann Blein).
137  * `hint-keys=0123` -> `1 2 3 10 11 12 13`
138  * `hint-keys=asdf` -> `a s d f aa as ad af`
139* Show versions of used libs on `vimb --bug-info` and the extension directory
140  for easier issue investigation.
141* During hinting JavaScript is enabled and reset to it's previous setting after
142  hinting is done might be security relevant.
143* Allow extended hints mode also for open `g;o` to allow the user to toggle
144  checkboxes and radiobuttons of forms.
145* Rename `hint-number-same-length` into `hint-keys-same-length` for consistency.
146* Search is restarted on pressing `n` or `N` with previous search query if no
147  one was given (thanks to Yoann Blein).
148
149### Fixed
150
151* Deduced min required webkit version 2.16.x -> 2.8.x to compile vimb also on
152  older systems.
153* Fixed undeleted desktop file on `make uninstall`.
154* Fixed window not redrawn properly in case vimb was run within tabbed.
155* Fixed cursor appearing in empty inputbox on searching in case a normal mode
156  command was used that switches vimb into command mode like 'T' or ':'.
157* Fixed hint labels never started by the first char of the 'hint-keys'.
158* Fixed items where added to history even when `history-max-items` is set to 0
159  (thanks to Patrick Steinhardt).
160* Fixed hinting caused dbus timeout on attempt to open URI with location hash.
161* Fixed wrong scroll position shown in the right of the statusbar on some pages.
162* Fixed vimb keeping in normal mode when HTTP Authentication dialog is shown.
163* Fixed password show in title bar and beeing written to hisotry in case the
164  pssword was given by URI like https://user:password@host.tdl.
165
166## [3.0-alpha] - 2017-05-27
167
168### Changed
169
170* completely rebuild of vimb on webkit2 api.
171* Syntax for the font related gui settings has be changed.
172  Fonts have to be given as `[ font-style | font-variant | font-weight | font-stretch ]? font-size font-family`
173  Example `set input-font-normal=bold 10pt "DejaVu Sans Mono"` instead of
174  previous `set input-fg-normal=DejaVu Sans Mono Bold 10`
175* Renames some settings to consequently use dashed setting names. Following
176  settings where changed.
177  ```
178  previous setting - new setting name
179  --------------------------------------
180  cursivfont       - cursiv-font
181  defaultfont      - default-font
182  fontsize         - font-size
183  hintkeys         - hint-keys
184  minimumfontsize  - minimum-font-size
185  monofont         - monospace-font
186  monofontsize     - monospace-font-size
187  offlinecache     - offline-cache
188  useragent        - user-agent
189  sansfont         - sans-serif-font
190  scrollstep       - scroll-step
191  seriffont        - serif-font
192  statusbar        - status-bar
193  userscripts      - user-scripts
194  xssauditor       - xss-auditor
195  ```
196
197### Removed
198
199* There where many features removed during the webkit2 migration. That will
200  hopefully be added again soon.
201  * auto-response-headers
202  * autocommands and augroups
203  * external downloader
204  * HSTS
205  * kiosk mode
206  * multiple ex commands on startup via `--cmd, -C`
207  * page marks
208  * prevnext
209  * showing page source via `gF` this viewtype is not supported by webkit
210    anymore.
211  * socket support
212
213---
214
215## [2.12] - 2017-04-11
216
217### Added
218
219* Queueing of key events - fixes swallowed chars in case of some imap bindings
220  #258 (thanks to Michael Mackus)
221* Allow to disable xembed by `FEATURE_NO_XEMBED` to compile on wayland only
222  platforms (thanks to Patrick Steinhardt)
223* Custom default_zoom setting disables HIGH_DPI logic (thanks to Robert Timm)
224* Allow link activation from search result via `<CR>` #131
225
226### Changed
227
228* Allow shortcuts without parameters #329
229* Write soup cache to disk after each page load to allow other instances to
230  pick this up.
231* Use the beginning position of links for hinting (thanks to Yutao Yuan)
232
233### Fixed
234
235* Fix path expansion to accept only valid POSIX.1-2008 usernames (thanks to
236  Manzur Mukhitdinov)
237* Fix default previouspattern (thanks to Nicolas Porcel)
238
239## [2.11] - 2015-12-17
240
241### Added
242
243* Added hint-number-same-length option
244* VERBOSE flag to Makefile to toggle verbose make on
245* `<Esc>` removes selections in normal mode
246* Support for multiple configuration profiles. New parameter `-p` or
247  `--profile`
248* Adds support for contenteditable attribute as input mode trigger
249  [#237](https://github.com/fanglingsu/vimb/issues/237)
250* Added `^` as normal mode alias of `0`
251  [#236](https://github.com/fanglingsu/vimb/issues/236)
252* Added :source command to source a config file
253* Added path completion for :save command too
254* Added closed-max-items option to allow to store more than one closed page
255
256### Changed
257
258* Set only required CFLAGS
259* Replaced `-Wpedantic` with `-pedantic` CFLAGS for older gcc versions
260* Check for focused editable element as soon as possible
261* Do not blur the focused element after alt-tabbing
262* Show typed text as last completion entry to easily change it
263  [#253](https://github.com/fanglingsu/vimb/issues/253)
264
265### Fixed
266
267* Fixed [#224](https://github.com/fanglingsu/vimb/issues/224): Wrong URL and
268  titles shown in case one or more pages could not be loaded.
269* Fixed Makefile install target using -D
270* Fixed [#232](https://github.com/fanglingsu/vimb/issues/232): Fixed misplaced
271  hint labels on some sites
272* Fixed [#235](https://github.com/fanglingsu/vimb/issues/235): Randomly reset
273  cookie file
274* Fixed none POSIX `echo -n` call
275
276[Unreleased]: https://github.com/fanglingsu/vimb/compare/3.6.0...master
277[3.6.0]: https://github.com/fanglingsu/vimb/compare/3.5.0...3.6.0
278[3.5.0]: https://github.com/fanglingsu/vimb/compare/3.4.0...3.5.0
279[3.4.0]: https://github.com/fanglingsu/vimb/compare/3.3.0...3.4.0
280[3.3.0]: https://github.com/fanglingsu/vimb/compare/3.2.0...3.3.0
281[3.2.0]: https://github.com/fanglingsu/vimb/compare/3.1.0...3.2.0
282[3.1.0]: https://github.com/fanglingsu/vimb/compare/3.0-alpha...3.1.0
283[3.0-alpha]: https://github.com/fanglingsu/vimb/compare/2.12...3.0-alpha
284[2.12]: https://github.com/fanglingsu/vimb/compare/2.11...2.12
285[2.11]: https://github.com/fanglingsu/vimb/compare/2.10...2.11
286