Vieb Changelog

What's new in Vieb 11.0.0

Dec 7, 2023
  • Added:
  • Settings of type list and object, that can also be set with lists or objects with ":set"
  • Setting "loadingindicator" to control where the page load status should be shown
  • Setting "passthroughkeys" to send keys to the page per site/domain/regex without leaving normal mode
  • Option to write command to save pages as MHTML instead of just HTML
  • Setting "windowfullscreen" to allow the fullscreen state to be kept after restart (default "restore")
  • Setting clear syntax from booleans ":set noexample", to work for objects, arrays and numbers too
  • Changed:
  • Default value for "dialogconfirm" to "notifyallow"
  • Default value for "nativetheme" to "dark"
  • Disabled favicons to be empty instead of showing the broken image indicator
  • Mapsuggest and notification alignment in default colorscheme
  • Table of contents to be always open, it is either opened and shown or not shown at all
  • Table of contents to remember the scroll position on hide, until the page is reloaded, for easy toggling
  • Default theme suggest position to be below the tabs
  • Setting "mousevisualmode" now works with double and triple click selections
  • Default screenshot suggestions, highlight behavior and styling to be more prominent
  • Setting "modifiers" to use full key names: for example <Ctrl> instead of just Ctrl
  • Removed:
  • Setting "suspendplayingtab" in favor of "suspendtimeoutignore" with the right range
  • Option "system" for "nativetheme"
  • Option "ask" for "permissionmediadevices"
  • Setting "restorewindowmaximize" in favor of "windowmaximize" with value "restore"
  • Setting "restorewindowposition" in favor of "windowposition" with value "restore"
  • Setting "restorewindowsize" in favor of "windowsize" with value "restore"
  • Fixed:
  • Download success notification showing in info color instead of success color
  • Occasional error popup when viewing SVGs directly because of style injection refusal
  • Markdownviewer not supporting local images due to file access limits
  • GUI-related settings not hiding after follow and pointer actions due to pointer being in mouse override position
  • Mapped insert mode inputs with shifted keys sending the keys twice or not at all when unshifted variant exists
  • Non-recursive insert mode special keys not always being called with the correct name (hence arrows not working)
  • Versions:
  • Electron 28.0.0 (was 27.1.0)
  • Chromium 120.0.6099.56 (was 118.0.5993.144)

New in Vieb 10.6.0 (Nov 17, 2023)

  • Added:
  • Settings "windowmaximize" to replace "restorewindowmaximize" and allow fixed defaults
  • Settings "windowposition" to replace "restorewindowposition" and allow custom positions
  • Settings "windowsize" to replace "restorewindowsize" and allow custom sizes
  • Changed:
  • Revert deprecation of "tocpages", current empty default wil remain in 11.x.x
  • More setting related errors to show the incorrect value
  • Deprecated:
  • Setting "restorewindowmaximize" (will be removed in 11.x.x) in favor of using "windowmaximize" with "restore"
  • Setting "restorewindowposition" (will be removed in 11.x.x) in favor of using "windowposition" with "restore"
  • Setting "restorewindowsize" (will be removed in 11.x.x) in favor of using "windowsize" with "restore"
  • Fixed:
  • Nativetheme not updating correctly because of incorrect deprecation statement in previous release
  • Versions:
  • Electron 27.1.0 (was 27.0.4)
  • Chromium 118.0.5993.144 (was 118.0.5993.129)

New in Vieb 10.4.0 (Oct 12, 2023)

  • Added:
  • Clickable headers to the filebrowser to go up multiple directories at once
  • Extra CSS color variables names for filebrowser, still using the same default colors
  • Entry "top" in the toc to go back to the top of the page
  • Argument "--execute" to run arbitrary runtime commands from the CLI and get its output
  • Option "allowkind" to setting "permissionmediadevices" to only list the device type/kind without labels or ids
  • Startup flag "--devtools-theme" and ENV var VIEB_DEVTOOLS_THEME to control devtools theme (default remains dark)
  • Command "buffers" to list all the open tabs as "index: url"
  • Changed:
  • Eslint rules to be more strict with better jsdoc and types
  • Url modification functions for subdomain and parent urls to be more accurate
  • Clicks on tabs while inside navbar modes to switch tab instead of only going to normal mode
  • Fixed:
  • Rare error popup on quit on some Linux desktop environments
  • Location mock not being accurate leading to broken functionality on Gitlab and other sites
  • Command "tabnewcontainer" not opening with the right name if using "containernewtab=s:external"
  • Extra horizontal scrollbar on failedload and filebrowser pages since last release
  • Some selections with email addresses being encoded as if a url on copy
  • Setting explorehist not working since 10.0.0 due to incorrect import
  • Potential duplicate ids in toc generation if a page already has the generated id
  • Config file read from ENV VIEB_CONFIG_FILE always being changed to lowercase
  • Chrome pages not being styled directly when changing colorscheme
  • Pages without div or main incorrectly using colorscheme instead of a white background
  • Permission mediadevices throwing an error instead of returning an empty list for blocking media device list
  • Colorscheme verticaltabs breaking the history page layout due to duplicate ids

