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)