Skip to content

Releases: rayanjainn/Ferrite-Browser

ferrite · latest build

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 18:25

ferrite · latest

Published automatically after a manual CI run succeeded on every
platform. This is build 62
(build-62-4892acc). The release called
latest always holds the newest build; every earlier build stays on the
releases page under its own
build-<number>-<commit> tag, so if this one is bad you can download an older one.

Field Value
Commit 4892acc
Branch main
CI run https://github.com/rayanjainn/Ferrite-Browser/actions/runs/37657137925
Date 2026-10-07 18:25 UTC

Downloads

Platform File Notes
macOS (Apple silicon) ferrite-4892acc-macos-arm64.zip Unzip, drag Ferrite.app to Applications. Not notarized, so macOS blocks it once: open System Settings → Privacy & Security and click Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Ferrite.app.
Windows (x64) ferrite-4892acc-windows-x64.zip Unzip and run ferrite.exe. SmartScreen may ask once; choose "Run anyway".
Linux (x64) ferrite-4892acc-linux-x64.tar.gz Extract, then ./ferrite or ./install.sh. Needs a graphical session; see README.txt inside.

Media builds (experimental)

Files ending in -media are the same app with video, audio, WebRTC, camera,
microphone and screen sharing, and streaming players such as YouTube's (Media Source
Extensions). The macOS and Windows ones carry their own GStreamer, so they are large; the
Linux one needs GStreamer installed (see its README.txt). They have not been run on a
Mac or on Windows by the people who wrote them. If a media file is missing from the
list, its build failed and the normal packages were published without it.

What is in this release

A fix release. Everything below landed since build 52 (91441a0). Each item has a row in
docs/TO-DO.md (the T- numbers) saying exactly how it was checked.

Downloads that start

  • Windows: no more "VCRUNTIME140.dll was not found". The Windows packages now carry
    the Visual C++ runtime next to ferrite.exe (MSVCP140.dll, VCRUNTIME140.dll,
    VCRUNTIME140_1.dll...). Every CI machine has it installed, so earlier builds started
    there and nowhere else. Each package is now checked before it is published: every DLL
    any file in it loads must be in the package or part of Windows (T-336).
  • Linux media build: no more "libgstplay-1.0.so.0: cannot open shared object file".
    The -media package now carries GStreamer and everything it needs in lib/ beside
    ferrite; you install nothing. Keep the folder together (./install.sh copies all of
    it into ~/.local/lib/ferrite). CI runs the package, and the video tests, on a clean
    Ubuntu with no GStreamer before it is published (T-337).
  • macOS packages are checked the same way: nothing in the app may load a library from
    Homebrew or another place only the build machine has.
  • Windows: no black console window next to the browser. ferrite.exe is now a
    Windows app, and what it prints goes to %LOCALAPPDATA%\Ferrite\logs\ferrite.log
    (send that file with a bug report). Before, the window held the messages and no log
    file was written (T-341).