New in Vieb 10.3.0 (Aug 28, 2023)

  • Added:
  • Table of contents that can be triggered for pages via tocpages or using the <showTOC>, <toggleTOC> and <hideTOC> actions
  • Default ozone-platform-hint=auto flag to Linux releases with a desktop file to improve Wayland support
  • Command unmap! to remove multiple mappings by using <Any> as a wildcard
  • Changed:
  • Failedload and filebrowser pages are now styled with themes like other special pages
  • Undo/redo navbar logic to prevent duplicate entries in the edit history
  • Commands to list the name and arguments of failing commands more often
  • Fullscreen to also toggle when the window is made fullscreen via Linux specific OS fullscreen features
  • Fixed:
  • Simple text pages that disable JavaScript blocking the colors and fontsize being applied
  • Actions "toParentSubdomain" and toRootSubdomain" not working with dashes in the domain name
  • Media device query being denied if done via the allow list with mediadevicesfull
  • Navbar selection being cleared when dragging outside of the navbar
  • Media indicator not showing in numberedtabs colorscheme
  • Domain name function not removing port number resulting in wrong paths for userstyle and userscript if viewing a page with custom port number
  • Versions:
  • Electron 27.0.0-alpha.3 (was 25.4.0)
  • Chromium 118.0.5949.0 (was 114.0.5735.248)

New in Vieb 10.2.0 (Aug 10, 2023)

  • Added:
  • Setting "permissionidledetection" to control access to the Idle Detection API, default remains blocked
  • Setting "permissionwindowmanagement" to control access to the list of screens and their position, default remains blocked
  • Use urls and titles in a command with <useCurrentUrl>, <useCurrentOrigin>, <useCurrentTitle> and <useCurrentDomain>
  • Fixed:
  • Overflow wrap not splitting words as needed for download title
  • Permission check via navigator.permission.query always being allowed, it now uses the permission to correctly inform sites
  • USB permission not being blocked in the permissionsasked setting

New in Vieb 10.1.1 (Jul 11, 2023)

  • Changed:
  • Stored urls to be of the human readable format to better account for special pages
  • Adblocker to show a notification if enabled but not present for all builds
  • AppImage builds to better handle special pages for changing runtime folder
  • Fixed:
  • Encoding issues since 10.0.0 in markdownviewer, readerview and sourceviewer
  • Mappings that send keys to insert mode delayed not working since 10.0.0
  • Potential circular reference to parent iframes resulting in freezes
  • Versions:
  • Electron 25.2.0 (unchanged)
  • Chromium 114.0.5735.134 (unchanged)

New in Vieb 10.1.0 (Jun 22, 2023)

  • Added:
  • Option "external" to "pdfbehavior" setting to open the pdf with externalcommand automatically
  • Fixed:
  • Settings starting with "no" or "inv" not being able to be listed without "?" nor reporting the correct name
  • Actions "nextPage" and "previousPage" no longer working for link elements
  • Pointer scrolling to search results not working correctly due to Electron's inconsistent API
  • Infinite loading issue for unresponsive pages due to loadurl rework
  • Newtab actions for pointer mode not working due to tab still loading
  • Errors for ipc calls to webview that are still being created by only sending data to webview with ready dom
  • First navigation issue that requires a second mouse click to navigate by delaying the useragent reroll
  • Relative feed URLs only returning the path (they are now prefixed with the current url as needed)
  • Firefox version calculation being ahead of time due to delayed Firefox releases

