The first Beta release of G6! With the never-ending focus on improving privacy and performance, this release is be a tasty one.
New Features
- Waterfox now uses Oblivious DNS1 by default, a privacy preserving method for DNS queries.
Performance Improvements
- Waterfox is now compiled with PGO2 on Windows and macOS.
- Waterfox is now compiled with a polyhedral optimiser3.
Misc.
- Some bugs may be carried over from G5, please report them!
- Themes have been updated, which should fix various bugs.
- Waterfox is now based on ESR115.
Upcoming Changes
- Waterfox's logo will potentially be updated in an upcoming beta release, so keep an eye out.
- Alongside an update to the logo, the website is also getting a fresh lick of paint.
- Some more performance oriented upgrades are in testing, but may not make it for final release.
- Waterfox for Android's feature set has been finalised, but requires updating to the latest components. This is in progress and is due for release. iOS is now in the pipeline as well.
- Privacy enhancements to some of the most popular search engines (wink wink, nudge nudge) are also in the pipeline, with more to be revealed soon.
- Linux deserves some love too, and optimisations are in the works for the final release.
- A complete revamp of the config options set by default is also on it's way.
Apologies for the delay on this release, setting up the privacy relay for ODNS as well as creating the toolchain for polly support took longer than anticipated. Waterfox's independence also contributed to the delay of this release, but it is a delay worth celebrating 🥳
Download for Linux
Download for macOS
Download for Windows
Footnotes
-
With regular DNS, your DNS queries are sent in plain text, allowing your internet provider to easily see every website you request.
DNS over HTTPS encrypts your DNS queries with HTTPS, so your internet provider cannot read the contents. However, they can still see that you are making requests to a DNS server, and potentially correlate timing information to identify sites.
Oblivious DNS goes further by routing encrypted queries through proxy servers in a way that obscures the true intended domain. Your internet provider cannot associate queries with specific sites you visit.
So both Oblivious DNS and DNS over HTTPS prevent spying on the specific domains you lookup. But Oblivious DNS better hides the fact that you are making any query for a given site at all. It adds an extra layer of indirection and privacy protection.
The main advantage of Oblivious DNS over DNS over HTTPS is that it better prevents network-level tracking of your web browsing habits by your ISP or others running the network infrastructure. It hides the act of looking up a site in the first place. ↩
-
When you use a web browser, it has to perform a lot of repetitive tasks - like rendering web pages, running JavaScript code, and parsing CSS. These tasks follow certain patterns each time you use the browser.
PGO allows the compiler to detect these patterns and optimize the browser code.
The result is a web browser optimized for real-world use, not just theoretical usage. Web pages will render faster, scripts will run faster, and the browser will feel much more snappy and responsive. ↩
-
As previously mentioned, when you use a web browser, it has to repeat similar tasks over and over - like rendering webpage elements, running JavaScript code, scrolling the page, and displaying videos.
These tasks involve loops, where the browser does the same kind of work over and over. Polyhedral optimisation makes the browser's loops run faster by reorganizing them. It finds the best way to access data repeatedly in the most efficient order.
For example, when scrolling a page with lots of images, polyhedral optimisation could optimise the loops that decode and display the image data. It finds the fastest way to reuse image data in the CPU cache.
This means scrolling feels much smoother. The images decode quicker as you scroll up and down. The browser feels snappier.
So in simple terms, polyhedral optimisation tunes the browser's inner loops to make maximum use of the CPU and memory. This speeds up repetitive tasks like rendering, scrolling, and video playback that rely on loops. The end result is a faster, smoother browsing experience for the user. ↩