Video

  • A video fed by a page (YouTube's way) now ends properly. At the very end the
    element sometimes stopped and never said "ended". About one play in six (T-339).
  • Video no longer stops on a busy computer. Under load, a stream could start before
    it was connected, or lose its connection while the sound output was being set up, and
    the video stopped (once this crashed the media engine). Now the stream waits for its
    connection, and a player that loses one starts again where it was (T-339).

Page errors

  • YouTube's "window.cancelIdleCallback is not a function" is fixed. A frame that a
    page sandboxes without scripts never got Ferrite's stand-ins for functions other
    browsers build in; YouTube calls them on such a frame. The page's own scripts in that
    frame still do not run (T-340).
  • A rejected promise in the Console now names the script it came from: the browser's own
    exceptions carry a stack, as in other browsers (T-340).
  • The "No valid entry type provided to observe()" warning (GitHub, Google, Amazon) now
    says which timings the page asked for (T-340).

Still not done (honestly)

  • The browser can still feel slow. Pages are drawn by the processor, not the graphics
    card (T-296, T-320). To show where the time goes on your machine, start it with
    FERRITE_PERF=1, use it the way that feels slow for a minute, and send the log:
    • Windows: in Command Prompt, set FERRITE_PERF=1, then start ferrite.exe from the
      same window. The lines go to %LOCALAPPDATA%\Ferrite\logs\ferrite.log.
    • Linux and macOS: FERRITE_PERF=1 ./ferrite (macOS:
      FERRITE_PERF=1 Ferrite.app/Contents/MacOS/ferrite); the lines appear in the terminal.
  • Google sign-in has not been confirmed end to end (T-267). YouTube playback cannot be
    checked on CI, because YouTube asks CI's machines to sign in.
  • The builds are unsigned prototypes.

ferrite · build 62

ferrite · build 62 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 18:25

ferrite · latest

Published automatically after a manual CI run succeeded on every
platform. This is build 62
(build-62-4892acc). The release called
latest always holds the newest build; every earlier build stays on the
releases page under its own
build-<number>-<commit> tag, so if this one is bad you can download an older one.

Field Value
Commit 4892acc
Branch main
CI run https://github.com/rayanjainn/Ferrite-Browser/actions/runs/37657137925
Date 2026-10-07 18:25 UTC

Downloads

Platform File Notes
macOS (Apple silicon) ferrite-4892acc-macos-arm64.zip Unzip, drag Ferrite.app to Applications. Not notarized, so macOS blocks it once: open System Settings → Privacy & Security and click Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Ferrite.app.
Windows (x64) ferrite-4892acc-windows-x64.zip Unzip and run ferrite.exe. SmartScreen may ask once; choose "Run anyway".
Linux (x64) ferrite-4892acc-linux-x64.tar.gz Extract, then ./ferrite or ./install.sh. Needs a graphical session; see README.txt inside.

Media builds (experimental)

Files ending in -media are the same app with video, audio, WebRTC, camera,
microphone and screen sharing, and streaming players such as YouTube's (Media Source
Extensions). The macOS and Windows ones carry their own GStreamer, so they are large; the
Linux one needs GStreamer installed (see its README.txt). They have not been run on a
Mac or on Windows by the people who wrote them. If a media file is missing from the
list, its build failed and the normal packages were published without it.

What is in this release

A fix release. Everything below landed since build 52 (91441a0). Each item has a row in
docs/TO-DO.md (the T- numbers) saying exactly how it was checked.

Downloads that start

  • Windows: no more "VCRUNTIME140.dll was not found". The Windows packages now carry
    the Visual C++ runtime next to ferrite.exe (MSVCP140.dll, VCRUNTIME140.dll,
    VCRUNTIME140_1.dll...). Every CI machine has it installed, so earlier builds started
    there and nowhere else. Each package is now checked before it is published: every DLL
    any file in it loads must be in the package or part of Windows (T-336).
  • Linux media build: no more "libgstplay-1.0.so.0: cannot open shared object file".
    The -media package now carries GStreamer and everything it needs in lib/ beside
    ferrite; you install nothing. Keep the folder together (./install.sh copies all of
    it into ~/.local/lib/ferrite). CI runs the package, and the video tests, on a clean
    Ubuntu with no GStreamer before it is published (T-337).
  • macOS packages are checked the same way: nothing in the app may load a library from
    Homebrew or another place only the build machine has.
  • Windows: no black console window next to the browser. ferrite.exe is now a
    Windows app, and what it prints goes to %LOCALAPPDATA%\Ferrite\logs\ferrite.log
    (send that file with a bug report). Before, the window held the messages and no log
    file was written (T-341).