New in Vieb 10.0.0 (Jun 15, 2023)

  • Added:
  • Blocklist uBlock Origin filters to the default list of blocklists
  • Setting "requestheaders" to append custom headers to any request
  • More default mappings: Firefox/Chromium inspired and mute/pin/internaldevtools mappings
  • Settings "userscriptscope", "userstylescope" and "darkreaderscope" to control which pages scripts, styles and darkreader should run
  • Suggestions for ranges
  • Argument option to the mute command to force a mute state, such as :mute! true
  • Argument option to the pin command to force a pinned state, such as :pin! false
  • Setting "followlabelposition" to control where the label of follow elements should appear
  • Set command syntax to rotate between a custom set of values, such as :set example!value1|value2|value3
  • Setting "permissionusb" to list usb devices (default remains blocked, previously grouped as "unknown")
  • Types and documentation using JSDoc to most of the source code
  • More position options for opening new tabs using "tabnewposition"
  • More focus positions after closing a tab using "tabclosefocus"
  • Additional flags for ranges to filter suspended/real pages and audio/silent tabs
  • Setting "pdfbehavior" to control what happens with PDF files (default changed from viewing to download)
  • Support for the context menu key with default mapping to opening the menu
  • Setting "historyperpage" to control the amount of history entries to show per page
  • Action "pointer.copyTitleAttr" to copy the title attribute of a hovered element
  • Action "pointer.copyPageTitle" to copy the page title of the hovered link if in the history
  • Full interface scaling startup flag "--interface-scale", which can be combined with custom font sizes to achieve many different ratios
  • Setting "notificationlimitsmall" to control how many newlines should be the limit for small/large notifications
  • Option "largeonly" to the "nativenotification" setting to only show large ones natively
  • Actions "pageRSSLinksList" and "pageRSSLinkToClipboard" to list and copy RSS feed urls found on the page
  • Changed:
  • Setting "replacespecial" is now by default set to "special"
  • Default mapping <C-c> will now copy in normal, pointer and visual mode as well
  • Setting "restoretabs" is now an enum that accepts different options
  • Setting "notificationforpermisions" is now an enum that accepts different options
  • Example configs to not include as much duplication as before
  • Userstyles are now applied even if darkreader fails to apply
  • Mapstring splitting to be more accurate when recursively including < and >
  • Mappings for recording macros to be more in line with Vim, by mapping and unmapping them on start/stop
  • Buffer commands to show all matching commands instead of the first one (especially useful for ranges)
  • Pin command to better preserve tab order when using ranges
  • JavaScript execution to always allow user interaction APIs
  • Svg and "data:" favicons to be used if present in the list, otherwise still pick the first
  • History page rendering mechanism to support large history files much better using pagination and background rendering
  • Setting "guifontsize" now accepts a much wider range of values to accommodate interface scaling
  • Erwic mode permissions to now ask for displaycapture instead of blocking it (Vieb default is still to block)
  • Favicon mapping storage now uses a debounce mechanism similar to browsing history to improve performance
  • Crashed tabs to allow navigating and reloading by recreating them as a new tab at the same position
  • Removed:
  • Action "openNewTab" in favor of ":tabnew" command
  • Setting "clearhistoryonquit" in favor of "clearhistoryinterval=session"
  • Setting "search" in favor of the functionality identical "searchengine" setting
  • Setting "tabnexttocurrent" in favor of "tabnewposition" enum
  • Setting "tabclosefocusright" in favor of "tabclosefocus" enum
  • Fixed:
  • Image and svg follow links not showing since 9.0.0
  • Scrollbar styling not working on pages that block custom CSS
  • Userstyles not working on pages that block custom CSS
  • Display capture styling not working on pages that block custom CSS
  • Index-based ranges not working correctly for some commands
  • Navigation delay system updating the current page instead of the right one
  • Navigation delay system preventing page navigations for new tabs that are not loading
  • Favicon not showing or spinner still rotating for suspended tabs
  • Insert mode being left if interacting with the page menu
  • System clipboard being used incorrectly on Windows and Mac on selections due to selection clipboard not existing on those systems
  • Commands "tabnew" and "tabnewcontainer" not converting arguments to a url (preventing searches from working too)
  • Mouse hover remaining on follow element when moving the mouse outside of the window
  • Mappings being listed as modified when they were overwritten by the very same entry using :map
  • Follow links which vary in height/width compared to parent potentially causing follow highlight to switch between them periodically
  • Setting "containernames" not updating listed container immediately and not switching at all for new tabs and mouse clicks
  • White background on special pages when reloading them multiple times
  • Erwic settings not being saved with :mkviebrc if similar to regular Vieb defaults
  • Settings "notificationforpermisions" being set to "none" not preventing notifications from being stored
  • Keyboard focus being lost when opening pages that do not allow JavaScript to be run
  • Suspendonrestore value "none" suspending all tabs instead of none
  • Tabs with file paths open not being stored for next startup
  • Incremental search sometimes moving two entries when searching the same string

New in Vieb 9.7.1 (May 4, 2023)

  • Deprecated:
  • Setting "tabnexttocurrent" boolean in favor of "tabnewposition" enum
  • Setting "tabclosefocusright" boolean in favor of "tabclosefocus" enum
  • Versions:
  • Electron 23.2.0 (unchanged)
  • Chromium 110.0.5481.192 (unchanged)

