Release notes

Every version,
nothing left out.

13 releases so far, newest first. Each one is ad-hoc signed, not notarized, and runs on macOS 14 or later on Apple Silicon and Intel. Downloads, checksums and source live on GitHub.

  1. 0.0.13

    LatestDownload

    Changes

    • A tab no longer stays awake for hours on a stale safety record. When a frame inside a page loaded a new document and the old one’s goodbye message was lost, Barc kept checking the old document, failed every time, and never let the tab sleep. A GitHub tab stayed loaded at 406 MB this way. The check now moves on to the frame’s current document.
    • Copying a screenshot (⌥Q, ⌥W or the editor’s Copy) no longer leaves memory behind. A full-page copy used to leave about 250 MB in Barc until you quit, because the image went through two uncompressed copies. It is now encoded straight to PNG and leaves about 4 MB. Apps that want TIFF still get it from macOS.
    • Barc hands freed memory back to macOS after putting tabs to sleep, after saving your session and after a screenshot copy. Before, it only did this when macOS was short of memory or when you switched to another app.
    • A hidden tab whose page uses more than 1 GB, like a large ClickUp board, now sleeps after 1 minute instead of 3. Drafts, calls, uploads and Keep Awake still keep it loaded.
    • Sleep messages in the Task Manager are clearer: “Page is still loading”, “Camera or microphone is in use”, or that the safety check could not reach the page, instead of a generic wait.

    Verification

    The full suite ran 2,562 tests in 409 suites with no failures. The new frame and clipboard tests fail on 0.0.12. Screenshot memory was measured in a test process: a full-page copy left 247 MB before and 4 MB after. Two other ideas were measured and left out because they saved nothing: stricter JavaScript heap growth, and drawing the window at 8-bit colour depth.

    Passkeys remain unavailable in this private build.

  2. 0.0.12

    On GitHub

    Changes

    • Saving images works. Right-click → Download Image (and Download Linked File) did nothing: WebKit started the download and handed it to Barc through a hook Barc never answered, so it was dropped. A site’s download button whose link holds the image itself, common for generated images and charts, also did nothing. Both now save to your downloads folder, the button under the site’s file name. Download buttons that build the file in the page first already worked and are unchanged.
    • New clean-up button at the end of the New Tab row in the sidebar. It archives every tab in the current space that hasn’t been on screen for 7 days. Pinned tabs, favourites, tabs set to Keep in Sidebar or Keep Awake, live folders, the tab on screen and any tab still holding a page (an unsent draft, a call) stay, and a split view goes only if every tab in it is old. The tabs go to the space’s archive with their history, and the toast offers Undo.

    Verification

    The full suite ran 2,558 tests in 409 suites with no failures. The new download tests open the real context menu and click real download links, and fail on 0.0.11. A session-save test that sometimes failed under full-suite load now waits for the save instead of a fixed time.

    Passkeys remain unavailable in this private build.

  3. 0.0.11

    On GitHub

    Changes

    • Upload areas work. Clicking “Choose file”, an attach button or a drop zone used to do nothing, because Barc never answered the page’s request for a file picker. It now opens the macOS file picker as a sheet on the window. It allows several files or a folder when the site does, and shows only the file types the site accepts, as Safari does. Dragging files onto a page was already handled by WebKit and is unchanged.
    • Page dialogs appear. alert() messages never showed and every confirm() silently answered Cancel, so a site’s “Delete this?” or “Discard changes?” quietly did nothing. Alerts, confirmations and prompts now appear as sheets naming the site that asked, or the embedded page’s site for a frame. From a page’s second dialog you can stop it showing more until it navigates.
    • A page in a background tab still gets the default answer instead of a dialog over another tab.

    Verification

    The full suite ran 2,550 tests in 407 suites with no failures. The new upload and dialog tests fail on 0.0.10. Two tests added in 0.0.10 had timing windows too tight for full-suite load; they now have more room.

    Passkeys remain unavailable in this private build.

  4. 0.0.10

    On GitHub

    Changes

    • Background tabs that 0.0.9 still kept awake for days now go to sleep. After two days of normal use, 0.0.9 used 5.6 GB, and about 4 GB of it was six background tabs its sleep check refused: two Gmail tabs, ChatGPT, Vercel and two GitHub pages.
    • Gmail keeps a request open all day, and Barc treated any request still sending as an upload in progress. Now a request counts as an upload for as long as it takes only if it carries a file or 64 KB or more; anything else counts for its first minute. A request a page reopened before it finished no longer counts forever.
    • Text left in a field the page had since removed kept the tab awake forever: the edit box of a message you already sent, a title you renamed, a dialog you closed. A removed field now protects the tab for two more minutes. Text in a field still on the page still protects it for as long as it’s there.
    • “Go to file”, “Find a branch” and “Jump to” boxes now count as search boxes, like the search fields 0.0.9 already ignored.
    • With measurement logging on, Barc names the field (by its label, never its contents) or the request that kept a tab awake.

    Verification

    The full suite ran 2,542 tests in 405 suites with no failures. Each new test fails on 0.0.9.

    Savings depend on the websites you keep open. Passkeys remain unavailable in this private build.

  5. 0.0.9

    On GitHub

    Changes

    • Background tabs now go to sleep. Barc’s sleep check kept heavy tabs loaded indefinitely for reasons that never protected anything: text in a search box counted as an unsaved draft, frames from YouTube embeds or removed ads could not be checked, ad frames emptied by Barc’s own blocker never answered, muted autoplay video counted as playing, and bot-detection scripts that open a WebRTC connection and never use it looked like a call. Each now has its own fix and test, and only real drafts, audible media and calls in progress keep a tab awake.
    • On a copy of a signed-in profile with Gmail, YouTube, ChatGPT, GitHub, The Verge and The New York Times in the background and Wikipedia on screen, Barc 0.0.8 still used 1,488 MB after 15 idle minutes with five pages loaded. 0.0.9 used 392 MB with only the visible page loaded. An earlier run put a signed-in Gmail tab to sleep within about four minutes; 0.0.8 kept it loaded at 842 MB.
    • New Settings → General → Keep page memory compact, on by default. JavaScript memory is cleaned up sooner instead of growing to about four times its live size first on Macs with 16 GB or more. A JavaScript-heavy test page settled at 253 MB instead of 554–838 MB with no measurable difference in processor time; on ordinary news sites the difference was too small to measure. Applies to pages opened after the change.
    • With measurement logging on, Barc records why a tab that was due to sleep stayed awake.

    Verification

    The full suite ran 2,537 tests in 405 suites with no failures, after fixing the two saved-login suggestion tests that failed under full-suite load since 0.0.5. A transient-progress memory test still fails occasionally, as it does on 0.0.8.

    Savings depend on the websites you keep open. Passkeys remain unavailable in this private build.

  6. 0.0.8

    On GitHub

    Changes

    • Anti-fingerprinting now uses WebKit’s own protection, the one Safari uses for Advanced Fingerprinting Protection. Canvas and audio readouts get per-session noise and the screen reports its full size, while the page’s functions stay WebKit’s own, so bot checks that look for replaced functions no longer refuse Barc. GoDaddy’s Microsoft 365 sign-in passed every run with it. Where a macOS release lacks the switch, Barc falls back to its script, and the floating switch on sites known to refuse it.
    • ⌥Q copies a screenshot of the full page to the clipboard and ⌥W copies the visible area. They replace ⌃⇧⌘4 and ⌃⇧⌘3, and work while typing in a field or on a page. Change them under Settings → Shortcuts.
    • The performance gauge moved from beside Home at the bottom of the sidebar to the top, straight after the window controls. Below about 241 points of sidebar width, back, forward and reload take their own row beneath it.

    Verification

    The full suite ran 2,523 tests in 404 suites. Two saved-login suggestion tests failed under full-suite load, as on 0.0.7.

  7. 0.0.7

    On GitHub

    Changes

    • Fixed GoDaddy’s Microsoft 365 sign-in, which answered “Your browser is a bit unusual…” in Barc. GoDaddy’s bot check rejects the values anti-fingerprinting masks, and turning the protection off for the site did nothing: the script carrying each site’s settings ran after the page scripts that read it, so anti-fingerprinting and hostile-page blocking stayed on everywhere. The site settings now load first, so per-site and global switches for both take effect on the next page load.
    • New floating Anti-Fingerprinting switch in the bottom-right corner of sites known to refuse the protection, starting with sso.godaddy.com. It changes the site’s own setting, the same one in Site Settings, and reloads the page. Close it to hide it for that site until Barc quits.

    Verification

    The full suite ran 2,517 tests in 403 suites. Two saved-login suggestion tests failed under full-suite load; they fail identically on 0.0.6 and pass in isolation. In a WebKit test harness, GoDaddy’s sign-in was refused with Barc’s page scripts as 0.0.6 loaded them and accepted once anti-fingerprinting was off.

  8. 0.0.6

    On GitHub

    Changes

    • Fixed a Performance window leak. Its statistics grid created new labels every two seconds, and AppKit kept a record of every removed cell: about 84 MB after 10.7 hours in the installed browser. Grids, bars, legends and scope chips now update in place, the window releases its controller when closed, and sampling pauses while the window is hidden or minimised.
    • New Settings → General → Background tab memory limit: Off, 1 GB, 2 GB or 4 GB, default 2 GB. Over the limit, the heaviest background tabs sleep first after a two-minute grace period. Shared processes are counted once.
    • A background tab whose own process uses 500 MB or more sleeps after three minutes instead of the normal delay.
    • Drafts, calls, transfers, Keep Awake pages, visible panes and complete split groups keep their existing protections under both new rules.
    • Memory pressure also clears WebKit’s in-memory resource cache, at most once a minute. Cookies and website storage are untouched.
    • Barc returns freed allocator memory to macOS under memory pressure and when it moves to the background.
    • The auxiliary URL cache uses 4 MB of memory instead of 64 MB (128 MB in RAM-only mode). Cache mode names now describe what each mode does.
    • New Settings → Advanced Blocking → Hide generic page elements, on by default. Turning it off saves about 18–19 MB per web process; site-specific hiding and network blocking stay on.
    • Form autofill starts inside embedded frames only when a field there is first focused. The autoplay guard listens for playback instead of watching every page change. Boosts and Link Hints do no work when unused.
    • The tab overview releases its cards and thumbnails when dismissed.

    Verification

    The full suite ran 2,513 tests in 403 suites. Two saved-login suggestion tests failed under full-suite load; they fail identically on 0.0.5 and pass in isolation. An idle-page retention case failed in two of three full runs and passed in the third and in every isolated and under-load rerun.

    Measurement records: content blocking memory and web process release. Merging duplicate filter-list rules and blanking pages before sleep were measured and not adopted.

    WebKit controls process reuse and cache reclamation. Savings depend on the websites you keep open. Passkeys remain unavailable in this private build.

  9. 0.0.5

    On GitHub

    Changes

    • Saved-login suggestions leave keyboard focus in the field. Typing dismisses suggestions, empty results show no popup, and delayed lookups cannot overwrite text entered while waiting. Click and arrow-key account selection still work.
    • Idle pages can sleep after background requests finish. Untouched read-only controls no longer look like unsaved drafts. Unsent edits, active calls, uploads and other protected work still keep pages awake.
    • Split views recheck every pane immediately before sleeping. A draft started during the safety check keeps the entire split open.
    • Closed previews, floating pages, small browser windows and standalone web apps release their old documents even when another component retains the view. Pages handed over to a new tab or panel stay live.
    • Performance identifies auxiliary web content by surface, domain and visibility. Shared processes are counted once; process memory still includes WebKit and caches.
    • Restored scroll positions stay stable after WebKit finishes loading. Fresh user input cancels any pending scroll adjustment.
    • Fixed page-height oscillation with docked developer tools, including normal tabs and split views.
    • Updated the README and project description around Barc’s purpose as a personal browser with the original Arc feel and a smaller footprint.

    Verification

    Native regression and integration checks cover typing with suggestions visible, explicit account selection, delayed replies, draft and transfer protection, closed-page cleanup, cookies, history, scroll restoration and the one-minute hibernation scheduler. Live checks confirmed automatic idle sleep and typing in the installed browser, with saved tabs preserved.

    Detailed verification records: idle-page memory, page sizing, and login suggestions.

    WebKit controls process reuse and cache reclamation. These changes fix reproduced problems; they do not impose a fixed memory limit on websites. Passkeys remain unavailable in this private build.

  10. 0.0.4

    On GitHub

    Changes

    • Cleared message composers and reverted form choices can qualify for automatic sleep without navigating away. Unfinished drafts, unsaved deletions, selected files and uncertain editor state remain protected.
    • Completed calls and captures no longer leave a cached activity flag blocking sleep. Capture copies, including cloned and repackaged streams, stay protected while live.
    • If a system panel retains an unloaded page view, Barc replaces its old document and history with a blank page. The tab keeps its separate restoration state and profile cookies. Views handed to a new owner or attached to a surface are excluded from cleanup.
    • Performance separates the Barc app, networking, graphics, auxiliary pages and tab processes. Process RAM includes WebKit and caches; shared processes are labelled and counted once. WebKit does not expose an exact engine baseline or tab-only allocation.
    • Page details and page tooltips explain why automatic sleep is deferred.

    Verification

    Regression checks passed across two runs covering 2,459 distinct tests. The broad run covered 2,452 tests; a separate 40-test lifecycle run included the seven timing-sensitive checks excluded from the broad run. Opt-in checks remain disabled in ordinary runs.

    Checks include the real one-minute scheduler, eight repeated edit/clear/sleep/wake cycles, stopped and cloned native capture tracks, retained-view cleanup, restoration of history and private session cookies, transfers and protection of new view owners. The optimized application built and passed strict signature verification.

    WebKit controls process reuse and cache reclamation. These fixes address reproduced retention and sleep-blocking bugs; they do not impose a fixed RAM limit on websites.

  11. 0.0.3

    On GitHub

    Changes

    • Inactive profiles begin hibernating eligible pages after one minute. Change the timeout to one, five or ten minutes, or disable it, in Settings → General. Returning to a profile reloads only its selected page or visible split.
    • Hibernation preserves profile storage and login cookies. Edited forms, file selections, calls, capture, uploads, active or resumable downloads, picture-in-picture, Keep Awake pages and automatic-refresh dashboards stay protected. Pages whose safety cannot be established remain loaded.
    • Hidden web panels now sleep when safe and load on demand. Drafts and scratchpads remain resident.
    • Preview images have memory limits, session encoding and writes run off the main thread, and unloaded tabs stop their reload timers. Background pages receive normal visibility events, and page scripts do less repeated scanning.
    • Resource readings account for shared processes consistently and label unavailable measurements. The optional performance gauge is visible beside Home at the bottom of the sidebar.
    • Full-page screenshots include offscreen content and long-page footers, with bounded raster dimensions. Added a full-page clipboard action; capture feedback appears after a successful capture.
    • Fresh installations offer a one-time default-browser invitation. General settings keep the current default-browser status visible and check both HTTP and HTTPS links.

    Verification

    The full regression suite passed: 2,444 tests in 387 suites. Live page tests cover drafts, cross-origin frames, calls, transfers, login cookies, scroll restoration and repeated unloading. A separate 31-minute, 26-cycle soak completed with no retained old web views or lost fixture session cookies. These are controlled checks, not a fixed memory-saving promise for arbitrary websites.

    See the memory behavior notes and verification report.

  12. 0.0.2

    On GitHub

    Changes

    • New tabs open at the top of the Today list, including tabs opened by websites and adopted from preview windows.
    • Address-bar tab and folder suggestions stay in the current workspace. History and bookmarks use its profile. Opening a suggested URL no longer switches profiles through routing rules.
    • Search waits 200 ms after the latest keystroke before running.
    • Saved-login suggestions support email-first and password sign-in steps with an account chooser. Vault errors now show a retry message.
    • Added a guided one-time CSV import from Apple Passwords into the selected profile. Existing passwords are preserved, and the import is saved as one encrypted batch.
    • Browser identification follows the installed Safari version, fixing Gmail’s unsupported-browser detection for the default configuration and Safari mode.

    Password and passkey limits

    Apple Passwords import copies website passwords only. It does not import passkeys or verification codes, and does not enable iCloud synchronization. Apple browser approval is still required for iCloud passkeys and the iCloud Passwords extension. Delete unencrypted CSV exports after importing.

  13. 0.0.1

    On GitHub

    Changes

    • The first Barc installer release, as a universal .dmg and .pkg for Apple Silicon and Intel Macs on macOS 14 or later. Translation requires macOS 15; extensions require macOS 15.4.
    • Arc-style sidebar, address and search launcher, Spaces, Favorites and split views.
    • Arc import for supported tabs, folders, history, bookmarks, passwords and website data. Some sites require signing in again.
    • Separate website identities for personal and work profiles.

    Browser profiles, history, saved passwords and cookies are not bundled. Automatic updates are not configured; new versions are published on GitHub.