Video

  • A video fed by a page (YouTube's way) now ends properly. At the very end the
    element sometimes stopped and never said "ended". About one play in six (T-339).
  • Video no longer stops on a busy computer. Under load, a stream could start before
    it was connected, or lose its connection while the sound output was being set up, and
    the video stopped (once this crashed the media engine). Now the stream waits for its
    connection, and a player that loses one starts again where it was (T-339).

Page errors

  • YouTube's "window.cancelIdleCallback is not a function" is fixed. A frame that a
    page sandboxes without scripts never got Ferrite's stand-ins for functions other
    browsers build in; YouTube calls them on such a frame. The page's own scripts in that
    frame still do not run (T-340).
  • A rejected promise in the Console now names the script it came from: the browser's own
    exceptions carry a stack, as in other browsers (T-340).
  • The "No valid entry type provided to observe()" warning (GitHub, Google, Amazon) now
    says which timings the page asked for (T-340).

Still not done (honestly)

  • The browser can still feel slow. Pages are drawn by the processor, not the graphics
    card (T-296, T-320). To show where the time goes on your machine, start it with
    FERRITE_PERF=1, use it the way that feels slow for a minute, and send the log:
    • Windows: in Command Prompt, set FERRITE_PERF=1, then start ferrite.exe from the
      same window. The lines go to %LOCALAPPDATA%\Ferrite\logs\ferrite.log.
    • Linux and macOS: FERRITE_PERF=1 ./ferrite (macOS:
      FERRITE_PERF=1 Ferrite.app/Contents/MacOS/ferrite); the lines appear in the terminal.
  • Google sign-in has not been confirmed end to end (T-267). YouTube playback cannot be
    checked on CI, because YouTube asks CI's machines to sign in.
  • The builds are unsigned prototypes.

ferrite · build 60

ferrite · build 60 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 12:45

ferrite · latest

Published automatically after a manual CI run succeeded on every
platform. This is build 60
(build-60-c985c67). The release called
latest always holds the newest build; every earlier build stays on the
releases page under its own
build-<number>-<commit> tag, so if this one is bad you can download an older one.

Field Value
Commit c985c67
Branch main
CI run https://github.com/rayanjainn/Ferrite-Browser/actions/runs/37614342666
Date 2026-10-07 12:44 UTC

Downloads

Platform File Notes
macOS (Apple silicon) ferrite-c985c67-macos-arm64.zip Unzip, drag Ferrite.app to Applications. Not notarized, so macOS blocks it once: open System Settings → Privacy & Security and click Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Ferrite.app.
Windows (x64) ferrite-c985c67-windows-x64.zip Unzip and run ferrite.exe. SmartScreen may ask once; choose "Run anyway".
Linux (x64) ferrite-c985c67-linux-x64.tar.gz Extract, then ./ferrite or ./install.sh. Needs a graphical session; see README.txt inside.

Media builds (experimental)

Files ending in -media are the same app with video, audio, WebRTC, camera,
microphone and screen sharing, and streaming players such as YouTube's (Media Source
Extensions). The macOS and Windows ones carry their own GStreamer, so they are large; the
Linux one needs GStreamer installed (see its README.txt). They have not been run on a
Mac or on Windows by the people who wrote them. If a media file is missing from the
list, its build failed and the normal packages were published without it.

What is in this release

A fix release. Everything below landed since build 52 (91441a0). Each item has a row in
docs/TO-DO.md (the T- numbers) saying exactly how it was checked.

Downloads that start

  • Windows: no more "VCRUNTIME140.dll was not found". The Windows packages now carry
    the Visual C++ runtime next to ferrite.exe (MSVCP140.dll, VCRUNTIME140.dll,
    VCRUNTIME140_1.dll...). Every CI machine has it installed, so earlier builds started
    there and nowhere else. Each package is now checked before it is published: every DLL
    any file in it loads must be in the package or part of Windows (T-336).
  • Linux media build: no more "libgstplay-1.0.so.0: cannot open shared object file".
    The -media package now carries GStreamer and everything it needs in lib/ beside
    ferrite; you install nothing. Keep the folder together (./install.sh copies all of
    it into ~/.local/lib/ferrite). CI runs the package, and the video tests, on a clean
    Ubuntu with no GStreamer before it is published (T-337).
  • macOS packages are checked the same way: nothing in the app may load a library from
    Homebrew or another place only the build machine has.
  • Windows: no black console window next to the browser. ferrite.exe is now a
    Windows app, and what it prints goes to %LOCALAPPDATA%\Ferrite\logs\ferrite.log
    (send that file with a bug report). Before, the window held the messages and no log
    file was written (T-341).