New in Vieb 9.7.0 (Apr 2, 2023)

  • Added:
  • Command "clear" to wipe browsing data based on intervals or partial urls (currently only history)
  • Setting "clearhistoryinterval" to more finely control the deletion of history on quit by interval
  • Option "url" to the list of mouse features to control interaction with the input box while already typing (default on)
  • Option "leaveinsert" to the list of mouse features to control if clicking outside the page should leave insert mode (default on)
  • Option "notification" to the list of mouse features to control if clicking the download notification should open the file (default on)
  • Setting "mousedisabledbehavior" to control if elements with no enabled mouse interaction should optionally drag the window (nothing by default)
  • Setting "guiscrollbar" to control if and when the scrollbar should appear on pages (default remains always on)
  • Documentation for all modes by mode name instead of just the action name (also means better sorted actions)
  • More values to "dialogconfirm" to automatically allow the confirm dialog without needing to show it
  • More default mappings that are similar to Firefox/Chromium
  • Favicon icons to the buffer command suggestions for better recognition
  • Actions "startRecording", "stopRecording" and "runRecording" to record key presses and later execute them (macros/records in Vim)
  • Changed:
  • Resetting focus now happens on every user interaction instead of on a timer
  • Url can now be selected from outside explore mode directly (and keep the selection if switching to explore mode)
  • History storage is now slightly faster by only wiping empty entries on write
  • Settings now have links to documentation about the type of value they can contain
  • Naming scheme of setting types is now more streamlined and better documented
  • Searchword urls are now filled in with the resolved url in the suggestions while you type
  • Seachwords will now also activate if prefixed with spaces
  • Filetype suggestions coming from history are now correctly colored in history color instead of file suggest color
  • Default theme now shows the default cursor instead of the text cursor on the url box if interaction is disabled
  • Locales are now included in regular releases but still excluded from lite builds (see build.js)
  • All mouse features now have a "mouse-something" className added to the body if enabled to allow more customization in colorschemes
  • Action "menuOpen" will now keep working even if the settings are set to never, this does not affect regular right clicks
  • Userstyles are now also applied when the DOM is ready, not just when the page is fully loaded
  • Commands "screencopy" and "screenshot" will show the screen highlight even without entering all 4 dimension values
  • Single key mapping commands now also combine different modes into one map command if all modes have the same mapping
  • Buffer commands now search for matches the same way as explore mode, as do the suggestions
  • Deprecated:
  • Setting clearhistoryonquit in favor of clearhistoryinterval=session
  • Default value for "replacespecial" being "newtab" (will change to "special" in 10.x.x)
  • Setting search in favor of the functionality identical searchengine setting
  • Ctrl-c default mapping for the stopLoadingPage action instead of the new Esc
  • Boolean toggling restoretabs in favor providing a value (toggle commands will stop working in 10.x.x)
  • Boolean toggling notificationforpermisions in favor providing a value (toggle commands will stop working in 10.x.x)
  • Action "openNewTab" in favor of running the ":tabnew" command
  • Fixed:
  • Vieb right click menu not working due to removed .path in events
  • Follow filtering being cancelled when interacting with the navbar using the mouse
  • Explore mode history not storing the first change in the Ctrl-z/Ctrl-y history
  • Middle mouse paste not updating explore mode's Ctrl-z/Ctrl-y history
  • Self closing tabs not being cleaned up correctly due to Electron devtools close call being unsafe
  • Text selection still briefly being visible outside explore mode when toexplore mouse feature is disabled
  • Websocket connections being blocked when setting custom resourcetypes due to casing error
  • Mousefeature history always being on even if not in the list of enabled features
  • Mode selector not being as big as it should be and therefor closing the dropdown occasionally
  • Sites without a div and without proper background not getting the default white background
  • Pointer mode help commands going to the action if they have the same name
  • Ctrl-F4 to close tab default mapping not working
  • Default text value for prompt dialogs not being used
  • Iframe position not being shifted correctly for iframes inside a same origin iframe

New in Vieb 9.6.0 (Feb 23, 2023)

  • Changed:
  • Mouse setting "copyselect" is no longer available/needed for copying text by selecting, as it wasn't blocked correctly anyway
  • Mouse selections will now copy to the selection clipboard, instead of the default one, and at all times
  • Fixed:
  • Userscript domain name not working at all by using an internal url instead of the page url
  • Explore, command and search mode not being exited when dragging the mouse
  • Versions:
  • Electron 23.1.1 (was 22.0.3)
  • Chromium 110.0.5481.104 (was 108.0.5359.179)

New in Vieb 9.5.1 (Jan 20, 2023)

  • Changed:
  • COOP is now enabled again as the old workaround for Twitter navigations is no longer needed
  • SharedArrayBuffer is now enabled to make web workers more useful and faster
  • Attempting to navigate a page that isn't ready for navigation will now wait until it's ready
  • Fixed:
  • CORS issues when using darkreader
  • Exception in devtools when using newtaburl
  • Middle-mouse pasting not working in command and search mode as it would switch to explore mode incorrectly
  • Versions:
  • Electron 22.0.3 (was 22.0.0)
  • Chromium 108.0.5359.179 (was 108.0.5359.62)

New in Vieb 9.5.0 (Dec 14, 2022)

  • Added:
  • Startup argument "--unsafe-multiwin" to have multiple windows in the same datafolder and skip the single instance safety check
  • Command "translatepage" to translate the page using Deepl API or LibreTranslate
  • Settings "translateapi", "translatekey", "translatelang" and "translateurl" to customize translation settings for ":translatepage"
  • Setting "permissionclipboardwrite", as clipboard writing was recently moved to a permission by Electron (default remains allowed)
  • Settings "replacespecial" and "replacestartup" to control when new pages should re-use/replace the current tab
  • Changed:
  • Rpm and deb releases are now symlinked in /usr/bin correctly on updates after this one
  • Confirm char "!" for special page commands now opens them in a new tab regardless of the new "replacespecial" setting
  • Fixed:
  • Recursive key mappings not working correctly when the timeout is reached and there are also multi-key mappings
  • Cache errors/corruption on Windows upon restart after clearing/disabling cache
  • Setting externalcommand is now actually used for opening new tabs externally (fallback remains the default browser)
  • Exception popup on Linux when quitting if using window frame borders
  • Valid urls without protocol not always being recognized as a startup argument

