Mercury Browser Changelog

What's new in Mercury Browser 123.0.1

Mar 6, 2024
  • MERCURY_PORTABLE binaries in the Linux .zips now work properly
  • Enabled a new form of LTO: "cross thinLTO". This performs link time optimization across languages, namely Rust and C++ (Firefox uses alot of Rust compared to Chromium, especially in the Gecko rendering engine). It will stay enabled on Linux. On Windows, the default is FullLTO (rather than thinLTO, or cross thinLTO), so if performance is less than the default FullLTO, then I will revert it.
  • – Similarly, next release will enable a new experimental "cross PGO", which does the same thing as above, just for PGO rather than LTO.
  • Completely disabled Pocket. (I thought I had fully disabled it before, but after noticing it was still pinging api.pocket.com, I took a patch from IceCat, and disabled fetching from the endpoint (the server endpoint is set to null). Speaking of IceCat, I'm making some experimental Linux builds using the optimizations of Mercury here > https://github.com/Alex313031/IceCat since only Arch and Guix provide binaries anymore.
  • Mozilla introduced more telemetry, so I promptly disabled that, lol.
  • PGO is more effective by using a new LLVM flag (that Chromium, and consequently Thorium will also be using soon) called "-mllvm, -pgo-temporal-instrumentation"
  • MacOS 10.15 is the new minimum supported MacOS version.
  • Some libraries are compiled with AVX512 in the AVX and AVX2 versions, and it will select which codepath to use by detecting your CPU's capabilities at runtime. See > v.122.0.2...main#diff-094923038a1b5137279bcadbcb4382147e27a3dc66f1448402bc7ff820bb533dR3270
  • Ubuntu 16.04 and Debian 8 are no longer supported. If you are using those OSes, I recommend using ver. 122, or (probably better for security), use ESR 115.
  • Added cross-building mozconfigs for MacOS. If you are building Mercury yourself on a Mac, this will allow you to target arm64 on a x64 Mac, and vice-versa. As always, use ./setup.sh --help to see the available OS/architecture options, and use the flag appropriate for you.

New in Mercury Browser 122.0.2 (Feb 8, 2024)

  • More SIMD compiler optimizations
  • Fixed windows manifest
  • Removed annoying stuff in the Windows installer
  • Added mime type handling to the .deb
  • Added document .icns for MacOS
  • Added Raspberry Pi builds! While this will work on any arm64 computer, it is specifically tuned for the Cortex-A76 processor in the Raspi 4.
  • Added SSE3, SSE4, AVX, and AVX2 builds for both Windows and Linux.
  • Converted the portable .sh into an actual binary. Simply unpack the linux .zip(s), and run MERCURY_PORTABLE

New in Mercury Browser 115.4.0 (Jan 10, 2024)

  • Updated to main stable branch, as many people didn't wanna stay on ESR 115, I will continue to provide ESR 115 builds for Windows 7 at the new repo > https://github.com/Alex313031/Mercury-Win7
  • Updated adblocker
  • Updated firefox.js to enable privacy respecting preload for faster rendering
  • JXL should now work on "non-nightly" releases. Still haven't added the Librewolf patch for better HDR support, sorry.
  • Added -maes flag
  • Now providing SSE3 builds as well as AVX, since it was requested.
  • Disable menubar by default (the Firefox default, I enabled it, but I think it looks ugly after reconsidering). If you already have it set, upgrading will not change anything. This is just for new installs.

New in Mercury Browser 115.4.0 (Oct 25, 2023)

  • Enabled installing unsigned extensions (fixes #43)
  • Fixed installer logos displaying incorrect on HiDPI displays
  • Added some patches from Ghostery, and updated the readme and patches.md.
  • Fixed ipc using incorrect module.ver
  • Added .svg version of the logo, and updated the installer to use these
  • Rather than using user agent compatibility mode, I made Mercury use Firefox's user agent string verbatim. Previously, installing extensions was broken because the UA string was an unknown one. I then enabled compat mode in 115.2.0, which added the Firefox string to it, but it still also had the Mercury string, which was still fucking up some sites. It now sends a UA string identical to upstream Firefox. There should be no more issues.