Video

  • A video fed by a page (YouTube's way) now ends properly. At the very end the
    element sometimes stopped and never said "ended". About one play in six (T-339).
  • Video no longer stops on a busy computer. Under load, a stream could start before
    it was connected, or lose its connection while the sound output was being set up, and
    the video stopped (once this crashed the media engine). Now the stream waits for its
    connection, and a player that loses one starts again where it was (T-339).

Page errors

  • YouTube's "window.cancelIdleCallback is not a function" is fixed. A frame that a
    page sandboxes without scripts never got Ferrite's stand-ins for functions other
    browsers build in; YouTube calls them on such a frame. The page's own scripts in that
    frame still do not run (T-340).
  • A rejected promise in the Console now names the script it came from: the browser's own
    exceptions carry a stack, as in other browsers (T-340).
  • The "No valid entry type provided to observe()" warning (GitHub, Google, Amazon) now
    says which timings the page asked for (T-340).

Still not done (honestly)

  • The browser can still feel slow. Pages are drawn by the processor, not the graphics
    card (T-296, T-320). To show where the time goes on your machine, start it with
    FERRITE_PERF=1, use it the way that feels slow for a minute, and send the log:
    • Windows: in Command Prompt, set FERRITE_PERF=1, then start ferrite.exe from the
      same window. The lines go to %LOCALAPPDATA%\Ferrite\logs\ferrite.log.
    • Linux and macOS: FERRITE_PERF=1 ./ferrite (macOS:
      FERRITE_PERF=1 Ferrite.app/Contents/MacOS/ferrite); the lines appear in the terminal.
  • Google sign-in has not been confirmed end to end (T-267). YouTube playback cannot be
    checked on CI, because YouTube asks CI's machines to sign in.
  • The builds are unsigned prototypes.

ferrite · build 52

ferrite · build 52 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 03:45

ferrite · latest

Published automatically after a manual CI run succeeded on every
platform. This is build 52
(build-52-91441a0). The release called
latest always holds the newest build; every earlier build stays on the
releases page under its own
build-<number>-<commit> tag, so if this one is bad you can download an older one.

Field Value
Commit 91441a0
Branch main
CI run https://github.com/rayanjainn/Ferrite-Browser/actions/runs/37561043209
Date 2026-10-07 04:52 UTC

Downloads

Platform File Notes
macOS (Apple silicon) ferrite-91441a0-macos-arm64.zip Unzip, drag Ferrite.app to Applications. Not notarized, so macOS blocks it once: open System Settings → Privacy & Security and click Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Ferrite.app.
Windows (x64) ferrite-91441a0-windows-x64.zip Unzip and run ferrite.exe. SmartScreen may ask once; choose "Run anyway".
Linux (x64) ferrite-91441a0-linux-x64.tar.gz Extract, then ./ferrite or ./install.sh. Needs a graphical session; see README.txt inside.

Media builds (experimental)

Files ending in -media are the same app with video, audio, WebRTC, camera,
microphone and screen sharing, and streaming players such as YouTube's (Media Source
Extensions). The macOS and Windows ones carry their own GStreamer, so they are large; the
Linux one needs GStreamer installed (see its README.txt). They have not been run on a
Mac or on Windows by the people who wrote them. If a media file is missing from the
list, its build failed and the normal packages were published without it.

What is in this release

Everything below landed since the previous release on main. Each item has a row in
docs/TO-DO.md (the T- numbers) saying exactly how it was checked.

The AI agent

  • Replies stream in as they are written. The agent's answer (or its question to you)
    appears word by word in the panel. It is only something to watch: the agent acts on a step
    only once the model has finished it and Ferrite has checked it (T-335).
  • Two new model providers: Anthropic Claude, and OpenAI or any server with the same API
    (OpenRouter, Groq, vLLM, LM Studio, llama.cpp). Both are in Settings and in the live
    evaluation runner. A server on your own computer needs no key (T-277).
  • Pressing Enter or Space counts as a click for the defense, a rejected site also blocks
    addresses typed without https://, and messages from a stopped run are ignored.

The defense

  • New sanitizer rules for claimed user approval, role-play framing and reworded "ignore your
    instructions" orders, with golden test cases (pattern set 3, T-327).
  • The audit log now says exactly which entry breaks its hash chain, and how (T-219).