New in Vieb 9.4.0 (Nov 17, 2022)

  • Added:
  • Percentage based scrolling when using "gg" or "G" with a count, similar to Vim
  • Action "startFollowCopyLink" for copying links of selected elements in follow mode
  • Setting "darkreadermode" to switch between light and dark schemes/modes for darkreader
  • Settings "resourcetypes", "resourcesallowed" and "resourcesblocked" to control allowed/blocked resource types
  • Setting "shell" to control the shell to use for system commands
  • Live indicator of current theme preference to the nativetheme help documentation
  • Changed:
  • Maximum values of darkreader brightness and contrast settings from 100 to 200 percent
  • Buffer-like command suggestions to be in sync with actual behavior
  • Buffer-like command suggestions to include the page url
  • Check if the entire body is scrollable instead of the window for global scroll actions and scrollpos
  • Prevent navigation to invalid urls to make sure a page can always be interacted with
  • Shell now reads "$SHELL" instead of defaulting to "/bin/sh" for system commands
  • Fixed:
  • Action "openNewTabWithCurrentUrl" not working at all in last release due to unsafe check
  • Duplicate downloads due to page restart workaround (which is now fixed by Electron)

New in Vieb 9.3.0 (Oct 10, 2022)

  • Added:
  • Setting "reloadtaboncrash" to automatically recreate a crash tab with the last known url
  • Indicator for unresponsive tabs in the form of a small red border on the left of the unresponsive tab
  • Setting "userscript" to run custom JavaScript on pages, optionally using the GreaseMonkey API
  • Changed:
  • Modifiers/shifted keys for searching, marks and follow mode now work more reliable
  • Tabs will no longer refuse to navigate when there is a beforeunload listener that calls preventDefault
  • When the current tab is crashed, you can no longer enter irrelevant modes in it
  • Fixed:
  • Initial tab load issues on some devices for specific pages
  • Split state not being kept when switching container name based on containernames setting
  • Multiple useragents being set sometimes causing duplicate page loads
  • BatteryManager errors for insecure pages, since it's an HTTPS-only API
  • Follow mode and other main process calls not succeeding when there are crashed tabs present
  • Versions:
  • Electron 21.1.0 (was 21.0.1)
  • Chromium 106.0.5249.91 (was 106.0.5249.61)

New in Vieb 9.2.1 (Oct 4, 2022)

  • Changed:
  • Enter key will now also send keypress events when executed by a mapping
  • Pick first matching rule from permission allow, block or ask lists
  • Permission allow list can now include labels for mediadevices using "mediadevicesfull"
  • Fixed:
  • Media device requests being mislabeled as display capture permission requests in some cases
  • Versions:
  • Electron 21.0.1 (21.0.0)
  • Chromium 106.0.5249.61 (was 106.0.5249.51)

New in Vieb 9.2.0 (Sep 29, 2022)

  • Added:
  • New themes: light-compact, paper-compact and paper
  • Backwards searching if search is started with a shifted key (by default ?)
  • Changed:
  • Pinned and mute state are now remembered for tabs affected by "containernames" container switching
  • Pinned tabs will now be correctly reopened by "containernames" container switching
  • Mouse scrolling on Vieb elements will now scroll the underlying page if the "pageoutsideinsert" mouse feature is on (default)
  • Search will now find the next match if searching for the same string again
  • Default blocklist urls to use adblockplus instead of easylist due to fetch issues
  • Fixed:
  • Follow mode borders showing over labels
  • Follow mode mouse hover appearing when not needed
  • Backwards searching not working in previous release due to typo
  • Special characters not working in custom viewers (markdown, reader and source)

New in Vieb 9.1.0 (Sep 8, 2022)

  • Added:
  • Settings "searchscope" and "searchemptyscope" to make local tab-specific searches
  • Default mapping for emptySearch using
  • Changed:
  • Adblocker can now update custom blocklists by adding a "list.json" file to the blocklists folder
  • Failed load error page to include certificate permission setting if related to cert errors
  • Fixed:
  • Preload path of adblocker not being correct for all builds
  • All remaining runtime error popups related to subframe access issues (they are now shown in the console)
  • Erwic datafolder not resolving "~" correctly
  • Fixed atob issues by updating to an Electron release with a correct implementation
  • Versions:
  • Electron 20.1.1 (was 20.0.2)
  • Chromium 104.0.5112.102 (was 104.0.5112.81)

