Surf v0.14.0
0.14.0 - 2026-08-31
A complete redesign of Surf's native browser interface.
Browser controls
- Rebuilt the address bar, phone toolbar, iPad tabs, tab overview, new-tab page,
connection screens, Library, pairing, Reader, media controls, and supporting
screens as one consistent visual system. - Replaced hand-drawn symbols with the bundled Lucide icon set and adopted the
Apache-2.0-licensed Deta Surf artwork across the app, desktop tray, management
page, and launch branding. - Combined the iPad address bar and tabs into a compact edge rail. It can sit at
the top or bottom of the screen, shows the hostname until editing begins, and
expands to the full address without resizing the streamed page. - Made every tab continuously scrollable instead of hiding overflow in a separate
menu. Tabs use live page titles, clearly identify the active page, and keep the
New Tab button directly beside the rail. - Replaced the accidental system Share sheet behind More with a dedicated
browser-tools menu. AirDrop and other destinations now appear only under the
actual Share action, and menus size themselves to their contents.
Settings and diagnostics
- Reorganized Settings into readable groups for browsing, performance, data,
server controls, and version information. Explanations wrap instead of being
clipped, unavailable actions say why, and the client and protocol versions are
always visible. - Rebuilt the Performance Monitor as a compact translucent panel. It shows the
important health readings first, can reveal round-trip and pipeline details,
never scrolls inside itself, and never resizes the browser stream.
Appearance and state
- Added a neutral dark appearance to the entire native interface and told Chromium
to expose the matching standardprefers-color-schemevalue to websites. Surf
does not override colors explicitly chosen by a site. - Corrected dark popovers, arrows, selectors, Library controls, table cells,
navigation bars, inactive controls, and address-bar placeholder contrast while
keeping iOS-owned Share screens readable. - Fixed tab titles that remained stuck on the URL. Surf now uses the document's
real title and falls back to a short hostname only when no useful title exists. - Fixed loading indicators becoming stuck or leaking into another tab. Loading,
Stop, navigation, reconnect, activation, and close state are now tracked per tab
and only for the page's main frame, with a timeout for sites that never send a
final completion event. - Standardized headings and controls on the native system font from iOS 6 through
14, with more reliable touch targets, separators, selected states, and compact
layouts on both phones and tablets. - Compatibility: protocol
20260826-1; update the client and server together.
Native iOS and unified Linux, Windows, and macOS packages are attached. Launch surf for the desktop app or run surf serve under a service manager for a headless backend.