Browsing

  • Fewer page errors on real sites. Fixed in the browser's compatibility scripts and the
    engine, and checked on real sites by a CI job that loads 32 of them:
    • the container-query script no longer throws "text is null" (Reddit, X, Amazon,
      Cloudflare, React, Next.js, Tailwind, Vercel, Discord) (T-328);
    • SVG interfaces such as SVGAElement (nytimes.com, svelte.dev) (T-329);
    • PublicKeyCredential, saying there is no passkey device (amazon.com) (T-330);
    • new blank frames get the same compatibility scripts as their page (airbnb.com) (T-331);
    • the Web Animations API (YouTube) and shadowRoot.getAnimations (cloudflare.com).
  • GitHub no longer crashes the engine when its tab closes (a WebGL clean-up bug) (T-333).
  • Google's "The operation is insecure" errors: setting document.domain no longer cuts a
    page off from its own frames, and every security error names the property involved
    (T-267, T-321, T-323).
  • Security fix: a page could read the document of a frame from another origin on the same
    site. It can no longer (T-322).
  • Sign-in for sites that use HTTP authentication: a Sign in card with a hidden password
    field. The password never appears in a log, and the agent cannot fill the card (T-294).
  • File inputs open your system's own file dialog (T-293).
  • Video and calls: WebRTC data channels on macOS and Windows; a seek no longer drops a
    video track's end; WebM audio with Opus.

Speed and the window

  • The window wakes when the engine has something new instead of polling, and draws the page
    from one GPU texture; on macOS the page is read in the GPU's own byte order (T-320).
  • Page dialogs and pickers ease in; a new tab grows into the tab strip.

DevTools and logs

  • The Network tab shows each request's size and time once it finishes (T-292).
  • An unhandled promise rejection in the Console names the file and line it came from.
  • Windows now writes ferrite.log (in %LOCALAPPDATA%\Ferrite\logs) (T-298).

Still not done (honestly)

  • Google sign-in has not been confirmed to work end to end (T-267).
  • YouTube playback cannot be checked on CI: YouTube asks CI's machines to sign in ("confirm
    you're not a bot"). It needs a real computer.
  • The Anthropic and OpenAI-compatible connections and streaming are tested against stand-in
    servers; nobody has run a live task through them yet.
  • No status codes in the Network tab, no AVIF images, no input-method (IME) typing, and
    Cloudflare's "Just a moment…" check does not finish on some sites (T-292, T-332, T-294).
  • The builds are unsigned prototypes.

ferrite · build 30

ferrite · build 30 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:47

ferrite · latest

Published automatically after a manual CI run succeeded on every
platform. This is build 30
(build-30-6343214). The release called
latest always holds the newest build; every earlier build stays on the
releases page under its own
build-<number>-<commit> tag, so if this one is bad you can download an older one.

Field Value
Commit 6343214
Branch main
CI run https://github.com/rayanjainn/Ferrite-Browser/actions/runs/37414294899
Date 2026-10-06 05:47 UTC

Downloads

Platform File Notes
macOS (Apple silicon) ferrite-6343214-macos-arm64.zip Unzip, drag Ferrite.app to Applications. Not notarized, so macOS blocks it once: open System Settings → Privacy & Security and click Open Anyway, or run xattr -dr com.apple.quarantine /Applications/Ferrite.app.
Windows (x64) ferrite-6343214-windows-x64.zip Unzip and run ferrite.exe. SmartScreen may ask once; choose "Run anyway".
Linux (x64) ferrite-6343214-linux-x64.tar.gz Extract, then ./ferrite or ./install.sh. Needs a graphical session; see README.txt inside.

Media builds (experimental)

Files ending in -media are the same app with video, audio, WebRTC, camera,
microphone and screen sharing, and streaming players such as YouTube's (Media Source
Extensions). The macOS and Windows ones carry their own GStreamer, so they are large; the
Linux one needs GStreamer installed (see its README.txt). They have not been run on a
Mac or on Windows by the people who wrote them. If a media file is missing from the
list, its build failed and the normal packages were published without it.