New in Vieb 9.0.0 (Aug 15, 2022)

  • Added:
  • Special type of notification for dialog inform notifications, which can be colored separately
  • Setting "suggestbouncedelay" to control the debounce delay of suggestions, to handle fast typing better
  • Setting "darkreaderblocklist" to block specific sites (regular expressions) from using darkreader, even if enabled
  • Setting "userstyle" to toggle loading of custom CSS files into the page, either globally or per-domain
  • Actions "toggleMarkdownViewer" and "toggleMarkdownViewerNewTab" to toggle the new theme supported "markdownviewer"
  • Setting "nativetheme" to control the theme to report to pages, used by the "prefers-color-scheme" CSS rule
  • Quickmarks to store and reload scroll positions, pointer positions and page urls quickly
  • Commands "marks", "restoremark", "delmarks", "pointerpos", "restorepointerpos", "delpointerpos", "scrollpos", "restorescrollpos" and "delscrollpos" to list and delete quickmarks
  • Settings "quickmarkpersistence", "pointerpostype", "pointerposlocalid", "scrollpostype", "scrollposlocalid", "markposition" and "markpositionshifted" to control quickmarks
  • Actions "storeScrollPos", "restoreScrollPos", "p.storePos", "p.restorePos", "makeMark" and "restoreMark" to add and load quickmarks
  • Webpack compilation to the released builds, for better tree-shaking and minified code
  • Separate "lite" build/release that does not have any dependency packages installed
  • Changed:
  • Only show notification popup for notifications with lots of newlines
  • Examples are now downloaded as blobs instead of files to allow them to be bundled in the asar file for releases
  • Startup argument "--debug" is now called "--devtools" to avoid nodejs argument conflict
  • Give "storenewvisits" a new option for "markdownviewer"
  • Logic for staying in follow mode after selecting something is now more consistent in remembering the previous mode
  • Main process devtools are now always undocked to prevent window size issues
  • Follow mode logic to use the much faster async IntersectionObserver instead of sync API
  • Follow mode logic to be faster if fewer element types are queried
  • Use Electron's clickOnSearch implementation in favor of Vieb's custom one
  • Setting "containernames" now also works for current tab navigation, unless you tell it not to with the "~newtab" suffix
  • Use regex to detect SVG favicons instead of relying on "is-svg" dependency
  • Use nodejs filesystem API instead of relying on "rimraf" dependency
  • All runtime dependencies are now loaded safely, and will show a message when missing (this makes ALL dependencies optional)
  • Custom icon and name are now shown on the version page as well
  • Only include en-US locale in builds to decrease build size significantly
  • Invalid or missing chrome:// pages are now redirected to their Vieb counterpart (if it exists) or the help page
  • Removed:
  • Extension support, see this Github issue to learn more
  • Setting "firefoxmode" in favor of setting the "useragent" setting to a Firefox useragent
  • Fixed:
  • Suspended tabs sometimes failing to wake up correctly
  • Commands :rclose and :lclose not working correctly when there are suspended tabs
  • Race condition in opening new tabs with urls that would sometimes unsuspend them twice
  • White background on some pages that load page styling async and in reloaded iframes
  • Error popup from the main thread regarding discarded frames
  • White background on pages with dark color-scheme preference and no custom styling
  • Versions:
  • Electron 20.0.2 (was 19.0.6)
  • Chromium 104.0.5112.81 (was 102.0.5005.115)

New in Vieb 8.1.0 (Jun 30, 2022)

  • Added:
  • Darkreader with many settings like "darkreader" and "darkreadercontrast" to toggle and control darkreader theming
  • Sponsorblock with settings "sponsorblock" "sponsorblockcategories" to toggle and control blocking
  • Changed:
  • Reduced the amount of mouse movement events while inside pointer mode, greatly reducing CPU usage
  • Setting "useragent" is now separated by tildes ~ instead of commas , as to allow commas to appear in useragents
  • Settings with , separator with each entry having a ~ separator can now be removed with just the part before the first ~
  • Explore mode suggestion logic should now be faster after first search by caching page titles
  • Deprecated:
  • Extension support, see this Github issue to learn more
  • Fixed:
  • Compact layout overflowing below the visible window, now uses grid layout
  • Shifted space and backspace not working in navbar as a regular space/backspace
  • DOM issue when trying to send iframe details before DOM is ready

