Repository navigation
Nightly nightly-20261006-3363ca1
Pre-release
Pre-release
Built from main at 3363ca1 on 2026-10-06. Not a release: it's replaced every night that main changes, and may be broken.
Check a download with sha256sum -c SHA256SUMS --ignore-missing, or its build provenance with gh attestation verify <file> --repo joshzcold/riptide.
Changes since the last release
Features
- Scaffold CEF-based vim-like browser (milestone 0)
- Add ./task wrapper that bootstraps Task
- Add tabs (milestone 3)
- Add hints and yank/paste (milestone 4)
- Add configuration: TOML, Lua and :set/:bind (milestone 5)
- Add history, quickmarks, bookmarks and sessions (milestone 6)
- Add prompts, downloads and permissions (milestone 7)
- ui: Serve UI pages from hb:// with a UI-only message channel
- tabs: Pinned tabs, tab bar mouse support and favicons
- help: Generated help page, :help, :version and F1
- remote: Hand arguments to a running browser from the terminal
- ui: Add window.title_format
- sandbox: Run Chromium's sandbox whenever Linux allows it
- privacy: Stop background calls that only serve Google
- adblock: Block ads and trackers with Adblock Plus filter lists
- help: Add :changelog and an "Updated to" notice
- spell: Spell checking with keyboard-driven suggestions
- spawn: Add :spawn, qutebrowser-style userscripts and :open-editor
- marks: Set and jump to marks with ` and '
- macros: Record keys with q and replay them with @
- caret: Add caret mode for keyboard text selection
- greasemonkey: Run Greasemonkey scripts in matching pages
- search: Find text in the page with /, ?, n and N
- navigate: Go up the URL, to next/prev pages, or change its number
- ui: Add dark mode and preferred color scheme settings
- config: Per-site settings, and save 'always' permission answers
- tabs: Restore each tab's mode when switching back
- tls: Ask before loading pages with untrusted certificates
- widevine: Opt-in Widevine DRM with content.widevine
- windows: Multiple windows and private windows
- lua: Script the browser from config.lua
- clipboard: Yank to and open from the primary selection
- tabs: Pick a tab in any window with :tab-select (T)
- session: Crash-recovery autosave and a history page
- history: Import qutebrowser's history with :history-import
- tabs: Clone tabs and move them between windows
- help: List commands from config.lua on the help page
- hints: Hint elements inside same-origin iframes
- hints: Number hints that filter by text
- downloads: Tab path completion and a :downloads page
- packaging: Build an AppImage next to the tarball
- ui: Stack messages above the status bar
- adblock: Hide ads with the lists' element-hiding rules
- adblock: Re-check element hiding for ads that load late
- spawn: Show output in a tab with :spawn -o, and Y in caret mode
- hints: Run programs and userscripts on hinted links
- search: Follow a search match's link with Return
- lua: Add hb.tabs() for the current window's tabs
- Zoom, devtools, print, fullscreen, view-source, jseval and more
- Scroll-px, cmd-later, fake-key, click-element and more commands
- breaking: Rename hackers-browser to riptide
- tabs: Vertical tabs with tabs.position, and tabs.show
- statusbar: Statusbar.position and statusbar.show
- statusbar: Statusbar.widgets
- keys: A key hint popup for partial key chains
- completion: Delete and yank the selected completion
- editor: Edit-url, cmd-edit and edit-text, and clean yanked URLs
- hints: Hints.auto_follow, hint-follow and hints.selectors
- input: Bindings.key_mappings and input.insert_mode.auto_load
- sessions: Session.lazy_restore and confirm_quit
- screenshot: Save the tab as an image with :screenshot
- content: JavaScript, cookie and user agent settings
- downloads: Retry, remove and delete downloads; external file picker
- greasemonkey: @require and GM_setValue/getValue/deleteValue/listValues
- prompts: Alt-e picks a folder for the download prompt
- userscripts: Run qutebrowser's bundled userscripts unchanged
- config: Config-list/dict add and remove, config-diff, config-clear, config-edit, config-write-toml
- tabs: Tab title format, select_on_remove, wrap, undo stack size, tooltips
- search: Search.wrap and wrap messages; smooth scrolling; zoom.levels
- keys: Readline word commands, rl-yank, caret block moves, selection-drop
- tools: Restart, bookmark-list, mark reloads, debug-dump-page, debug-clear-ssl-errors, devtools-focus
- userscripts: breaking: Name the userscript variables RIPTIDE_*
- completion: Completion.show, height, open_categories and more
- urls: Url.auto_search, url.open_base_url and url.incdec_segments
- hints: Hints.min_chars, scatter, leave_on_load and next/prev regexes
- downloads: Location.suggestion and remember, open_dispatcher, remove_finished
- content: Images, mute, popups, clipboard and protocol handler settings
- tabs: Mark the current tab by making it darker, with an accent line
- tabs: Title alignment, min and max tab width, indicator width, close button
- completion: Shrink, timestamp_format, delay, quick and use_best_match
- Update CEF to 154.0.33 (Chromium 154.0.8037.94)
- hints: Word hints from hints.dictionary, and hints.hide_unmatched_rapid_hints
- tabs: No accent line on the current tab by default; colors.tabs.selected.accent sets one
Bug fixes
- Build on Windows, where CEF event flags are i32
- tabs: Focus a new tab again once its browser exists
- keys: Send keys that land in a UI view on to the current tab
- remote: Build valid file URLs from Windows paths
- ui: Leave the port and user info out of {host}
- permissions: Make per-site settings override Chromium's saved answers
- tabs: U reopens a tab closed before its page loaded
- content: Private windows crashed after content settings applied