New in Vieb 8.0.0 (Jun 9, 2022)

  • Added:
  • Setting "useragent" to use any number of custom useragents (either one, or a list that is randomly used per page load)
  • Settings "encodeurlcopy" and "encodeurlext" to control the percent encoding/decoding of the urls
  • Script-based blocking of ads in the adblocker, for example to block Youtube and Twitch ads
  • Support for "prompt" dialogs, and thus "show" and "notifyshow" are now valid values for "dialogprompt"
  • Mouse option named "movepointer" which moves the pointer to the click location
  • Actions "toggleSourceViewer" and "toggleSourceViewerNewTab" to toggle the new theme supported "sourceviewer"
  • Actions "toggleReaderView" and "toggleReaderViewNewTab" to toggle the new theme supported "readerview"
  • More default themes: numberedtabs and compact (thanks to @stevkazt)
  • Changed:
  • Setting "windowtitle" now accepts a custom string with variables instead of hard-coded formats (linking to password managers should be easier now)
  • Dialog settings are now all blocked with notifications by default
  • Duplicate download numbering now starts from (1) instead of (2)
  • Duplicate download name for files that end in "tar.something" will now have the counter before the ".tar"
  • Iframes are now isolated properly, making them faster and more secure (no more infinite loop to set listeners for them)
  • Privacy overrides are now always done with a preload, making them faster and more secure (no more infinite loop to patch them)
  • Increase default timeoutlen above Vim's level because it makes more sense for Vieb
  • Rename "fontsize" to "guifontsize" to make it more clear where the font size applies
  • Url detection logic to be more in line with the actual spec, resulting in simpler implementation
  • Downloadpath is now empty by default and will read XDG_DOWNLOAD_DIR/xdg-user-dirs (with the same fallback to ~/Downloads as before)
  • Give "storenewvisits" new options for "sourceviewer" and "readerview", and rename "builtin" to "special" to make more sense
  • Removed:
  • Action "toLastUsedTab" in favor of using ":buffer #" in line with other buffer-like commands that support "#"
  • Startup option to enable strict site isolation, it is now strictly isolated at all times
  • CSS transitions from default theme (specifically on the mode selector)
  • Fixed:
  • Command "reloadconfig" did actually reset the settings instead of just reload them
  • Urls prefixed with a protocol not being checked if they are navigable urls at all (possibly resulting in broken tabs if navigated to)
  • Race condition on unsuspending tabs and opening tabs with a url directly that led to empty pages
  • Composing keyboards typing out the keys in addition to the composed keys on macos
  • Internal errors for looping over pages when some of them are suspended (in case of zooming, page capturing, or save page)
  • Follow links (or their labels) not being visible if an element continues outside the visible section of the page
  • Versions:
  • Electron 19.0.3 (was 18.0.1)
  • Chromium 102.0.5005.63 (was 100.0.4896.60)

New in Vieb 7.2.0 (Apr 1, 2022)

  • Vieb:
  • Added setting suspendplayingtab to control if tabs playing media should be suspended by suspendtimeout
  • Added settings "dialogalert", "dialogconfirm" and "dialogprompt" to control if dialogs should show and/or be logged at all
  • Added permissions for serial and other human interface devices (permissionserial, permissionhid, both blocked by default, same as before)
  • Added default mappings that make use of the last used tab argument (for example "close #") of buffer like commands (prefixed with "B")
  • Useragent was modified to the upcoming reduced/simplified version of the final phase of https://www.chromium.org/updates/ua-reduction/
  • Battery API now returns fixed "no battery" values instead of being undefined
  • The SSL error filter now includes more ERR codes by looking for "CERT" and "SSL" instead of using a fixed list
  • Attempt to delete blocked navigator properties from navigator object completely instead of returning undefined
  • Disable useragentdata client hints API completely (previously only in Firefox mode)
  • The last used tab variable will now as a fallback pick the first tab instead of opening a new search tab with "buffer" and "Vexplore"
  • Removed plugins and mimeTypes overrides in favor of default hard-coded PDF plugin and mimetype lists (as per Firefox and Chromium)
  • Fixed reloadconfig command not resetting permissions (and other webview/main thread settings) in some cases
  • Fixed crash when pressing cancel in the print dialog (fixed by upgrading Electron)
  • Fixed interaction with other pages not working when the debugger is paused (due to overlay, which is now disabled by default for new sessions)
  • Other:
  • We have Telegram channels and a Matrix space!
  • Electron 18.0.1 (was 17.0.1)
  • Chromium 100.0.4896.60 (was 98.0.4758.82)

New in Vieb 7.1.2 (Feb 21, 2022)

  • Vieb:
  • Fix split resize actions (increaseWidthSplitWindow etc.) not being able to resize multiple times in the same direction
  • Fix rare tab crashes for some sites by updating Electron
  • Other:
  • We have Telegram channels and a Matrix space!
  • Electron 17.0.1 (was 17.0.0)
  • Chromium 98.0.4758.82 (was 98.0.4758.74)

New in Vieb 7.1.1 (Feb 10, 2022)

  • Vieb:
  • Fix AppImage builds
  • Other:
  • We now have Telegram channels and a Matrix space!
  • Electron 17.0.0 (unchanged)
  • Chromium 98.0.4758.74 (unchanged)

New in Vieb 7.1.0 (Feb 6, 2022)

  • Add setting "newtaburl" to set a custom url for the new tab page
  • Add actions "p.mediaDown" and "p.mediaUp" to lower or raise the volume of media elements (audio or video)
  • Allow "search" to be empty to disable searching completely (also fixes the same ":mkviebrc full" warning of followelement-type settings)
  • Fix custom btoa and atob implementations not working if the argument is a number (even if that's technically more correct)
  • Fix unclickable follow mode link if it's the only link on the entire page
  • Fix warning when running a ":mkviebrc full" config (because the followelement-type settings didn't allow an empty value)
  • Fix white background for XML documents
  • Fix first page in history always being the new tab page
  • Fix focus element action failing to get the length of elements that don't have a value (textarea, contenteditable div, etc.)
  • Fix argument issue with scriptnames command preventing it from working

New in Vieb 7.0.0 (Jan 16, 2022)

  • Add range prefix support for many different commands
  • Add actions "startFollowNewSplit" and "startFollowNewVerSplit" to open links in splits with follow mode
  • Add setting "inputfocusalignment" to align input fields consistently on focus from follow mode
  • Add command "runjsinpage" to run any JavaScript inside the current page or pages matching a range
  • Add context menu options for opening any link in a split of vsplit, such as "split audio link" or "vsplit selected text"
  • Add pointer mode actions for opening splits of media urls, hovered urls or selected text, such as "splitAudio" or "vsplitText"
  • Add two new types of links in follow mode: media (audio/video elements) and images (img, svg and background images)
  • Add setting "followelementpointer" to control which elements should appear in follow mode when used to move the pointer
  • Add setting "notificationforsystemcommands" to enable or disable notifications for successful or failed system commands
  • Add setting "followchars" to specify exactly which characters should be used to select elements on the page
  • Add setting "followfallbackaction" to control what happens on pressing chars not part of followchars (new default is to filter results)
  • Add command "tabnew" and "tabnewcontainer" to open a new tab programmatically optionally with a custom container name
  • Add setting "containernames" to control which container names should be used for new tabs with a specific url (based on regex patterns)
  • Buffer-like commands now accept "#" to specify the last used tab
  • Desktop capture API is now called from main thread and shows the app icons
  • Command "reload" to "reloadconfig" to avoid confusion
  • Actions "reload" and "reloadWithoutCache" are now called "refreshTab" and "refreshTabWithoutCache" to avoid confusion
  • Consistency between menu items and reduced the amount of words in them for easier scanning
  • Override for atob and btoa functions so they accept a wider range of characters instead of throwing errors (fixes Protonmail login issue)
  • Removed longtime workaround for electron-builder to manually create the mac zips (they are now valid zip archives instead of being broken)
  • Removed compatibility linter plugin compat, as it's no longer needed due to widespread release of newer node verions
  • Fix resolve file paths with query param characters in them and update the url accordingly
  • Fix background color override not checking for background images before applying
  • Fix mouse forward and back buttons not working on Windows
  • Fix rare crash when the devtools would remain after deleting the webview and you would then interact with it, they are now closed along with the page
  • Fix potential switch to insert mode after clicking on multiple links before leaving follow mode (by using Shift or right-clicking)

New in Vieb 6.2.0 (Nov 14, 2021)

  • Add actions "pageTitleToClipboard", "pageToClipboardHTML", "pageToClipboardMarkdown", "pageToClipboardRST" and "pageToClipboardEmacs" for easier pasting in editors
  • Add setting "followelement" to filter which kind of elements should be shown in follow mode
  • Scriptnames command will now print the script index before the file path
  • Automatic suspend timers of "suspendtimeout" will be restarted when the value is updated
  • Searchwords now support multiple %s replacements in a single comma-separated query
  • Fix alignment of calculated elements that relied on fixed numbers when using custom stylesheets
  • Fix default mapping for previous tab using CtrlShift-Tab not working
  • Fix audio and video control labels in context menu not being updated for elements with sourcesets
  • Fix incorrect media type being used for the context menu media controls in some cases, such as a video element playing only audio
  • Fix index for the buffer-like commands being shifted if the results are filtered
  • Fix target blank links opening in new tab when using the mouse to click on them
  • Fix relative urls opened using the window.open proxy doing a web search instead of navigation
  • Fix privacy overrides now override the prototype getter instead of the function directly
  • Other:
  • Electron 15.3.1 (was 15.0.0-beta.7)
  • Chromium 94.0.4606.81 (was 94.0.4606.31)

New in Vieb 6.1.0 (Sep 24, 2021)

  • Vieb:
  • Added mouse feature "screenshotframe" which allows you to drag the screenshot frame to a specific position
  • Added visual feedback for follow feature of the mouse using new highlight on hover
  • Make special mouse button dragging resize the screenshot frame by changing the width and height instead of position arguments
  • Examples with custom commands are now in a separate example file that isn't used by default, due to it's explicit and non-native nature
  • Fixed crash on uploading files due to Electron bug in beta 4
  • Fixed characters with different naming in Electron compared to JavaScript and Vim not being recognized as such in mappings
  • Other:
  • Electron 15.0.0-beta.7 (was 15.0.0-beta.4)
  • Chromium 94.0.4606.31 (unchanged)